@mantleio/contracts
Version:
[Mantle] L1 and L2 smart contracts for Mantle
169 lines (168 loc) • 13.6 kB
JSON
{
"_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": {}
}