{ "_format": "hh-sol-artifact-1", "contractName": "TechnicalPreview", "sourceName": "contracts/TechnicalPreview.sol", "abi": [ { "inputs": [ { "internalType": "contract IVerifier", "name": "_verifier", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "MAX_FIELD_SIZE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "commitments", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "bytes32[16]", "name": "tx_in", "type": "bytes32[16]" }, { "internalType": "bytes32", "name": "current_root", "type": "bytes32" }, { "internalType": "bytes32", "name": "amount_public_in", "type": "bytes32" }, { "internalType": "bytes32", "name": "amount_public_out", "type": "bytes32" }, { "internalType": "bytes32[16]", "name": "commitment_out", "type": "bytes32[16]" }, { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, { "internalType": "bytes32", "name": "oracle", "type": "bytes32" }, { "internalType": "bytes32", "name": "old_root", "type": "bytes32" }, { "internalType": "bytes32", "name": "new_root", "type": "bytes32" }, { "internalType": "bytes32[16]", "name": "nullifier_hashes", "type": "bytes32[16]" } ], "internalType": "struct BatchPublicInputs", "name": "input", "type": "tuple" } ], "name": "flattenBatchPublicInputs", "outputs": [ { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_commitment", "type": "bytes32" } ], "name": "getCommitment", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_utxo", "type": "bytes32" } ], "name": "getRootFromUtxo", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32[]", "name": "_nullifierHashes", "type": "bytes32[]" } ], "name": "getSpentNullifiers", "outputs": [ { "internalType": "bool[]", "name": "spent", "type": "bool[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_root", "type": "bytes32" } ], "name": "getUtxoFromRoot", "outputs": [ { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getValidRoots", "outputs": [ { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_nullifierHash", "type": "bytes32" } ], "name": "isSpent", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "merkleRoot", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "nullifierHashes", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "_proof", "type": "bytes" }, { "components": [ { "internalType": "bytes32[16]", "name": "tx_in", "type": "bytes32[16]" }, { "internalType": "bytes32", "name": "current_root", "type": "bytes32" }, { "internalType": "bytes32", "name": "amount_public_in", "type": "bytes32" }, { "internalType": "bytes32", "name": "amount_public_out", "type": "bytes32" }, { "internalType": "bytes32[16]", "name": "commitment_out", "type": "bytes32[16]" }, { "internalType": "bytes32", "name": "recipient", "type": "bytes32" }, { "internalType": "bytes32", "name": "oracle", "type": "bytes32" }, { "internalType": "bytes32", "name": "old_root", "type": "bytes32" }, { "internalType": "bytes32", "name": "new_root", "type": "bytes32" }, { "internalType": "bytes32[16]", "name": "nullifier_hashes", "type": "bytes32[16]" } ], "internalType": "struct BatchPublicInputs", "name": "_batch", "type": "tuple" } ], "name": "publish", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "utxo", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "utxoPrevRoots", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "validRoots", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "verifier", "outputs": [ { "internalType": "contract IVerifier", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes", "name": "_proof", "type": "bytes" }, { "internalType": "bytes32[]", "name": "_publicInputs", "type": "bytes32[]" } ], "name": "verifyProof", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ] }