UNPKG

@mantleio/contracts

Version:
169 lines (168 loc) 13.6 kB
{ "_format": "hh-sol-artifact-1", "contractName": "VerifierTestDriver", "sourceName": "contracts/L1/fraud-proof/verifier/test-driver/VerifierTestDriver.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "_blockInitiationVerifier", "type": "address" }, { "internalType": "address", "name": "_blockFinalizationVerifier", "type": "address" }, { "internalType": "address", "name": "_interTxVerifier", "type": "address" }, { "internalType": "address", "name": "_stackOpVerifier", "type": "address" }, { "internalType": "address", "name": "_environmentalOpVerifier", "type": "address" }, { "internalType": "address", "name": "_memoryOpVerifier", "type": "address" }, { "internalType": "address", "name": "_storageOpVerifier", "type": "address" }, { "internalType": "address", "name": "_callOpVerifier", "type": "address" }, { "internalType": "address", "name": "_invalidOpVerifier", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "sequencerAddress", "type": "address" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "internalType": "uint256", "name": "number", "type": "uint256" }, { "internalType": "address", "name": "origin", "type": "address" }, { "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "components": [ { "internalType": "uint64", "name": "nonce", "type": "uint64" }, { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint64", "name": "gas", "type": "uint64" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "v", "type": "uint256" }, { "internalType": "uint256", "name": "r", "type": "uint256" }, { "internalType": "uint256", "name": "s", "type": "uint256" } ], "internalType": "struct EVMTypesLib.Transaction", "name": "transaction", "type": "tuple" }, { "internalType": "uint8", "name": "verifier", "type": "uint8" }, { "internalType": "bytes32", "name": "currStateHash", "type": "bytes32" }, { "internalType": "bytes", "name": "proof", "type": "bytes" } ], "name": "verifyProof", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b50604051610a1b380380610a1b83398101604081905261002f916100eb565b600080546001600160a01b03199081166001600160a01b039b8c1617909155600180548216998b1699909917909855600280548916978a16979097179096556003805488169589169590951790945560048054871693881693909317909255600580548616918716919091179055600680548516918616919091179055600780548416918516919091179055600880549092169216919091179055610193565b80516001600160a01b03811681146100e657600080fd5b919050565b60008060008060008060008060006101208a8c03121561010a57600080fd5b6101138a6100cf565b985061012160208b016100cf565b975061012f60408b016100cf565b965061013d60608b016100cf565b955061014b60808b016100cf565b945061015960a08b016100cf565b935061016760c08b016100cf565b925061017560e08b016100cf565b91506101846101008b016100cf565b90509295985092959850929598565b610879806101a26000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806386f73e4e14610030575b600080fd5b61004361003e3660046104e3565b610055565b60405190815260200160405180910390f35b6000806040518060e001604052808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c81526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018881526020016000801b815260200189815250905060006100c787610166565b73ffffffffffffffffffffffffffffffffffffffff16632138b3e4838888886040518563ffffffff1660e01b815260040161010594939291906106fa565b60206040518083038186803b15801561011d57600080fd5b505afa158015610131573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610155919061082a565b9d9c50505050505050505050505050565b600060ff82166007141561019257505060005473ffffffffffffffffffffffffffffffffffffffff1690565b60ff8216600814156101bc57505060015473ffffffffffffffffffffffffffffffffffffffff1690565b60ff8216600614156101e657505060025473ffffffffffffffffffffffffffffffffffffffff1690565b60ff821661020c57505060035473ffffffffffffffffffffffffffffffffffffffff1690565b60ff82166001141561023657505060045473ffffffffffffffffffffffffffffffffffffffff1690565b60ff82166002141561026057505060055473ffffffffffffffffffffffffffffffffffffffff1690565b60ff82166003141561028a57505060065473ffffffffffffffffffffffffffffffffffffffff1690565b60ff8216600414156102b457505060075473ffffffffffffffffffffffffffffffffffffffff1690565b60ff8216600514156102de57505060085473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f756e726561636861626c65000000000000000000000000000000000000000000604482015260640160405180910390fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461034457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156103c0576103c061036d565b60405290565b803567ffffffffffffffff8116811461034457600080fd5b600082601f8301126103ef57600080fd5b813567ffffffffffffffff8082111561040a5761040a61036d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156104505761045061036d565b8160405283815286602085880101111561046957600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461034457600080fd5b60008083601f8401126104ac57600080fd5b50813567ffffffffffffffff8111156104c457600080fd5b6020830191508360208285010111156104dc57600080fd5b9250929050565b6000806000806000806000806000806101208b8d03121561050357600080fd5b61050c8b610349565b995060208b0135985060408b0135975061052860608c01610349565b965060808b0135955067ffffffffffffffff8060a08d0135111561054b57600080fd5b60a08c01358c01610120818f03121561056357600080fd5b61056b61039c565b610574826103c6565b81526020820135602082015261058c604083016103c6565b604082015261059d60608301610349565b6060820152608082013560808201528260a083013511156105bd57600080fd5b6105cd8f60a084013584016103de565b60a082015260c082013560c082015260e082013560e0820152610100820135610100820152809750505061060360c08d01610489565b945060e08c013593506101008c01358181111561061f57600080fd5b61062b8e828f0161049a565b9250905080935050809150509295989b9194979a5092959850565b6000815180845260005b8181101561066c57602081850181015186830182015201610650565b8181111561067e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600073ffffffffffffffffffffffffffffffffffffffff80875116606084015260208701516080840152604087015160a08401528060608801511660c084015250608086015160e0808401526107626101408401825167ffffffffffffffff169052565b6020810151610160840152604081015167ffffffffffffffff16610180840152606081015173ffffffffffffffffffffffffffffffffffffffff166101a084015260808101516101c084015260a08101516101206101e085018190526107cc610260860183610646565b915060c083015161020086015260e08301516102208601526101008084015161024087015260a08a0151818701525060c08901518186015250866020850152838103604085015261081e8186886106b1565b98975050505050505050565b60006020828403121561083c57600080fd5b505191905056fea2646970667358221220ef986fab6cad7b30e826aaa11f65d3ba102391883bc7f3d56b07a1887313b15964736f6c63430008090033", "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806386f73e4e14610030575b600080fd5b61004361003e3660046104e3565b610055565b60405190815260200160405180910390f35b6000806040518060e001604052808d73ffffffffffffffffffffffffffffffffffffffff1681526020018c81526020018b81526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020018881526020016000801b815260200189815250905060006100c787610166565b73ffffffffffffffffffffffffffffffffffffffff16632138b3e4838888886040518563ffffffff1660e01b815260040161010594939291906106fa565b60206040518083038186803b15801561011d57600080fd5b505afa158015610131573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610155919061082a565b9d9c50505050505050505050505050565b600060ff82166007141561019257505060005473ffffffffffffffffffffffffffffffffffffffff1690565b60ff8216600814156101bc57505060015473ffffffffffffffffffffffffffffffffffffffff1690565b60ff8216600614156101e657505060025473ffffffffffffffffffffffffffffffffffffffff1690565b60ff821661020c57505060035473ffffffffffffffffffffffffffffffffffffffff1690565b60ff82166001141561023657505060045473ffffffffffffffffffffffffffffffffffffffff1690565b60ff82166002141561026057505060055473ffffffffffffffffffffffffffffffffffffffff1690565b60ff82166003141561028a57505060065473ffffffffffffffffffffffffffffffffffffffff1690565b60ff8216600414156102b457505060075473ffffffffffffffffffffffffffffffffffffffff1690565b60ff8216600514156102de57505060085473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f756e726561636861626c65000000000000000000000000000000000000000000604482015260640160405180910390fd5b919050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461034457600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156103c0576103c061036d565b60405290565b803567ffffffffffffffff8116811461034457600080fd5b600082601f8301126103ef57600080fd5b813567ffffffffffffffff8082111561040a5761040a61036d565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156104505761045061036d565b8160405283815286602085880101111561046957600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff8116811461034457600080fd5b60008083601f8401126104ac57600080fd5b50813567ffffffffffffffff8111156104c457600080fd5b6020830191508360208285010111156104dc57600080fd5b9250929050565b6000806000806000806000806000806101208b8d03121561050357600080fd5b61050c8b610349565b995060208b0135985060408b0135975061052860608c01610349565b965060808b0135955067ffffffffffffffff8060a08d0135111561054b57600080fd5b60a08c01358c01610120818f03121561056357600080fd5b61056b61039c565b610574826103c6565b81526020820135602082015261058c604083016103c6565b604082015261059d60608301610349565b6060820152608082013560808201528260a083013511156105bd57600080fd5b6105cd8f60a084013584016103de565b60a082015260c082013560c082015260e082013560e0820152610100820135610100820152809750505061060360c08d01610489565b945060e08c013593506101008c01358181111561061f57600080fd5b61062b8e828f0161049a565b9250905080935050809150509295989b9194979a5092959850565b6000815180845260005b8181101561066c57602081850181015186830182015201610650565b8181111561067e576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60608152600073ffffffffffffffffffffffffffffffffffffffff80875116606084015260208701516080840152604087015160a08401528060608801511660c084015250608086015160e0808401526107626101408401825167ffffffffffffffff169052565b6020810151610160840152604081015167ffffffffffffffff16610180840152606081015173ffffffffffffffffffffffffffffffffffffffff166101a084015260808101516101c084015260a08101516101206101e085018190526107cc610260860183610646565b915060c083015161020086015260e08301516102208601526101008084015161024087015260a08a0151818701525060c08901518186015250866020850152838103604085015261081e8186886106b1565b98975050505050505050565b60006020828403121561083c57600080fd5b505191905056fea2646970667358221220ef986fab6cad7b30e826aaa11f65d3ba102391883bc7f3d56b07a1887313b15964736f6c63430008090033", "linkReferences": {}, "deployedLinkReferences": {} }