@mantleio/contracts
Version:
[Mantle] L1 and L2 smart contracts for Mantle
203 lines (202 loc) • 18.5 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "BlockInitiationVerifier",
"sourceName": "contracts/L1/fraud-proof/verifier/subverifiers/BlockInitiationVerifier.sol",
"abi": [
{
"inputs": [
{
"internalType": "bytes32",
"name": "currStateHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "encoded",
"type": "bytes"
}
],
"name": "executeOneStepProof",
"outputs": [
{
"components": [
{
"internalType": "uint64",
"name": "blockNumber",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "transactionIdx",
"type": "uint64"
},
{
"internalType": "bytes32",
"name": "globalStateRoot",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "cumulativeGasUsed",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "blockGasUsed",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "blockHashRoot",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "transactionTrieRoot",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "receiptTrieRoot",
"type": "bytes32"
},
{
"components": [
{
"internalType": "bytes32[8]",
"name": "data",
"type": "bytes32[8]"
}
],
"internalType": "struct BloomLib.Bloom",
"name": "logsBloom",
"type": "tuple"
}
],
"internalType": "struct OneStepProof.InterStateProof",
"name": "endState",
"type": "tuple"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "coinbase",
"type": "address"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "number",
"type": "uint256"
},
{
"internalType": "address",
"name": "origin",
"type": "address"
},
{
"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": "bytes32",
"name": "inputRoot",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "txHash",
"type": "bytes32"
}
],
"internalType": "struct VerificationContext.Context",
"name": "",
"type": "tuple"
},
{
"internalType": "bytes32",
"name": "currStateHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "encoded",
"type": "bytes"
}
],
"name": "verifyOneStepProof",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x608060405234801561001057600080fd5b50610cbc806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632138b3e41461003b578063a1c1f6ab14610061575b600080fd5b61004e6100493660046109e9565b610081565b6040519081526020015b60405180910390f35b61007461006f366004610ad3565b61009f565b6040516100589190610b4b565b600061009661009185858561009f565b6101e0565b95945050505050565b6100a761070f565b60408051608081018252600080825260208201819052918101829052606081018290526100d58585846101f9565b6040519193509150600090838782378390209050868114610157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4261642053746174652050726f6f66000000000000000000000000000000000060448201526064015b60405180910390fd5b8151610164906001610bf6565b67ffffffffffffffff168452600060208086019190915282015160408086019190915282015160608086019190915282015160a08501527f56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b42160c0850181905260e08501526101d06103dd565b6101008501525050509392505050565b60006101eb826103e8565b805190602001209050919050565b6040805160808101825260008082526020820181905291810182905260608101829052606861023267ffffffffffffffff851686610c22565b101561029a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f50726f6f6620556e646572666c6f772028426c6f636b29000000000000000000604482015260640161014e565b6102e78367ffffffffffffffff1686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506105749050565b67ffffffffffffffff16815261034a610301846008610bf6565b67ffffffffffffffff1686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506105f49050565b60208201526103a661035d846028610bf6565b67ffffffffffffffff1686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506105749050565b67ffffffffffffffff1660408201526103c3610301846048610bf6565b60608201526103d3836068610bf6565b9150935093915050565b6103e5610762565b90565b6060610462826000015160405160200161042d919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528290610674565b90506104a7826020015160405160200161042d919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b90506104c3826040015160405160200161042d91815260200190565b90506104df826060015160405160200161042d91815260200190565b90506104fb826080015160405160200161042d91815260200190565b90506105178260a0015160405160200161042d91815260200190565b90506105338260c0015160405160200161042d91815260200190565b905061054f8260e0015160405160200161042d91815260200190565b905061056e8261010001516000015160405160200161042d9190610c39565b92915050565b6000610581826008610c6e565b835110156105eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7436345f6f75744f66426f756e6473000000000000000000000000604482015260640161014e565b50016008015190565b6000610601826020610c6e565b8351101561066b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e64730000000000000000000000604482015260640161014e565b50016020015190565b6060806040519050835180825260208201818101602087015b818310156106a557805183526020928301920161068d565b50855184518101855292509050808201602086015b818310156106d25780518352602092830192016106ba565b508651929092011591909101601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660405250905092915050565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810191909152610100810161075d610762565b905290565b6040805161012081019091528061075d6020820160088161010080368337509192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156107db576107db610788565b60405290565b60405160e0810167ffffffffffffffff811182821017156107db576107db610788565b803573ffffffffffffffffffffffffffffffffffffffff8116811461082857600080fd5b919050565b803567ffffffffffffffff8116811461082857600080fd5b600082601f83011261085657600080fd5b813567ffffffffffffffff8082111561087157610871610788565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156108b7576108b7610788565b816040528381528660208588010111156108d057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610120828403121561090357600080fd5b61090b6107b7565b90506109168261082d565b81526020820135602082015261092e6040830161082d565b604082015261093f60608301610804565b60608201526080820135608082015260a082013567ffffffffffffffff81111561096857600080fd5b61097484828501610845565b60a08301525060c082013560c082015260e082013560e082015261010080830135818301525092915050565b60008083601f8401126109b257600080fd5b50813567ffffffffffffffff8111156109ca57600080fd5b6020830191508360208285010111156109e257600080fd5b9250929050565b600080600080606085870312156109ff57600080fd5b843567ffffffffffffffff80821115610a1757600080fd5b9086019060e08289031215610a2b57600080fd5b610a336107e1565b610a3c83610804565b81526020830135602082015260408301356040820152610a5e60608401610804565b6060820152608083013582811115610a7557600080fd5b610a818a8286016108f0565b60808301525060a083013560a082015260c083013560c082015280965050602087013594506040870135915080821115610aba57600080fd5b50610ac7878288016109a0565b95989497509550505050565b600080600060408486031215610ae857600080fd5b83359250602084013567ffffffffffffffff811115610b0657600080fd5b610b12868287016109a0565b9497909650939450505050565b80518260005b6008811015610b44578251825260209283019290910190600101610b25565b5050505050565b60006102008201905067ffffffffffffffff8084511683528060208501511660208401525060408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151610bbf82850182610b1f565b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516808303821115610c1957610c19610bc7565b01949350505050565b600082821015610c3457610c34610bc7565b500390565b60008183825b6008811015610c5e578151835260209283019290910190600101610c3f565b5050506101008201905092915050565b60008219821115610c8157610c81610bc7565b50019056fea26469706673582212203e53d3aaefdd97592aefa63a17b0a02db0f951a17281098ea2881c9848736e1764736f6c63430008090033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80632138b3e41461003b578063a1c1f6ab14610061575b600080fd5b61004e6100493660046109e9565b610081565b6040519081526020015b60405180910390f35b61007461006f366004610ad3565b61009f565b6040516100589190610b4b565b600061009661009185858561009f565b6101e0565b95945050505050565b6100a761070f565b60408051608081018252600080825260208201819052918101829052606081018290526100d58585846101f9565b6040519193509150600090838782378390209050868114610157576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4261642053746174652050726f6f66000000000000000000000000000000000060448201526064015b60405180910390fd5b8151610164906001610bf6565b67ffffffffffffffff168452600060208086019190915282015160408086019190915282015160608086019190915282015160a08501527f56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b42160c0850181905260e08501526101d06103dd565b6101008501525050509392505050565b60006101eb826103e8565b805190602001209050919050565b6040805160808101825260008082526020820181905291810182905260608101829052606861023267ffffffffffffffff851686610c22565b101561029a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f50726f6f6620556e646572666c6f772028426c6f636b29000000000000000000604482015260640161014e565b6102e78367ffffffffffffffff1686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506105749050565b67ffffffffffffffff16815261034a610301846008610bf6565b67ffffffffffffffff1686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506105f49050565b60208201526103a661035d846028610bf6565b67ffffffffffffffff1686868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506105749050565b67ffffffffffffffff1660408201526103c3610301846048610bf6565b60608201526103d3836068610bf6565b9150935093915050565b6103e5610762565b90565b6060610462826000015160405160200161042d919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528290610674565b90506104a7826020015160405160200161042d919060c09190911b7fffffffffffffffff00000000000000000000000000000000000000000000000016815260080190565b90506104c3826040015160405160200161042d91815260200190565b90506104df826060015160405160200161042d91815260200190565b90506104fb826080015160405160200161042d91815260200190565b90506105178260a0015160405160200161042d91815260200190565b90506105338260c0015160405160200161042d91815260200190565b905061054f8260e0015160405160200161042d91815260200190565b905061056e8261010001516000015160405160200161042d9190610c39565b92915050565b6000610581826008610c6e565b835110156105eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f746f55696e7436345f6f75744f66426f756e6473000000000000000000000000604482015260640161014e565b50016008015190565b6000610601826020610c6e565b8351101561066b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e64730000000000000000000000604482015260640161014e565b50016020015190565b6060806040519050835180825260208201818101602087015b818310156106a557805183526020928301920161068d565b50855184518101855292509050808201602086015b818310156106d25780518352602092830192016106ba565b508651929092011591909101601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660405250905092915050565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e0810191909152610100810161075d610762565b905290565b6040805161012081019091528061075d6020820160088161010080368337509192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156107db576107db610788565b60405290565b60405160e0810167ffffffffffffffff811182821017156107db576107db610788565b803573ffffffffffffffffffffffffffffffffffffffff8116811461082857600080fd5b919050565b803567ffffffffffffffff8116811461082857600080fd5b600082601f83011261085657600080fd5b813567ffffffffffffffff8082111561087157610871610788565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156108b7576108b7610788565b816040528381528660208588010111156108d057600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610120828403121561090357600080fd5b61090b6107b7565b90506109168261082d565b81526020820135602082015261092e6040830161082d565b604082015261093f60608301610804565b60608201526080820135608082015260a082013567ffffffffffffffff81111561096857600080fd5b61097484828501610845565b60a08301525060c082013560c082015260e082013560e082015261010080830135818301525092915050565b60008083601f8401126109b257600080fd5b50813567ffffffffffffffff8111156109ca57600080fd5b6020830191508360208285010111156109e257600080fd5b9250929050565b600080600080606085870312156109ff57600080fd5b843567ffffffffffffffff80821115610a1757600080fd5b9086019060e08289031215610a2b57600080fd5b610a336107e1565b610a3c83610804565b81526020830135602082015260408301356040820152610a5e60608401610804565b6060820152608083013582811115610a7557600080fd5b610a818a8286016108f0565b60808301525060a083013560a082015260c083013560c082015280965050602087013594506040870135915080821115610aba57600080fd5b50610ac7878288016109a0565b95989497509550505050565b600080600060408486031215610ae857600080fd5b83359250602084013567ffffffffffffffff811115610b0657600080fd5b610b12868287016109a0565b9497909650939450505050565b80518260005b6008811015610b44578251825260209283019290910190600101610b25565b5050505050565b60006102008201905067ffffffffffffffff8084511683528060208501511660208401525060408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015261010080840151610bbf82850182610b1f565b505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818516808303821115610c1957610c19610bc7565b01949350505050565b600082821015610c3457610c34610bc7565b500390565b60008183825b6008811015610c5e578151835260209283019290910190600101610c3f565b5050506101008201905092915050565b60008219821115610c8157610c81610bc7565b50019056fea26469706673582212203e53d3aaefdd97592aefa63a17b0a02db0f951a17281098ea2881c9848736e1764736f6c63430008090033",
"linkReferences": {},
"deployedLinkReferences": {}
}