Skip to content

Instantly share code, notes, and snippets.

@sveitser
Last active June 2, 2022 14:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sveitser/436b32469d191bb650d6cd4206abffe0 to your computer and use it in GitHub Desktop.
Save sveitser/436b32469d191bb650d6cd4206abffe0 to your computer and use it in GitHub Desktop.
[{"inputs": [{"internalType": "uint64", "name": "nRoots", "type": "uint64"}, {"internalType": "address", "name": "verifierAddr", "type": "address"}, {"internalType": "address", "name": "recordsMerkleTreeAddr", "type": "address"}], "stateMutability": "nonpayable", "type": "constructor"}, {"anonymous": false, "inputs": [{"indexed": false, "internalType": "address", "name": "erc20Address", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "assetDefinitionCode", "type": "uint256"}], "name": "AssetSponsored", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "uint64", "name": "height", "type": "uint64"}, {"indexed": false, "internalType": "uint256[]", "name": "depositCommitments", "type": "uint256[]"}, {"indexed": false, "internalType": "bytes", "name": "minerAddr", "type": "bytes"}, {"indexed": false, "internalType": "bytes", "name": "noteTypes", "type": "bytes"}, {"indexed": false, "internalType": "bytes", "name": "transferNotes", "type": "bytes"}, {"indexed": false, "internalType": "bytes", "name": "mintNotes", "type": "bytes"}, {"indexed": false, "internalType": "bytes", "name": "freezeNotes", "type": "bytes"}, {"indexed": false, "internalType": "bytes", "name": "burnNotes", "type": "bytes"}], "name": "BlockCommitted", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": false, "internalType": "bytes", "name": "roBytes", "type": "bytes"}, {"indexed": false, "internalType": "address", "name": "erc20TokenAddress", "type": "address"}, {"indexed": false, "internalType": "address", "name": "from", "type": "address"}], "name": "Erc20TokensDeposited", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": false, "internalType": "bytes", "name": "roBytes", "type": "bytes"}], "name": "FaucetInitialized", "type": "event"}, {"inputs": [], "name": "CAPE_BURN_MAGIC_BYTES", "outputs": [{"internalType": "bytes", "name": "", "type": "bytes"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "CAPE_BURN_MAGIC_BYTES_SIZE", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "CAP_NATIVE_ASSET_CODE", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "DOM_SEP_DOMESTIC_ASSET", "outputs": [{"internalType": "bytes14", "name": "", "type": "bytes14"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "DOM_SEP_FOREIGN_ASSET", "outputs": [{"internalType": "bytes13", "name": "", "type": "bytes13"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "MAX_NUM_PENDING_DEPOSIT", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], "name": "assets", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "blockHeight", "outputs": [{"internalType": "uint64", "name": "", "type": "uint64"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "deployer", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"components": [{"internalType": "uint128", "name": "amount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDef", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "userAddr", "type": "tuple"}, {"internalType": "bytes32", "name": "encKey", "type": "bytes32"}, {"internalType": "bool", "name": "freezeFlag", "type": "bool"}, {"internalType": "uint256", "name": "blind", "type": "uint256"}], "internalType": "struct CAPE.RecordOpening", "name": "ro", "type": "tuple"}, {"internalType": "address", "name": "erc20Address", "type": "address"}], "name": "depositErc20", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [], "name": "faucetInitialized", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "faucetManagerAddress", "type": "tuple"}, {"internalType": "bytes32", "name": "faucetManagerEncKey", "type": "bytes32"}], "name": "faucetSetupForTestnet", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [], "name": "getRootValue", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDefinition", "type": "tuple"}], "name": "isCapeAssetRegistered", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDefinition", "type": "tuple"}], "name": "lookup", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "nativeDomesticAsset", "outputs": [{"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDefinition", "type": "tuple"}], "stateMutability": "pure", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "name": "nullifiers", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "name": "pendingDeposits", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "erc20Address", "type": "address"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "newAsset", "type": "tuple"}], "name": "sponsorCapeAsset", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "minerAddr", "type": "tuple"}, {"internalType": "enum CAPE.NoteType[]", "name": "noteTypes", "type": "uint8[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote[]", "name": "transferNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256", "name": "inputNullifier", "type": "uint256"}, {"internalType": "uint256", "name": "chgComm", "type": "uint256"}, {"internalType": "uint256", "name": "mintComm", "type": "uint256"}, {"internalType": "uint128", "name": "mintAmount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "mintAssetDef", "type": "tuple"}, {"internalType": "uint256", "name": "mintInternalAssetCode", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.MintAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.MintNote[]", "name": "mintNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.FreezeAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.FreezeNote[]", "name": "freezeNotes", "type": "tuple[]"}, {"components": [{"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote", "name": "transferNote", "type": "tuple"}, {"components": [{"internalType": "uint128", "name": "amount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDef", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "userAddr", "type": "tuple"}, {"internalType": "bytes32", "name": "encKey", "type": "bytes32"}, {"internalType": "bool", "name": "freezeFlag", "type": "bool"}, {"internalType": "uint256", "name": "blind", "type": "uint256"}], "internalType": "struct CAPE.RecordOpening", "name": "recordOpening", "type": "tuple"}], "internalType": "struct CAPE.BurnNote[]", "name": "burnNotes", "type": "tuple[]"}], "internalType": "struct CAPE.CapeBlock", "name": "newBlock", "type": "tuple"}], "name": "submitCapeBlock", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "minerAddr", "type": "tuple"}, {"internalType": "enum CAPE.NoteType[]", "name": "noteTypes", "type": "uint8[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote[]", "name": "transferNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256", "name": "inputNullifier", "type": "uint256"}, {"internalType": "uint256", "name": "chgComm", "type": "uint256"}, {"internalType": "uint256", "name": "mintComm", "type": "uint256"}, {"internalType": "uint128", "name": "mintAmount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "mintAssetDef", "type": "tuple"}, {"internalType": "uint256", "name": "mintInternalAssetCode", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.MintAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.MintNote[]", "name": "mintNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.FreezeAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.FreezeNote[]", "name": "freezeNotes", "type": "tuple[]"}, {"components": [{"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote", "name": "transferNote", "type": "tuple"}, {"components": [{"internalType": "uint128", "name": "amount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDef", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "userAddr", "type": "tuple"}, {"internalType": "bytes32", "name": "encKey", "type": "bytes32"}, {"internalType": "bool", "name": "freezeFlag", "type": "bool"}, {"internalType": "uint256", "name": "blind", "type": "uint256"}], "internalType": "struct CAPE.RecordOpening", "name": "recordOpening", "type": "tuple"}], "internalType": "struct CAPE.BurnNote[]", "name": "burnNotes", "type": "tuple[]"}], "internalType": "struct CAPE.CapeBlock", "name": "newBlock", "type": "tuple"}, {"internalType": "bytes", "name": "extraData", "type": "bytes"}], "name": "submitCapeBlockWithMemos", "outputs": [], "stateMutability": "nonpayable", "type": "function"}]
[{"inputs": [{"internalType": "uint64", "name": "nRoots", "type": "uint64"}, {"internalType": "address", "name": "verifierAddr", "type": "address"}, {"internalType": "address", "name": "recordsMerkleTreeAddr", "type": "address"}], "stateMutability": "nonpayable", "type": "constructor"}, {"anonymous": false, "inputs": [{"indexed": false, "internalType": "address", "name": "erc20Address", "type": "address"}, {"indexed": false, "internalType": "uint256", "name": "assetDefinitionCode", "type": "uint256"}], "name": "AssetSponsored", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": true, "internalType": "uint64", "name": "height", "type": "uint64"}, {"indexed": false, "internalType": "uint256[]", "name": "depositCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "minerAddr", "type": "tuple"}, {"internalType": "enum CAPE.NoteType[]", "name": "noteTypes", "type": "uint8[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote[]", "name": "transferNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256", "name": "inputNullifier", "type": "uint256"}, {"internalType": "uint256", "name": "chgComm", "type": "uint256"}, {"internalType": "uint256", "name": "mintComm", "type": "uint256"}, {"internalType": "uint128", "name": "mintAmount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "mintAssetDef", "type": "tuple"}, {"internalType": "uint256", "name": "mintInternalAssetCode", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.MintAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.MintNote[]", "name": "mintNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.FreezeAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.FreezeNote[]", "name": "freezeNotes", "type": "tuple[]"}, {"components": [{"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote", "name": "transferNote", "type": "tuple"}, {"components": [{"internalType": "uint128", "name": "amount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDef", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "userAddr", "type": "tuple"}, {"internalType": "bytes32", "name": "encKey", "type": "bytes32"}, {"internalType": "bool", "name": "freezeFlag", "type": "bool"}, {"internalType": "uint256", "name": "blind", "type": "uint256"}], "internalType": "struct CAPE.RecordOpening", "name": "recordOpening", "type": "tuple"}], "internalType": "struct CAPE.BurnNote[]", "name": "burnNotes", "type": "tuple[]"}], "indexed": false, "internalType": "struct CAPE.CapeBlock", "name": "newBlock", "type": "tuple"}], "name": "BlockCommitted", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": false, "internalType": "bytes", "name": "roBytes", "type": "bytes"}, {"indexed": false, "internalType": "address", "name": "erc20TokenAddress", "type": "address"}, {"indexed": false, "internalType": "address", "name": "from", "type": "address"}], "name": "Erc20TokensDeposited", "type": "event"}, {"anonymous": false, "inputs": [{"indexed": false, "internalType": "bytes", "name": "roBytes", "type": "bytes"}], "name": "FaucetInitialized", "type": "event"}, {"inputs": [], "name": "CAPE_BURN_MAGIC_BYTES", "outputs": [{"internalType": "bytes", "name": "", "type": "bytes"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "CAPE_BURN_MAGIC_BYTES_SIZE", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "CAP_NATIVE_ASSET_CODE", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "DOM_SEP_DOMESTIC_ASSET", "outputs": [{"internalType": "bytes14", "name": "", "type": "bytes14"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "DOM_SEP_FOREIGN_ASSET", "outputs": [{"internalType": "bytes13", "name": "", "type": "bytes13"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "MAX_NUM_PENDING_DEPOSIT", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "bytes32", "name": "", "type": "bytes32"}], "name": "assets", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "blockHeight", "outputs": [{"internalType": "uint64", "name": "", "type": "uint64"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "deployer", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"components": [{"internalType": "uint128", "name": "amount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDef", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "userAddr", "type": "tuple"}, {"internalType": "bytes32", "name": "encKey", "type": "bytes32"}, {"internalType": "bool", "name": "freezeFlag", "type": "bool"}, {"internalType": "uint256", "name": "blind", "type": "uint256"}], "internalType": "struct CAPE.RecordOpening", "name": "ro", "type": "tuple"}, {"internalType": "address", "name": "erc20Address", "type": "address"}], "name": "depositErc20", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [], "name": "faucetInitialized", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "faucetManagerAddress", "type": "tuple"}, {"internalType": "bytes32", "name": "faucetManagerEncKey", "type": "bytes32"}], "name": "faucetSetupForTestnet", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [], "name": "getRootValue", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDefinition", "type": "tuple"}], "name": "isCapeAssetRegistered", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDefinition", "type": "tuple"}], "name": "lookup", "outputs": [{"internalType": "address", "name": "", "type": "address"}], "stateMutability": "view", "type": "function"}, {"inputs": [], "name": "nativeDomesticAsset", "outputs": [{"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDefinition", "type": "tuple"}], "stateMutability": "pure", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "name": "nullifiers", "outputs": [{"internalType": "bool", "name": "", "type": "bool"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "name": "pendingDeposits", "outputs": [{"internalType": "uint256", "name": "", "type": "uint256"}], "stateMutability": "view", "type": "function"}, {"inputs": [{"internalType": "address", "name": "erc20Address", "type": "address"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "newAsset", "type": "tuple"}], "name": "sponsorCapeAsset", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "minerAddr", "type": "tuple"}, {"internalType": "enum CAPE.NoteType[]", "name": "noteTypes", "type": "uint8[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote[]", "name": "transferNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256", "name": "inputNullifier", "type": "uint256"}, {"internalType": "uint256", "name": "chgComm", "type": "uint256"}, {"internalType": "uint256", "name": "mintComm", "type": "uint256"}, {"internalType": "uint128", "name": "mintAmount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "mintAssetDef", "type": "tuple"}, {"internalType": "uint256", "name": "mintInternalAssetCode", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.MintAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.MintNote[]", "name": "mintNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.FreezeAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.FreezeNote[]", "name": "freezeNotes", "type": "tuple[]"}, {"components": [{"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote", "name": "transferNote", "type": "tuple"}, {"components": [{"internalType": "uint128", "name": "amount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDef", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "userAddr", "type": "tuple"}, {"internalType": "bytes32", "name": "encKey", "type": "bytes32"}, {"internalType": "bool", "name": "freezeFlag", "type": "bool"}, {"internalType": "uint256", "name": "blind", "type": "uint256"}], "internalType": "struct CAPE.RecordOpening", "name": "recordOpening", "type": "tuple"}], "internalType": "struct CAPE.BurnNote[]", "name": "burnNotes", "type": "tuple[]"}], "internalType": "struct CAPE.CapeBlock", "name": "newBlock", "type": "tuple"}], "name": "submitCapeBlock", "outputs": [], "stateMutability": "nonpayable", "type": "function"}, {"inputs": [{"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "minerAddr", "type": "tuple"}, {"internalType": "enum CAPE.NoteType[]", "name": "noteTypes", "type": "uint8[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote[]", "name": "transferNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256", "name": "inputNullifier", "type": "uint256"}, {"internalType": "uint256", "name": "chgComm", "type": "uint256"}, {"internalType": "uint256", "name": "mintComm", "type": "uint256"}, {"internalType": "uint128", "name": "mintAmount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "mintAssetDef", "type": "tuple"}, {"internalType": "uint256", "name": "mintInternalAssetCode", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.MintAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.MintNote[]", "name": "mintNotes", "type": "tuple[]"}, {"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}], "internalType": "struct CAPE.FreezeAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.FreezeNote[]", "name": "freezeNotes", "type": "tuple[]"}, {"components": [{"components": [{"internalType": "uint256[]", "name": "inputNullifiers", "type": "uint256[]"}, {"internalType": "uint256[]", "name": "outputCommitments", "type": "uint256[]"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "wire4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "prodPerm", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split0", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split1", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split2", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split3", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "split4", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zeta", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct BN254.G1Point", "name": "zetaOmega", "type": "tuple"}, {"internalType": "uint256", "name": "wireEval0", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval1", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval2", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval3", "type": "uint256"}, {"internalType": "uint256", "name": "wireEval4", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval0", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval1", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval2", "type": "uint256"}, {"internalType": "uint256", "name": "sigmaEval3", "type": "uint256"}, {"internalType": "uint256", "name": "prodPermZetaOmegaEval", "type": "uint256"}], "internalType": "struct IPlonkVerifier.PlonkProof", "name": "proof", "type": "tuple"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "ephemeralKey", "type": "tuple"}, {"internalType": "uint256[]", "name": "data", "type": "uint256[]"}], "internalType": "struct CAPE.AuditMemo", "name": "auditMemo", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "merkleRoot", "type": "uint256"}, {"internalType": "uint128", "name": "fee", "type": "uint128"}, {"internalType": "uint64", "name": "validUntil", "type": "uint64"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "txnMemoVerKey", "type": "tuple"}, {"internalType": "bytes", "name": "extraProofBoundData", "type": "bytes"}], "internalType": "struct CAPE.TransferAuxInfo", "name": "auxInfo", "type": "tuple"}], "internalType": "struct CAPE.TransferNote", "name": "transferNote", "type": "tuple"}, {"components": [{"internalType": "uint128", "name": "amount", "type": "uint128"}, {"components": [{"internalType": "uint256", "name": "code", "type": "uint256"}, {"components": [{"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "auditorPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "credPk", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "freezerPk", "type": "tuple"}, {"internalType": "uint256", "name": "revealMap", "type": "uint256"}, {"internalType": "uint128", "name": "revealThreshold", "type": "uint128"}], "internalType": "struct AssetRegistry.AssetPolicy", "name": "policy", "type": "tuple"}], "internalType": "struct AssetRegistry.AssetDefinition", "name": "assetDef", "type": "tuple"}, {"components": [{"internalType": "uint256", "name": "x", "type": "uint256"}, {"internalType": "uint256", "name": "y", "type": "uint256"}], "internalType": "struct EdOnBN254.EdOnBN254Point", "name": "userAddr", "type": "tuple"}, {"internalType": "bytes32", "name": "encKey", "type": "bytes32"}, {"internalType": "bool", "name": "freezeFlag", "type": "bool"}, {"internalType": "uint256", "name": "blind", "type": "uint256"}], "internalType": "struct CAPE.RecordOpening", "name": "recordOpening", "type": "tuple"}], "internalType": "struct CAPE.BurnNote[]", "name": "burnNotes", "type": "tuple[]"}], "internalType": "struct CAPE.CapeBlock", "name": "newBlock", "type": "tuple"}, {"internalType": "bytes", "name": "extraData", "type": "bytes"}], "name": "submitCapeBlockWithMemos", "outputs": [], "stateMutability": "nonpayable", "type": "function"}]
This file has been truncated, but you can view the full file.
#![allow(clippy::all)]
//! This module contains abigen! generated bindings for solidity contracts.
//! This is autogenerated code.
//! Do not manually edit these files.
//! This file may be overwritten by the codegen system at any time.
pub mod __shared_types {
#[doc = "`PlonkProof((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct PlonkProof {
pub wire_0: G1Point,
pub wire_1: G1Point,
pub wire_2: G1Point,
pub wire_3: G1Point,
pub wire_4: G1Point,
pub prod_perm: G1Point,
pub split_0: G1Point,
pub split_1: G1Point,
pub split_2: G1Point,
pub split_3: G1Point,
pub split_4: G1Point,
pub zeta: G1Point,
pub zeta_omega: G1Point,
pub wire_eval_0: ethers::core::types::U256,
pub wire_eval_1: ethers::core::types::U256,
pub wire_eval_2: ethers::core::types::U256,
pub wire_eval_3: ethers::core::types::U256,
pub wire_eval_4: ethers::core::types::U256,
pub sigma_eval_0: ethers::core::types::U256,
pub sigma_eval_1: ethers::core::types::U256,
pub sigma_eval_2: ethers::core::types::U256,
pub sigma_eval_3: ethers::core::types::U256,
pub prod_perm_zeta_omega_eval: ethers::core::types::U256,
}
#[doc = "`VerifyingKey(uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256))`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct VerifyingKey {
pub domain_size: ethers::core::types::U256,
pub num_inputs: ethers::core::types::U256,
pub sigma_0: G1Point,
pub sigma_1: G1Point,
pub sigma_2: G1Point,
pub sigma_3: G1Point,
pub sigma_4: G1Point,
pub q_1: G1Point,
pub q_2: G1Point,
pub q_3: G1Point,
pub q_4: G1Point,
pub q_m12: G1Point,
pub q_m34: G1Point,
pub q_o: G1Point,
pub q_c: G1Point,
pub q_h1: G1Point,
pub q_h2: G1Point,
pub q_h3: G1Point,
pub q_h4: G1Point,
pub q_ecc: G1Point,
}
#[doc = "`MintAuxInfo(uint256,uint128,(uint256,uint256))`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct MintAuxInfo {
pub merkle_root: ethers::core::types::U256,
pub fee: u128,
pub txn_memo_ver_key: EdOnBN254Point,
}
#[doc = "`EvalDomain(uint256,uint256,uint256,uint256,uint256)`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct EvalDomain {
pub log_size: ethers::core::types::U256,
pub size: ethers::core::types::U256,
pub size_inv: ethers::core::types::U256,
pub group_gen: ethers::core::types::U256,
pub group_gen_inv: ethers::core::types::U256,
}
#[doc = "`RecordOpening(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256)`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct RecordOpening {
pub amount: u128,
pub asset_def: AssetDefinition,
pub user_addr: EdOnBN254Point,
pub enc_key: [u8; 32],
pub freeze_flag: bool,
pub blind: ethers::core::types::U256,
}
#[doc = "`AuditMemo((uint256,uint256),uint256[])`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct AuditMemo {
pub ephemeral_key: EdOnBN254Point,
pub data: Vec<ethers::core::types::U256>,
}
#[doc = "`MintNote(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct MintNote {
pub input_nullifier: ethers::core::types::U256,
pub chg_comm: ethers::core::types::U256,
pub mint_comm: ethers::core::types::U256,
pub mint_amount: u128,
pub mint_asset_def: AssetDefinition,
pub mint_internal_asset_code: ethers::core::types::U256,
pub proof: PlonkProof,
pub audit_memo: AuditMemo,
pub aux_info: MintAuxInfo,
}
#[doc = "`G1Point(uint256,uint256)`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct G1Point {
pub x: ethers::core::types::U256,
pub y: ethers::core::types::U256,
}
#[doc = "`EdOnBN254Point(uint256,uint256)`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct EdOnBN254Point {
pub x: ethers::core::types::U256,
pub y: ethers::core::types::U256,
}
#[doc = "`FreezeAuxInfo(uint256,uint128,(uint256,uint256))`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct FreezeAuxInfo {
pub merkle_root: ethers::core::types::U256,
pub fee: u128,
pub txn_memo_ver_key: EdOnBN254Point,
}
#[doc = "`BurnNote((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct BurnNote {
pub transfer_note: TransferNote,
pub record_opening: RecordOpening,
}
#[doc = "`FreezeNote(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct FreezeNote {
pub input_nullifiers: Vec<ethers::core::types::U256>,
pub output_commitments: Vec<ethers::core::types::U256>,
pub proof: PlonkProof,
pub aux_info: FreezeAuxInfo,
}
#[doc = "`TransferNote(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct TransferNote {
pub input_nullifiers: Vec<ethers::core::types::U256>,
pub output_commitments: Vec<ethers::core::types::U256>,
pub proof: PlonkProof,
pub audit_memo: AuditMemo,
pub aux_info: TransferAuxInfo,
}
#[doc = "`AssetPolicy((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct AssetPolicy {
pub auditor_pk: EdOnBN254Point,
pub cred_pk: EdOnBN254Point,
pub freezer_pk: EdOnBN254Point,
pub reveal_map: ethers::core::types::U256,
pub reveal_threshold: u128,
}
#[doc = "`TransferAuxInfo(uint256,uint128,uint64,(uint256,uint256),bytes)`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct TransferAuxInfo {
pub merkle_root: ethers::core::types::U256,
pub fee: u128,
pub valid_until: u64,
pub txn_memo_ver_key: EdOnBN254Point,
pub extra_proof_bound_data: ethers::core::types::Bytes,
}
#[doc = "`AssetDefinition(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128))`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct AssetDefinition {
pub code: ethers::core::types::U256,
pub policy: AssetPolicy,
}
#[doc = "`CapeBlock((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[])`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct CapeBlock {
pub miner_addr: EdOnBN254Point,
pub note_types: Vec<u8>,
pub transfer_notes: ::std::vec::Vec<TransferNote>,
pub mint_notes: ::std::vec::Vec<MintNote>,
pub freeze_notes: ::std::vec::Vec<FreezeNote>,
pub burn_notes: ::std::vec::Vec<BurnNote>,
}
}
pub use accumulatingarray_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod accumulatingarray_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "AccumulatingArray was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static ACCUMULATINGARRAY_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| serde_json::from_str("[]").expect("invalid abi"));
pub struct AccumulatingArray<M>(ethers::contract::Contract<M>);
impl<M> Clone for AccumulatingArray<M> {
fn clone(&self) -> Self {
AccumulatingArray(self.0.clone())
}
}
impl<M> std::ops::Deref for AccumulatingArray<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for AccumulatingArray<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(AccumulatingArray))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> AccumulatingArray<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), ACCUMULATINGARRAY_ABI.clone(), client)
.into()
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>>
for AccumulatingArray<M>
{
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
}
pub use assetregistry_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod assetregistry_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
pub use super::__shared_types::*;
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "AssetRegistry was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static ASSETREGISTRY_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"assetDefinitionCode\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"AssetSponsored\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CAP_NATIVE_ASSET_CODE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"DOM_SEP_DOMESTIC_ASSET\",\"outputs\":[{\"internalType\":\"bytes14\",\"name\":\"\",\"type\":\"bytes14\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"DOM_SEP_FOREIGN_ASSET\",\"outputs\":[{\"internalType\":\"bytes13\",\"name\":\"\",\"type\":\"bytes13\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"assets\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDefinition\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"isCapeAssetRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDefinition\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"lookup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"nativeDomesticAsset\",\"outputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDefinition\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"newAsset\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"sponsorCapeAsset\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct AssetRegistry<M>(ethers::contract::Contract<M>);
impl<M> Clone for AssetRegistry<M> {
fn clone(&self) -> Self {
AssetRegistry(self.0.clone())
}
}
impl<M> std::ops::Deref for AssetRegistry<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for AssetRegistry<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(AssetRegistry))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> AssetRegistry<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), ASSETREGISTRY_ABI.clone(), client)
.into()
}
#[doc = "Calls the contract's `CAP_NATIVE_ASSET_CODE` (0x79cf6f5c) function"]
pub fn cap_native_asset_code(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([121, 207, 111, 92], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `DOM_SEP_DOMESTIC_ASSET` (0x1db6b253) function"]
pub fn dom_sep_domestic_asset(
&self,
) -> ethers::contract::builders::ContractCall<M, [u8; 14]> {
self.0
.method_hash([29, 182, 178, 83], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `DOM_SEP_FOREIGN_ASSET` (0xa33ba96c) function"]
pub fn dom_sep_foreign_asset(
&self,
) -> ethers::contract::builders::ContractCall<M, [u8; 13]> {
self.0
.method_hash([163, 59, 169, 108], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `assets` (0x9fda5b66) function"]
pub fn assets(
&self,
p0: [u8; 32],
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Address> {
self.0
.method_hash([159, 218, 91, 102], p0)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `isCapeAssetRegistered` (0xf148fb4a) function"]
pub fn is_cape_asset_registered(
&self,
asset_definition: AssetDefinition,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([241, 72, 251, 74], (asset_definition,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `lookup` (0xd56c1ea1) function"]
pub fn lookup(
&self,
asset_definition: AssetDefinition,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Address> {
self.0
.method_hash([213, 108, 30, 161], (asset_definition,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `nativeDomesticAsset` (0x6de84060) function"]
pub fn native_domestic_asset(
&self,
) -> ethers::contract::builders::ContractCall<M, AssetDefinition> {
self.0
.method_hash([109, 232, 64, 96], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `sponsorCapeAsset` (0x0a212145) function"]
pub fn sponsor_cape_asset(
&self,
erc_20_address: ethers::core::types::Address,
new_asset: AssetDefinition,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([10, 33, 33, 69], (erc_20_address, new_asset))
.expect("method not found (this should never happen)")
}
#[doc = "Gets the contract's `AssetSponsored` event"]
pub fn asset_sponsored_filter(
&self,
) -> ethers::contract::builders::Event<M, AssetSponsoredFilter> {
self.0.event()
}
#[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"]
pub fn events(&self) -> ethers::contract::builders::Event<M, AssetSponsoredFilter> {
self.0.event_with_filter(Default::default())
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for AssetRegistry<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "AssetSponsored", abi = "AssetSponsored(address,uint256)")]
pub struct AssetSponsoredFilter {
pub erc_20_address: ethers::core::types::Address,
pub asset_definition_code: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `CAP_NATIVE_ASSET_CODE`function with signature `CAP_NATIVE_ASSET_CODE()` and selector `[121, 207, 111, 92]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "CAP_NATIVE_ASSET_CODE", abi = "CAP_NATIVE_ASSET_CODE()")]
pub struct CapNativeAssetCodeCall;
#[doc = "Container type for all input parameters for the `DOM_SEP_DOMESTIC_ASSET`function with signature `DOM_SEP_DOMESTIC_ASSET()` and selector `[29, 182, 178, 83]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "DOM_SEP_DOMESTIC_ASSET", abi = "DOM_SEP_DOMESTIC_ASSET()")]
pub struct DomSepDomesticAssetCall;
#[doc = "Container type for all input parameters for the `DOM_SEP_FOREIGN_ASSET`function with signature `DOM_SEP_FOREIGN_ASSET()` and selector `[163, 59, 169, 108]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "DOM_SEP_FOREIGN_ASSET", abi = "DOM_SEP_FOREIGN_ASSET()")]
pub struct DomSepForeignAssetCall;
#[doc = "Container type for all input parameters for the `assets`function with signature `assets(bytes32)` and selector `[159, 218, 91, 102]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "assets", abi = "assets(bytes32)")]
pub struct AssetsCall(pub [u8; 32]);
#[doc = "Container type for all input parameters for the `isCapeAssetRegistered`function with signature `isCapeAssetRegistered((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))` and selector `[241, 72, 251, 74]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "isCapeAssetRegistered",
abi = "isCapeAssetRegistered((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))"
)]
pub struct IsCapeAssetRegisteredCall {
pub asset_definition: AssetDefinition,
}
#[doc = "Container type for all input parameters for the `lookup`function with signature `lookup((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))` and selector `[213, 108, 30, 161]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "lookup",
abi = "lookup((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))"
)]
pub struct LookupCall {
pub asset_definition: AssetDefinition,
}
#[doc = "Container type for all input parameters for the `nativeDomesticAsset`function with signature `nativeDomesticAsset()` and selector `[109, 232, 64, 96]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "nativeDomesticAsset", abi = "nativeDomesticAsset()")]
pub struct NativeDomesticAssetCall;
#[doc = "Container type for all input parameters for the `sponsorCapeAsset`function with signature `sponsorCapeAsset(address,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))` and selector `[10, 33, 33, 69]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "sponsorCapeAsset",
abi = "sponsorCapeAsset(address,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))"
)]
pub struct SponsorCapeAssetCall {
pub erc_20_address: ethers::core::types::Address,
pub new_asset: AssetDefinition,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum AssetRegistryCalls {
CapNativeAssetCode(CapNativeAssetCodeCall),
DomSepDomesticAsset(DomSepDomesticAssetCall),
DomSepForeignAsset(DomSepForeignAssetCall),
Assets(AssetsCall),
IsCapeAssetRegistered(IsCapeAssetRegisteredCall),
Lookup(LookupCall),
NativeDomesticAsset(NativeDomesticAssetCall),
SponsorCapeAsset(SponsorCapeAssetCall),
}
impl ethers::core::abi::AbiDecode for AssetRegistryCalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<CapNativeAssetCodeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(AssetRegistryCalls::CapNativeAssetCode(decoded));
}
if let Ok(decoded) =
<DomSepDomesticAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(AssetRegistryCalls::DomSepDomesticAsset(decoded));
}
if let Ok(decoded) =
<DomSepForeignAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(AssetRegistryCalls::DomSepForeignAsset(decoded));
}
if let Ok(decoded) = <AssetsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(AssetRegistryCalls::Assets(decoded));
}
if let Ok(decoded) =
<IsCapeAssetRegisteredCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(AssetRegistryCalls::IsCapeAssetRegistered(decoded));
}
if let Ok(decoded) = <LookupCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(AssetRegistryCalls::Lookup(decoded));
}
if let Ok(decoded) =
<NativeDomesticAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(AssetRegistryCalls::NativeDomesticAsset(decoded));
}
if let Ok(decoded) =
<SponsorCapeAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(AssetRegistryCalls::SponsorCapeAsset(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for AssetRegistryCalls {
fn encode(self) -> Vec<u8> {
match self {
AssetRegistryCalls::CapNativeAssetCode(element) => element.encode(),
AssetRegistryCalls::DomSepDomesticAsset(element) => element.encode(),
AssetRegistryCalls::DomSepForeignAsset(element) => element.encode(),
AssetRegistryCalls::Assets(element) => element.encode(),
AssetRegistryCalls::IsCapeAssetRegistered(element) => element.encode(),
AssetRegistryCalls::Lookup(element) => element.encode(),
AssetRegistryCalls::NativeDomesticAsset(element) => element.encode(),
AssetRegistryCalls::SponsorCapeAsset(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for AssetRegistryCalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
AssetRegistryCalls::CapNativeAssetCode(element) => element.fmt(f),
AssetRegistryCalls::DomSepDomesticAsset(element) => element.fmt(f),
AssetRegistryCalls::DomSepForeignAsset(element) => element.fmt(f),
AssetRegistryCalls::Assets(element) => element.fmt(f),
AssetRegistryCalls::IsCapeAssetRegistered(element) => element.fmt(f),
AssetRegistryCalls::Lookup(element) => element.fmt(f),
AssetRegistryCalls::NativeDomesticAsset(element) => element.fmt(f),
AssetRegistryCalls::SponsorCapeAsset(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<CapNativeAssetCodeCall> for AssetRegistryCalls {
fn from(var: CapNativeAssetCodeCall) -> Self {
AssetRegistryCalls::CapNativeAssetCode(var)
}
}
impl ::std::convert::From<DomSepDomesticAssetCall> for AssetRegistryCalls {
fn from(var: DomSepDomesticAssetCall) -> Self {
AssetRegistryCalls::DomSepDomesticAsset(var)
}
}
impl ::std::convert::From<DomSepForeignAssetCall> for AssetRegistryCalls {
fn from(var: DomSepForeignAssetCall) -> Self {
AssetRegistryCalls::DomSepForeignAsset(var)
}
}
impl ::std::convert::From<AssetsCall> for AssetRegistryCalls {
fn from(var: AssetsCall) -> Self {
AssetRegistryCalls::Assets(var)
}
}
impl ::std::convert::From<IsCapeAssetRegisteredCall> for AssetRegistryCalls {
fn from(var: IsCapeAssetRegisteredCall) -> Self {
AssetRegistryCalls::IsCapeAssetRegistered(var)
}
}
impl ::std::convert::From<LookupCall> for AssetRegistryCalls {
fn from(var: LookupCall) -> Self {
AssetRegistryCalls::Lookup(var)
}
}
impl ::std::convert::From<NativeDomesticAssetCall> for AssetRegistryCalls {
fn from(var: NativeDomesticAssetCall) -> Self {
AssetRegistryCalls::NativeDomesticAsset(var)
}
}
impl ::std::convert::From<SponsorCapeAssetCall> for AssetRegistryCalls {
fn from(var: SponsorCapeAssetCall) -> Self {
AssetRegistryCalls::SponsorCapeAsset(var)
}
}
}
pub use bn254_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod bn254_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "BN254 was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static BN254_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"P_MOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"R_MOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct BN254<M>(ethers::contract::Contract<M>);
impl<M> Clone for BN254<M> {
fn clone(&self) -> Self {
BN254(self.0.clone())
}
}
impl<M> std::ops::Deref for BN254<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for BN254<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(BN254))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> BN254<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), BN254_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `P_MOD` (0x1d712e27) function"]
pub fn p_mod(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([29, 113, 46, 39], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `R_MOD` (0xdf6e6cb4) function"]
pub fn r_mod(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([223, 110, 108, 180], ())
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for BN254<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `P_MOD`function with signature `P_MOD()` and selector `[29, 113, 46, 39]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "P_MOD", abi = "P_MOD()")]
pub struct PModCall;
#[doc = "Container type for all input parameters for the `R_MOD`function with signature `R_MOD()` and selector `[223, 110, 108, 180]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "R_MOD", abi = "R_MOD()")]
pub struct RModCall;
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum BN254Calls {
PMod(PModCall),
RMod(RModCall),
}
impl ethers::core::abi::AbiDecode for BN254Calls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) = <PModCall as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(BN254Calls::PMod(decoded));
}
if let Ok(decoded) = <RModCall as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(BN254Calls::RMod(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for BN254Calls {
fn encode(self) -> Vec<u8> {
match self {
BN254Calls::PMod(element) => element.encode(),
BN254Calls::RMod(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for BN254Calls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
BN254Calls::PMod(element) => element.fmt(f),
BN254Calls::RMod(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<PModCall> for BN254Calls {
fn from(var: PModCall) -> Self {
BN254Calls::PMod(var)
}
}
impl ::std::convert::From<RModCall> for BN254Calls {
fn from(var: RModCall) -> Self {
BN254Calls::RMod(var)
}
}
}
pub use cape_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod cape_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
pub use super::__shared_types::*;
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "CAPE was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static CAPE_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"nRoots\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"verifierAddr\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"recordsMerkleTreeAddr\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"assetDefinitionCode\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"AssetSponsored\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"height\",\"type\":\"uint64\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256[]\",\"name\":\"depositCommitments\",\"type\":\"uint256[]\",\"components\":[],\"indexed\":false},{\"internalType\":\"struct CAPE.CapeBlock\",\"name\":\"newBlock\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"minerAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"enum CAPE.NoteType[]\",\"name\":\"noteTypes\",\"type\":\"uint8[]\",\"components\":[]},{\"internalType\":\"struct CAPE.TransferNote[]\",\"name\":\"transferNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.MintNote[]\",\"name\":\"mintNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"inputNullifier\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chgComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"mintComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"mintAmount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"mintAssetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"uint256\",\"name\":\"mintInternalAssetCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.MintAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.FreezeNote[]\",\"name\":\"freezeNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.FreezeAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.BurnNote[]\",\"name\":\"burnNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}],\"indexed\":false}],\"type\":\"event\",\"name\":\"BlockCommitted\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"roBytes\",\"type\":\"bytes\",\"components\":[],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"erc20TokenAddress\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Erc20TokensDeposited\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"roBytes\",\"type\":\"bytes\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"FaucetInitialized\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CAPE_BURN_MAGIC_BYTES\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CAPE_BURN_MAGIC_BYTES_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CAP_NATIVE_ASSET_CODE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"DOM_SEP_DOMESTIC_ASSET\",\"outputs\":[{\"internalType\":\"bytes14\",\"name\":\"\",\"type\":\"bytes14\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"DOM_SEP_FOREIGN_ASSET\",\"outputs\":[{\"internalType\":\"bytes13\",\"name\":\"\",\"type\":\"bytes13\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"MAX_NUM_PENDING_DEPOSIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"assets\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"blockHeight\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"ro\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"depositErc20\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"faucetInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"faucetManagerAddress\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"faucetManagerEncKey\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"faucetSetupForTestnet\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getRootValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDefinition\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"isCapeAssetRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDefinition\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"lookup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"nativeDomesticAsset\",\"outputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDefinition\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"nullifiers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"pendingDeposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"newAsset\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"sponsorCapeAsset\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"struct CAPE.CapeBlock\",\"name\":\"newBlock\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"minerAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"enum CAPE.NoteType[]\",\"name\":\"noteTypes\",\"type\":\"uint8[]\",\"components\":[]},{\"internalType\":\"struct CAPE.TransferNote[]\",\"name\":\"transferNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.MintNote[]\",\"name\":\"mintNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"inputNullifier\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chgComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"mintComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"mintAmount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"mintAssetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"uint256\",\"name\":\"mintInternalAssetCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.MintAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.FreezeNote[]\",\"name\":\"freezeNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.FreezeAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.BurnNote[]\",\"name\":\"burnNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"submitCapeBlock\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"struct CAPE.CapeBlock\",\"name\":\"newBlock\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"minerAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"enum CAPE.NoteType[]\",\"name\":\"noteTypes\",\"type\":\"uint8[]\",\"components\":[]},{\"internalType\":\"struct CAPE.TransferNote[]\",\"name\":\"transferNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.MintNote[]\",\"name\":\"mintNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"inputNullifier\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chgComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"mintComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"mintAmount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"mintAssetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"uint256\",\"name\":\"mintInternalAssetCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.MintAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.FreezeNote[]\",\"name\":\"freezeNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.FreezeAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.BurnNote[]\",\"name\":\"burnNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"submitCapeBlockWithMemos\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct CAPE<M>(ethers::contract::Contract<M>);
impl<M> Clone for CAPE<M> {
fn clone(&self) -> Self {
CAPE(self.0.clone())
}
}
impl<M> std::ops::Deref for CAPE<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for CAPE<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(CAPE))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> CAPE<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), CAPE_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `CAPE_BURN_MAGIC_BYTES` (0x11829f93) function"]
pub fn cape_burn_magic_bytes(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Bytes> {
self.0
.method_hash([17, 130, 159, 147], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `CAPE_BURN_MAGIC_BYTES_SIZE` (0xb4e28f1a) function"]
pub fn cape_burn_magic_bytes_size(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([180, 226, 143, 26], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `CAP_NATIVE_ASSET_CODE` (0x79cf6f5c) function"]
pub fn cap_native_asset_code(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([121, 207, 111, 92], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `DOM_SEP_DOMESTIC_ASSET` (0x1db6b253) function"]
pub fn dom_sep_domestic_asset(
&self,
) -> ethers::contract::builders::ContractCall<M, [u8; 14]> {
self.0
.method_hash([29, 182, 178, 83], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `DOM_SEP_FOREIGN_ASSET` (0xa33ba96c) function"]
pub fn dom_sep_foreign_asset(
&self,
) -> ethers::contract::builders::ContractCall<M, [u8; 13]> {
self.0
.method_hash([163, 59, 169, 108], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `MAX_NUM_PENDING_DEPOSIT` (0x9dd584b9) function"]
pub fn max_num_pending_deposit(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([157, 213, 132, 185], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `assets` (0x9fda5b66) function"]
pub fn assets(
&self,
p0: [u8; 32],
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Address> {
self.0
.method_hash([159, 218, 91, 102], p0)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `blockHeight` (0xf44ff712) function"]
pub fn block_height(&self) -> ethers::contract::builders::ContractCall<M, u64> {
self.0
.method_hash([244, 79, 247, 18], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `deployer` (0xd5f39488) function"]
pub fn deployer(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Address> {
self.0
.method_hash([213, 243, 148, 136], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `depositErc20` (0x6868dd1f) function"]
pub fn deposit_erc_20(
&self,
ro: RecordOpening,
erc_20_address: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([104, 104, 221, 31], (ro, erc_20_address))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `faucetInitialized` (0xfe3cc3f8) function"]
pub fn faucet_initialized(&self) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([254, 60, 195, 248], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `faucetSetupForTestnet` (0xb12f7e7b) function"]
pub fn faucet_setup_for_testnet(
&self,
faucet_manager_address: EdOnBN254Point,
faucet_manager_enc_key: [u8; 32],
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash(
[177, 47, 126, 123],
(faucet_manager_address, faucet_manager_enc_key),
)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `getRootValue` (0x6444c8d1) function"]
pub fn get_root_value(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([100, 68, 200, 209], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `isCapeAssetRegistered` (0xf148fb4a) function"]
pub fn is_cape_asset_registered(
&self,
asset_definition: AssetDefinition,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([241, 72, 251, 74], (asset_definition,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `lookup` (0xd56c1ea1) function"]
pub fn lookup(
&self,
asset_definition: AssetDefinition,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Address> {
self.0
.method_hash([213, 108, 30, 161], (asset_definition,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `nativeDomesticAsset` (0x6de84060) function"]
pub fn native_domestic_asset(
&self,
) -> ethers::contract::builders::ContractCall<M, AssetDefinition> {
self.0
.method_hash([109, 232, 64, 96], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `nullifiers` (0xd21e82ab) function"]
pub fn nullifiers(
&self,
p0: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([210, 30, 130, 171], p0)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `pendingDeposits` (0xa7932794) function"]
pub fn pending_deposits(
&self,
p0: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([167, 147, 39, 148], p0)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `sponsorCapeAsset` (0x0a212145) function"]
pub fn sponsor_cape_asset(
&self,
erc_20_address: ethers::core::types::Address,
new_asset: AssetDefinition,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([10, 33, 33, 69], (erc_20_address, new_asset))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `submitCapeBlock` (0xcb390b98) function"]
pub fn submit_cape_block(
&self,
new_block: CapeBlock,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([203, 57, 11, 152], (new_block,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `submitCapeBlockWithMemos` (0x10b4e3a1) function"]
pub fn submit_cape_block_with_memos(
&self,
new_block: CapeBlock,
extra_data: ethers::core::types::Bytes,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([16, 180, 227, 161], (new_block, extra_data))
.expect("method not found (this should never happen)")
}
#[doc = "Gets the contract's `AssetSponsored` event"]
pub fn asset_sponsored_filter(
&self,
) -> ethers::contract::builders::Event<M, AssetSponsoredFilter> {
self.0.event()
}
#[doc = "Gets the contract's `BlockCommitted` event"]
pub fn block_committed_filter(
&self,
) -> ethers::contract::builders::Event<M, BlockCommittedFilter> {
self.0.event()
}
#[doc = "Gets the contract's `Erc20TokensDeposited` event"]
pub fn erc_20_tokens_deposited_filter(
&self,
) -> ethers::contract::builders::Event<M, Erc20TokensDepositedFilter> {
self.0.event()
}
#[doc = "Gets the contract's `FaucetInitialized` event"]
pub fn faucet_initialized_filter(
&self,
) -> ethers::contract::builders::Event<M, FaucetInitializedFilter> {
self.0.event()
}
#[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"]
pub fn events(&self) -> ethers::contract::builders::Event<M, CAPEEvents> {
self.0.event_with_filter(Default::default())
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for CAPE<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "AssetSponsored", abi = "AssetSponsored(address,uint256)")]
pub struct AssetSponsoredFilter {
pub erc_20_address: ethers::core::types::Address,
pub asset_definition_code: ethers::core::types::U256,
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(
name = "BlockCommitted",
abi = "BlockCommitted(uint64,uint256[],((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]))"
)]
pub struct BlockCommittedFilter {
#[ethevent(indexed)]
pub height: u64,
pub deposit_commitments: Vec<ethers::core::types::U256>,
pub new_block: (
(ethers::core::types::U256, ethers::core::types::U256),
Vec<u8>,
Vec<(
Vec<ethers::core::types::U256>,
Vec<ethers::core::types::U256>,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
),
(
(ethers::core::types::U256, ethers::core::types::U256),
Vec<ethers::core::types::U256>,
),
(
ethers::core::types::U256,
u128,
u64,
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::Bytes,
),
)>,
Vec<(
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
u128,
(
ethers::core::types::U256,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
u128,
),
),
ethers::core::types::U256,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
),
(
(ethers::core::types::U256, ethers::core::types::U256),
Vec<ethers::core::types::U256>,
),
(
ethers::core::types::U256,
u128,
(ethers::core::types::U256, ethers::core::types::U256),
),
)>,
Vec<(
Vec<ethers::core::types::U256>,
Vec<ethers::core::types::U256>,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
),
(
ethers::core::types::U256,
u128,
(ethers::core::types::U256, ethers::core::types::U256),
),
)>,
Vec<(
(
Vec<ethers::core::types::U256>,
Vec<ethers::core::types::U256>,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
),
(
(ethers::core::types::U256, ethers::core::types::U256),
Vec<ethers::core::types::U256>,
),
(
ethers::core::types::U256,
u128,
u64,
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::Bytes,
),
),
(
u128,
(
ethers::core::types::U256,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
u128,
),
),
(ethers::core::types::U256, ethers::core::types::U256),
[u8; 32],
bool,
ethers::core::types::U256,
),
)>,
),
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(
name = "Erc20TokensDeposited",
abi = "Erc20TokensDeposited(bytes,address,address)"
)]
pub struct Erc20TokensDepositedFilter {
pub ro_bytes: ethers::core::types::Bytes,
pub erc_20_token_address: ethers::core::types::Address,
pub from: ethers::core::types::Address,
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "FaucetInitialized", abi = "FaucetInitialized(bytes)")]
pub struct FaucetInitializedFilter {
pub ro_bytes: ethers::core::types::Bytes,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum CAPEEvents {
AssetSponsoredFilter(AssetSponsoredFilter),
BlockCommittedFilter(BlockCommittedFilter),
Erc20TokensDepositedFilter(Erc20TokensDepositedFilter),
FaucetInitializedFilter(FaucetInitializedFilter),
}
impl ethers::contract::EthLogDecode for CAPEEvents {
fn decode_log(log: &ethers::core::abi::RawLog) -> Result<Self, ethers::core::abi::Error>
where
Self: Sized,
{
if let Ok(decoded) = AssetSponsoredFilter::decode_log(log) {
return Ok(CAPEEvents::AssetSponsoredFilter(decoded));
}
if let Ok(decoded) = BlockCommittedFilter::decode_log(log) {
return Ok(CAPEEvents::BlockCommittedFilter(decoded));
}
if let Ok(decoded) = Erc20TokensDepositedFilter::decode_log(log) {
return Ok(CAPEEvents::Erc20TokensDepositedFilter(decoded));
}
if let Ok(decoded) = FaucetInitializedFilter::decode_log(log) {
return Ok(CAPEEvents::FaucetInitializedFilter(decoded));
}
Err(ethers::core::abi::Error::InvalidData)
}
}
impl ::std::fmt::Display for CAPEEvents {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
CAPEEvents::AssetSponsoredFilter(element) => element.fmt(f),
CAPEEvents::BlockCommittedFilter(element) => element.fmt(f),
CAPEEvents::Erc20TokensDepositedFilter(element) => element.fmt(f),
CAPEEvents::FaucetInitializedFilter(element) => element.fmt(f),
}
}
}
#[doc = "Container type for all input parameters for the `CAPE_BURN_MAGIC_BYTES`function with signature `CAPE_BURN_MAGIC_BYTES()` and selector `[17, 130, 159, 147]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "CAPE_BURN_MAGIC_BYTES", abi = "CAPE_BURN_MAGIC_BYTES()")]
pub struct CapeBurnMagicBytesCall;
#[doc = "Container type for all input parameters for the `CAPE_BURN_MAGIC_BYTES_SIZE`function with signature `CAPE_BURN_MAGIC_BYTES_SIZE()` and selector `[180, 226, 143, 26]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "CAPE_BURN_MAGIC_BYTES_SIZE",
abi = "CAPE_BURN_MAGIC_BYTES_SIZE()"
)]
pub struct CapeBurnMagicBytesSizeCall;
#[doc = "Container type for all input parameters for the `CAP_NATIVE_ASSET_CODE`function with signature `CAP_NATIVE_ASSET_CODE()` and selector `[121, 207, 111, 92]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "CAP_NATIVE_ASSET_CODE", abi = "CAP_NATIVE_ASSET_CODE()")]
pub struct CapNativeAssetCodeCall;
#[doc = "Container type for all input parameters for the `DOM_SEP_DOMESTIC_ASSET`function with signature `DOM_SEP_DOMESTIC_ASSET()` and selector `[29, 182, 178, 83]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "DOM_SEP_DOMESTIC_ASSET", abi = "DOM_SEP_DOMESTIC_ASSET()")]
pub struct DomSepDomesticAssetCall;
#[doc = "Container type for all input parameters for the `DOM_SEP_FOREIGN_ASSET`function with signature `DOM_SEP_FOREIGN_ASSET()` and selector `[163, 59, 169, 108]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "DOM_SEP_FOREIGN_ASSET", abi = "DOM_SEP_FOREIGN_ASSET()")]
pub struct DomSepForeignAssetCall;
#[doc = "Container type for all input parameters for the `MAX_NUM_PENDING_DEPOSIT`function with signature `MAX_NUM_PENDING_DEPOSIT()` and selector `[157, 213, 132, 185]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "MAX_NUM_PENDING_DEPOSIT", abi = "MAX_NUM_PENDING_DEPOSIT()")]
pub struct MaxNumPendingDepositCall;
#[doc = "Container type for all input parameters for the `assets`function with signature `assets(bytes32)` and selector `[159, 218, 91, 102]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "assets", abi = "assets(bytes32)")]
pub struct AssetsCall(pub [u8; 32]);
#[doc = "Container type for all input parameters for the `blockHeight`function with signature `blockHeight()` and selector `[244, 79, 247, 18]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "blockHeight", abi = "blockHeight()")]
pub struct BlockHeightCall;
#[doc = "Container type for all input parameters for the `deployer`function with signature `deployer()` and selector `[213, 243, 148, 136]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "deployer", abi = "deployer()")]
pub struct DeployerCall;
#[doc = "Container type for all input parameters for the `depositErc20`function with signature `depositErc20((uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256),address)` and selector `[104, 104, 221, 31]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "depositErc20",
abi = "depositErc20((uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256),address)"
)]
pub struct DepositErc20Call {
pub ro: RecordOpening,
pub erc_20_address: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `faucetInitialized`function with signature `faucetInitialized()` and selector `[254, 60, 195, 248]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "faucetInitialized", abi = "faucetInitialized()")]
pub struct FaucetInitializedCall;
#[doc = "Container type for all input parameters for the `faucetSetupForTestnet`function with signature `faucetSetupForTestnet((uint256,uint256),bytes32)` and selector `[177, 47, 126, 123]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "faucetSetupForTestnet",
abi = "faucetSetupForTestnet((uint256,uint256),bytes32)"
)]
pub struct FaucetSetupForTestnetCall {
pub faucet_manager_address: EdOnBN254Point,
pub faucet_manager_enc_key: [u8; 32],
}
#[doc = "Container type for all input parameters for the `getRootValue`function with signature `getRootValue()` and selector `[100, 68, 200, 209]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "getRootValue", abi = "getRootValue()")]
pub struct GetRootValueCall;
#[doc = "Container type for all input parameters for the `isCapeAssetRegistered`function with signature `isCapeAssetRegistered((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))` and selector `[241, 72, 251, 74]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "isCapeAssetRegistered",
abi = "isCapeAssetRegistered((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))"
)]
pub struct IsCapeAssetRegisteredCall {
pub asset_definition: AssetDefinition,
}
#[doc = "Container type for all input parameters for the `lookup`function with signature `lookup((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))` and selector `[213, 108, 30, 161]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "lookup",
abi = "lookup((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))"
)]
pub struct LookupCall {
pub asset_definition: AssetDefinition,
}
#[doc = "Container type for all input parameters for the `nativeDomesticAsset`function with signature `nativeDomesticAsset()` and selector `[109, 232, 64, 96]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "nativeDomesticAsset", abi = "nativeDomesticAsset()")]
pub struct NativeDomesticAssetCall;
#[doc = "Container type for all input parameters for the `nullifiers`function with signature `nullifiers(uint256)` and selector `[210, 30, 130, 171]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "nullifiers", abi = "nullifiers(uint256)")]
pub struct NullifiersCall(pub ethers::core::types::U256);
#[doc = "Container type for all input parameters for the `pendingDeposits`function with signature `pendingDeposits(uint256)` and selector `[167, 147, 39, 148]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "pendingDeposits", abi = "pendingDeposits(uint256)")]
pub struct PendingDepositsCall(pub ethers::core::types::U256);
#[doc = "Container type for all input parameters for the `sponsorCapeAsset`function with signature `sponsorCapeAsset(address,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))` and selector `[10, 33, 33, 69]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "sponsorCapeAsset",
abi = "sponsorCapeAsset(address,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))"
)]
pub struct SponsorCapeAssetCall {
pub erc_20_address: ethers::core::types::Address,
pub new_asset: AssetDefinition,
}
#[doc = "Container type for all input parameters for the `submitCapeBlock`function with signature `submitCapeBlock(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]))` and selector `[203, 57, 11, 152]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "submitCapeBlock",
abi = "submitCapeBlock(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]))"
)]
pub struct SubmitCapeBlockCall {
pub new_block: CapeBlock,
}
#[doc = "Container type for all input parameters for the `submitCapeBlockWithMemos`function with signature `submitCapeBlockWithMemos(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]),bytes)` and selector `[16, 180, 227, 161]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "submitCapeBlockWithMemos",
abi = "submitCapeBlockWithMemos(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]),bytes)"
)]
pub struct SubmitCapeBlockWithMemosCall {
pub new_block: CapeBlock,
pub extra_data: ethers::core::types::Bytes,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum CAPECalls {
CapeBurnMagicBytes(CapeBurnMagicBytesCall),
CapeBurnMagicBytesSize(CapeBurnMagicBytesSizeCall),
CapNativeAssetCode(CapNativeAssetCodeCall),
DomSepDomesticAsset(DomSepDomesticAssetCall),
DomSepForeignAsset(DomSepForeignAssetCall),
MaxNumPendingDeposit(MaxNumPendingDepositCall),
Assets(AssetsCall),
BlockHeight(BlockHeightCall),
Deployer(DeployerCall),
DepositErc20(DepositErc20Call),
FaucetInitialized(FaucetInitializedCall),
FaucetSetupForTestnet(FaucetSetupForTestnetCall),
GetRootValue(GetRootValueCall),
IsCapeAssetRegistered(IsCapeAssetRegisteredCall),
Lookup(LookupCall),
NativeDomesticAsset(NativeDomesticAssetCall),
Nullifiers(NullifiersCall),
PendingDeposits(PendingDepositsCall),
SponsorCapeAsset(SponsorCapeAssetCall),
SubmitCapeBlock(SubmitCapeBlockCall),
SubmitCapeBlockWithMemos(SubmitCapeBlockWithMemosCall),
}
impl ethers::core::abi::AbiDecode for CAPECalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<CapeBurnMagicBytesCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::CapeBurnMagicBytes(decoded));
}
if let Ok(decoded) =
<CapeBurnMagicBytesSizeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::CapeBurnMagicBytesSize(decoded));
}
if let Ok(decoded) =
<CapNativeAssetCodeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::CapNativeAssetCode(decoded));
}
if let Ok(decoded) =
<DomSepDomesticAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::DomSepDomesticAsset(decoded));
}
if let Ok(decoded) =
<DomSepForeignAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::DomSepForeignAsset(decoded));
}
if let Ok(decoded) =
<MaxNumPendingDepositCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::MaxNumPendingDeposit(decoded));
}
if let Ok(decoded) = <AssetsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::Assets(decoded));
}
if let Ok(decoded) =
<BlockHeightCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::BlockHeight(decoded));
}
if let Ok(decoded) =
<DeployerCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::Deployer(decoded));
}
if let Ok(decoded) =
<DepositErc20Call as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::DepositErc20(decoded));
}
if let Ok(decoded) =
<FaucetInitializedCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::FaucetInitialized(decoded));
}
if let Ok(decoded) =
<FaucetSetupForTestnetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::FaucetSetupForTestnet(decoded));
}
if let Ok(decoded) =
<GetRootValueCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::GetRootValue(decoded));
}
if let Ok(decoded) =
<IsCapeAssetRegisteredCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::IsCapeAssetRegistered(decoded));
}
if let Ok(decoded) = <LookupCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::Lookup(decoded));
}
if let Ok(decoded) =
<NativeDomesticAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::NativeDomesticAsset(decoded));
}
if let Ok(decoded) =
<NullifiersCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::Nullifiers(decoded));
}
if let Ok(decoded) =
<PendingDepositsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::PendingDeposits(decoded));
}
if let Ok(decoded) =
<SponsorCapeAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::SponsorCapeAsset(decoded));
}
if let Ok(decoded) =
<SubmitCapeBlockCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(CAPECalls::SubmitCapeBlock(decoded));
}
if let Ok(decoded) =
<SubmitCapeBlockWithMemosCall as ethers::core::abi::AbiDecode>::decode(
data.as_ref(),
)
{
return Ok(CAPECalls::SubmitCapeBlockWithMemos(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for CAPECalls {
fn encode(self) -> Vec<u8> {
match self {
CAPECalls::CapeBurnMagicBytes(element) => element.encode(),
CAPECalls::CapeBurnMagicBytesSize(element) => element.encode(),
CAPECalls::CapNativeAssetCode(element) => element.encode(),
CAPECalls::DomSepDomesticAsset(element) => element.encode(),
CAPECalls::DomSepForeignAsset(element) => element.encode(),
CAPECalls::MaxNumPendingDeposit(element) => element.encode(),
CAPECalls::Assets(element) => element.encode(),
CAPECalls::BlockHeight(element) => element.encode(),
CAPECalls::Deployer(element) => element.encode(),
CAPECalls::DepositErc20(element) => element.encode(),
CAPECalls::FaucetInitialized(element) => element.encode(),
CAPECalls::FaucetSetupForTestnet(element) => element.encode(),
CAPECalls::GetRootValue(element) => element.encode(),
CAPECalls::IsCapeAssetRegistered(element) => element.encode(),
CAPECalls::Lookup(element) => element.encode(),
CAPECalls::NativeDomesticAsset(element) => element.encode(),
CAPECalls::Nullifiers(element) => element.encode(),
CAPECalls::PendingDeposits(element) => element.encode(),
CAPECalls::SponsorCapeAsset(element) => element.encode(),
CAPECalls::SubmitCapeBlock(element) => element.encode(),
CAPECalls::SubmitCapeBlockWithMemos(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for CAPECalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
CAPECalls::CapeBurnMagicBytes(element) => element.fmt(f),
CAPECalls::CapeBurnMagicBytesSize(element) => element.fmt(f),
CAPECalls::CapNativeAssetCode(element) => element.fmt(f),
CAPECalls::DomSepDomesticAsset(element) => element.fmt(f),
CAPECalls::DomSepForeignAsset(element) => element.fmt(f),
CAPECalls::MaxNumPendingDeposit(element) => element.fmt(f),
CAPECalls::Assets(element) => element.fmt(f),
CAPECalls::BlockHeight(element) => element.fmt(f),
CAPECalls::Deployer(element) => element.fmt(f),
CAPECalls::DepositErc20(element) => element.fmt(f),
CAPECalls::FaucetInitialized(element) => element.fmt(f),
CAPECalls::FaucetSetupForTestnet(element) => element.fmt(f),
CAPECalls::GetRootValue(element) => element.fmt(f),
CAPECalls::IsCapeAssetRegistered(element) => element.fmt(f),
CAPECalls::Lookup(element) => element.fmt(f),
CAPECalls::NativeDomesticAsset(element) => element.fmt(f),
CAPECalls::Nullifiers(element) => element.fmt(f),
CAPECalls::PendingDeposits(element) => element.fmt(f),
CAPECalls::SponsorCapeAsset(element) => element.fmt(f),
CAPECalls::SubmitCapeBlock(element) => element.fmt(f),
CAPECalls::SubmitCapeBlockWithMemos(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<CapeBurnMagicBytesCall> for CAPECalls {
fn from(var: CapeBurnMagicBytesCall) -> Self {
CAPECalls::CapeBurnMagicBytes(var)
}
}
impl ::std::convert::From<CapeBurnMagicBytesSizeCall> for CAPECalls {
fn from(var: CapeBurnMagicBytesSizeCall) -> Self {
CAPECalls::CapeBurnMagicBytesSize(var)
}
}
impl ::std::convert::From<CapNativeAssetCodeCall> for CAPECalls {
fn from(var: CapNativeAssetCodeCall) -> Self {
CAPECalls::CapNativeAssetCode(var)
}
}
impl ::std::convert::From<DomSepDomesticAssetCall> for CAPECalls {
fn from(var: DomSepDomesticAssetCall) -> Self {
CAPECalls::DomSepDomesticAsset(var)
}
}
impl ::std::convert::From<DomSepForeignAssetCall> for CAPECalls {
fn from(var: DomSepForeignAssetCall) -> Self {
CAPECalls::DomSepForeignAsset(var)
}
}
impl ::std::convert::From<MaxNumPendingDepositCall> for CAPECalls {
fn from(var: MaxNumPendingDepositCall) -> Self {
CAPECalls::MaxNumPendingDeposit(var)
}
}
impl ::std::convert::From<AssetsCall> for CAPECalls {
fn from(var: AssetsCall) -> Self {
CAPECalls::Assets(var)
}
}
impl ::std::convert::From<BlockHeightCall> for CAPECalls {
fn from(var: BlockHeightCall) -> Self {
CAPECalls::BlockHeight(var)
}
}
impl ::std::convert::From<DeployerCall> for CAPECalls {
fn from(var: DeployerCall) -> Self {
CAPECalls::Deployer(var)
}
}
impl ::std::convert::From<DepositErc20Call> for CAPECalls {
fn from(var: DepositErc20Call) -> Self {
CAPECalls::DepositErc20(var)
}
}
impl ::std::convert::From<FaucetInitializedCall> for CAPECalls {
fn from(var: FaucetInitializedCall) -> Self {
CAPECalls::FaucetInitialized(var)
}
}
impl ::std::convert::From<FaucetSetupForTestnetCall> for CAPECalls {
fn from(var: FaucetSetupForTestnetCall) -> Self {
CAPECalls::FaucetSetupForTestnet(var)
}
}
impl ::std::convert::From<GetRootValueCall> for CAPECalls {
fn from(var: GetRootValueCall) -> Self {
CAPECalls::GetRootValue(var)
}
}
impl ::std::convert::From<IsCapeAssetRegisteredCall> for CAPECalls {
fn from(var: IsCapeAssetRegisteredCall) -> Self {
CAPECalls::IsCapeAssetRegistered(var)
}
}
impl ::std::convert::From<LookupCall> for CAPECalls {
fn from(var: LookupCall) -> Self {
CAPECalls::Lookup(var)
}
}
impl ::std::convert::From<NativeDomesticAssetCall> for CAPECalls {
fn from(var: NativeDomesticAssetCall) -> Self {
CAPECalls::NativeDomesticAsset(var)
}
}
impl ::std::convert::From<NullifiersCall> for CAPECalls {
fn from(var: NullifiersCall) -> Self {
CAPECalls::Nullifiers(var)
}
}
impl ::std::convert::From<PendingDepositsCall> for CAPECalls {
fn from(var: PendingDepositsCall) -> Self {
CAPECalls::PendingDeposits(var)
}
}
impl ::std::convert::From<SponsorCapeAssetCall> for CAPECalls {
fn from(var: SponsorCapeAssetCall) -> Self {
CAPECalls::SponsorCapeAsset(var)
}
}
impl ::std::convert::From<SubmitCapeBlockCall> for CAPECalls {
fn from(var: SubmitCapeBlockCall) -> Self {
CAPECalls::SubmitCapeBlock(var)
}
}
impl ::std::convert::From<SubmitCapeBlockWithMemosCall> for CAPECalls {
fn from(var: SubmitCapeBlockWithMemosCall) -> Self {
CAPECalls::SubmitCapeBlockWithMemos(var)
}
}
}
pub use dai_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod dai_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "DAI was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static DAI_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Approval\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Transfer\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"withdraw\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"receive\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct DAI<M>(ethers::contract::Contract<M>);
impl<M> Clone for DAI<M> {
fn clone(&self) -> Self {
DAI(self.0.clone())
}
}
impl<M> std::ops::Deref for DAI<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for DAI<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(DAI))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> DAI<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), DAI_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `allowance` (0xdd62ed3e) function"]
pub fn allowance(
&self,
owner: ethers::core::types::Address,
spender: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([221, 98, 237, 62], (owner, spender))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `approve` (0x095ea7b3) function"]
pub fn approve(
&self,
spender: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([9, 94, 167, 179], (spender, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `balanceOf` (0x70a08231) function"]
pub fn balance_of(
&self,
account: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([112, 160, 130, 49], account)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `decimals` (0x313ce567) function"]
pub fn decimals(&self) -> ethers::contract::builders::ContractCall<M, u8> {
self.0
.method_hash([49, 60, 229, 103], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `decreaseAllowance` (0xa457c2d7) function"]
pub fn decrease_allowance(
&self,
spender: ethers::core::types::Address,
subtracted_value: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([164, 87, 194, 215], (spender, subtracted_value))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `increaseAllowance` (0x39509351) function"]
pub fn increase_allowance(
&self,
spender: ethers::core::types::Address,
added_value: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([57, 80, 147, 81], (spender, added_value))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `name` (0x06fdde03) function"]
pub fn name(&self) -> ethers::contract::builders::ContractCall<M, String> {
self.0
.method_hash([6, 253, 222, 3], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `symbol` (0x95d89b41) function"]
pub fn symbol(&self) -> ethers::contract::builders::ContractCall<M, String> {
self.0
.method_hash([149, 216, 155, 65], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `totalSupply` (0x18160ddd) function"]
pub fn total_supply(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([24, 22, 13, 221], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transfer` (0xa9059cbb) function"]
pub fn transfer(
&self,
recipient: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([169, 5, 156, 187], (recipient, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transferFrom` (0x23b872dd) function"]
pub fn transfer_from(
&self,
sender: ethers::core::types::Address,
recipient: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([35, 184, 114, 221], (sender, recipient, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `withdraw` (0x3ccfd60b) function"]
pub fn withdraw(&self) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([60, 207, 214, 11], ())
.expect("method not found (this should never happen)")
}
#[doc = "Gets the contract's `Approval` event"]
pub fn approval_filter(&self) -> ethers::contract::builders::Event<M, ApprovalFilter> {
self.0.event()
}
#[doc = "Gets the contract's `Transfer` event"]
pub fn transfer_filter(&self) -> ethers::contract::builders::Event<M, TransferFilter> {
self.0.event()
}
#[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"]
pub fn events(&self) -> ethers::contract::builders::Event<M, DAIEvents> {
self.0.event_with_filter(Default::default())
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for DAI<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
pub struct ApprovalFilter {
#[ethevent(indexed)]
pub owner: ethers::core::types::Address,
#[ethevent(indexed)]
pub spender: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")]
pub struct TransferFilter {
#[ethevent(indexed)]
pub from: ethers::core::types::Address,
#[ethevent(indexed)]
pub to: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum DAIEvents {
ApprovalFilter(ApprovalFilter),
TransferFilter(TransferFilter),
}
impl ethers::contract::EthLogDecode for DAIEvents {
fn decode_log(log: &ethers::core::abi::RawLog) -> Result<Self, ethers::core::abi::Error>
where
Self: Sized,
{
if let Ok(decoded) = ApprovalFilter::decode_log(log) {
return Ok(DAIEvents::ApprovalFilter(decoded));
}
if let Ok(decoded) = TransferFilter::decode_log(log) {
return Ok(DAIEvents::TransferFilter(decoded));
}
Err(ethers::core::abi::Error::InvalidData)
}
}
impl ::std::fmt::Display for DAIEvents {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
DAIEvents::ApprovalFilter(element) => element.fmt(f),
DAIEvents::TransferFilter(element) => element.fmt(f),
}
}
}
#[doc = "Container type for all input parameters for the `allowance`function with signature `allowance(address,address)` and selector `[221, 98, 237, 62]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "allowance", abi = "allowance(address,address)")]
pub struct AllowanceCall {
pub owner: ethers::core::types::Address,
pub spender: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `approve`function with signature `approve(address,uint256)` and selector `[9, 94, 167, 179]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "approve", abi = "approve(address,uint256)")]
pub struct ApproveCall {
pub spender: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `balanceOf`function with signature `balanceOf(address)` and selector `[112, 160, 130, 49]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "balanceOf", abi = "balanceOf(address)")]
pub struct BalanceOfCall {
pub account: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `decimals`function with signature `decimals()` and selector `[49, 60, 229, 103]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "decimals", abi = "decimals()")]
pub struct DecimalsCall;
#[doc = "Container type for all input parameters for the `decreaseAllowance`function with signature `decreaseAllowance(address,uint256)` and selector `[164, 87, 194, 215]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "decreaseAllowance", abi = "decreaseAllowance(address,uint256)")]
pub struct DecreaseAllowanceCall {
pub spender: ethers::core::types::Address,
pub subtracted_value: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `increaseAllowance`function with signature `increaseAllowance(address,uint256)` and selector `[57, 80, 147, 81]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "increaseAllowance", abi = "increaseAllowance(address,uint256)")]
pub struct IncreaseAllowanceCall {
pub spender: ethers::core::types::Address,
pub added_value: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `name`function with signature `name()` and selector `[6, 253, 222, 3]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "name", abi = "name()")]
pub struct NameCall;
#[doc = "Container type for all input parameters for the `symbol`function with signature `symbol()` and selector `[149, 216, 155, 65]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "symbol", abi = "symbol()")]
pub struct SymbolCall;
#[doc = "Container type for all input parameters for the `totalSupply`function with signature `totalSupply()` and selector `[24, 22, 13, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "totalSupply", abi = "totalSupply()")]
pub struct TotalSupplyCall;
#[doc = "Container type for all input parameters for the `transfer`function with signature `transfer(address,uint256)` and selector `[169, 5, 156, 187]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transfer", abi = "transfer(address,uint256)")]
pub struct TransferCall {
pub recipient: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `transferFrom`function with signature `transferFrom(address,address,uint256)` and selector `[35, 184, 114, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")]
pub struct TransferFromCall {
pub sender: ethers::core::types::Address,
pub recipient: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `withdraw`function with signature `withdraw()` and selector `[60, 207, 214, 11]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "withdraw", abi = "withdraw()")]
pub struct WithdrawCall;
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum DAICalls {
Allowance(AllowanceCall),
Approve(ApproveCall),
BalanceOf(BalanceOfCall),
Decimals(DecimalsCall),
DecreaseAllowance(DecreaseAllowanceCall),
IncreaseAllowance(IncreaseAllowanceCall),
Name(NameCall),
Symbol(SymbolCall),
TotalSupply(TotalSupplyCall),
Transfer(TransferCall),
TransferFrom(TransferFromCall),
Withdraw(WithdrawCall),
}
impl ethers::core::abi::AbiDecode for DAICalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<AllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::Allowance(decoded));
}
if let Ok(decoded) =
<ApproveCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::Approve(decoded));
}
if let Ok(decoded) =
<BalanceOfCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::BalanceOf(decoded));
}
if let Ok(decoded) =
<DecimalsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::Decimals(decoded));
}
if let Ok(decoded) =
<DecreaseAllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::DecreaseAllowance(decoded));
}
if let Ok(decoded) =
<IncreaseAllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::IncreaseAllowance(decoded));
}
if let Ok(decoded) = <NameCall as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(DAICalls::Name(decoded));
}
if let Ok(decoded) = <SymbolCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::Symbol(decoded));
}
if let Ok(decoded) =
<TotalSupplyCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::TotalSupply(decoded));
}
if let Ok(decoded) =
<TransferCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::Transfer(decoded));
}
if let Ok(decoded) =
<TransferFromCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::TransferFrom(decoded));
}
if let Ok(decoded) =
<WithdrawCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(DAICalls::Withdraw(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for DAICalls {
fn encode(self) -> Vec<u8> {
match self {
DAICalls::Allowance(element) => element.encode(),
DAICalls::Approve(element) => element.encode(),
DAICalls::BalanceOf(element) => element.encode(),
DAICalls::Decimals(element) => element.encode(),
DAICalls::DecreaseAllowance(element) => element.encode(),
DAICalls::IncreaseAllowance(element) => element.encode(),
DAICalls::Name(element) => element.encode(),
DAICalls::Symbol(element) => element.encode(),
DAICalls::TotalSupply(element) => element.encode(),
DAICalls::Transfer(element) => element.encode(),
DAICalls::TransferFrom(element) => element.encode(),
DAICalls::Withdraw(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for DAICalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
DAICalls::Allowance(element) => element.fmt(f),
DAICalls::Approve(element) => element.fmt(f),
DAICalls::BalanceOf(element) => element.fmt(f),
DAICalls::Decimals(element) => element.fmt(f),
DAICalls::DecreaseAllowance(element) => element.fmt(f),
DAICalls::IncreaseAllowance(element) => element.fmt(f),
DAICalls::Name(element) => element.fmt(f),
DAICalls::Symbol(element) => element.fmt(f),
DAICalls::TotalSupply(element) => element.fmt(f),
DAICalls::Transfer(element) => element.fmt(f),
DAICalls::TransferFrom(element) => element.fmt(f),
DAICalls::Withdraw(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<AllowanceCall> for DAICalls {
fn from(var: AllowanceCall) -> Self {
DAICalls::Allowance(var)
}
}
impl ::std::convert::From<ApproveCall> for DAICalls {
fn from(var: ApproveCall) -> Self {
DAICalls::Approve(var)
}
}
impl ::std::convert::From<BalanceOfCall> for DAICalls {
fn from(var: BalanceOfCall) -> Self {
DAICalls::BalanceOf(var)
}
}
impl ::std::convert::From<DecimalsCall> for DAICalls {
fn from(var: DecimalsCall) -> Self {
DAICalls::Decimals(var)
}
}
impl ::std::convert::From<DecreaseAllowanceCall> for DAICalls {
fn from(var: DecreaseAllowanceCall) -> Self {
DAICalls::DecreaseAllowance(var)
}
}
impl ::std::convert::From<IncreaseAllowanceCall> for DAICalls {
fn from(var: IncreaseAllowanceCall) -> Self {
DAICalls::IncreaseAllowance(var)
}
}
impl ::std::convert::From<NameCall> for DAICalls {
fn from(var: NameCall) -> Self {
DAICalls::Name(var)
}
}
impl ::std::convert::From<SymbolCall> for DAICalls {
fn from(var: SymbolCall) -> Self {
DAICalls::Symbol(var)
}
}
impl ::std::convert::From<TotalSupplyCall> for DAICalls {
fn from(var: TotalSupplyCall) -> Self {
DAICalls::TotalSupply(var)
}
}
impl ::std::convert::From<TransferCall> for DAICalls {
fn from(var: TransferCall) -> Self {
DAICalls::Transfer(var)
}
}
impl ::std::convert::From<TransferFromCall> for DAICalls {
fn from(var: TransferFromCall) -> Self {
DAICalls::TransferFrom(var)
}
}
impl ::std::convert::From<WithdrawCall> for DAICalls {
fn from(var: WithdrawCall) -> Self {
DAICalls::Withdraw(var)
}
}
}
pub use erc20_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod erc20_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "ERC20 was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static ERC20_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\",\"components\":[]},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Approval\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Transfer\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct ERC20<M>(ethers::contract::Contract<M>);
impl<M> Clone for ERC20<M> {
fn clone(&self) -> Self {
ERC20(self.0.clone())
}
}
impl<M> std::ops::Deref for ERC20<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for ERC20<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(ERC20))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> ERC20<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), ERC20_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `allowance` (0xdd62ed3e) function"]
pub fn allowance(
&self,
owner: ethers::core::types::Address,
spender: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([221, 98, 237, 62], (owner, spender))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `approve` (0x095ea7b3) function"]
pub fn approve(
&self,
spender: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([9, 94, 167, 179], (spender, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `balanceOf` (0x70a08231) function"]
pub fn balance_of(
&self,
account: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([112, 160, 130, 49], account)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `decimals` (0x313ce567) function"]
pub fn decimals(&self) -> ethers::contract::builders::ContractCall<M, u8> {
self.0
.method_hash([49, 60, 229, 103], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `decreaseAllowance` (0xa457c2d7) function"]
pub fn decrease_allowance(
&self,
spender: ethers::core::types::Address,
subtracted_value: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([164, 87, 194, 215], (spender, subtracted_value))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `increaseAllowance` (0x39509351) function"]
pub fn increase_allowance(
&self,
spender: ethers::core::types::Address,
added_value: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([57, 80, 147, 81], (spender, added_value))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `name` (0x06fdde03) function"]
pub fn name(&self) -> ethers::contract::builders::ContractCall<M, String> {
self.0
.method_hash([6, 253, 222, 3], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `symbol` (0x95d89b41) function"]
pub fn symbol(&self) -> ethers::contract::builders::ContractCall<M, String> {
self.0
.method_hash([149, 216, 155, 65], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `totalSupply` (0x18160ddd) function"]
pub fn total_supply(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([24, 22, 13, 221], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transfer` (0xa9059cbb) function"]
pub fn transfer(
&self,
recipient: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([169, 5, 156, 187], (recipient, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transferFrom` (0x23b872dd) function"]
pub fn transfer_from(
&self,
sender: ethers::core::types::Address,
recipient: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([35, 184, 114, 221], (sender, recipient, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Gets the contract's `Approval` event"]
pub fn approval_filter(&self) -> ethers::contract::builders::Event<M, ApprovalFilter> {
self.0.event()
}
#[doc = "Gets the contract's `Transfer` event"]
pub fn transfer_filter(&self) -> ethers::contract::builders::Event<M, TransferFilter> {
self.0.event()
}
#[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"]
pub fn events(&self) -> ethers::contract::builders::Event<M, ERC20Events> {
self.0.event_with_filter(Default::default())
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for ERC20<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
pub struct ApprovalFilter {
#[ethevent(indexed)]
pub owner: ethers::core::types::Address,
#[ethevent(indexed)]
pub spender: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")]
pub struct TransferFilter {
#[ethevent(indexed)]
pub from: ethers::core::types::Address,
#[ethevent(indexed)]
pub to: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum ERC20Events {
ApprovalFilter(ApprovalFilter),
TransferFilter(TransferFilter),
}
impl ethers::contract::EthLogDecode for ERC20Events {
fn decode_log(log: &ethers::core::abi::RawLog) -> Result<Self, ethers::core::abi::Error>
where
Self: Sized,
{
if let Ok(decoded) = ApprovalFilter::decode_log(log) {
return Ok(ERC20Events::ApprovalFilter(decoded));
}
if let Ok(decoded) = TransferFilter::decode_log(log) {
return Ok(ERC20Events::TransferFilter(decoded));
}
Err(ethers::core::abi::Error::InvalidData)
}
}
impl ::std::fmt::Display for ERC20Events {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
ERC20Events::ApprovalFilter(element) => element.fmt(f),
ERC20Events::TransferFilter(element) => element.fmt(f),
}
}
}
#[doc = "Container type for all input parameters for the `allowance`function with signature `allowance(address,address)` and selector `[221, 98, 237, 62]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "allowance", abi = "allowance(address,address)")]
pub struct AllowanceCall {
pub owner: ethers::core::types::Address,
pub spender: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `approve`function with signature `approve(address,uint256)` and selector `[9, 94, 167, 179]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "approve", abi = "approve(address,uint256)")]
pub struct ApproveCall {
pub spender: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `balanceOf`function with signature `balanceOf(address)` and selector `[112, 160, 130, 49]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "balanceOf", abi = "balanceOf(address)")]
pub struct BalanceOfCall {
pub account: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `decimals`function with signature `decimals()` and selector `[49, 60, 229, 103]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "decimals", abi = "decimals()")]
pub struct DecimalsCall;
#[doc = "Container type for all input parameters for the `decreaseAllowance`function with signature `decreaseAllowance(address,uint256)` and selector `[164, 87, 194, 215]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "decreaseAllowance", abi = "decreaseAllowance(address,uint256)")]
pub struct DecreaseAllowanceCall {
pub spender: ethers::core::types::Address,
pub subtracted_value: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `increaseAllowance`function with signature `increaseAllowance(address,uint256)` and selector `[57, 80, 147, 81]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "increaseAllowance", abi = "increaseAllowance(address,uint256)")]
pub struct IncreaseAllowanceCall {
pub spender: ethers::core::types::Address,
pub added_value: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `name`function with signature `name()` and selector `[6, 253, 222, 3]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "name", abi = "name()")]
pub struct NameCall;
#[doc = "Container type for all input parameters for the `symbol`function with signature `symbol()` and selector `[149, 216, 155, 65]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "symbol", abi = "symbol()")]
pub struct SymbolCall;
#[doc = "Container type for all input parameters for the `totalSupply`function with signature `totalSupply()` and selector `[24, 22, 13, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "totalSupply", abi = "totalSupply()")]
pub struct TotalSupplyCall;
#[doc = "Container type for all input parameters for the `transfer`function with signature `transfer(address,uint256)` and selector `[169, 5, 156, 187]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transfer", abi = "transfer(address,uint256)")]
pub struct TransferCall {
pub recipient: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `transferFrom`function with signature `transferFrom(address,address,uint256)` and selector `[35, 184, 114, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")]
pub struct TransferFromCall {
pub sender: ethers::core::types::Address,
pub recipient: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum ERC20Calls {
Allowance(AllowanceCall),
Approve(ApproveCall),
BalanceOf(BalanceOfCall),
Decimals(DecimalsCall),
DecreaseAllowance(DecreaseAllowanceCall),
IncreaseAllowance(IncreaseAllowanceCall),
Name(NameCall),
Symbol(SymbolCall),
TotalSupply(TotalSupplyCall),
Transfer(TransferCall),
TransferFrom(TransferFromCall),
}
impl ethers::core::abi::AbiDecode for ERC20Calls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<AllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::Allowance(decoded));
}
if let Ok(decoded) =
<ApproveCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::Approve(decoded));
}
if let Ok(decoded) =
<BalanceOfCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::BalanceOf(decoded));
}
if let Ok(decoded) =
<DecimalsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::Decimals(decoded));
}
if let Ok(decoded) =
<DecreaseAllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::DecreaseAllowance(decoded));
}
if let Ok(decoded) =
<IncreaseAllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::IncreaseAllowance(decoded));
}
if let Ok(decoded) = <NameCall as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(ERC20Calls::Name(decoded));
}
if let Ok(decoded) = <SymbolCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::Symbol(decoded));
}
if let Ok(decoded) =
<TotalSupplyCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::TotalSupply(decoded));
}
if let Ok(decoded) =
<TransferCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::Transfer(decoded));
}
if let Ok(decoded) =
<TransferFromCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(ERC20Calls::TransferFrom(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for ERC20Calls {
fn encode(self) -> Vec<u8> {
match self {
ERC20Calls::Allowance(element) => element.encode(),
ERC20Calls::Approve(element) => element.encode(),
ERC20Calls::BalanceOf(element) => element.encode(),
ERC20Calls::Decimals(element) => element.encode(),
ERC20Calls::DecreaseAllowance(element) => element.encode(),
ERC20Calls::IncreaseAllowance(element) => element.encode(),
ERC20Calls::Name(element) => element.encode(),
ERC20Calls::Symbol(element) => element.encode(),
ERC20Calls::TotalSupply(element) => element.encode(),
ERC20Calls::Transfer(element) => element.encode(),
ERC20Calls::TransferFrom(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for ERC20Calls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
ERC20Calls::Allowance(element) => element.fmt(f),
ERC20Calls::Approve(element) => element.fmt(f),
ERC20Calls::BalanceOf(element) => element.fmt(f),
ERC20Calls::Decimals(element) => element.fmt(f),
ERC20Calls::DecreaseAllowance(element) => element.fmt(f),
ERC20Calls::IncreaseAllowance(element) => element.fmt(f),
ERC20Calls::Name(element) => element.fmt(f),
ERC20Calls::Symbol(element) => element.fmt(f),
ERC20Calls::TotalSupply(element) => element.fmt(f),
ERC20Calls::Transfer(element) => element.fmt(f),
ERC20Calls::TransferFrom(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<AllowanceCall> for ERC20Calls {
fn from(var: AllowanceCall) -> Self {
ERC20Calls::Allowance(var)
}
}
impl ::std::convert::From<ApproveCall> for ERC20Calls {
fn from(var: ApproveCall) -> Self {
ERC20Calls::Approve(var)
}
}
impl ::std::convert::From<BalanceOfCall> for ERC20Calls {
fn from(var: BalanceOfCall) -> Self {
ERC20Calls::BalanceOf(var)
}
}
impl ::std::convert::From<DecimalsCall> for ERC20Calls {
fn from(var: DecimalsCall) -> Self {
ERC20Calls::Decimals(var)
}
}
impl ::std::convert::From<DecreaseAllowanceCall> for ERC20Calls {
fn from(var: DecreaseAllowanceCall) -> Self {
ERC20Calls::DecreaseAllowance(var)
}
}
impl ::std::convert::From<IncreaseAllowanceCall> for ERC20Calls {
fn from(var: IncreaseAllowanceCall) -> Self {
ERC20Calls::IncreaseAllowance(var)
}
}
impl ::std::convert::From<NameCall> for ERC20Calls {
fn from(var: NameCall) -> Self {
ERC20Calls::Name(var)
}
}
impl ::std::convert::From<SymbolCall> for ERC20Calls {
fn from(var: SymbolCall) -> Self {
ERC20Calls::Symbol(var)
}
}
impl ::std::convert::From<TotalSupplyCall> for ERC20Calls {
fn from(var: TotalSupplyCall) -> Self {
ERC20Calls::TotalSupply(var)
}
}
impl ::std::convert::From<TransferCall> for ERC20Calls {
fn from(var: TransferCall) -> Self {
ERC20Calls::Transfer(var)
}
}
impl ::std::convert::From<TransferFromCall> for ERC20Calls {
fn from(var: TransferFromCall) -> Self {
ERC20Calls::TransferFrom(var)
}
}
}
pub use edonbn254_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod edonbn254_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "EdOnBN254 was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static EDONBN254_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"P_MOD\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct EdOnBN254<M>(ethers::contract::Contract<M>);
impl<M> Clone for EdOnBN254<M> {
fn clone(&self) -> Self {
EdOnBN254(self.0.clone())
}
}
impl<M> std::ops::Deref for EdOnBN254<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for EdOnBN254<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(EdOnBN254))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> EdOnBN254<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), EDONBN254_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `P_MOD` (0x1d712e27) function"]
pub fn p_mod(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([29, 113, 46, 39], ())
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for EdOnBN254<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `P_MOD`function with signature `P_MOD()` and selector `[29, 113, 46, 39]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "P_MOD", abi = "P_MOD()")]
pub struct PModCall;
}
pub use freeze2in2out24depthvk_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod freeze2in2out24depthvk_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "Freeze2In2Out24DepthVk was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static FREEZE2IN2OUT24DEPTHVK_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| serde_json::from_str("[]").expect("invalid abi"));
pub struct Freeze2In2Out24DepthVk<M>(ethers::contract::Contract<M>);
impl<M> Clone for Freeze2In2Out24DepthVk<M> {
fn clone(&self) -> Self {
Freeze2In2Out24DepthVk(self.0.clone())
}
}
impl<M> std::ops::Deref for Freeze2In2Out24DepthVk<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for Freeze2In2Out24DepthVk<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(Freeze2In2Out24DepthVk))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> Freeze2In2Out24DepthVk<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(
address.into(),
FREEZE2IN2OUT24DEPTHVK_ABI.clone(),
client,
)
.into()
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>>
for Freeze2In2Out24DepthVk<M>
{
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
}
pub use freeze3in3out24depthvk_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod freeze3in3out24depthvk_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "Freeze3In3Out24DepthVk was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static FREEZE3IN3OUT24DEPTHVK_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| serde_json::from_str("[]").expect("invalid abi"));
pub struct Freeze3In3Out24DepthVk<M>(ethers::contract::Contract<M>);
impl<M> Clone for Freeze3In3Out24DepthVk<M> {
fn clone(&self) -> Self {
Freeze3In3Out24DepthVk(self.0.clone())
}
}
impl<M> std::ops::Deref for Freeze3In3Out24DepthVk<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for Freeze3In3Out24DepthVk<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(Freeze3In3Out24DepthVk))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> Freeze3In3Out24DepthVk<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(
address.into(),
FREEZE3IN3OUT24DEPTHVK_ABI.clone(),
client,
)
.into()
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>>
for Freeze3In3Out24DepthVk<M>
{
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
}
pub use greeter_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod greeter_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "Greeter was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static GREETER_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"greeting\",\"type\":\"string\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"greet\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"greeting\",\"type\":\"string\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setGreeting\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct Greeter<M>(ethers::contract::Contract<M>);
impl<M> Clone for Greeter<M> {
fn clone(&self) -> Self {
Greeter(self.0.clone())
}
}
impl<M> std::ops::Deref for Greeter<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for Greeter<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(Greeter))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> Greeter<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), GREETER_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `greet` (0xcfae3217) function"]
pub fn greet(&self) -> ethers::contract::builders::ContractCall<M, String> {
self.0
.method_hash([207, 174, 50, 23], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `setGreeting` (0xa4136862) function"]
pub fn set_greeting(
&self,
greeting: String,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([164, 19, 104, 98], greeting)
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for Greeter<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `greet`function with signature `greet()` and selector `[207, 174, 50, 23]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "greet", abi = "greet()")]
pub struct GreetCall;
#[doc = "Container type for all input parameters for the `setGreeting`function with signature `setGreeting(string)` and selector `[164, 19, 104, 98]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "setGreeting", abi = "setGreeting(string)")]
pub struct SetGreetingCall {
pub greeting: String,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum GreeterCalls {
Greet(GreetCall),
SetGreeting(SetGreetingCall),
}
impl ethers::core::abi::AbiDecode for GreeterCalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) = <GreetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(GreeterCalls::Greet(decoded));
}
if let Ok(decoded) =
<SetGreetingCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(GreeterCalls::SetGreeting(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for GreeterCalls {
fn encode(self) -> Vec<u8> {
match self {
GreeterCalls::Greet(element) => element.encode(),
GreeterCalls::SetGreeting(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for GreeterCalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
GreeterCalls::Greet(element) => element.fmt(f),
GreeterCalls::SetGreeting(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<GreetCall> for GreeterCalls {
fn from(var: GreetCall) -> Self {
GreeterCalls::Greet(var)
}
}
impl ::std::convert::From<SetGreetingCall> for GreeterCalls {
fn from(var: SetGreetingCall) -> Self {
GreeterCalls::SetGreeting(var)
}
}
}
pub use ierc20_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod ierc20_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "IERC20 was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static IERC20_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Approval\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Transfer\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct IERC20<M>(ethers::contract::Contract<M>);
impl<M> Clone for IERC20<M> {
fn clone(&self) -> Self {
IERC20(self.0.clone())
}
}
impl<M> std::ops::Deref for IERC20<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for IERC20<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(IERC20))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> IERC20<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), IERC20_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `allowance` (0xdd62ed3e) function"]
pub fn allowance(
&self,
owner: ethers::core::types::Address,
spender: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([221, 98, 237, 62], (owner, spender))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `approve` (0x095ea7b3) function"]
pub fn approve(
&self,
spender: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([9, 94, 167, 179], (spender, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `balanceOf` (0x70a08231) function"]
pub fn balance_of(
&self,
account: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([112, 160, 130, 49], account)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `totalSupply` (0x18160ddd) function"]
pub fn total_supply(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([24, 22, 13, 221], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transfer` (0xa9059cbb) function"]
pub fn transfer(
&self,
recipient: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([169, 5, 156, 187], (recipient, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transferFrom` (0x23b872dd) function"]
pub fn transfer_from(
&self,
sender: ethers::core::types::Address,
recipient: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([35, 184, 114, 221], (sender, recipient, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Gets the contract's `Approval` event"]
pub fn approval_filter(&self) -> ethers::contract::builders::Event<M, ApprovalFilter> {
self.0.event()
}
#[doc = "Gets the contract's `Transfer` event"]
pub fn transfer_filter(&self) -> ethers::contract::builders::Event<M, TransferFilter> {
self.0.event()
}
#[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"]
pub fn events(&self) -> ethers::contract::builders::Event<M, IERC20Events> {
self.0.event_with_filter(Default::default())
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for IERC20<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
pub struct ApprovalFilter {
#[ethevent(indexed)]
pub owner: ethers::core::types::Address,
#[ethevent(indexed)]
pub spender: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")]
pub struct TransferFilter {
#[ethevent(indexed)]
pub from: ethers::core::types::Address,
#[ethevent(indexed)]
pub to: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum IERC20Events {
ApprovalFilter(ApprovalFilter),
TransferFilter(TransferFilter),
}
impl ethers::contract::EthLogDecode for IERC20Events {
fn decode_log(log: &ethers::core::abi::RawLog) -> Result<Self, ethers::core::abi::Error>
where
Self: Sized,
{
if let Ok(decoded) = ApprovalFilter::decode_log(log) {
return Ok(IERC20Events::ApprovalFilter(decoded));
}
if let Ok(decoded) = TransferFilter::decode_log(log) {
return Ok(IERC20Events::TransferFilter(decoded));
}
Err(ethers::core::abi::Error::InvalidData)
}
}
impl ::std::fmt::Display for IERC20Events {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
IERC20Events::ApprovalFilter(element) => element.fmt(f),
IERC20Events::TransferFilter(element) => element.fmt(f),
}
}
}
#[doc = "Container type for all input parameters for the `allowance`function with signature `allowance(address,address)` and selector `[221, 98, 237, 62]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "allowance", abi = "allowance(address,address)")]
pub struct AllowanceCall {
pub owner: ethers::core::types::Address,
pub spender: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `approve`function with signature `approve(address,uint256)` and selector `[9, 94, 167, 179]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "approve", abi = "approve(address,uint256)")]
pub struct ApproveCall {
pub spender: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `balanceOf`function with signature `balanceOf(address)` and selector `[112, 160, 130, 49]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "balanceOf", abi = "balanceOf(address)")]
pub struct BalanceOfCall {
pub account: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `totalSupply`function with signature `totalSupply()` and selector `[24, 22, 13, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "totalSupply", abi = "totalSupply()")]
pub struct TotalSupplyCall;
#[doc = "Container type for all input parameters for the `transfer`function with signature `transfer(address,uint256)` and selector `[169, 5, 156, 187]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transfer", abi = "transfer(address,uint256)")]
pub struct TransferCall {
pub recipient: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `transferFrom`function with signature `transferFrom(address,address,uint256)` and selector `[35, 184, 114, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")]
pub struct TransferFromCall {
pub sender: ethers::core::types::Address,
pub recipient: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum IERC20Calls {
Allowance(AllowanceCall),
Approve(ApproveCall),
BalanceOf(BalanceOfCall),
TotalSupply(TotalSupplyCall),
Transfer(TransferCall),
TransferFrom(TransferFromCall),
}
impl ethers::core::abi::AbiDecode for IERC20Calls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<AllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IERC20Calls::Allowance(decoded));
}
if let Ok(decoded) =
<ApproveCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IERC20Calls::Approve(decoded));
}
if let Ok(decoded) =
<BalanceOfCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IERC20Calls::BalanceOf(decoded));
}
if let Ok(decoded) =
<TotalSupplyCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IERC20Calls::TotalSupply(decoded));
}
if let Ok(decoded) =
<TransferCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IERC20Calls::Transfer(decoded));
}
if let Ok(decoded) =
<TransferFromCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IERC20Calls::TransferFrom(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for IERC20Calls {
fn encode(self) -> Vec<u8> {
match self {
IERC20Calls::Allowance(element) => element.encode(),
IERC20Calls::Approve(element) => element.encode(),
IERC20Calls::BalanceOf(element) => element.encode(),
IERC20Calls::TotalSupply(element) => element.encode(),
IERC20Calls::Transfer(element) => element.encode(),
IERC20Calls::TransferFrom(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for IERC20Calls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
IERC20Calls::Allowance(element) => element.fmt(f),
IERC20Calls::Approve(element) => element.fmt(f),
IERC20Calls::BalanceOf(element) => element.fmt(f),
IERC20Calls::TotalSupply(element) => element.fmt(f),
IERC20Calls::Transfer(element) => element.fmt(f),
IERC20Calls::TransferFrom(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<AllowanceCall> for IERC20Calls {
fn from(var: AllowanceCall) -> Self {
IERC20Calls::Allowance(var)
}
}
impl ::std::convert::From<ApproveCall> for IERC20Calls {
fn from(var: ApproveCall) -> Self {
IERC20Calls::Approve(var)
}
}
impl ::std::convert::From<BalanceOfCall> for IERC20Calls {
fn from(var: BalanceOfCall) -> Self {
IERC20Calls::BalanceOf(var)
}
}
impl ::std::convert::From<TotalSupplyCall> for IERC20Calls {
fn from(var: TotalSupplyCall) -> Self {
IERC20Calls::TotalSupply(var)
}
}
impl ::std::convert::From<TransferCall> for IERC20Calls {
fn from(var: TransferCall) -> Self {
IERC20Calls::Transfer(var)
}
}
impl ::std::convert::From<TransferFromCall> for IERC20Calls {
fn from(var: TransferFromCall) -> Self {
IERC20Calls::TransferFrom(var)
}
}
}
pub use iplonkverifier_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod iplonkverifier_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
pub use super::__shared_types::*;
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "IPlonkVerifier was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static IPLONKVERIFIER_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"struct IPlonkVerifier.VerifyingKey[]\",\"name\":\"verifyingKeys\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"domainSize\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"numInputs\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"q1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"q2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"q3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"q4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qM12\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qM34\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qO\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qC\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qH1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qH2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qH3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qH4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qEcc\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]},{\"internalType\":\"uint256[][]\",\"name\":\"publicInputs\",\"type\":\"uint256[][]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof[]\",\"name\":\"proofs\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes[]\",\"name\":\"extraTranscriptInitMsgs\",\"type\":\"bytes[]\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"batchVerify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct IPlonkVerifier<M>(ethers::contract::Contract<M>);
impl<M> Clone for IPlonkVerifier<M> {
fn clone(&self) -> Self {
IPlonkVerifier(self.0.clone())
}
}
impl<M> std::ops::Deref for IPlonkVerifier<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for IPlonkVerifier<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(IPlonkVerifier))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> IPlonkVerifier<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), IPLONKVERIFIER_ABI.clone(), client)
.into()
}
#[doc = "Calls the contract's `batchVerify` (0x830affd6) function"]
pub fn batch_verify(
&self,
verifying_keys: ::std::vec::Vec<VerifyingKey>,
public_inputs: ::std::vec::Vec<::std::vec::Vec<ethers::core::types::U256>>,
proofs: ::std::vec::Vec<PlonkProof>,
extra_transcript_init_msgs: ::std::vec::Vec<ethers::core::types::Bytes>,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash(
[131, 10, 255, 214],
(
verifying_keys,
public_inputs,
proofs,
extra_transcript_init_msgs,
),
)
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for IPlonkVerifier<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `batchVerify`function with signature `batchVerify((uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256))[],uint256[][],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)[],bytes[])` and selector `[131, 10, 255, 214]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "batchVerify",
abi = "batchVerify((uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256))[],uint256[][],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)[],bytes[])"
)]
pub struct BatchVerifyCall {
pub verifying_keys: ::std::vec::Vec<VerifyingKey>,
pub public_inputs: ::std::vec::Vec<::std::vec::Vec<ethers::core::types::U256>>,
pub proofs: ::std::vec::Vec<PlonkProof>,
pub extra_transcript_init_msgs: ::std::vec::Vec<ethers::core::types::Bytes>,
}
}
pub use irecordsmerkletree_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod irecordsmerkletree_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "IRecordsMerkleTree was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static IRECORDSMERKLETREE_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getHeight\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getNumLeaves\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getRootValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"elements\",\"type\":\"uint256[]\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"updateRecordsMerkleTree\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct IRecordsMerkleTree<M>(ethers::contract::Contract<M>);
impl<M> Clone for IRecordsMerkleTree<M> {
fn clone(&self) -> Self {
IRecordsMerkleTree(self.0.clone())
}
}
impl<M> std::ops::Deref for IRecordsMerkleTree<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for IRecordsMerkleTree<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(IRecordsMerkleTree))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> IRecordsMerkleTree<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), IRECORDSMERKLETREE_ABI.clone(), client)
.into()
}
#[doc = "Calls the contract's `getHeight` (0x19efb11d) function"]
pub fn get_height(&self) -> ethers::contract::builders::ContractCall<M, u8> {
self.0
.method_hash([25, 239, 177, 29], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `getNumLeaves` (0x927d52ab) function"]
pub fn get_num_leaves(&self) -> ethers::contract::builders::ContractCall<M, u64> {
self.0
.method_hash([146, 125, 82, 171], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `getRootValue` (0x6444c8d1) function"]
pub fn get_root_value(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([100, 68, 200, 209], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `updateRecordsMerkleTree` (0x330ee6a7) function"]
pub fn update_records_merkle_tree(
&self,
elements: ::std::vec::Vec<ethers::core::types::U256>,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([51, 14, 230, 167], elements)
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>>
for IRecordsMerkleTree<M>
{
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `getHeight`function with signature `getHeight()` and selector `[25, 239, 177, 29]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "getHeight", abi = "getHeight()")]
pub struct GetHeightCall;
#[doc = "Container type for all input parameters for the `getNumLeaves`function with signature `getNumLeaves()` and selector `[146, 125, 82, 171]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "getNumLeaves", abi = "getNumLeaves()")]
pub struct GetNumLeavesCall;
#[doc = "Container type for all input parameters for the `getRootValue`function with signature `getRootValue()` and selector `[100, 68, 200, 209]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "getRootValue", abi = "getRootValue()")]
pub struct GetRootValueCall;
#[doc = "Container type for all input parameters for the `updateRecordsMerkleTree`function with signature `updateRecordsMerkleTree(uint256[])` and selector `[51, 14, 230, 167]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "updateRecordsMerkleTree",
abi = "updateRecordsMerkleTree(uint256[])"
)]
pub struct UpdateRecordsMerkleTreeCall {
pub elements: ::std::vec::Vec<ethers::core::types::U256>,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum IRecordsMerkleTreeCalls {
GetHeight(GetHeightCall),
GetNumLeaves(GetNumLeavesCall),
GetRootValue(GetRootValueCall),
UpdateRecordsMerkleTree(UpdateRecordsMerkleTreeCall),
}
impl ethers::core::abi::AbiDecode for IRecordsMerkleTreeCalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<GetHeightCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IRecordsMerkleTreeCalls::GetHeight(decoded));
}
if let Ok(decoded) =
<GetNumLeavesCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IRecordsMerkleTreeCalls::GetNumLeaves(decoded));
}
if let Ok(decoded) =
<GetRootValueCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IRecordsMerkleTreeCalls::GetRootValue(decoded));
}
if let Ok(decoded) =
<UpdateRecordsMerkleTreeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(IRecordsMerkleTreeCalls::UpdateRecordsMerkleTree(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for IRecordsMerkleTreeCalls {
fn encode(self) -> Vec<u8> {
match self {
IRecordsMerkleTreeCalls::GetHeight(element) => element.encode(),
IRecordsMerkleTreeCalls::GetNumLeaves(element) => element.encode(),
IRecordsMerkleTreeCalls::GetRootValue(element) => element.encode(),
IRecordsMerkleTreeCalls::UpdateRecordsMerkleTree(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for IRecordsMerkleTreeCalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
IRecordsMerkleTreeCalls::GetHeight(element) => element.fmt(f),
IRecordsMerkleTreeCalls::GetNumLeaves(element) => element.fmt(f),
IRecordsMerkleTreeCalls::GetRootValue(element) => element.fmt(f),
IRecordsMerkleTreeCalls::UpdateRecordsMerkleTree(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<GetHeightCall> for IRecordsMerkleTreeCalls {
fn from(var: GetHeightCall) -> Self {
IRecordsMerkleTreeCalls::GetHeight(var)
}
}
impl ::std::convert::From<GetNumLeavesCall> for IRecordsMerkleTreeCalls {
fn from(var: GetNumLeavesCall) -> Self {
IRecordsMerkleTreeCalls::GetNumLeaves(var)
}
}
impl ::std::convert::From<GetRootValueCall> for IRecordsMerkleTreeCalls {
fn from(var: GetRootValueCall) -> Self {
IRecordsMerkleTreeCalls::GetRootValue(var)
}
}
impl ::std::convert::From<UpdateRecordsMerkleTreeCall> for IRecordsMerkleTreeCalls {
fn from(var: UpdateRecordsMerkleTreeCall) -> Self {
IRecordsMerkleTreeCalls::UpdateRecordsMerkleTree(var)
}
}
}
pub use malicioustoken_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod malicioustoken_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "MaliciousToken was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static MALICIOUSTOKEN_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Approval\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Transfer\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"selectDepositAttack\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"selectSubmitBlockAttack\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"targetContractAddress\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setTargetContractAddress\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct MaliciousToken<M>(ethers::contract::Contract<M>);
impl<M> Clone for MaliciousToken<M> {
fn clone(&self) -> Self {
MaliciousToken(self.0.clone())
}
}
impl<M> std::ops::Deref for MaliciousToken<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for MaliciousToken<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(MaliciousToken))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> MaliciousToken<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), MALICIOUSTOKEN_ABI.clone(), client)
.into()
}
#[doc = "Calls the contract's `allowance` (0xdd62ed3e) function"]
pub fn allowance(
&self,
owner: ethers::core::types::Address,
spender: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([221, 98, 237, 62], (owner, spender))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `approve` (0x095ea7b3) function"]
pub fn approve(
&self,
spender: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([9, 94, 167, 179], (spender, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `balanceOf` (0x70a08231) function"]
pub fn balance_of(
&self,
account: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([112, 160, 130, 49], account)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `decimals` (0x313ce567) function"]
pub fn decimals(&self) -> ethers::contract::builders::ContractCall<M, u8> {
self.0
.method_hash([49, 60, 229, 103], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `decreaseAllowance` (0xa457c2d7) function"]
pub fn decrease_allowance(
&self,
spender: ethers::core::types::Address,
subtracted_value: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([164, 87, 194, 215], (spender, subtracted_value))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `increaseAllowance` (0x39509351) function"]
pub fn increase_allowance(
&self,
spender: ethers::core::types::Address,
added_value: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([57, 80, 147, 81], (spender, added_value))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `name` (0x06fdde03) function"]
pub fn name(&self) -> ethers::contract::builders::ContractCall<M, String> {
self.0
.method_hash([6, 253, 222, 3], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `selectDepositAttack` (0xe19a714a) function"]
pub fn select_deposit_attack(&self) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([225, 154, 113, 74], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `selectSubmitBlockAttack` (0x9a94498d) function"]
pub fn select_submit_block_attack(
&self,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([154, 148, 73, 141], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `setTargetContractAddress` (0x4fd15386) function"]
pub fn set_target_contract_address(
&self,
target_contract_address: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([79, 209, 83, 134], target_contract_address)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `symbol` (0x95d89b41) function"]
pub fn symbol(&self) -> ethers::contract::builders::ContractCall<M, String> {
self.0
.method_hash([149, 216, 155, 65], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `totalSupply` (0x18160ddd) function"]
pub fn total_supply(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([24, 22, 13, 221], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transfer` (0xa9059cbb) function"]
pub fn transfer(
&self,
recipient: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([169, 5, 156, 187], (recipient, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transferFrom` (0x23b872dd) function"]
pub fn transfer_from(
&self,
p0: ethers::core::types::Address,
p1: ethers::core::types::Address,
p2: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([35, 184, 114, 221], (p0, p1, p2))
.expect("method not found (this should never happen)")
}
#[doc = "Gets the contract's `Approval` event"]
pub fn approval_filter(&self) -> ethers::contract::builders::Event<M, ApprovalFilter> {
self.0.event()
}
#[doc = "Gets the contract's `Transfer` event"]
pub fn transfer_filter(&self) -> ethers::contract::builders::Event<M, TransferFilter> {
self.0.event()
}
#[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"]
pub fn events(&self) -> ethers::contract::builders::Event<M, MaliciousTokenEvents> {
self.0.event_with_filter(Default::default())
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for MaliciousToken<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
pub struct ApprovalFilter {
#[ethevent(indexed)]
pub owner: ethers::core::types::Address,
#[ethevent(indexed)]
pub spender: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")]
pub struct TransferFilter {
#[ethevent(indexed)]
pub from: ethers::core::types::Address,
#[ethevent(indexed)]
pub to: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum MaliciousTokenEvents {
ApprovalFilter(ApprovalFilter),
TransferFilter(TransferFilter),
}
impl ethers::contract::EthLogDecode for MaliciousTokenEvents {
fn decode_log(log: &ethers::core::abi::RawLog) -> Result<Self, ethers::core::abi::Error>
where
Self: Sized,
{
if let Ok(decoded) = ApprovalFilter::decode_log(log) {
return Ok(MaliciousTokenEvents::ApprovalFilter(decoded));
}
if let Ok(decoded) = TransferFilter::decode_log(log) {
return Ok(MaliciousTokenEvents::TransferFilter(decoded));
}
Err(ethers::core::abi::Error::InvalidData)
}
}
impl ::std::fmt::Display for MaliciousTokenEvents {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
MaliciousTokenEvents::ApprovalFilter(element) => element.fmt(f),
MaliciousTokenEvents::TransferFilter(element) => element.fmt(f),
}
}
}
#[doc = "Container type for all input parameters for the `allowance`function with signature `allowance(address,address)` and selector `[221, 98, 237, 62]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "allowance", abi = "allowance(address,address)")]
pub struct AllowanceCall {
pub owner: ethers::core::types::Address,
pub spender: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `approve`function with signature `approve(address,uint256)` and selector `[9, 94, 167, 179]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "approve", abi = "approve(address,uint256)")]
pub struct ApproveCall {
pub spender: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `balanceOf`function with signature `balanceOf(address)` and selector `[112, 160, 130, 49]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "balanceOf", abi = "balanceOf(address)")]
pub struct BalanceOfCall {
pub account: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `decimals`function with signature `decimals()` and selector `[49, 60, 229, 103]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "decimals", abi = "decimals()")]
pub struct DecimalsCall;
#[doc = "Container type for all input parameters for the `decreaseAllowance`function with signature `decreaseAllowance(address,uint256)` and selector `[164, 87, 194, 215]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "decreaseAllowance", abi = "decreaseAllowance(address,uint256)")]
pub struct DecreaseAllowanceCall {
pub spender: ethers::core::types::Address,
pub subtracted_value: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `increaseAllowance`function with signature `increaseAllowance(address,uint256)` and selector `[57, 80, 147, 81]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "increaseAllowance", abi = "increaseAllowance(address,uint256)")]
pub struct IncreaseAllowanceCall {
pub spender: ethers::core::types::Address,
pub added_value: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `name`function with signature `name()` and selector `[6, 253, 222, 3]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "name", abi = "name()")]
pub struct NameCall;
#[doc = "Container type for all input parameters for the `selectDepositAttack`function with signature `selectDepositAttack()` and selector `[225, 154, 113, 74]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "selectDepositAttack", abi = "selectDepositAttack()")]
pub struct SelectDepositAttackCall;
#[doc = "Container type for all input parameters for the `selectSubmitBlockAttack`function with signature `selectSubmitBlockAttack()` and selector `[154, 148, 73, 141]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "selectSubmitBlockAttack", abi = "selectSubmitBlockAttack()")]
pub struct SelectSubmitBlockAttackCall;
#[doc = "Container type for all input parameters for the `setTargetContractAddress`function with signature `setTargetContractAddress(address)` and selector `[79, 209, 83, 134]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "setTargetContractAddress",
abi = "setTargetContractAddress(address)"
)]
pub struct SetTargetContractAddressCall {
pub target_contract_address: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `symbol`function with signature `symbol()` and selector `[149, 216, 155, 65]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "symbol", abi = "symbol()")]
pub struct SymbolCall;
#[doc = "Container type for all input parameters for the `totalSupply`function with signature `totalSupply()` and selector `[24, 22, 13, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "totalSupply", abi = "totalSupply()")]
pub struct TotalSupplyCall;
#[doc = "Container type for all input parameters for the `transfer`function with signature `transfer(address,uint256)` and selector `[169, 5, 156, 187]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transfer", abi = "transfer(address,uint256)")]
pub struct TransferCall {
pub recipient: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `transferFrom`function with signature `transferFrom(address,address,uint256)` and selector `[35, 184, 114, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")]
pub struct TransferFromCall(
pub ethers::core::types::Address,
pub ethers::core::types::Address,
pub ethers::core::types::U256,
);
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum MaliciousTokenCalls {
Allowance(AllowanceCall),
Approve(ApproveCall),
BalanceOf(BalanceOfCall),
Decimals(DecimalsCall),
DecreaseAllowance(DecreaseAllowanceCall),
IncreaseAllowance(IncreaseAllowanceCall),
Name(NameCall),
SelectDepositAttack(SelectDepositAttackCall),
SelectSubmitBlockAttack(SelectSubmitBlockAttackCall),
SetTargetContractAddress(SetTargetContractAddressCall),
Symbol(SymbolCall),
TotalSupply(TotalSupplyCall),
Transfer(TransferCall),
TransferFrom(TransferFromCall),
}
impl ethers::core::abi::AbiDecode for MaliciousTokenCalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<AllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::Allowance(decoded));
}
if let Ok(decoded) =
<ApproveCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::Approve(decoded));
}
if let Ok(decoded) =
<BalanceOfCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::BalanceOf(decoded));
}
if let Ok(decoded) =
<DecimalsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::Decimals(decoded));
}
if let Ok(decoded) =
<DecreaseAllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::DecreaseAllowance(decoded));
}
if let Ok(decoded) =
<IncreaseAllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::IncreaseAllowance(decoded));
}
if let Ok(decoded) = <NameCall as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(MaliciousTokenCalls::Name(decoded));
}
if let Ok(decoded) =
<SelectDepositAttackCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::SelectDepositAttack(decoded));
}
if let Ok(decoded) =
<SelectSubmitBlockAttackCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::SelectSubmitBlockAttack(decoded));
}
if let Ok(decoded) =
<SetTargetContractAddressCall as ethers::core::abi::AbiDecode>::decode(
data.as_ref(),
)
{
return Ok(MaliciousTokenCalls::SetTargetContractAddress(decoded));
}
if let Ok(decoded) = <SymbolCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::Symbol(decoded));
}
if let Ok(decoded) =
<TotalSupplyCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::TotalSupply(decoded));
}
if let Ok(decoded) =
<TransferCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::Transfer(decoded));
}
if let Ok(decoded) =
<TransferFromCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(MaliciousTokenCalls::TransferFrom(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for MaliciousTokenCalls {
fn encode(self) -> Vec<u8> {
match self {
MaliciousTokenCalls::Allowance(element) => element.encode(),
MaliciousTokenCalls::Approve(element) => element.encode(),
MaliciousTokenCalls::BalanceOf(element) => element.encode(),
MaliciousTokenCalls::Decimals(element) => element.encode(),
MaliciousTokenCalls::DecreaseAllowance(element) => element.encode(),
MaliciousTokenCalls::IncreaseAllowance(element) => element.encode(),
MaliciousTokenCalls::Name(element) => element.encode(),
MaliciousTokenCalls::SelectDepositAttack(element) => element.encode(),
MaliciousTokenCalls::SelectSubmitBlockAttack(element) => element.encode(),
MaliciousTokenCalls::SetTargetContractAddress(element) => element.encode(),
MaliciousTokenCalls::Symbol(element) => element.encode(),
MaliciousTokenCalls::TotalSupply(element) => element.encode(),
MaliciousTokenCalls::Transfer(element) => element.encode(),
MaliciousTokenCalls::TransferFrom(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for MaliciousTokenCalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
MaliciousTokenCalls::Allowance(element) => element.fmt(f),
MaliciousTokenCalls::Approve(element) => element.fmt(f),
MaliciousTokenCalls::BalanceOf(element) => element.fmt(f),
MaliciousTokenCalls::Decimals(element) => element.fmt(f),
MaliciousTokenCalls::DecreaseAllowance(element) => element.fmt(f),
MaliciousTokenCalls::IncreaseAllowance(element) => element.fmt(f),
MaliciousTokenCalls::Name(element) => element.fmt(f),
MaliciousTokenCalls::SelectDepositAttack(element) => element.fmt(f),
MaliciousTokenCalls::SelectSubmitBlockAttack(element) => element.fmt(f),
MaliciousTokenCalls::SetTargetContractAddress(element) => element.fmt(f),
MaliciousTokenCalls::Symbol(element) => element.fmt(f),
MaliciousTokenCalls::TotalSupply(element) => element.fmt(f),
MaliciousTokenCalls::Transfer(element) => element.fmt(f),
MaliciousTokenCalls::TransferFrom(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<AllowanceCall> for MaliciousTokenCalls {
fn from(var: AllowanceCall) -> Self {
MaliciousTokenCalls::Allowance(var)
}
}
impl ::std::convert::From<ApproveCall> for MaliciousTokenCalls {
fn from(var: ApproveCall) -> Self {
MaliciousTokenCalls::Approve(var)
}
}
impl ::std::convert::From<BalanceOfCall> for MaliciousTokenCalls {
fn from(var: BalanceOfCall) -> Self {
MaliciousTokenCalls::BalanceOf(var)
}
}
impl ::std::convert::From<DecimalsCall> for MaliciousTokenCalls {
fn from(var: DecimalsCall) -> Self {
MaliciousTokenCalls::Decimals(var)
}
}
impl ::std::convert::From<DecreaseAllowanceCall> for MaliciousTokenCalls {
fn from(var: DecreaseAllowanceCall) -> Self {
MaliciousTokenCalls::DecreaseAllowance(var)
}
}
impl ::std::convert::From<IncreaseAllowanceCall> for MaliciousTokenCalls {
fn from(var: IncreaseAllowanceCall) -> Self {
MaliciousTokenCalls::IncreaseAllowance(var)
}
}
impl ::std::convert::From<NameCall> for MaliciousTokenCalls {
fn from(var: NameCall) -> Self {
MaliciousTokenCalls::Name(var)
}
}
impl ::std::convert::From<SelectDepositAttackCall> for MaliciousTokenCalls {
fn from(var: SelectDepositAttackCall) -> Self {
MaliciousTokenCalls::SelectDepositAttack(var)
}
}
impl ::std::convert::From<SelectSubmitBlockAttackCall> for MaliciousTokenCalls {
fn from(var: SelectSubmitBlockAttackCall) -> Self {
MaliciousTokenCalls::SelectSubmitBlockAttack(var)
}
}
impl ::std::convert::From<SetTargetContractAddressCall> for MaliciousTokenCalls {
fn from(var: SetTargetContractAddressCall) -> Self {
MaliciousTokenCalls::SetTargetContractAddress(var)
}
}
impl ::std::convert::From<SymbolCall> for MaliciousTokenCalls {
fn from(var: SymbolCall) -> Self {
MaliciousTokenCalls::Symbol(var)
}
}
impl ::std::convert::From<TotalSupplyCall> for MaliciousTokenCalls {
fn from(var: TotalSupplyCall) -> Self {
MaliciousTokenCalls::TotalSupply(var)
}
}
impl ::std::convert::From<TransferCall> for MaliciousTokenCalls {
fn from(var: TransferCall) -> Self {
MaliciousTokenCalls::Transfer(var)
}
}
impl ::std::convert::From<TransferFromCall> for MaliciousTokenCalls {
fn from(var: TransferFromCall) -> Self {
MaliciousTokenCalls::TransferFrom(var)
}
}
}
pub use mint1in2out24depthvk_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod mint1in2out24depthvk_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "Mint1In2Out24DepthVk was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static MINT1IN2OUT24DEPTHVK_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| serde_json::from_str("[]").expect("invalid abi"));
pub struct Mint1In2Out24DepthVk<M>(ethers::contract::Contract<M>);
impl<M> Clone for Mint1In2Out24DepthVk<M> {
fn clone(&self) -> Self {
Mint1In2Out24DepthVk(self.0.clone())
}
}
impl<M> std::ops::Deref for Mint1In2Out24DepthVk<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for Mint1In2Out24DepthVk<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(Mint1In2Out24DepthVk))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> Mint1In2Out24DepthVk<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(
address.into(),
MINT1IN2OUT24DEPTHVK_ABI.clone(),
client,
)
.into()
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>>
for Mint1In2Out24DepthVk<M>
{
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
}
pub use plonkverifier_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod plonkverifier_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
pub use super::__shared_types::*;
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "PlonkVerifier was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static PLONKVERIFIER_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"struct IPlonkVerifier.VerifyingKey[]\",\"name\":\"verifyingKeys\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"domainSize\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"numInputs\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"sigma4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"q1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"q2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"q3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"q4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qM12\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qM34\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qO\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qC\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qH1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qH2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qH3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qH4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"qEcc\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]},{\"internalType\":\"uint256[][]\",\"name\":\"publicInputs\",\"type\":\"uint256[][]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof[]\",\"name\":\"proofs\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes[]\",\"name\":\"extraTranscriptInitMsgs\",\"type\":\"bytes[]\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"batchVerify\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct PlonkVerifier<M>(ethers::contract::Contract<M>);
impl<M> Clone for PlonkVerifier<M> {
fn clone(&self) -> Self {
PlonkVerifier(self.0.clone())
}
}
impl<M> std::ops::Deref for PlonkVerifier<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for PlonkVerifier<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(PlonkVerifier))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> PlonkVerifier<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), PLONKVERIFIER_ABI.clone(), client)
.into()
}
#[doc = "Calls the contract's `batchVerify` (0x830affd6) function"]
pub fn batch_verify(
&self,
verifying_keys: ::std::vec::Vec<VerifyingKey>,
public_inputs: ::std::vec::Vec<::std::vec::Vec<ethers::core::types::U256>>,
proofs: ::std::vec::Vec<PlonkProof>,
extra_transcript_init_msgs: ::std::vec::Vec<ethers::core::types::Bytes>,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash(
[131, 10, 255, 214],
(
verifying_keys,
public_inputs,
proofs,
extra_transcript_init_msgs,
),
)
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for PlonkVerifier<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `batchVerify`function with signature `batchVerify((uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256))[],uint256[][],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)[],bytes[])` and selector `[131, 10, 255, 214]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "batchVerify",
abi = "batchVerify((uint256,uint256,(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256))[],uint256[][],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256)[],bytes[])"
)]
pub struct BatchVerifyCall {
pub verifying_keys: ::std::vec::Vec<VerifyingKey>,
pub public_inputs: ::std::vec::Vec<::std::vec::Vec<ethers::core::types::U256>>,
pub proofs: ::std::vec::Vec<PlonkProof>,
pub extra_transcript_init_msgs: ::std::vec::Vec<ethers::core::types::Bytes>,
}
}
pub use polynomialeval_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod polynomialeval_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "PolynomialEval was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static POLYNOMIALEVAL_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| serde_json::from_str("[]").expect("invalid abi"));
pub struct PolynomialEval<M>(ethers::contract::Contract<M>);
impl<M> Clone for PolynomialEval<M> {
fn clone(&self) -> Self {
PolynomialEval(self.0.clone())
}
}
impl<M> std::ops::Deref for PolynomialEval<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for PolynomialEval<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(PolynomialEval))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> PolynomialEval<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), POLYNOMIALEVAL_ABI.clone(), client)
.into()
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for PolynomialEval<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
}
pub use recordsmerkletree_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod recordsmerkletree_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "RecordsMerkleTree was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static RECORDSMERKLETREE_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"merkleTreeHeight\",\"type\":\"uint8\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\",\"components\":[],\"indexed\":true}],\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getHeight\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getNumLeaves\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getRootValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"renounceOwnership\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferOwnership\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"elements\",\"type\":\"uint256[]\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"updateRecordsMerkleTree\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct RecordsMerkleTree<M>(ethers::contract::Contract<M>);
impl<M> Clone for RecordsMerkleTree<M> {
fn clone(&self) -> Self {
RecordsMerkleTree(self.0.clone())
}
}
impl<M> std::ops::Deref for RecordsMerkleTree<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for RecordsMerkleTree<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(RecordsMerkleTree))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> RecordsMerkleTree<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), RECORDSMERKLETREE_ABI.clone(), client)
.into()
}
#[doc = "Calls the contract's `getHeight` (0x19efb11d) function"]
pub fn get_height(&self) -> ethers::contract::builders::ContractCall<M, u8> {
self.0
.method_hash([25, 239, 177, 29], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `getNumLeaves` (0x927d52ab) function"]
pub fn get_num_leaves(&self) -> ethers::contract::builders::ContractCall<M, u64> {
self.0
.method_hash([146, 125, 82, 171], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `getRootValue` (0x6444c8d1) function"]
pub fn get_root_value(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([100, 68, 200, 209], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `owner` (0x8da5cb5b) function"]
pub fn owner(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Address> {
self.0
.method_hash([141, 165, 203, 91], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `renounceOwnership` (0x715018a6) function"]
pub fn renounce_ownership(&self) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([113, 80, 24, 166], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transferOwnership` (0xf2fde38b) function"]
pub fn transfer_ownership(
&self,
new_owner: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([242, 253, 227, 139], new_owner)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `updateRecordsMerkleTree` (0x330ee6a7) function"]
pub fn update_records_merkle_tree(
&self,
elements: ::std::vec::Vec<ethers::core::types::U256>,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([51, 14, 230, 167], elements)
.expect("method not found (this should never happen)")
}
#[doc = "Gets the contract's `OwnershipTransferred` event"]
pub fn ownership_transferred_filter(
&self,
) -> ethers::contract::builders::Event<M, OwnershipTransferredFilter> {
self.0.event()
}
#[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"]
pub fn events(&self) -> ethers::contract::builders::Event<M, OwnershipTransferredFilter> {
self.0.event_with_filter(Default::default())
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>>
for RecordsMerkleTree<M>
{
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(
name = "OwnershipTransferred",
abi = "OwnershipTransferred(address,address)"
)]
pub struct OwnershipTransferredFilter {
#[ethevent(indexed)]
pub previous_owner: ethers::core::types::Address,
#[ethevent(indexed)]
pub new_owner: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `getHeight`function with signature `getHeight()` and selector `[25, 239, 177, 29]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "getHeight", abi = "getHeight()")]
pub struct GetHeightCall;
#[doc = "Container type for all input parameters for the `getNumLeaves`function with signature `getNumLeaves()` and selector `[146, 125, 82, 171]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "getNumLeaves", abi = "getNumLeaves()")]
pub struct GetNumLeavesCall;
#[doc = "Container type for all input parameters for the `getRootValue`function with signature `getRootValue()` and selector `[100, 68, 200, 209]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "getRootValue", abi = "getRootValue()")]
pub struct GetRootValueCall;
#[doc = "Container type for all input parameters for the `owner`function with signature `owner()` and selector `[141, 165, 203, 91]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "owner", abi = "owner()")]
pub struct OwnerCall;
#[doc = "Container type for all input parameters for the `renounceOwnership`function with signature `renounceOwnership()` and selector `[113, 80, 24, 166]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "renounceOwnership", abi = "renounceOwnership()")]
pub struct RenounceOwnershipCall;
#[doc = "Container type for all input parameters for the `transferOwnership`function with signature `transferOwnership(address)` and selector `[242, 253, 227, 139]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transferOwnership", abi = "transferOwnership(address)")]
pub struct TransferOwnershipCall {
pub new_owner: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `updateRecordsMerkleTree`function with signature `updateRecordsMerkleTree(uint256[])` and selector `[51, 14, 230, 167]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "updateRecordsMerkleTree",
abi = "updateRecordsMerkleTree(uint256[])"
)]
pub struct UpdateRecordsMerkleTreeCall {
pub elements: ::std::vec::Vec<ethers::core::types::U256>,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum RecordsMerkleTreeCalls {
GetHeight(GetHeightCall),
GetNumLeaves(GetNumLeavesCall),
GetRootValue(GetRootValueCall),
Owner(OwnerCall),
RenounceOwnership(RenounceOwnershipCall),
TransferOwnership(TransferOwnershipCall),
UpdateRecordsMerkleTree(UpdateRecordsMerkleTreeCall),
}
impl ethers::core::abi::AbiDecode for RecordsMerkleTreeCalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<GetHeightCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RecordsMerkleTreeCalls::GetHeight(decoded));
}
if let Ok(decoded) =
<GetNumLeavesCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RecordsMerkleTreeCalls::GetNumLeaves(decoded));
}
if let Ok(decoded) =
<GetRootValueCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RecordsMerkleTreeCalls::GetRootValue(decoded));
}
if let Ok(decoded) = <OwnerCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RecordsMerkleTreeCalls::Owner(decoded));
}
if let Ok(decoded) =
<RenounceOwnershipCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RecordsMerkleTreeCalls::RenounceOwnership(decoded));
}
if let Ok(decoded) =
<TransferOwnershipCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RecordsMerkleTreeCalls::TransferOwnership(decoded));
}
if let Ok(decoded) =
<UpdateRecordsMerkleTreeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RecordsMerkleTreeCalls::UpdateRecordsMerkleTree(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for RecordsMerkleTreeCalls {
fn encode(self) -> Vec<u8> {
match self {
RecordsMerkleTreeCalls::GetHeight(element) => element.encode(),
RecordsMerkleTreeCalls::GetNumLeaves(element) => element.encode(),
RecordsMerkleTreeCalls::GetRootValue(element) => element.encode(),
RecordsMerkleTreeCalls::Owner(element) => element.encode(),
RecordsMerkleTreeCalls::RenounceOwnership(element) => element.encode(),
RecordsMerkleTreeCalls::TransferOwnership(element) => element.encode(),
RecordsMerkleTreeCalls::UpdateRecordsMerkleTree(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for RecordsMerkleTreeCalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
RecordsMerkleTreeCalls::GetHeight(element) => element.fmt(f),
RecordsMerkleTreeCalls::GetNumLeaves(element) => element.fmt(f),
RecordsMerkleTreeCalls::GetRootValue(element) => element.fmt(f),
RecordsMerkleTreeCalls::Owner(element) => element.fmt(f),
RecordsMerkleTreeCalls::RenounceOwnership(element) => element.fmt(f),
RecordsMerkleTreeCalls::TransferOwnership(element) => element.fmt(f),
RecordsMerkleTreeCalls::UpdateRecordsMerkleTree(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<GetHeightCall> for RecordsMerkleTreeCalls {
fn from(var: GetHeightCall) -> Self {
RecordsMerkleTreeCalls::GetHeight(var)
}
}
impl ::std::convert::From<GetNumLeavesCall> for RecordsMerkleTreeCalls {
fn from(var: GetNumLeavesCall) -> Self {
RecordsMerkleTreeCalls::GetNumLeaves(var)
}
}
impl ::std::convert::From<GetRootValueCall> for RecordsMerkleTreeCalls {
fn from(var: GetRootValueCall) -> Self {
RecordsMerkleTreeCalls::GetRootValue(var)
}
}
impl ::std::convert::From<OwnerCall> for RecordsMerkleTreeCalls {
fn from(var: OwnerCall) -> Self {
RecordsMerkleTreeCalls::Owner(var)
}
}
impl ::std::convert::From<RenounceOwnershipCall> for RecordsMerkleTreeCalls {
fn from(var: RenounceOwnershipCall) -> Self {
RecordsMerkleTreeCalls::RenounceOwnership(var)
}
}
impl ::std::convert::From<TransferOwnershipCall> for RecordsMerkleTreeCalls {
fn from(var: TransferOwnershipCall) -> Self {
RecordsMerkleTreeCalls::TransferOwnership(var)
}
}
impl ::std::convert::From<UpdateRecordsMerkleTreeCall> for RecordsMerkleTreeCalls {
fn from(var: UpdateRecordsMerkleTreeCall) -> Self {
RecordsMerkleTreeCalls::UpdateRecordsMerkleTree(var)
}
}
}
pub use rescuelib_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod rescuelib_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "RescueLib was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static RESCUELIB_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"uint256[15]\",\"name\":\"inputs\",\"type\":\"uint256[15]\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"commit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"c\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"hash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"o\",\"type\":\"uint256\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct RescueLib<M>(ethers::contract::Contract<M>);
impl<M> Clone for RescueLib<M> {
fn clone(&self) -> Self {
RescueLib(self.0.clone())
}
}
impl<M> std::ops::Deref for RescueLib<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for RescueLib<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(RescueLib))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> RescueLib<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), RESCUELIB_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `commit` (0x8c548036) function"]
pub fn commit(
&self,
inputs: [ethers::core::types::U256; 15usize],
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([140, 84, 128, 54], inputs)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `hash` (0xe05bac68) function"]
pub fn hash(
&self,
a: ethers::core::types::U256,
b: ethers::core::types::U256,
c: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([224, 91, 172, 104], (a, b, c))
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for RescueLib<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `commit`function with signature `commit(uint256[15])` and selector `[140, 84, 128, 54]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "commit", abi = "commit(uint256[15])")]
pub struct CommitCall {
pub inputs: [ethers::core::types::U256; 15usize],
}
#[doc = "Container type for all input parameters for the `hash`function with signature `hash(uint256,uint256,uint256)` and selector `[224, 91, 172, 104]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "hash", abi = "hash(uint256,uint256,uint256)")]
pub struct HashCall {
pub a: ethers::core::types::U256,
pub b: ethers::core::types::U256,
pub c: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum RescueLibCalls {
Commit(CommitCall),
Hash(HashCall),
}
impl ethers::core::abi::AbiDecode for RescueLibCalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) = <CommitCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RescueLibCalls::Commit(decoded));
}
if let Ok(decoded) = <HashCall as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(RescueLibCalls::Hash(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for RescueLibCalls {
fn encode(self) -> Vec<u8> {
match self {
RescueLibCalls::Commit(element) => element.encode(),
RescueLibCalls::Hash(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for RescueLibCalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
RescueLibCalls::Commit(element) => element.fmt(f),
RescueLibCalls::Hash(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<CommitCall> for RescueLibCalls {
fn from(var: CommitCall) -> Self {
RescueLibCalls::Commit(var)
}
}
impl ::std::convert::From<HashCall> for RescueLibCalls {
fn from(var: HashCall) -> Self {
RescueLibCalls::Hash(var)
}
}
}
pub use rescuenonoptimized_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod rescuenonoptimized_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "RescueNonOptimized was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static RESCUENONOPTIMIZED_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"uint256[15]\",\"name\":\"inputs\",\"type\":\"uint256[15]\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"commit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"e\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"m\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"expMod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"o\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"c\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"hash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct RescueNonOptimized<M>(ethers::contract::Contract<M>);
impl<M> Clone for RescueNonOptimized<M> {
fn clone(&self) -> Self {
RescueNonOptimized(self.0.clone())
}
}
impl<M> std::ops::Deref for RescueNonOptimized<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for RescueNonOptimized<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(RescueNonOptimized))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> RescueNonOptimized<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), RESCUENONOPTIMIZED_ABI.clone(), client)
.into()
}
#[doc = "Calls the contract's `commit` (0x8c548036) function"]
pub fn commit(
&self,
inputs: [ethers::core::types::U256; 15usize],
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([140, 84, 128, 54], inputs)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `expMod` (0xad69caa5) function"]
pub fn exp_mod(
&self,
base: ethers::core::types::U256,
e: ethers::core::types::U256,
m: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([173, 105, 202, 165], (base, e, m))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `hash` (0xe05bac68) function"]
pub fn hash(
&self,
a: ethers::core::types::U256,
b: ethers::core::types::U256,
c: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([224, 91, 172, 104], (a, b, c))
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>>
for RescueNonOptimized<M>
{
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `commit`function with signature `commit(uint256[15])` and selector `[140, 84, 128, 54]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "commit", abi = "commit(uint256[15])")]
pub struct CommitCall {
pub inputs: [ethers::core::types::U256; 15usize],
}
#[doc = "Container type for all input parameters for the `expMod`function with signature `expMod(uint256,uint256,uint256)` and selector `[173, 105, 202, 165]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "expMod", abi = "expMod(uint256,uint256,uint256)")]
pub struct ExpModCall {
pub base: ethers::core::types::U256,
pub e: ethers::core::types::U256,
pub m: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `hash`function with signature `hash(uint256,uint256,uint256)` and selector `[224, 91, 172, 104]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "hash", abi = "hash(uint256,uint256,uint256)")]
pub struct HashCall {
pub a: ethers::core::types::U256,
pub b: ethers::core::types::U256,
pub c: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum RescueNonOptimizedCalls {
Commit(CommitCall),
ExpMod(ExpModCall),
Hash(HashCall),
}
impl ethers::core::abi::AbiDecode for RescueNonOptimizedCalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) = <CommitCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RescueNonOptimizedCalls::Commit(decoded));
}
if let Ok(decoded) = <ExpModCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(RescueNonOptimizedCalls::ExpMod(decoded));
}
if let Ok(decoded) = <HashCall as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(RescueNonOptimizedCalls::Hash(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for RescueNonOptimizedCalls {
fn encode(self) -> Vec<u8> {
match self {
RescueNonOptimizedCalls::Commit(element) => element.encode(),
RescueNonOptimizedCalls::ExpMod(element) => element.encode(),
RescueNonOptimizedCalls::Hash(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for RescueNonOptimizedCalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
RescueNonOptimizedCalls::Commit(element) => element.fmt(f),
RescueNonOptimizedCalls::ExpMod(element) => element.fmt(f),
RescueNonOptimizedCalls::Hash(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<CommitCall> for RescueNonOptimizedCalls {
fn from(var: CommitCall) -> Self {
RescueNonOptimizedCalls::Commit(var)
}
}
impl ::std::convert::From<ExpModCall> for RescueNonOptimizedCalls {
fn from(var: ExpModCall) -> Self {
RescueNonOptimizedCalls::ExpMod(var)
}
}
impl ::std::convert::From<HashCall> for RescueNonOptimizedCalls {
fn from(var: HashCall) -> Self {
RescueNonOptimizedCalls::Hash(var)
}
}
}
pub use rootstore_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod rootstore_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "RootStore was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static ROOTSTORE_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"nRoots\",\"type\":\"uint64\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct RootStore<M>(ethers::contract::Contract<M>);
impl<M> Clone for RootStore<M> {
fn clone(&self) -> Self {
RootStore(self.0.clone())
}
}
impl<M> std::ops::Deref for RootStore<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for RootStore<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(RootStore))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> RootStore<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), ROOTSTORE_ABI.clone(), client).into()
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for RootStore<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
}
pub use simpletoken_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod simpletoken_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "SimpleToken was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static SIMPLETOKEN_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Approval\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Transfer\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\",\"name\":\"withdraw\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"payable\",\"type\":\"receive\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct SimpleToken<M>(ethers::contract::Contract<M>);
impl<M> Clone for SimpleToken<M> {
fn clone(&self) -> Self {
SimpleToken(self.0.clone())
}
}
impl<M> std::ops::Deref for SimpleToken<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for SimpleToken<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(SimpleToken))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> SimpleToken<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), SIMPLETOKEN_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `allowance` (0xdd62ed3e) function"]
pub fn allowance(
&self,
owner: ethers::core::types::Address,
spender: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([221, 98, 237, 62], (owner, spender))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `approve` (0x095ea7b3) function"]
pub fn approve(
&self,
spender: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([9, 94, 167, 179], (spender, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `balanceOf` (0x70a08231) function"]
pub fn balance_of(
&self,
account: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([112, 160, 130, 49], account)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `decimals` (0x313ce567) function"]
pub fn decimals(&self) -> ethers::contract::builders::ContractCall<M, u8> {
self.0
.method_hash([49, 60, 229, 103], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `decreaseAllowance` (0xa457c2d7) function"]
pub fn decrease_allowance(
&self,
spender: ethers::core::types::Address,
subtracted_value: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([164, 87, 194, 215], (spender, subtracted_value))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `increaseAllowance` (0x39509351) function"]
pub fn increase_allowance(
&self,
spender: ethers::core::types::Address,
added_value: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([57, 80, 147, 81], (spender, added_value))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `name` (0x06fdde03) function"]
pub fn name(&self) -> ethers::contract::builders::ContractCall<M, String> {
self.0
.method_hash([6, 253, 222, 3], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `symbol` (0x95d89b41) function"]
pub fn symbol(&self) -> ethers::contract::builders::ContractCall<M, String> {
self.0
.method_hash([149, 216, 155, 65], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `totalSupply` (0x18160ddd) function"]
pub fn total_supply(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([24, 22, 13, 221], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transfer` (0xa9059cbb) function"]
pub fn transfer(
&self,
recipient: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([169, 5, 156, 187], (recipient, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `transferFrom` (0x23b872dd) function"]
pub fn transfer_from(
&self,
sender: ethers::core::types::Address,
recipient: ethers::core::types::Address,
amount: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([35, 184, 114, 221], (sender, recipient, amount))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `withdraw` (0x3ccfd60b) function"]
pub fn withdraw(&self) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([60, 207, 214, 11], ())
.expect("method not found (this should never happen)")
}
#[doc = "Gets the contract's `Approval` event"]
pub fn approval_filter(&self) -> ethers::contract::builders::Event<M, ApprovalFilter> {
self.0.event()
}
#[doc = "Gets the contract's `Transfer` event"]
pub fn transfer_filter(&self) -> ethers::contract::builders::Event<M, TransferFilter> {
self.0.event()
}
#[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"]
pub fn events(&self) -> ethers::contract::builders::Event<M, SimpleTokenEvents> {
self.0.event_with_filter(Default::default())
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for SimpleToken<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Approval", abi = "Approval(address,address,uint256)")]
pub struct ApprovalFilter {
#[ethevent(indexed)]
pub owner: ethers::core::types::Address,
#[ethevent(indexed)]
pub spender: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "Transfer", abi = "Transfer(address,address,uint256)")]
pub struct TransferFilter {
#[ethevent(indexed)]
pub from: ethers::core::types::Address,
#[ethevent(indexed)]
pub to: ethers::core::types::Address,
pub value: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum SimpleTokenEvents {
ApprovalFilter(ApprovalFilter),
TransferFilter(TransferFilter),
}
impl ethers::contract::EthLogDecode for SimpleTokenEvents {
fn decode_log(log: &ethers::core::abi::RawLog) -> Result<Self, ethers::core::abi::Error>
where
Self: Sized,
{
if let Ok(decoded) = ApprovalFilter::decode_log(log) {
return Ok(SimpleTokenEvents::ApprovalFilter(decoded));
}
if let Ok(decoded) = TransferFilter::decode_log(log) {
return Ok(SimpleTokenEvents::TransferFilter(decoded));
}
Err(ethers::core::abi::Error::InvalidData)
}
}
impl ::std::fmt::Display for SimpleTokenEvents {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
SimpleTokenEvents::ApprovalFilter(element) => element.fmt(f),
SimpleTokenEvents::TransferFilter(element) => element.fmt(f),
}
}
}
#[doc = "Container type for all input parameters for the `allowance`function with signature `allowance(address,address)` and selector `[221, 98, 237, 62]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "allowance", abi = "allowance(address,address)")]
pub struct AllowanceCall {
pub owner: ethers::core::types::Address,
pub spender: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `approve`function with signature `approve(address,uint256)` and selector `[9, 94, 167, 179]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "approve", abi = "approve(address,uint256)")]
pub struct ApproveCall {
pub spender: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `balanceOf`function with signature `balanceOf(address)` and selector `[112, 160, 130, 49]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "balanceOf", abi = "balanceOf(address)")]
pub struct BalanceOfCall {
pub account: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `decimals`function with signature `decimals()` and selector `[49, 60, 229, 103]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "decimals", abi = "decimals()")]
pub struct DecimalsCall;
#[doc = "Container type for all input parameters for the `decreaseAllowance`function with signature `decreaseAllowance(address,uint256)` and selector `[164, 87, 194, 215]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "decreaseAllowance", abi = "decreaseAllowance(address,uint256)")]
pub struct DecreaseAllowanceCall {
pub spender: ethers::core::types::Address,
pub subtracted_value: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `increaseAllowance`function with signature `increaseAllowance(address,uint256)` and selector `[57, 80, 147, 81]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "increaseAllowance", abi = "increaseAllowance(address,uint256)")]
pub struct IncreaseAllowanceCall {
pub spender: ethers::core::types::Address,
pub added_value: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `name`function with signature `name()` and selector `[6, 253, 222, 3]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "name", abi = "name()")]
pub struct NameCall;
#[doc = "Container type for all input parameters for the `symbol`function with signature `symbol()` and selector `[149, 216, 155, 65]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "symbol", abi = "symbol()")]
pub struct SymbolCall;
#[doc = "Container type for all input parameters for the `totalSupply`function with signature `totalSupply()` and selector `[24, 22, 13, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "totalSupply", abi = "totalSupply()")]
pub struct TotalSupplyCall;
#[doc = "Container type for all input parameters for the `transfer`function with signature `transfer(address,uint256)` and selector `[169, 5, 156, 187]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transfer", abi = "transfer(address,uint256)")]
pub struct TransferCall {
pub recipient: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `transferFrom`function with signature `transferFrom(address,address,uint256)` and selector `[35, 184, 114, 221]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "transferFrom", abi = "transferFrom(address,address,uint256)")]
pub struct TransferFromCall {
pub sender: ethers::core::types::Address,
pub recipient: ethers::core::types::Address,
pub amount: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `withdraw`function with signature `withdraw()` and selector `[60, 207, 214, 11]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "withdraw", abi = "withdraw()")]
pub struct WithdrawCall;
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum SimpleTokenCalls {
Allowance(AllowanceCall),
Approve(ApproveCall),
BalanceOf(BalanceOfCall),
Decimals(DecimalsCall),
DecreaseAllowance(DecreaseAllowanceCall),
IncreaseAllowance(IncreaseAllowanceCall),
Name(NameCall),
Symbol(SymbolCall),
TotalSupply(TotalSupplyCall),
Transfer(TransferCall),
TransferFrom(TransferFromCall),
Withdraw(WithdrawCall),
}
impl ethers::core::abi::AbiDecode for SimpleTokenCalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<AllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::Allowance(decoded));
}
if let Ok(decoded) =
<ApproveCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::Approve(decoded));
}
if let Ok(decoded) =
<BalanceOfCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::BalanceOf(decoded));
}
if let Ok(decoded) =
<DecimalsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::Decimals(decoded));
}
if let Ok(decoded) =
<DecreaseAllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::DecreaseAllowance(decoded));
}
if let Ok(decoded) =
<IncreaseAllowanceCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::IncreaseAllowance(decoded));
}
if let Ok(decoded) = <NameCall as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(SimpleTokenCalls::Name(decoded));
}
if let Ok(decoded) = <SymbolCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::Symbol(decoded));
}
if let Ok(decoded) =
<TotalSupplyCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::TotalSupply(decoded));
}
if let Ok(decoded) =
<TransferCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::Transfer(decoded));
}
if let Ok(decoded) =
<TransferFromCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::TransferFrom(decoded));
}
if let Ok(decoded) =
<WithdrawCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(SimpleTokenCalls::Withdraw(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for SimpleTokenCalls {
fn encode(self) -> Vec<u8> {
match self {
SimpleTokenCalls::Allowance(element) => element.encode(),
SimpleTokenCalls::Approve(element) => element.encode(),
SimpleTokenCalls::BalanceOf(element) => element.encode(),
SimpleTokenCalls::Decimals(element) => element.encode(),
SimpleTokenCalls::DecreaseAllowance(element) => element.encode(),
SimpleTokenCalls::IncreaseAllowance(element) => element.encode(),
SimpleTokenCalls::Name(element) => element.encode(),
SimpleTokenCalls::Symbol(element) => element.encode(),
SimpleTokenCalls::TotalSupply(element) => element.encode(),
SimpleTokenCalls::Transfer(element) => element.encode(),
SimpleTokenCalls::TransferFrom(element) => element.encode(),
SimpleTokenCalls::Withdraw(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for SimpleTokenCalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
SimpleTokenCalls::Allowance(element) => element.fmt(f),
SimpleTokenCalls::Approve(element) => element.fmt(f),
SimpleTokenCalls::BalanceOf(element) => element.fmt(f),
SimpleTokenCalls::Decimals(element) => element.fmt(f),
SimpleTokenCalls::DecreaseAllowance(element) => element.fmt(f),
SimpleTokenCalls::IncreaseAllowance(element) => element.fmt(f),
SimpleTokenCalls::Name(element) => element.fmt(f),
SimpleTokenCalls::Symbol(element) => element.fmt(f),
SimpleTokenCalls::TotalSupply(element) => element.fmt(f),
SimpleTokenCalls::Transfer(element) => element.fmt(f),
SimpleTokenCalls::TransferFrom(element) => element.fmt(f),
SimpleTokenCalls::Withdraw(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<AllowanceCall> for SimpleTokenCalls {
fn from(var: AllowanceCall) -> Self {
SimpleTokenCalls::Allowance(var)
}
}
impl ::std::convert::From<ApproveCall> for SimpleTokenCalls {
fn from(var: ApproveCall) -> Self {
SimpleTokenCalls::Approve(var)
}
}
impl ::std::convert::From<BalanceOfCall> for SimpleTokenCalls {
fn from(var: BalanceOfCall) -> Self {
SimpleTokenCalls::BalanceOf(var)
}
}
impl ::std::convert::From<DecimalsCall> for SimpleTokenCalls {
fn from(var: DecimalsCall) -> Self {
SimpleTokenCalls::Decimals(var)
}
}
impl ::std::convert::From<DecreaseAllowanceCall> for SimpleTokenCalls {
fn from(var: DecreaseAllowanceCall) -> Self {
SimpleTokenCalls::DecreaseAllowance(var)
}
}
impl ::std::convert::From<IncreaseAllowanceCall> for SimpleTokenCalls {
fn from(var: IncreaseAllowanceCall) -> Self {
SimpleTokenCalls::IncreaseAllowance(var)
}
}
impl ::std::convert::From<NameCall> for SimpleTokenCalls {
fn from(var: NameCall) -> Self {
SimpleTokenCalls::Name(var)
}
}
impl ::std::convert::From<SymbolCall> for SimpleTokenCalls {
fn from(var: SymbolCall) -> Self {
SimpleTokenCalls::Symbol(var)
}
}
impl ::std::convert::From<TotalSupplyCall> for SimpleTokenCalls {
fn from(var: TotalSupplyCall) -> Self {
SimpleTokenCalls::TotalSupply(var)
}
}
impl ::std::convert::From<TransferCall> for SimpleTokenCalls {
fn from(var: TransferCall) -> Self {
SimpleTokenCalls::Transfer(var)
}
}
impl ::std::convert::From<TransferFromCall> for SimpleTokenCalls {
fn from(var: TransferFromCall) -> Self {
SimpleTokenCalls::TransferFrom(var)
}
}
impl ::std::convert::From<WithdrawCall> for SimpleTokenCalls {
fn from(var: WithdrawCall) -> Self {
SimpleTokenCalls::Withdraw(var)
}
}
}
pub use testaccumulatingarray_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod testaccumulatingarray_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "TestAccumulatingArray was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static TESTACCUMULATINGARRAY_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"uint256[][]\",\"name\":\"arrays\",\"type\":\"uint256[][]\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"accumulate\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256[][]\",\"name\":\"arrays\",\"type\":\"uint256[][]\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"accumulateWithIndividuals\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\",\"components\":[]}]}]") . expect ("invalid abi")
});
pub struct TestAccumulatingArray<M>(ethers::contract::Contract<M>);
impl<M> Clone for TestAccumulatingArray<M> {
fn clone(&self) -> Self {
TestAccumulatingArray(self.0.clone())
}
}
impl<M> std::ops::Deref for TestAccumulatingArray<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for TestAccumulatingArray<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(TestAccumulatingArray))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> TestAccumulatingArray<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(
address.into(),
TESTACCUMULATINGARRAY_ABI.clone(),
client,
)
.into()
}
#[doc = "Calls the contract's `accumulate` (0x9bbc032c) function"]
pub fn accumulate(
&self,
arrays: ::std::vec::Vec<::std::vec::Vec<ethers::core::types::U256>>,
length: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ::std::vec::Vec<ethers::core::types::U256>>
{
self.0
.method_hash([155, 188, 3, 44], (arrays, length))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `accumulateWithIndividuals` (0x4609762b) function"]
pub fn accumulate_with_individuals(
&self,
arrays: ::std::vec::Vec<::std::vec::Vec<ethers::core::types::U256>>,
length: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ::std::vec::Vec<ethers::core::types::U256>>
{
self.0
.method_hash([70, 9, 118, 43], (arrays, length))
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>>
for TestAccumulatingArray<M>
{
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `accumulate`function with signature `accumulate(uint256[][],uint256)` and selector `[155, 188, 3, 44]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "accumulate", abi = "accumulate(uint256[][],uint256)")]
pub struct AccumulateCall {
pub arrays: ::std::vec::Vec<::std::vec::Vec<ethers::core::types::U256>>,
pub length: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `accumulateWithIndividuals`function with signature `accumulateWithIndividuals(uint256[][],uint256)` and selector `[70, 9, 118, 43]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "accumulateWithIndividuals",
abi = "accumulateWithIndividuals(uint256[][],uint256)"
)]
pub struct AccumulateWithIndividualsCall {
pub arrays: ::std::vec::Vec<::std::vec::Vec<ethers::core::types::U256>>,
pub length: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum TestAccumulatingArrayCalls {
Accumulate(AccumulateCall),
AccumulateWithIndividuals(AccumulateWithIndividualsCall),
}
impl ethers::core::abi::AbiDecode for TestAccumulatingArrayCalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<AccumulateCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestAccumulatingArrayCalls::Accumulate(decoded));
}
if let Ok(decoded) =
<AccumulateWithIndividualsCall as ethers::core::abi::AbiDecode>::decode(
data.as_ref(),
)
{
return Ok(TestAccumulatingArrayCalls::AccumulateWithIndividuals(
decoded,
));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for TestAccumulatingArrayCalls {
fn encode(self) -> Vec<u8> {
match self {
TestAccumulatingArrayCalls::Accumulate(element) => element.encode(),
TestAccumulatingArrayCalls::AccumulateWithIndividuals(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for TestAccumulatingArrayCalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
TestAccumulatingArrayCalls::Accumulate(element) => element.fmt(f),
TestAccumulatingArrayCalls::AccumulateWithIndividuals(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<AccumulateCall> for TestAccumulatingArrayCalls {
fn from(var: AccumulateCall) -> Self {
TestAccumulatingArrayCalls::Accumulate(var)
}
}
impl ::std::convert::From<AccumulateWithIndividualsCall> for TestAccumulatingArrayCalls {
fn from(var: AccumulateWithIndividualsCall) -> Self {
TestAccumulatingArrayCalls::AccumulateWithIndividuals(var)
}
}
}
pub use testbn254_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod testbn254_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
pub use super::__shared_types::*;
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "TestBN254 was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static TESTBN254_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"P1\",\"outputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]},{\"inputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"P2\",\"outputs\":[{\"internalType\":\"struct BN254.G2Point\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"x1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y1\",\"type\":\"uint256\",\"components\":[]}]}]},{\"inputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"p1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"p2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"add\",\"outputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"leBytes\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"fromLeBytesModOrder\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"input\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"g1Deserialize\",\"outputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"point\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]},{\"inputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"point\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"g1Serialize\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"res\",\"type\":\"bytes\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fr\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"invert\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"output\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"point\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"isInfinity\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"p\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"isYNegative\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fr\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"negateFr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"res\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"p\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"negateG1\",\"outputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"r\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]},{\"inputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"a1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G2Point\",\"name\":\"a2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"x1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y1\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"b1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G2Point\",\"name\":\"b2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"x1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y1\",\"type\":\"uint256\",\"components\":[]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"pairingProd2\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"base\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"exponent\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"modulus\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"powSmall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"quadraticResidue\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isQuadraticResidue\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"p\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"s\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"scalarMul\",\"outputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"r\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]},{\"inputs\":[{\"internalType\":\"struct BN254.G1Point[]\",\"name\":\"bases\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"scalars\",\"type\":\"uint256[]\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"testMultiScalarMul\",\"outputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]},{\"inputs\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"point\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"validateG1Point\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fr\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"validateScalarField\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct TestBN254<M>(ethers::contract::Contract<M>);
impl<M> Clone for TestBN254<M> {
fn clone(&self) -> Self {
TestBN254(self.0.clone())
}
}
impl<M> std::ops::Deref for TestBN254<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for TestBN254<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(TestBN254))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> TestBN254<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), TESTBN254_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `P1` (0x1de21b76) function"]
pub fn p1(&self) -> ethers::contract::builders::ContractCall<M, G1Point> {
self.0
.method_hash([29, 226, 27, 118], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `P2` (0x30332aea) function"]
pub fn p2(&self) -> ethers::contract::builders::ContractCall<M, G2Point> {
self.0
.method_hash([48, 51, 42, 234], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `add` (0x82d23b8a) function"]
pub fn add(
&self,
p_1: G1Point,
p_2: G1Point,
) -> ethers::contract::builders::ContractCall<M, G1Point> {
self.0
.method_hash([130, 210, 59, 138], (p_1, p_2))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `fromLeBytesModOrder` (0x4c7c53a4) function"]
pub fn from_le_bytes_mod_order(
&self,
le_bytes: ethers::core::types::Bytes,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([76, 124, 83, 164], le_bytes)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `g1Deserialize` (0x5ca2d43e) function"]
pub fn g_1_deserialize(
&self,
input: [u8; 32],
) -> ethers::contract::builders::ContractCall<M, G1Point> {
self.0
.method_hash([92, 162, 212, 62], input)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `g1Serialize` (0x8adadb48) function"]
pub fn g_1_serialize(
&self,
point: G1Point,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Bytes> {
self.0
.method_hash([138, 218, 219, 72], (point,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `invert` (0x7351ee37) function"]
pub fn invert(
&self,
fr: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([115, 81, 238, 55], fr)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `isInfinity` (0x213455e5) function"]
pub fn is_infinity(
&self,
point: G1Point,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([33, 52, 85, 229], (point,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `isYNegative` (0xcb9e8010) function"]
pub fn is_y_negative(
&self,
p: G1Point,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([203, 158, 128, 16], (p,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `negateFr` (0xc6b89ed0) function"]
pub fn negate_fr(
&self,
fr: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([198, 184, 158, 208], fr)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `negateG1` (0x960ffb67) function"]
pub fn negate_g1(
&self,
p: G1Point,
) -> ethers::contract::builders::ContractCall<M, G1Point> {
self.0
.method_hash([150, 15, 251, 103], (p,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `pairingProd2` (0x7d75d6c9) function"]
pub fn pairing_prod_2(
&self,
a_1: G1Point,
a_2: G2Point,
b_1: G1Point,
b_2: G2Point,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([125, 117, 214, 201], (a_1, a_2, b_1, b_2))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `powSmall` (0x44ec50d6) function"]
pub fn pow_small(
&self,
base: ethers::core::types::U256,
exponent: ethers::core::types::U256,
modulus: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([68, 236, 80, 214], (base, exponent, modulus))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `quadraticResidue` (0x45e4dcca) function"]
pub fn quadratic_residue(
&self,
x: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, (bool, ethers::core::types::U256)>
{
self.0
.method_hash([69, 228, 220, 202], x)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `scalarMul` (0x40a05867) function"]
pub fn scalar_mul(
&self,
p: G1Point,
s: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, G1Point> {
self.0
.method_hash([64, 160, 88, 103], (p, s))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `testMultiScalarMul` (0xe31bc80e) function"]
pub fn test_multi_scalar_mul(
&self,
bases: ::std::vec::Vec<G1Point>,
scalars: ::std::vec::Vec<ethers::core::types::U256>,
) -> ethers::contract::builders::ContractCall<M, G1Point> {
self.0
.method_hash([227, 27, 200, 14], (bases, scalars))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `validateG1Point` (0xaba050de) function"]
pub fn validate_g1_point(
&self,
point: G1Point,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([171, 160, 80, 222], (point,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `validateScalarField` (0x4f91e48e) function"]
pub fn validate_scalar_field(
&self,
fr: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([79, 145, 228, 142], fr)
.expect("method not found (this should never happen)")
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for TestBN254<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[doc = "Container type for all input parameters for the `P1`function with signature `P1()` and selector `[29, 226, 27, 118]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "P1", abi = "P1()")]
pub struct P1Call;
#[doc = "Container type for all input parameters for the `P2`function with signature `P2()` and selector `[48, 51, 42, 234]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "P2", abi = "P2()")]
pub struct P2Call;
#[doc = "Container type for all input parameters for the `add`function with signature `add((uint256,uint256),(uint256,uint256))` and selector `[130, 210, 59, 138]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "add", abi = "add((uint256,uint256),(uint256,uint256))")]
pub struct AddCall {
pub p_1: G1Point,
pub p_2: G1Point,
}
#[doc = "Container type for all input parameters for the `fromLeBytesModOrder`function with signature `fromLeBytesModOrder(bytes)` and selector `[76, 124, 83, 164]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "fromLeBytesModOrder", abi = "fromLeBytesModOrder(bytes)")]
pub struct FromLeBytesModOrderCall {
pub le_bytes: ethers::core::types::Bytes,
}
#[doc = "Container type for all input parameters for the `g1Deserialize`function with signature `g1Deserialize(bytes32)` and selector `[92, 162, 212, 62]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "g1Deserialize", abi = "g1Deserialize(bytes32)")]
pub struct G1DeserializeCall {
pub input: [u8; 32],
}
#[doc = "Container type for all input parameters for the `g1Serialize`function with signature `g1Serialize((uint256,uint256))` and selector `[138, 218, 219, 72]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "g1Serialize", abi = "g1Serialize((uint256,uint256))")]
pub struct G1SerializeCall {
pub point: G1Point,
}
#[doc = "Container type for all input parameters for the `invert`function with signature `invert(uint256)` and selector `[115, 81, 238, 55]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "invert", abi = "invert(uint256)")]
pub struct InvertCall {
pub fr: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `isInfinity`function with signature `isInfinity((uint256,uint256))` and selector `[33, 52, 85, 229]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "isInfinity", abi = "isInfinity((uint256,uint256))")]
pub struct IsInfinityCall {
pub point: G1Point,
}
#[doc = "Container type for all input parameters for the `isYNegative`function with signature `isYNegative((uint256,uint256))` and selector `[203, 158, 128, 16]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "isYNegative", abi = "isYNegative((uint256,uint256))")]
pub struct IsYNegativeCall {
pub p: G1Point,
}
#[doc = "Container type for all input parameters for the `negateFr`function with signature `negateFr(uint256)` and selector `[198, 184, 158, 208]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "negateFr", abi = "negateFr(uint256)")]
pub struct NegateFrCall {
pub fr: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `negateG1`function with signature `negateG1((uint256,uint256))` and selector `[150, 15, 251, 103]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "negateG1", abi = "negateG1((uint256,uint256))")]
pub struct NegateG1Call {
pub p: G1Point,
}
#[doc = "Container type for all input parameters for the `pairingProd2`function with signature `pairingProd2((uint256,uint256),(uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256,uint256,uint256))` and selector `[125, 117, 214, 201]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "pairingProd2",
abi = "pairingProd2((uint256,uint256),(uint256,uint256,uint256,uint256),(uint256,uint256),(uint256,uint256,uint256,uint256))"
)]
pub struct PairingProd2Call {
pub a_1: G1Point,
pub a_2: G2Point,
pub b_1: G1Point,
pub b_2: G2Point,
}
#[doc = "Container type for all input parameters for the `powSmall`function with signature `powSmall(uint256,uint256,uint256)` and selector `[68, 236, 80, 214]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "powSmall", abi = "powSmall(uint256,uint256,uint256)")]
pub struct PowSmallCall {
pub base: ethers::core::types::U256,
pub exponent: ethers::core::types::U256,
pub modulus: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `quadraticResidue`function with signature `quadraticResidue(uint256)` and selector `[69, 228, 220, 202]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "quadraticResidue", abi = "quadraticResidue(uint256)")]
pub struct QuadraticResidueCall {
pub x: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `scalarMul`function with signature `scalarMul((uint256,uint256),uint256)` and selector `[64, 160, 88, 103]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "scalarMul", abi = "scalarMul((uint256,uint256),uint256)")]
pub struct ScalarMulCall {
pub p: G1Point,
pub s: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `testMultiScalarMul`function with signature `testMultiScalarMul((uint256,uint256)[],uint256[])` and selector `[227, 27, 200, 14]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "testMultiScalarMul",
abi = "testMultiScalarMul((uint256,uint256)[],uint256[])"
)]
pub struct TestMultiScalarMulCall {
pub bases: ::std::vec::Vec<G1Point>,
pub scalars: ::std::vec::Vec<ethers::core::types::U256>,
}
#[doc = "Container type for all input parameters for the `validateG1Point`function with signature `validateG1Point((uint256,uint256))` and selector `[171, 160, 80, 222]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "validateG1Point", abi = "validateG1Point((uint256,uint256))")]
pub struct ValidateG1PointCall {
pub point: G1Point,
}
#[doc = "Container type for all input parameters for the `validateScalarField`function with signature `validateScalarField(uint256)` and selector `[79, 145, 228, 142]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "validateScalarField", abi = "validateScalarField(uint256)")]
pub struct ValidateScalarFieldCall {
pub fr: ethers::core::types::U256,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum TestBN254Calls {
P1(P1Call),
P2(P2Call),
Add(AddCall),
FromLeBytesModOrder(FromLeBytesModOrderCall),
G1Deserialize(G1DeserializeCall),
G1Serialize(G1SerializeCall),
Invert(InvertCall),
IsInfinity(IsInfinityCall),
IsYNegative(IsYNegativeCall),
NegateFr(NegateFrCall),
NegateG1(NegateG1Call),
PairingProd2(PairingProd2Call),
PowSmall(PowSmallCall),
QuadraticResidue(QuadraticResidueCall),
ScalarMul(ScalarMulCall),
TestMultiScalarMul(TestMultiScalarMulCall),
ValidateG1Point(ValidateG1PointCall),
ValidateScalarField(ValidateScalarFieldCall),
}
impl ethers::core::abi::AbiDecode for TestBN254Calls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) = <P1Call as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(TestBN254Calls::P1(decoded));
}
if let Ok(decoded) = <P2Call as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(TestBN254Calls::P2(decoded));
}
if let Ok(decoded) = <AddCall as ethers::core::abi::AbiDecode>::decode(data.as_ref()) {
return Ok(TestBN254Calls::Add(decoded));
}
if let Ok(decoded) =
<FromLeBytesModOrderCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::FromLeBytesModOrder(decoded));
}
if let Ok(decoded) =
<G1DeserializeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::G1Deserialize(decoded));
}
if let Ok(decoded) =
<G1SerializeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::G1Serialize(decoded));
}
if let Ok(decoded) = <InvertCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::Invert(decoded));
}
if let Ok(decoded) =
<IsInfinityCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::IsInfinity(decoded));
}
if let Ok(decoded) =
<IsYNegativeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::IsYNegative(decoded));
}
if let Ok(decoded) =
<NegateFrCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::NegateFr(decoded));
}
if let Ok(decoded) =
<NegateG1Call as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::NegateG1(decoded));
}
if let Ok(decoded) =
<PairingProd2Call as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::PairingProd2(decoded));
}
if let Ok(decoded) =
<PowSmallCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::PowSmall(decoded));
}
if let Ok(decoded) =
<QuadraticResidueCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::QuadraticResidue(decoded));
}
if let Ok(decoded) =
<ScalarMulCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::ScalarMul(decoded));
}
if let Ok(decoded) =
<TestMultiScalarMulCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::TestMultiScalarMul(decoded));
}
if let Ok(decoded) =
<ValidateG1PointCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::ValidateG1Point(decoded));
}
if let Ok(decoded) =
<ValidateScalarFieldCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestBN254Calls::ValidateScalarField(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for TestBN254Calls {
fn encode(self) -> Vec<u8> {
match self {
TestBN254Calls::P1(element) => element.encode(),
TestBN254Calls::P2(element) => element.encode(),
TestBN254Calls::Add(element) => element.encode(),
TestBN254Calls::FromLeBytesModOrder(element) => element.encode(),
TestBN254Calls::G1Deserialize(element) => element.encode(),
TestBN254Calls::G1Serialize(element) => element.encode(),
TestBN254Calls::Invert(element) => element.encode(),
TestBN254Calls::IsInfinity(element) => element.encode(),
TestBN254Calls::IsYNegative(element) => element.encode(),
TestBN254Calls::NegateFr(element) => element.encode(),
TestBN254Calls::NegateG1(element) => element.encode(),
TestBN254Calls::PairingProd2(element) => element.encode(),
TestBN254Calls::PowSmall(element) => element.encode(),
TestBN254Calls::QuadraticResidue(element) => element.encode(),
TestBN254Calls::ScalarMul(element) => element.encode(),
TestBN254Calls::TestMultiScalarMul(element) => element.encode(),
TestBN254Calls::ValidateG1Point(element) => element.encode(),
TestBN254Calls::ValidateScalarField(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for TestBN254Calls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
TestBN254Calls::P1(element) => element.fmt(f),
TestBN254Calls::P2(element) => element.fmt(f),
TestBN254Calls::Add(element) => element.fmt(f),
TestBN254Calls::FromLeBytesModOrder(element) => element.fmt(f),
TestBN254Calls::G1Deserialize(element) => element.fmt(f),
TestBN254Calls::G1Serialize(element) => element.fmt(f),
TestBN254Calls::Invert(element) => element.fmt(f),
TestBN254Calls::IsInfinity(element) => element.fmt(f),
TestBN254Calls::IsYNegative(element) => element.fmt(f),
TestBN254Calls::NegateFr(element) => element.fmt(f),
TestBN254Calls::NegateG1(element) => element.fmt(f),
TestBN254Calls::PairingProd2(element) => element.fmt(f),
TestBN254Calls::PowSmall(element) => element.fmt(f),
TestBN254Calls::QuadraticResidue(element) => element.fmt(f),
TestBN254Calls::ScalarMul(element) => element.fmt(f),
TestBN254Calls::TestMultiScalarMul(element) => element.fmt(f),
TestBN254Calls::ValidateG1Point(element) => element.fmt(f),
TestBN254Calls::ValidateScalarField(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<P1Call> for TestBN254Calls {
fn from(var: P1Call) -> Self {
TestBN254Calls::P1(var)
}
}
impl ::std::convert::From<P2Call> for TestBN254Calls {
fn from(var: P2Call) -> Self {
TestBN254Calls::P2(var)
}
}
impl ::std::convert::From<AddCall> for TestBN254Calls {
fn from(var: AddCall) -> Self {
TestBN254Calls::Add(var)
}
}
impl ::std::convert::From<FromLeBytesModOrderCall> for TestBN254Calls {
fn from(var: FromLeBytesModOrderCall) -> Self {
TestBN254Calls::FromLeBytesModOrder(var)
}
}
impl ::std::convert::From<G1DeserializeCall> for TestBN254Calls {
fn from(var: G1DeserializeCall) -> Self {
TestBN254Calls::G1Deserialize(var)
}
}
impl ::std::convert::From<G1SerializeCall> for TestBN254Calls {
fn from(var: G1SerializeCall) -> Self {
TestBN254Calls::G1Serialize(var)
}
}
impl ::std::convert::From<InvertCall> for TestBN254Calls {
fn from(var: InvertCall) -> Self {
TestBN254Calls::Invert(var)
}
}
impl ::std::convert::From<IsInfinityCall> for TestBN254Calls {
fn from(var: IsInfinityCall) -> Self {
TestBN254Calls::IsInfinity(var)
}
}
impl ::std::convert::From<IsYNegativeCall> for TestBN254Calls {
fn from(var: IsYNegativeCall) -> Self {
TestBN254Calls::IsYNegative(var)
}
}
impl ::std::convert::From<NegateFrCall> for TestBN254Calls {
fn from(var: NegateFrCall) -> Self {
TestBN254Calls::NegateFr(var)
}
}
impl ::std::convert::From<NegateG1Call> for TestBN254Calls {
fn from(var: NegateG1Call) -> Self {
TestBN254Calls::NegateG1(var)
}
}
impl ::std::convert::From<PairingProd2Call> for TestBN254Calls {
fn from(var: PairingProd2Call) -> Self {
TestBN254Calls::PairingProd2(var)
}
}
impl ::std::convert::From<PowSmallCall> for TestBN254Calls {
fn from(var: PowSmallCall) -> Self {
TestBN254Calls::PowSmall(var)
}
}
impl ::std::convert::From<QuadraticResidueCall> for TestBN254Calls {
fn from(var: QuadraticResidueCall) -> Self {
TestBN254Calls::QuadraticResidue(var)
}
}
impl ::std::convert::From<ScalarMulCall> for TestBN254Calls {
fn from(var: ScalarMulCall) -> Self {
TestBN254Calls::ScalarMul(var)
}
}
impl ::std::convert::From<TestMultiScalarMulCall> for TestBN254Calls {
fn from(var: TestMultiScalarMulCall) -> Self {
TestBN254Calls::TestMultiScalarMul(var)
}
}
impl ::std::convert::From<ValidateG1PointCall> for TestBN254Calls {
fn from(var: ValidateG1PointCall) -> Self {
TestBN254Calls::ValidateG1Point(var)
}
}
impl ::std::convert::From<ValidateScalarFieldCall> for TestBN254Calls {
fn from(var: ValidateScalarFieldCall) -> Self {
TestBN254Calls::ValidateScalarField(var)
}
}
#[doc = "`G2Point(uint256,uint256,uint256,uint256)`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthAbiType,
ethers :: contract :: EthAbiCodec,
)]
pub struct G2Point {
pub x_0: ethers::core::types::U256,
pub x_1: ethers::core::types::U256,
pub y_0: ethers::core::types::U256,
pub y_1: ethers::core::types::U256,
}
}
pub use testcape_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod testcape_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
pub use super::__shared_types::*;
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "TestCAPE was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static TESTCAPE_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"nRoots\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"verifierAddr\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"recordsMerkleTreeAddr\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"uint256\",\"name\":\"assetDefinitionCode\",\"type\":\"uint256\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"AssetSponsored\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"height\",\"type\":\"uint64\",\"components\":[],\"indexed\":true},{\"internalType\":\"uint256[]\",\"name\":\"depositCommitments\",\"type\":\"uint256[]\",\"components\":[],\"indexed\":false},{\"internalType\":\"struct CAPE.CapeBlock\",\"name\":\"newBlock\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"minerAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"enum CAPE.NoteType[]\",\"name\":\"noteTypes\",\"type\":\"uint8[]\",\"components\":[]},{\"internalType\":\"struct CAPE.TransferNote[]\",\"name\":\"transferNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.MintNote[]\",\"name\":\"mintNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"inputNullifier\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chgComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"mintComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"mintAmount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"mintAssetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"uint256\",\"name\":\"mintInternalAssetCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.MintAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.FreezeNote[]\",\"name\":\"freezeNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.FreezeAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.BurnNote[]\",\"name\":\"burnNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}],\"indexed\":false}],\"type\":\"event\",\"name\":\"BlockCommitted\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"roBytes\",\"type\":\"bytes\",\"components\":[],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"erc20TokenAddress\",\"type\":\"address\",\"components\":[],\"indexed\":false},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"Erc20TokensDeposited\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"roBytes\",\"type\":\"bytes\",\"components\":[],\"indexed\":false}],\"type\":\"event\",\"name\":\"FaucetInitialized\",\"outputs\":[],\"anonymous\":false},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CAPE_BURN_MAGIC_BYTES\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CAPE_BURN_MAGIC_BYTES_SIZE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"CAP_NATIVE_ASSET_CODE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"DOM_SEP_DOMESTIC_ASSET\",\"outputs\":[{\"internalType\":\"bytes14\",\"name\":\"\",\"type\":\"bytes14\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"DOM_SEP_FOREIGN_ASSET\",\"outputs\":[{\"internalType\":\"bytes13\",\"name\":\"\",\"type\":\"bytes13\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"MAX_NUM_PENDING_DEPOSIT\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"addRoot\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"assets\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"blockHeight\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct CAPE.BurnNote\",\"name\":\"note\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"checkBurn\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assetDefinitionCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"internalAssetCode\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"checkDomesticAssetCode\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assetDefinitionCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"sponsor\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"checkForeignAssetCode\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"note\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"checkTransfer\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"address\",\"name\":\"sponsor\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"computeAssetDescription\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct CAPE.CapeBlock\",\"name\":\"newBlock\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"minerAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"enum CAPE.NoteType[]\",\"name\":\"noteTypes\",\"type\":\"uint8[]\",\"components\":[]},{\"internalType\":\"struct CAPE.TransferNote[]\",\"name\":\"transferNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.MintNote[]\",\"name\":\"mintNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"inputNullifier\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chgComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"mintComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"mintAmount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"mintAssetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"uint256\",\"name\":\"mintInternalAssetCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.MintAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.FreezeNote[]\",\"name\":\"freezeNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.FreezeAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.BurnNote[]\",\"name\":\"burnNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"computeNumCommitments\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"containsBurnPrefix\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct CAPE.BurnNote\",\"name\":\"note\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"containsBurnRecord\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"root\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"containsRoot\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"deployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"ro\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"depositErc20\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"ro\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"deriveRecordCommitment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"faucetInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"faucetManagerAddress\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"faucetManagerEncKey\",\"type\":\"bytes32\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"faucetSetupForTestnet\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"fillUpPendingDepositsQueue\",\"outputs\":[]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getNumLeaves\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"getRootValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDefinition\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"isCapeAssetRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDefinition\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"lookup\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"nativeDomesticAsset\",\"outputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDefinition\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"nullifiers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"pendingDeposits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[],\"stateMutability\":\"view\",\"type\":\"function\",\"name\":\"pendingDepositsLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\",\"components\":[]}]},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nullifier\",\"type\":\"uint256\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"publish\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newHeight\",\"type\":\"uint64\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setHeight\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"elements\",\"type\":\"uint256[]\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"setInitialRecordCommitments\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"erc20Address\",\"type\":\"address\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"newAsset\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"sponsorCapeAsset\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"struct CAPE.CapeBlock\",\"name\":\"newBlock\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"minerAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"enum CAPE.NoteType[]\",\"name\":\"noteTypes\",\"type\":\"uint8[]\",\"components\":[]},{\"internalType\":\"struct CAPE.TransferNote[]\",\"name\":\"transferNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.MintNote[]\",\"name\":\"mintNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"inputNullifier\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chgComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"mintComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"mintAmount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"mintAssetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"uint256\",\"name\":\"mintInternalAssetCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.MintAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.FreezeNote[]\",\"name\":\"freezeNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.FreezeAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.BurnNote[]\",\"name\":\"burnNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"submitCapeBlock\",\"outputs\":[]},{\"inputs\":[{\"internalType\":\"struct CAPE.CapeBlock\",\"name\":\"newBlock\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"minerAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"enum CAPE.NoteType[]\",\"name\":\"noteTypes\",\"type\":\"uint8[]\",\"components\":[]},{\"internalType\":\"struct CAPE.TransferNote[]\",\"name\":\"transferNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.MintNote[]\",\"name\":\"mintNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"inputNullifier\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chgComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"mintComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"mintAmount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"mintAssetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"uint256\",\"name\":\"mintInternalAssetCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.MintAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.FreezeNote[]\",\"name\":\"freezeNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.FreezeAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.BurnNote[]\",\"name\":\"burnNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"bytes\",\"name\":\"extraData\",\"type\":\"bytes\",\"components\":[]}],\"stateMutability\":\"nonpayable\",\"type\":\"function\",\"name\":\"submitCapeBlockWithMemos\",\"outputs\":[]}]") . expect ("invalid abi")
});
pub struct TestCAPE<M>(ethers::contract::Contract<M>);
impl<M> Clone for TestCAPE<M> {
fn clone(&self) -> Self {
TestCAPE(self.0.clone())
}
}
impl<M> std::ops::Deref for TestCAPE<M> {
type Target = ethers::contract::Contract<M>;
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<M: ethers::providers::Middleware> std::fmt::Debug for TestCAPE<M> {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.debug_tuple(stringify!(TestCAPE))
.field(&self.address())
.finish()
}
}
impl<M: ethers::providers::Middleware> TestCAPE<M> {
#[doc = r" Creates a new contract instance with the specified `ethers`"]
#[doc = r" client at the given `Address`. The contract derefs to a `ethers::Contract`"]
#[doc = r" object"]
pub fn new<T: Into<ethers::core::types::Address>>(
address: T,
client: ::std::sync::Arc<M>,
) -> Self {
ethers::contract::Contract::new(address.into(), TESTCAPE_ABI.clone(), client).into()
}
#[doc = "Calls the contract's `CAPE_BURN_MAGIC_BYTES` (0x11829f93) function"]
pub fn cape_burn_magic_bytes(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Bytes> {
self.0
.method_hash([17, 130, 159, 147], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `CAPE_BURN_MAGIC_BYTES_SIZE` (0xb4e28f1a) function"]
pub fn cape_burn_magic_bytes_size(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([180, 226, 143, 26], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `CAP_NATIVE_ASSET_CODE` (0x79cf6f5c) function"]
pub fn cap_native_asset_code(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([121, 207, 111, 92], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `DOM_SEP_DOMESTIC_ASSET` (0x1db6b253) function"]
pub fn dom_sep_domestic_asset(
&self,
) -> ethers::contract::builders::ContractCall<M, [u8; 14]> {
self.0
.method_hash([29, 182, 178, 83], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `DOM_SEP_FOREIGN_ASSET` (0xa33ba96c) function"]
pub fn dom_sep_foreign_asset(
&self,
) -> ethers::contract::builders::ContractCall<M, [u8; 13]> {
self.0
.method_hash([163, 59, 169, 108], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `MAX_NUM_PENDING_DEPOSIT` (0x9dd584b9) function"]
pub fn max_num_pending_deposit(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([157, 213, 132, 185], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `addRoot` (0xe8aaf83e) function"]
pub fn add_root(
&self,
root: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([232, 170, 248, 62], root)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `assets` (0x9fda5b66) function"]
pub fn assets(
&self,
p0: [u8; 32],
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Address> {
self.0
.method_hash([159, 218, 91, 102], p0)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `blockHeight` (0xf44ff712) function"]
pub fn block_height(&self) -> ethers::contract::builders::ContractCall<M, u64> {
self.0
.method_hash([244, 79, 247, 18], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `checkBurn` (0xd73ce5d7) function"]
pub fn check_burn(
&self,
note: BurnNote,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([215, 60, 229, 215], (note,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `checkDomesticAssetCode` (0xec45a3ea) function"]
pub fn check_domestic_asset_code(
&self,
asset_definition_code: ethers::core::types::U256,
internal_asset_code: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash(
[236, 69, 163, 234],
(asset_definition_code, internal_asset_code),
)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `checkForeignAssetCode` (0x4da7ef1b) function"]
pub fn check_foreign_asset_code(
&self,
asset_definition_code: ethers::core::types::U256,
erc_20_address: ethers::core::types::Address,
sponsor: ethers::core::types::Address,
policy: AssetPolicy,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash(
[77, 167, 239, 27],
(asset_definition_code, erc_20_address, sponsor, policy),
)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `checkTransfer` (0x9e50da77) function"]
pub fn check_transfer(
&self,
note: TransferNote,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([158, 80, 218, 119], (note,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `computeAssetDescription` (0xd0f996a8) function"]
pub fn compute_asset_description(
&self,
erc_20_address: ethers::core::types::Address,
sponsor: ethers::core::types::Address,
policy: AssetPolicy,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Bytes> {
self.0
.method_hash([208, 249, 150, 168], (erc_20_address, sponsor, policy))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `computeNumCommitments` (0x8ec4a6f8) function"]
pub fn compute_num_commitments(
&self,
new_block: CapeBlock,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([142, 196, 166, 248], (new_block,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `containsBurnPrefix` (0x2f846680) function"]
pub fn contains_burn_prefix(
&self,
extra_proof_bound_data: ethers::core::types::Bytes,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([47, 132, 102, 128], extra_proof_bound_data)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `containsBurnRecord` (0xb24207de) function"]
pub fn contains_burn_record(
&self,
note: BurnNote,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([178, 66, 7, 222], (note,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `containsRoot` (0x7c897b72) function"]
pub fn contains_root(
&self,
root: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([124, 137, 123, 114], root)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `deployer` (0xd5f39488) function"]
pub fn deployer(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Address> {
self.0
.method_hash([213, 243, 148, 136], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `depositErc20` (0x6868dd1f) function"]
pub fn deposit_erc_20(
&self,
ro: RecordOpening,
erc_20_address: ethers::core::types::Address,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([104, 104, 221, 31], (ro, erc_20_address))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `deriveRecordCommitment` (0x980f78b8) function"]
pub fn derive_record_commitment(
&self,
ro: RecordOpening,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([152, 15, 120, 184], (ro,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `faucetInitialized` (0xfe3cc3f8) function"]
pub fn faucet_initialized(&self) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([254, 60, 195, 248], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `faucetSetupForTestnet` (0xb12f7e7b) function"]
pub fn faucet_setup_for_testnet(
&self,
faucet_manager_address: EdOnBN254Point,
faucet_manager_enc_key: [u8; 32],
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash(
[177, 47, 126, 123],
(faucet_manager_address, faucet_manager_enc_key),
)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `fillUpPendingDepositsQueue` (0x21a5ad07) function"]
pub fn fill_up_pending_deposits_queue(
&self,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([33, 165, 173, 7], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `getNumLeaves` (0x927d52ab) function"]
pub fn get_num_leaves(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([146, 125, 82, 171], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `getRootValue` (0x6444c8d1) function"]
pub fn get_root_value(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([100, 68, 200, 209], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `isCapeAssetRegistered` (0xf148fb4a) function"]
pub fn is_cape_asset_registered(
&self,
asset_definition: AssetDefinition,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([241, 72, 251, 74], (asset_definition,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `lookup` (0xd56c1ea1) function"]
pub fn lookup(
&self,
asset_definition: AssetDefinition,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::Address> {
self.0
.method_hash([213, 108, 30, 161], (asset_definition,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `nativeDomesticAsset` (0x6de84060) function"]
pub fn native_domestic_asset(
&self,
) -> ethers::contract::builders::ContractCall<M, AssetDefinition> {
self.0
.method_hash([109, 232, 64, 96], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `nullifiers` (0xd21e82ab) function"]
pub fn nullifiers(
&self,
p0: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, bool> {
self.0
.method_hash([210, 30, 130, 171], p0)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `pendingDeposits` (0xa7932794) function"]
pub fn pending_deposits(
&self,
p0: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([167, 147, 39, 148], p0)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `pendingDepositsLength` (0x01bd0ea5) function"]
pub fn pending_deposits_length(
&self,
) -> ethers::contract::builders::ContractCall<M, ethers::core::types::U256> {
self.0
.method_hash([1, 189, 14, 165], ())
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `publish` (0xcc4ef119) function"]
pub fn publish(
&self,
nullifier: ethers::core::types::U256,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([204, 78, 241, 25], nullifier)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `setHeight` (0x99db4d41) function"]
pub fn set_height(
&self,
new_height: u64,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([153, 219, 77, 65], new_height)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `setInitialRecordCommitments` (0xba721089) function"]
pub fn set_initial_record_commitments(
&self,
elements: ::std::vec::Vec<ethers::core::types::U256>,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([186, 114, 16, 137], elements)
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `sponsorCapeAsset` (0x0a212145) function"]
pub fn sponsor_cape_asset(
&self,
erc_20_address: ethers::core::types::Address,
new_asset: AssetDefinition,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([10, 33, 33, 69], (erc_20_address, new_asset))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `submitCapeBlock` (0xcb390b98) function"]
pub fn submit_cape_block(
&self,
new_block: CapeBlock,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([203, 57, 11, 152], (new_block,))
.expect("method not found (this should never happen)")
}
#[doc = "Calls the contract's `submitCapeBlockWithMemos` (0x10b4e3a1) function"]
pub fn submit_cape_block_with_memos(
&self,
new_block: CapeBlock,
extra_data: ethers::core::types::Bytes,
) -> ethers::contract::builders::ContractCall<M, ()> {
self.0
.method_hash([16, 180, 227, 161], (new_block, extra_data))
.expect("method not found (this should never happen)")
}
#[doc = "Gets the contract's `AssetSponsored` event"]
pub fn asset_sponsored_filter(
&self,
) -> ethers::contract::builders::Event<M, AssetSponsoredFilter> {
self.0.event()
}
#[doc = "Gets the contract's `BlockCommitted` event"]
pub fn block_committed_filter(
&self,
) -> ethers::contract::builders::Event<M, BlockCommittedFilter> {
self.0.event()
}
#[doc = "Gets the contract's `Erc20TokensDeposited` event"]
pub fn erc_20_tokens_deposited_filter(
&self,
) -> ethers::contract::builders::Event<M, Erc20TokensDepositedFilter> {
self.0.event()
}
#[doc = "Gets the contract's `FaucetInitialized` event"]
pub fn faucet_initialized_filter(
&self,
) -> ethers::contract::builders::Event<M, FaucetInitializedFilter> {
self.0.event()
}
#[doc = r" Returns an [`Event`](#ethers_contract::builders::Event) builder for all events of this contract"]
pub fn events(&self) -> ethers::contract::builders::Event<M, TestCAPEEvents> {
self.0.event_with_filter(Default::default())
}
}
impl<M: ethers::providers::Middleware> From<ethers::contract::Contract<M>> for TestCAPE<M> {
fn from(contract: ethers::contract::Contract<M>) -> Self {
Self(contract)
}
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "AssetSponsored", abi = "AssetSponsored(address,uint256)")]
pub struct AssetSponsoredFilter {
pub erc_20_address: ethers::core::types::Address,
pub asset_definition_code: ethers::core::types::U256,
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(
name = "BlockCommitted",
abi = "BlockCommitted(uint64,uint256[],((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]))"
)]
pub struct BlockCommittedFilter {
#[ethevent(indexed)]
pub height: u64,
pub deposit_commitments: Vec<ethers::core::types::U256>,
pub new_block: (
(ethers::core::types::U256, ethers::core::types::U256),
Vec<u8>,
Vec<(
Vec<ethers::core::types::U256>,
Vec<ethers::core::types::U256>,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
),
(
(ethers::core::types::U256, ethers::core::types::U256),
Vec<ethers::core::types::U256>,
),
(
ethers::core::types::U256,
u128,
u64,
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::Bytes,
),
)>,
Vec<(
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
u128,
(
ethers::core::types::U256,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
u128,
),
),
ethers::core::types::U256,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
),
(
(ethers::core::types::U256, ethers::core::types::U256),
Vec<ethers::core::types::U256>,
),
(
ethers::core::types::U256,
u128,
(ethers::core::types::U256, ethers::core::types::U256),
),
)>,
Vec<(
Vec<ethers::core::types::U256>,
Vec<ethers::core::types::U256>,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
),
(
ethers::core::types::U256,
u128,
(ethers::core::types::U256, ethers::core::types::U256),
),
)>,
Vec<(
(
Vec<ethers::core::types::U256>,
Vec<ethers::core::types::U256>,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
ethers::core::types::U256,
),
(
(ethers::core::types::U256, ethers::core::types::U256),
Vec<ethers::core::types::U256>,
),
(
ethers::core::types::U256,
u128,
u64,
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::Bytes,
),
),
(
u128,
(
ethers::core::types::U256,
(
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
(ethers::core::types::U256, ethers::core::types::U256),
ethers::core::types::U256,
u128,
),
),
(ethers::core::types::U256, ethers::core::types::U256),
[u8; 32],
bool,
ethers::core::types::U256,
),
)>,
),
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(
name = "Erc20TokensDeposited",
abi = "Erc20TokensDeposited(bytes,address,address)"
)]
pub struct Erc20TokensDepositedFilter {
pub ro_bytes: ethers::core::types::Bytes,
pub erc_20_token_address: ethers::core::types::Address,
pub from: ethers::core::types::Address,
}
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthEvent,
ethers :: contract :: EthDisplay,
)]
#[ethevent(name = "FaucetInitialized", abi = "FaucetInitialized(bytes)")]
pub struct FaucetInitializedFilter {
pub ro_bytes: ethers::core::types::Bytes,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum TestCAPEEvents {
AssetSponsoredFilter(AssetSponsoredFilter),
BlockCommittedFilter(BlockCommittedFilter),
Erc20TokensDepositedFilter(Erc20TokensDepositedFilter),
FaucetInitializedFilter(FaucetInitializedFilter),
}
impl ethers::contract::EthLogDecode for TestCAPEEvents {
fn decode_log(log: &ethers::core::abi::RawLog) -> Result<Self, ethers::core::abi::Error>
where
Self: Sized,
{
if let Ok(decoded) = AssetSponsoredFilter::decode_log(log) {
return Ok(TestCAPEEvents::AssetSponsoredFilter(decoded));
}
if let Ok(decoded) = BlockCommittedFilter::decode_log(log) {
return Ok(TestCAPEEvents::BlockCommittedFilter(decoded));
}
if let Ok(decoded) = Erc20TokensDepositedFilter::decode_log(log) {
return Ok(TestCAPEEvents::Erc20TokensDepositedFilter(decoded));
}
if let Ok(decoded) = FaucetInitializedFilter::decode_log(log) {
return Ok(TestCAPEEvents::FaucetInitializedFilter(decoded));
}
Err(ethers::core::abi::Error::InvalidData)
}
}
impl ::std::fmt::Display for TestCAPEEvents {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
TestCAPEEvents::AssetSponsoredFilter(element) => element.fmt(f),
TestCAPEEvents::BlockCommittedFilter(element) => element.fmt(f),
TestCAPEEvents::Erc20TokensDepositedFilter(element) => element.fmt(f),
TestCAPEEvents::FaucetInitializedFilter(element) => element.fmt(f),
}
}
}
#[doc = "Container type for all input parameters for the `CAPE_BURN_MAGIC_BYTES`function with signature `CAPE_BURN_MAGIC_BYTES()` and selector `[17, 130, 159, 147]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "CAPE_BURN_MAGIC_BYTES", abi = "CAPE_BURN_MAGIC_BYTES()")]
pub struct CapeBurnMagicBytesCall;
#[doc = "Container type for all input parameters for the `CAPE_BURN_MAGIC_BYTES_SIZE`function with signature `CAPE_BURN_MAGIC_BYTES_SIZE()` and selector `[180, 226, 143, 26]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "CAPE_BURN_MAGIC_BYTES_SIZE",
abi = "CAPE_BURN_MAGIC_BYTES_SIZE()"
)]
pub struct CapeBurnMagicBytesSizeCall;
#[doc = "Container type for all input parameters for the `CAP_NATIVE_ASSET_CODE`function with signature `CAP_NATIVE_ASSET_CODE()` and selector `[121, 207, 111, 92]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "CAP_NATIVE_ASSET_CODE", abi = "CAP_NATIVE_ASSET_CODE()")]
pub struct CapNativeAssetCodeCall;
#[doc = "Container type for all input parameters for the `DOM_SEP_DOMESTIC_ASSET`function with signature `DOM_SEP_DOMESTIC_ASSET()` and selector `[29, 182, 178, 83]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "DOM_SEP_DOMESTIC_ASSET", abi = "DOM_SEP_DOMESTIC_ASSET()")]
pub struct DomSepDomesticAssetCall;
#[doc = "Container type for all input parameters for the `DOM_SEP_FOREIGN_ASSET`function with signature `DOM_SEP_FOREIGN_ASSET()` and selector `[163, 59, 169, 108]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "DOM_SEP_FOREIGN_ASSET", abi = "DOM_SEP_FOREIGN_ASSET()")]
pub struct DomSepForeignAssetCall;
#[doc = "Container type for all input parameters for the `MAX_NUM_PENDING_DEPOSIT`function with signature `MAX_NUM_PENDING_DEPOSIT()` and selector `[157, 213, 132, 185]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "MAX_NUM_PENDING_DEPOSIT", abi = "MAX_NUM_PENDING_DEPOSIT()")]
pub struct MaxNumPendingDepositCall;
#[doc = "Container type for all input parameters for the `addRoot`function with signature `addRoot(uint256)` and selector `[232, 170, 248, 62]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "addRoot", abi = "addRoot(uint256)")]
pub struct AddRootCall {
pub root: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `assets`function with signature `assets(bytes32)` and selector `[159, 218, 91, 102]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "assets", abi = "assets(bytes32)")]
pub struct AssetsCall(pub [u8; 32]);
#[doc = "Container type for all input parameters for the `blockHeight`function with signature `blockHeight()` and selector `[244, 79, 247, 18]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "blockHeight", abi = "blockHeight()")]
pub struct BlockHeightCall;
#[doc = "Container type for all input parameters for the `checkBurn`function with signature `checkBurn(((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256)))` and selector `[215, 60, 229, 215]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "checkBurn",
abi = "checkBurn(((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256)))"
)]
pub struct CheckBurnCall {
pub note: BurnNote,
}
#[doc = "Container type for all input parameters for the `checkDomesticAssetCode`function with signature `checkDomesticAssetCode(uint256,uint256)` and selector `[236, 69, 163, 234]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "checkDomesticAssetCode",
abi = "checkDomesticAssetCode(uint256,uint256)"
)]
pub struct CheckDomesticAssetCodeCall {
pub asset_definition_code: ethers::core::types::U256,
pub internal_asset_code: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `checkForeignAssetCode`function with signature `checkForeignAssetCode(uint256,address,address,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128))` and selector `[77, 167, 239, 27]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "checkForeignAssetCode",
abi = "checkForeignAssetCode(uint256,address,address,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128))"
)]
pub struct CheckForeignAssetCodeCall {
pub asset_definition_code: ethers::core::types::U256,
pub erc_20_address: ethers::core::types::Address,
pub sponsor: ethers::core::types::Address,
pub policy: AssetPolicy,
}
#[doc = "Container type for all input parameters for the `checkTransfer`function with signature `checkTransfer((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)))` and selector `[158, 80, 218, 119]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "checkTransfer",
abi = "checkTransfer((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)))"
)]
pub struct CheckTransferCall {
pub note: TransferNote,
}
#[doc = "Container type for all input parameters for the `computeAssetDescription`function with signature `computeAssetDescription(address,address,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128))` and selector `[208, 249, 150, 168]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "computeAssetDescription",
abi = "computeAssetDescription(address,address,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128))"
)]
pub struct ComputeAssetDescriptionCall {
pub erc_20_address: ethers::core::types::Address,
pub sponsor: ethers::core::types::Address,
pub policy: AssetPolicy,
}
#[doc = "Container type for all input parameters for the `computeNumCommitments`function with signature `computeNumCommitments(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]))` and selector `[142, 196, 166, 248]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "computeNumCommitments",
abi = "computeNumCommitments(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]))"
)]
pub struct ComputeNumCommitmentsCall {
pub new_block: CapeBlock,
}
#[doc = "Container type for all input parameters for the `containsBurnPrefix`function with signature `containsBurnPrefix(bytes)` and selector `[47, 132, 102, 128]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "containsBurnPrefix", abi = "containsBurnPrefix(bytes)")]
pub struct ContainsBurnPrefixCall {
pub extra_proof_bound_data: ethers::core::types::Bytes,
}
#[doc = "Container type for all input parameters for the `containsBurnRecord`function with signature `containsBurnRecord(((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256)))` and selector `[178, 66, 7, 222]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "containsBurnRecord",
abi = "containsBurnRecord(((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256)))"
)]
pub struct ContainsBurnRecordCall {
pub note: BurnNote,
}
#[doc = "Container type for all input parameters for the `containsRoot`function with signature `containsRoot(uint256)` and selector `[124, 137, 123, 114]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "containsRoot", abi = "containsRoot(uint256)")]
pub struct ContainsRootCall {
pub root: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `deployer`function with signature `deployer()` and selector `[213, 243, 148, 136]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "deployer", abi = "deployer()")]
pub struct DeployerCall;
#[doc = "Container type for all input parameters for the `depositErc20`function with signature `depositErc20((uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256),address)` and selector `[104, 104, 221, 31]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "depositErc20",
abi = "depositErc20((uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256),address)"
)]
pub struct DepositErc20Call {
pub ro: RecordOpening,
pub erc_20_address: ethers::core::types::Address,
}
#[doc = "Container type for all input parameters for the `deriveRecordCommitment`function with signature `deriveRecordCommitment((uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))` and selector `[152, 15, 120, 184]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "deriveRecordCommitment",
abi = "deriveRecordCommitment((uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))"
)]
pub struct DeriveRecordCommitmentCall {
pub ro: RecordOpening,
}
#[doc = "Container type for all input parameters for the `faucetInitialized`function with signature `faucetInitialized()` and selector `[254, 60, 195, 248]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "faucetInitialized", abi = "faucetInitialized()")]
pub struct FaucetInitializedCall;
#[doc = "Container type for all input parameters for the `faucetSetupForTestnet`function with signature `faucetSetupForTestnet((uint256,uint256),bytes32)` and selector `[177, 47, 126, 123]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "faucetSetupForTestnet",
abi = "faucetSetupForTestnet((uint256,uint256),bytes32)"
)]
pub struct FaucetSetupForTestnetCall {
pub faucet_manager_address: EdOnBN254Point,
pub faucet_manager_enc_key: [u8; 32],
}
#[doc = "Container type for all input parameters for the `fillUpPendingDepositsQueue`function with signature `fillUpPendingDepositsQueue()` and selector `[33, 165, 173, 7]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "fillUpPendingDepositsQueue",
abi = "fillUpPendingDepositsQueue()"
)]
pub struct FillUpPendingDepositsQueueCall;
#[doc = "Container type for all input parameters for the `getNumLeaves`function with signature `getNumLeaves()` and selector `[146, 125, 82, 171]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "getNumLeaves", abi = "getNumLeaves()")]
pub struct GetNumLeavesCall;
#[doc = "Container type for all input parameters for the `getRootValue`function with signature `getRootValue()` and selector `[100, 68, 200, 209]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "getRootValue", abi = "getRootValue()")]
pub struct GetRootValueCall;
#[doc = "Container type for all input parameters for the `isCapeAssetRegistered`function with signature `isCapeAssetRegistered((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))` and selector `[241, 72, 251, 74]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "isCapeAssetRegistered",
abi = "isCapeAssetRegistered((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))"
)]
pub struct IsCapeAssetRegisteredCall {
pub asset_definition: AssetDefinition,
}
#[doc = "Container type for all input parameters for the `lookup`function with signature `lookup((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))` and selector `[213, 108, 30, 161]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "lookup",
abi = "lookup((uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))"
)]
pub struct LookupCall {
pub asset_definition: AssetDefinition,
}
#[doc = "Container type for all input parameters for the `nativeDomesticAsset`function with signature `nativeDomesticAsset()` and selector `[109, 232, 64, 96]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "nativeDomesticAsset", abi = "nativeDomesticAsset()")]
pub struct NativeDomesticAssetCall;
#[doc = "Container type for all input parameters for the `nullifiers`function with signature `nullifiers(uint256)` and selector `[210, 30, 130, 171]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "nullifiers", abi = "nullifiers(uint256)")]
pub struct NullifiersCall(pub ethers::core::types::U256);
#[doc = "Container type for all input parameters for the `pendingDeposits`function with signature `pendingDeposits(uint256)` and selector `[167, 147, 39, 148]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "pendingDeposits", abi = "pendingDeposits(uint256)")]
pub struct PendingDepositsCall(pub ethers::core::types::U256);
#[doc = "Container type for all input parameters for the `pendingDepositsLength`function with signature `pendingDepositsLength()` and selector `[1, 189, 14, 165]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "pendingDepositsLength", abi = "pendingDepositsLength()")]
pub struct PendingDepositsLengthCall;
#[doc = "Container type for all input parameters for the `publish`function with signature `publish(uint256)` and selector `[204, 78, 241, 25]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "publish", abi = "publish(uint256)")]
pub struct PublishCall {
pub nullifier: ethers::core::types::U256,
}
#[doc = "Container type for all input parameters for the `setHeight`function with signature `setHeight(uint64)` and selector `[153, 219, 77, 65]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(name = "setHeight", abi = "setHeight(uint64)")]
pub struct SetHeightCall {
pub new_height: u64,
}
#[doc = "Container type for all input parameters for the `setInitialRecordCommitments`function with signature `setInitialRecordCommitments(uint256[])` and selector `[186, 114, 16, 137]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "setInitialRecordCommitments",
abi = "setInitialRecordCommitments(uint256[])"
)]
pub struct SetInitialRecordCommitmentsCall {
pub elements: ::std::vec::Vec<ethers::core::types::U256>,
}
#[doc = "Container type for all input parameters for the `sponsorCapeAsset`function with signature `sponsorCapeAsset(address,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))` and selector `[10, 33, 33, 69]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "sponsorCapeAsset",
abi = "sponsorCapeAsset(address,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)))"
)]
pub struct SponsorCapeAssetCall {
pub erc_20_address: ethers::core::types::Address,
pub new_asset: AssetDefinition,
}
#[doc = "Container type for all input parameters for the `submitCapeBlock`function with signature `submitCapeBlock(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]))` and selector `[203, 57, 11, 152]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "submitCapeBlock",
abi = "submitCapeBlock(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]))"
)]
pub struct SubmitCapeBlockCall {
pub new_block: CapeBlock,
}
#[doc = "Container type for all input parameters for the `submitCapeBlockWithMemos`function with signature `submitCapeBlockWithMemos(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]),bytes)` and selector `[16, 180, 227, 161]`"]
#[derive(
Clone,
Debug,
Default,
Eq,
PartialEq,
ethers :: contract :: EthCall,
ethers :: contract :: EthDisplay,
)]
#[ethcall(
name = "submitCapeBlockWithMemos",
abi = "submitCapeBlockWithMemos(((uint256,uint256),uint8[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes))[],(uint256,uint256,uint256,uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,(uint256,uint256)))[],(uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),(uint256,uint128,(uint256,uint256)))[],((uint256[],uint256[],((uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256),((uint256,uint256),uint256[]),(uint256,uint128,uint64,(uint256,uint256),bytes)),(uint128,(uint256,((uint256,uint256),(uint256,uint256),(uint256,uint256),uint256,uint128)),(uint256,uint256),bytes32,bool,uint256))[]),bytes)"
)]
pub struct SubmitCapeBlockWithMemosCall {
pub new_block: CapeBlock,
pub extra_data: ethers::core::types::Bytes,
}
#[derive(Debug, Clone, PartialEq, Eq, ethers :: contract :: EthAbiType)]
pub enum TestCAPECalls {
CapeBurnMagicBytes(CapeBurnMagicBytesCall),
CapeBurnMagicBytesSize(CapeBurnMagicBytesSizeCall),
CapNativeAssetCode(CapNativeAssetCodeCall),
DomSepDomesticAsset(DomSepDomesticAssetCall),
DomSepForeignAsset(DomSepForeignAssetCall),
MaxNumPendingDeposit(MaxNumPendingDepositCall),
AddRoot(AddRootCall),
Assets(AssetsCall),
BlockHeight(BlockHeightCall),
CheckBurn(CheckBurnCall),
CheckDomesticAssetCode(CheckDomesticAssetCodeCall),
CheckForeignAssetCode(CheckForeignAssetCodeCall),
CheckTransfer(CheckTransferCall),
ComputeAssetDescription(ComputeAssetDescriptionCall),
ComputeNumCommitments(ComputeNumCommitmentsCall),
ContainsBurnPrefix(ContainsBurnPrefixCall),
ContainsBurnRecord(ContainsBurnRecordCall),
ContainsRoot(ContainsRootCall),
Deployer(DeployerCall),
DepositErc20(DepositErc20Call),
DeriveRecordCommitment(DeriveRecordCommitmentCall),
FaucetInitialized(FaucetInitializedCall),
FaucetSetupForTestnet(FaucetSetupForTestnetCall),
FillUpPendingDepositsQueue(FillUpPendingDepositsQueueCall),
GetNumLeaves(GetNumLeavesCall),
GetRootValue(GetRootValueCall),
IsCapeAssetRegistered(IsCapeAssetRegisteredCall),
Lookup(LookupCall),
NativeDomesticAsset(NativeDomesticAssetCall),
Nullifiers(NullifiersCall),
PendingDeposits(PendingDepositsCall),
PendingDepositsLength(PendingDepositsLengthCall),
Publish(PublishCall),
SetHeight(SetHeightCall),
SetInitialRecordCommitments(SetInitialRecordCommitmentsCall),
SponsorCapeAsset(SponsorCapeAssetCall),
SubmitCapeBlock(SubmitCapeBlockCall),
SubmitCapeBlockWithMemos(SubmitCapeBlockWithMemosCall),
}
impl ethers::core::abi::AbiDecode for TestCAPECalls {
fn decode(data: impl AsRef<[u8]>) -> Result<Self, ethers::core::abi::AbiError> {
if let Ok(decoded) =
<CapeBurnMagicBytesCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::CapeBurnMagicBytes(decoded));
}
if let Ok(decoded) =
<CapeBurnMagicBytesSizeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::CapeBurnMagicBytesSize(decoded));
}
if let Ok(decoded) =
<CapNativeAssetCodeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::CapNativeAssetCode(decoded));
}
if let Ok(decoded) =
<DomSepDomesticAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::DomSepDomesticAsset(decoded));
}
if let Ok(decoded) =
<DomSepForeignAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::DomSepForeignAsset(decoded));
}
if let Ok(decoded) =
<MaxNumPendingDepositCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::MaxNumPendingDeposit(decoded));
}
if let Ok(decoded) =
<AddRootCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::AddRoot(decoded));
}
if let Ok(decoded) = <AssetsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::Assets(decoded));
}
if let Ok(decoded) =
<BlockHeightCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::BlockHeight(decoded));
}
if let Ok(decoded) =
<CheckBurnCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::CheckBurn(decoded));
}
if let Ok(decoded) =
<CheckDomesticAssetCodeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::CheckDomesticAssetCode(decoded));
}
if let Ok(decoded) =
<CheckForeignAssetCodeCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::CheckForeignAssetCode(decoded));
}
if let Ok(decoded) =
<CheckTransferCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::CheckTransfer(decoded));
}
if let Ok(decoded) =
<ComputeAssetDescriptionCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::ComputeAssetDescription(decoded));
}
if let Ok(decoded) =
<ComputeNumCommitmentsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::ComputeNumCommitments(decoded));
}
if let Ok(decoded) =
<ContainsBurnPrefixCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::ContainsBurnPrefix(decoded));
}
if let Ok(decoded) =
<ContainsBurnRecordCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::ContainsBurnRecord(decoded));
}
if let Ok(decoded) =
<ContainsRootCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::ContainsRoot(decoded));
}
if let Ok(decoded) =
<DeployerCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::Deployer(decoded));
}
if let Ok(decoded) =
<DepositErc20Call as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::DepositErc20(decoded));
}
if let Ok(decoded) =
<DeriveRecordCommitmentCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::DeriveRecordCommitment(decoded));
}
if let Ok(decoded) =
<FaucetInitializedCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::FaucetInitialized(decoded));
}
if let Ok(decoded) =
<FaucetSetupForTestnetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::FaucetSetupForTestnet(decoded));
}
if let Ok(decoded) =
<FillUpPendingDepositsQueueCall as ethers::core::abi::AbiDecode>::decode(
data.as_ref(),
)
{
return Ok(TestCAPECalls::FillUpPendingDepositsQueue(decoded));
}
if let Ok(decoded) =
<GetNumLeavesCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::GetNumLeaves(decoded));
}
if let Ok(decoded) =
<GetRootValueCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::GetRootValue(decoded));
}
if let Ok(decoded) =
<IsCapeAssetRegisteredCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::IsCapeAssetRegistered(decoded));
}
if let Ok(decoded) = <LookupCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::Lookup(decoded));
}
if let Ok(decoded) =
<NativeDomesticAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::NativeDomesticAsset(decoded));
}
if let Ok(decoded) =
<NullifiersCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::Nullifiers(decoded));
}
if let Ok(decoded) =
<PendingDepositsCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::PendingDeposits(decoded));
}
if let Ok(decoded) =
<PendingDepositsLengthCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::PendingDepositsLength(decoded));
}
if let Ok(decoded) =
<PublishCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::Publish(decoded));
}
if let Ok(decoded) =
<SetHeightCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::SetHeight(decoded));
}
if let Ok(decoded) =
<SetInitialRecordCommitmentsCall as ethers::core::abi::AbiDecode>::decode(
data.as_ref(),
)
{
return Ok(TestCAPECalls::SetInitialRecordCommitments(decoded));
}
if let Ok(decoded) =
<SponsorCapeAssetCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::SponsorCapeAsset(decoded));
}
if let Ok(decoded) =
<SubmitCapeBlockCall as ethers::core::abi::AbiDecode>::decode(data.as_ref())
{
return Ok(TestCAPECalls::SubmitCapeBlock(decoded));
}
if let Ok(decoded) =
<SubmitCapeBlockWithMemosCall as ethers::core::abi::AbiDecode>::decode(
data.as_ref(),
)
{
return Ok(TestCAPECalls::SubmitCapeBlockWithMemos(decoded));
}
Err(ethers::core::abi::Error::InvalidData.into())
}
}
impl ethers::core::abi::AbiEncode for TestCAPECalls {
fn encode(self) -> Vec<u8> {
match self {
TestCAPECalls::CapeBurnMagicBytes(element) => element.encode(),
TestCAPECalls::CapeBurnMagicBytesSize(element) => element.encode(),
TestCAPECalls::CapNativeAssetCode(element) => element.encode(),
TestCAPECalls::DomSepDomesticAsset(element) => element.encode(),
TestCAPECalls::DomSepForeignAsset(element) => element.encode(),
TestCAPECalls::MaxNumPendingDeposit(element) => element.encode(),
TestCAPECalls::AddRoot(element) => element.encode(),
TestCAPECalls::Assets(element) => element.encode(),
TestCAPECalls::BlockHeight(element) => element.encode(),
TestCAPECalls::CheckBurn(element) => element.encode(),
TestCAPECalls::CheckDomesticAssetCode(element) => element.encode(),
TestCAPECalls::CheckForeignAssetCode(element) => element.encode(),
TestCAPECalls::CheckTransfer(element) => element.encode(),
TestCAPECalls::ComputeAssetDescription(element) => element.encode(),
TestCAPECalls::ComputeNumCommitments(element) => element.encode(),
TestCAPECalls::ContainsBurnPrefix(element) => element.encode(),
TestCAPECalls::ContainsBurnRecord(element) => element.encode(),
TestCAPECalls::ContainsRoot(element) => element.encode(),
TestCAPECalls::Deployer(element) => element.encode(),
TestCAPECalls::DepositErc20(element) => element.encode(),
TestCAPECalls::DeriveRecordCommitment(element) => element.encode(),
TestCAPECalls::FaucetInitialized(element) => element.encode(),
TestCAPECalls::FaucetSetupForTestnet(element) => element.encode(),
TestCAPECalls::FillUpPendingDepositsQueue(element) => element.encode(),
TestCAPECalls::GetNumLeaves(element) => element.encode(),
TestCAPECalls::GetRootValue(element) => element.encode(),
TestCAPECalls::IsCapeAssetRegistered(element) => element.encode(),
TestCAPECalls::Lookup(element) => element.encode(),
TestCAPECalls::NativeDomesticAsset(element) => element.encode(),
TestCAPECalls::Nullifiers(element) => element.encode(),
TestCAPECalls::PendingDeposits(element) => element.encode(),
TestCAPECalls::PendingDepositsLength(element) => element.encode(),
TestCAPECalls::Publish(element) => element.encode(),
TestCAPECalls::SetHeight(element) => element.encode(),
TestCAPECalls::SetInitialRecordCommitments(element) => element.encode(),
TestCAPECalls::SponsorCapeAsset(element) => element.encode(),
TestCAPECalls::SubmitCapeBlock(element) => element.encode(),
TestCAPECalls::SubmitCapeBlockWithMemos(element) => element.encode(),
}
}
}
impl ::std::fmt::Display for TestCAPECalls {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
match self {
TestCAPECalls::CapeBurnMagicBytes(element) => element.fmt(f),
TestCAPECalls::CapeBurnMagicBytesSize(element) => element.fmt(f),
TestCAPECalls::CapNativeAssetCode(element) => element.fmt(f),
TestCAPECalls::DomSepDomesticAsset(element) => element.fmt(f),
TestCAPECalls::DomSepForeignAsset(element) => element.fmt(f),
TestCAPECalls::MaxNumPendingDeposit(element) => element.fmt(f),
TestCAPECalls::AddRoot(element) => element.fmt(f),
TestCAPECalls::Assets(element) => element.fmt(f),
TestCAPECalls::BlockHeight(element) => element.fmt(f),
TestCAPECalls::CheckBurn(element) => element.fmt(f),
TestCAPECalls::CheckDomesticAssetCode(element) => element.fmt(f),
TestCAPECalls::CheckForeignAssetCode(element) => element.fmt(f),
TestCAPECalls::CheckTransfer(element) => element.fmt(f),
TestCAPECalls::ComputeAssetDescription(element) => element.fmt(f),
TestCAPECalls::ComputeNumCommitments(element) => element.fmt(f),
TestCAPECalls::ContainsBurnPrefix(element) => element.fmt(f),
TestCAPECalls::ContainsBurnRecord(element) => element.fmt(f),
TestCAPECalls::ContainsRoot(element) => element.fmt(f),
TestCAPECalls::Deployer(element) => element.fmt(f),
TestCAPECalls::DepositErc20(element) => element.fmt(f),
TestCAPECalls::DeriveRecordCommitment(element) => element.fmt(f),
TestCAPECalls::FaucetInitialized(element) => element.fmt(f),
TestCAPECalls::FaucetSetupForTestnet(element) => element.fmt(f),
TestCAPECalls::FillUpPendingDepositsQueue(element) => element.fmt(f),
TestCAPECalls::GetNumLeaves(element) => element.fmt(f),
TestCAPECalls::GetRootValue(element) => element.fmt(f),
TestCAPECalls::IsCapeAssetRegistered(element) => element.fmt(f),
TestCAPECalls::Lookup(element) => element.fmt(f),
TestCAPECalls::NativeDomesticAsset(element) => element.fmt(f),
TestCAPECalls::Nullifiers(element) => element.fmt(f),
TestCAPECalls::PendingDeposits(element) => element.fmt(f),
TestCAPECalls::PendingDepositsLength(element) => element.fmt(f),
TestCAPECalls::Publish(element) => element.fmt(f),
TestCAPECalls::SetHeight(element) => element.fmt(f),
TestCAPECalls::SetInitialRecordCommitments(element) => element.fmt(f),
TestCAPECalls::SponsorCapeAsset(element) => element.fmt(f),
TestCAPECalls::SubmitCapeBlock(element) => element.fmt(f),
TestCAPECalls::SubmitCapeBlockWithMemos(element) => element.fmt(f),
}
}
}
impl ::std::convert::From<CapeBurnMagicBytesCall> for TestCAPECalls {
fn from(var: CapeBurnMagicBytesCall) -> Self {
TestCAPECalls::CapeBurnMagicBytes(var)
}
}
impl ::std::convert::From<CapeBurnMagicBytesSizeCall> for TestCAPECalls {
fn from(var: CapeBurnMagicBytesSizeCall) -> Self {
TestCAPECalls::CapeBurnMagicBytesSize(var)
}
}
impl ::std::convert::From<CapNativeAssetCodeCall> for TestCAPECalls {
fn from(var: CapNativeAssetCodeCall) -> Self {
TestCAPECalls::CapNativeAssetCode(var)
}
}
impl ::std::convert::From<DomSepDomesticAssetCall> for TestCAPECalls {
fn from(var: DomSepDomesticAssetCall) -> Self {
TestCAPECalls::DomSepDomesticAsset(var)
}
}
impl ::std::convert::From<DomSepForeignAssetCall> for TestCAPECalls {
fn from(var: DomSepForeignAssetCall) -> Self {
TestCAPECalls::DomSepForeignAsset(var)
}
}
impl ::std::convert::From<MaxNumPendingDepositCall> for TestCAPECalls {
fn from(var: MaxNumPendingDepositCall) -> Self {
TestCAPECalls::MaxNumPendingDeposit(var)
}
}
impl ::std::convert::From<AddRootCall> for TestCAPECalls {
fn from(var: AddRootCall) -> Self {
TestCAPECalls::AddRoot(var)
}
}
impl ::std::convert::From<AssetsCall> for TestCAPECalls {
fn from(var: AssetsCall) -> Self {
TestCAPECalls::Assets(var)
}
}
impl ::std::convert::From<BlockHeightCall> for TestCAPECalls {
fn from(var: BlockHeightCall) -> Self {
TestCAPECalls::BlockHeight(var)
}
}
impl ::std::convert::From<CheckBurnCall> for TestCAPECalls {
fn from(var: CheckBurnCall) -> Self {
TestCAPECalls::CheckBurn(var)
}
}
impl ::std::convert::From<CheckDomesticAssetCodeCall> for TestCAPECalls {
fn from(var: CheckDomesticAssetCodeCall) -> Self {
TestCAPECalls::CheckDomesticAssetCode(var)
}
}
impl ::std::convert::From<CheckForeignAssetCodeCall> for TestCAPECalls {
fn from(var: CheckForeignAssetCodeCall) -> Self {
TestCAPECalls::CheckForeignAssetCode(var)
}
}
impl ::std::convert::From<CheckTransferCall> for TestCAPECalls {
fn from(var: CheckTransferCall) -> Self {
TestCAPECalls::CheckTransfer(var)
}
}
impl ::std::convert::From<ComputeAssetDescriptionCall> for TestCAPECalls {
fn from(var: ComputeAssetDescriptionCall) -> Self {
TestCAPECalls::ComputeAssetDescription(var)
}
}
impl ::std::convert::From<ComputeNumCommitmentsCall> for TestCAPECalls {
fn from(var: ComputeNumCommitmentsCall) -> Self {
TestCAPECalls::ComputeNumCommitments(var)
}
}
impl ::std::convert::From<ContainsBurnPrefixCall> for TestCAPECalls {
fn from(var: ContainsBurnPrefixCall) -> Self {
TestCAPECalls::ContainsBurnPrefix(var)
}
}
impl ::std::convert::From<ContainsBurnRecordCall> for TestCAPECalls {
fn from(var: ContainsBurnRecordCall) -> Self {
TestCAPECalls::ContainsBurnRecord(var)
}
}
impl ::std::convert::From<ContainsRootCall> for TestCAPECalls {
fn from(var: ContainsRootCall) -> Self {
TestCAPECalls::ContainsRoot(var)
}
}
impl ::std::convert::From<DeployerCall> for TestCAPECalls {
fn from(var: DeployerCall) -> Self {
TestCAPECalls::Deployer(var)
}
}
impl ::std::convert::From<DepositErc20Call> for TestCAPECalls {
fn from(var: DepositErc20Call) -> Self {
TestCAPECalls::DepositErc20(var)
}
}
impl ::std::convert::From<DeriveRecordCommitmentCall> for TestCAPECalls {
fn from(var: DeriveRecordCommitmentCall) -> Self {
TestCAPECalls::DeriveRecordCommitment(var)
}
}
impl ::std::convert::From<FaucetInitializedCall> for TestCAPECalls {
fn from(var: FaucetInitializedCall) -> Self {
TestCAPECalls::FaucetInitialized(var)
}
}
impl ::std::convert::From<FaucetSetupForTestnetCall> for TestCAPECalls {
fn from(var: FaucetSetupForTestnetCall) -> Self {
TestCAPECalls::FaucetSetupForTestnet(var)
}
}
impl ::std::convert::From<FillUpPendingDepositsQueueCall> for TestCAPECalls {
fn from(var: FillUpPendingDepositsQueueCall) -> Self {
TestCAPECalls::FillUpPendingDepositsQueue(var)
}
}
impl ::std::convert::From<GetNumLeavesCall> for TestCAPECalls {
fn from(var: GetNumLeavesCall) -> Self {
TestCAPECalls::GetNumLeaves(var)
}
}
impl ::std::convert::From<GetRootValueCall> for TestCAPECalls {
fn from(var: GetRootValueCall) -> Self {
TestCAPECalls::GetRootValue(var)
}
}
impl ::std::convert::From<IsCapeAssetRegisteredCall> for TestCAPECalls {
fn from(var: IsCapeAssetRegisteredCall) -> Self {
TestCAPECalls::IsCapeAssetRegistered(var)
}
}
impl ::std::convert::From<LookupCall> for TestCAPECalls {
fn from(var: LookupCall) -> Self {
TestCAPECalls::Lookup(var)
}
}
impl ::std::convert::From<NativeDomesticAssetCall> for TestCAPECalls {
fn from(var: NativeDomesticAssetCall) -> Self {
TestCAPECalls::NativeDomesticAsset(var)
}
}
impl ::std::convert::From<NullifiersCall> for TestCAPECalls {
fn from(var: NullifiersCall) -> Self {
TestCAPECalls::Nullifiers(var)
}
}
impl ::std::convert::From<PendingDepositsCall> for TestCAPECalls {
fn from(var: PendingDepositsCall) -> Self {
TestCAPECalls::PendingDeposits(var)
}
}
impl ::std::convert::From<PendingDepositsLengthCall> for TestCAPECalls {
fn from(var: PendingDepositsLengthCall) -> Self {
TestCAPECalls::PendingDepositsLength(var)
}
}
impl ::std::convert::From<PublishCall> for TestCAPECalls {
fn from(var: PublishCall) -> Self {
TestCAPECalls::Publish(var)
}
}
impl ::std::convert::From<SetHeightCall> for TestCAPECalls {
fn from(var: SetHeightCall) -> Self {
TestCAPECalls::SetHeight(var)
}
}
impl ::std::convert::From<SetInitialRecordCommitmentsCall> for TestCAPECalls {
fn from(var: SetInitialRecordCommitmentsCall) -> Self {
TestCAPECalls::SetInitialRecordCommitments(var)
}
}
impl ::std::convert::From<SponsorCapeAssetCall> for TestCAPECalls {
fn from(var: SponsorCapeAssetCall) -> Self {
TestCAPECalls::SponsorCapeAsset(var)
}
}
impl ::std::convert::From<SubmitCapeBlockCall> for TestCAPECalls {
fn from(var: SubmitCapeBlockCall) -> Self {
TestCAPECalls::SubmitCapeBlock(var)
}
}
impl ::std::convert::From<SubmitCapeBlockWithMemosCall> for TestCAPECalls {
fn from(var: SubmitCapeBlockWithMemosCall) -> Self {
TestCAPECalls::SubmitCapeBlockWithMemos(var)
}
}
}
pub use testcapetypes_mod::*;
#[allow(clippy::too_many_arguments, non_camel_case_types)]
pub mod testcapetypes_mod {
#![allow(clippy::enum_variant_names)]
#![allow(dead_code)]
#![allow(clippy::type_complexity)]
#![allow(unused_imports)]
pub use super::__shared_types::*;
use ethers::contract::{
builders::{ContractCall, Event},
Contract, Lazy,
};
use ethers::core::{
abi::{Abi, Detokenize, InvalidOutputType, Token, Tokenizable},
types::*,
};
use ethers::providers::Middleware;
#[doc = "TestCapeTypes was auto-generated with ethers-rs Abigen. More information at: https://github.com/gakonst/ethers-rs"]
use std::sync::Arc;
pub static TESTCAPETYPES_ABI: ethers::contract::Lazy<ethers::core::abi::Abi> =
ethers::contract::Lazy::new(|| {
serde_json :: from_str ("[{\"inputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"def\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"checkAssetDefinition\",\"outputs\":[{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]}]},{\"inputs\":[{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"checkAssetPolicy\",\"outputs\":[{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"inputs\":[{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"memo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"checkAuditMemo\",\"outputs\":[{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]}]},{\"inputs\":[{\"internalType\":\"struct CAPE.BurnNote\",\"name\":\"note\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"checkBurnNote\",\"outputs\":[{\"internalType\":\"struct CAPE.BurnNote\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"inputs\":[{\"internalType\":\"struct CAPE.CapeBlock\",\"name\":\"b\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"minerAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"enum CAPE.NoteType[]\",\"name\":\"noteTypes\",\"type\":\"uint8[]\",\"components\":[]},{\"internalType\":\"struct CAPE.TransferNote[]\",\"name\":\"transferNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.MintNote[]\",\"name\":\"mintNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"inputNullifier\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chgComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"mintComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"mintAmount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"mintAssetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"uint256\",\"name\":\"mintInternalAssetCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.MintAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.FreezeNote[]\",\"name\":\"freezeNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.FreezeAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]}]}]},{\"internalType\":\"struct CAPE.BurnNote[]\",\"name\":\"burnNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"struct CAPE.TransferNote\",\"name\":\"transferNote\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.RecordOpening\",\"name\":\"recordOpening\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"assetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"userAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes32\",\"name\":\"encKey\",\"type\":\"bytes32\",\"components\":[]},{\"internalType\":\"bool\",\"name\":\"freezeFlag\",\"type\":\"bool\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"blind\",\"type\":\"uint256\",\"components\":[]}]}]}]}],\"stateMutability\":\"pure\",\"type\":\"function\",\"name\":\"checkCapeBlock\",\"outputs\":[{\"internalType\":\"struct CAPE.CapeBlock\",\"name\":\"\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"minerAddr\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"enum CAPE.NoteType[]\",\"name\":\"noteTypes\",\"type\":\"uint8[]\",\"components\":[]},{\"internalType\":\"struct CAPE.TransferNote[]\",\"name\":\"transferNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256[]\",\"name\":\"inputNullifiers\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"uint256[]\",\"name\":\"outputCommitments\",\"type\":\"uint256[]\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zeta\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"zetaOmega\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"wireEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"wireEval4\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval0\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval1\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval2\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"sigmaEval3\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"prodPermZetaOmegaEval\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct CAPE.AuditMemo\",\"name\":\"auditMemo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"ephemeralKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256[]\",\"name\":\"data\",\"type\":\"uint256[]\",\"components\":[]}]},{\"internalType\":\"struct CAPE.TransferAuxInfo\",\"name\":\"auxInfo\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"merkleRoot\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"uint64\",\"name\":\"validUntil\",\"type\":\"uint64\",\"components\":[]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"txnMemoVerKey\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"bytes\",\"name\":\"extraProofBoundData\",\"type\":\"bytes\",\"components\":[]}]}]},{\"internalType\":\"struct CAPE.MintNote[]\",\"name\":\"mintNotes\",\"type\":\"tuple[]\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"inputNullifier\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"chgComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"mintComm\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"mintAmount\",\"type\":\"uint128\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetDefinition\",\"name\":\"mintAssetDef\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"code\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct AssetRegistry.AssetPolicy\",\"name\":\"policy\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"auditorPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"credPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct EdOnBN254.EdOnBN254Point\",\"name\":\"freezerPk\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"uint256\",\"name\":\"revealMap\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint128\",\"name\":\"revealThreshold\",\"type\":\"uint128\",\"components\":[]}]}]},{\"internalType\":\"uint256\",\"name\":\"mintInternalAssetCode\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"struct IPlonkVerifier.PlonkProof\",\"name\":\"proof\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"wire4\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"prodPerm\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split0\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split1\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split2\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\",\"name\":\"split3\",\"type\":\"tuple\",\"components\":[{\"internalType\":\"uint256\",\"name\":\"x\",\"type\":\"uint256\",\"components\":[]},{\"internalType\":\"uint256\",\"name\":\"y\",\"type\":\"uint256\",\"components\":[]}]},{\"internalType\":\"struct BN254.G1Point\"
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment