UNPKG

@arbitrum/nitro-contracts

Version:

Layer 2 precompiles and rollup for Arbitrum Nitro

144 lines (143 loc) 13.8 kB
{ "_format": "hh-sol-artifact-1", "contractName": "RollupEventInbox", "sourceName": "src/rollup/RollupEventInbox.sol", "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AlreadyInit", "type": "error" }, { "inputs": [], "name": "HadZeroInit", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "NotOwner", "type": "error" }, { "inputs": [], "name": "RollupNotChanged", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "messageNum", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "InboxMessageDelivered", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "messageNum", "type": "uint256" } ], "name": "InboxMessageDeliveredFromOrigin", "type": "event" }, { "inputs": [], "name": "bridge", "outputs": [ { "internalType": "contract IBridge", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IBridge", "name": "_bridge", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rollup", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "string", "name": "chainConfig", "type": "string" } ], "name": "rollupInitialized", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "updateRollupAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "bytecode": "0x60a06040523060805234801561001457600080fd5b50608051610a7d61003060003960006103380152610a7d6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063cb23bcb511610050578063cb23bcb514610089578063cf8d56d6146100b8578063e78cea92146100cb57600080fd5b80636ae71f121461006c578063c4d66de814610076575b600080fd5b6100746100de565b005b610074610084366004610859565b61032e565b60015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100746100c636600461087d565b610522565b60005461009c906001600160a01b031681565b600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610131573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015591906108f9565b6001600160a01b0316336001600160a01b03161461023d57600154604080517f8da5cb5b000000000000000000000000000000000000000000000000000000008152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa1580156101cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f391906108f9565b6040517f23295f0e0000000000000000000000000000000000000000000000000000000081526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b031663cb23bcb56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b591906108f9565b6001549091506001600160a01b038083169116036102ff576040517fd054909f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103cc5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610234565b6000546001600160a01b03161561040f576040517fef34ca5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811661044f576040517f1ad0f74300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080517fcb23bcb5000000000000000000000000000000000000000000000000000000008152905163cb23bcb5916004808201926020929091908290030181865afa1580156104ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f291906108f9565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6001546001600160a01b0316331461057c5760405162461bcd60e51b815260206004820152600b60248201527f4f4e4c595f524f4c4c55500000000000000000000000000000000000000000006044820152606401610234565b806105c95760405162461bcd60e51b815260206004820152601260248201527f454d5054595f434841494e5f434f4e46494700000000000000000000000000006044820152606401610234565b600160006105d5610651565b9050600085838387876040516020016105f2959493929190610916565b6040516020818303038152906040529050600061060e826106d6565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b836040516106409190610987565b60405180910390a250505050505050565b60004861065c61077b565b156106d157606c6001600160a01b031663f5d6ded76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c491906109d8565b6106ce90826109f1565b90505b919050565b60008054825160208401206040517f8db5993b000000000000000000000000000000000000000000000000000000008152600b60048201526024810184905260448101919091526001600160a01b0390911690638db5993b906064016020604051808303816000875af1158015610751573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077591906109d8565b92915050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f051038f2000000000000000000000000000000000000000000000000000000001790529051600091829182916064916107e79190610a2b565b600060405180830381855afa9150503d8060008114610822576040519150601f19603f3d011682016040523d82523d6000602084013e610827565b606091505b509150915081801561083a575080516020145b9250505090565b6001600160a01b038116811461085657600080fd5b50565b60006020828403121561086b57600080fd5b813561087681610841565b9392505050565b60008060006040848603121561089257600080fd5b83359250602084013567ffffffffffffffff808211156108b157600080fd5b818601915086601f8301126108c557600080fd5b8135818111156108d457600080fd5b8760208285010111156108e657600080fd5b6020830194508093505050509250925092565b60006020828403121561090b57600080fd5b815161087681610841565b8581527fff000000000000000000000000000000000000000000000000000000000000008560f81b1660208201528360218201528183604183013760009101604101908152949350505050565b60005b8381101561097e578181015183820152602001610966565b50506000910152565b60208152600082518060208401526109a6816040850160208701610963565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000602082840312156109ea57600080fd5b5051919050565b80820180821115610775577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008251610a3d818460208701610963565b919091019291505056fea264697066735822122022a2e068dfcba58bdc8c79379f2f44c05672fa48ec58716a9992c9362d2f25fc64736f6c63430008110033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063cb23bcb511610050578063cb23bcb514610089578063cf8d56d6146100b8578063e78cea92146100cb57600080fd5b80636ae71f121461006c578063c4d66de814610076575b600080fd5b6100746100de565b005b610074610084366004610859565b61032e565b60015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100746100c636600461087d565b610522565b60005461009c906001600160a01b031681565b600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610131573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015591906108f9565b6001600160a01b0316336001600160a01b03161461023d57600154604080517f8da5cb5b000000000000000000000000000000000000000000000000000000008152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa1580156101cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f391906108f9565b6040517f23295f0e0000000000000000000000000000000000000000000000000000000081526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b031663cb23bcb56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b591906108f9565b6001549091506001600160a01b038083169116036102ff576040517fd054909f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103cc5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610234565b6000546001600160a01b03161561040f576040517fef34ca5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811661044f576040517f1ad0f74300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080517fcb23bcb5000000000000000000000000000000000000000000000000000000008152905163cb23bcb5916004808201926020929091908290030181865afa1580156104ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f291906108f9565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6001546001600160a01b0316331461057c5760405162461bcd60e51b815260206004820152600b60248201527f4f4e4c595f524f4c4c55500000000000000000000000000000000000000000006044820152606401610234565b806105c95760405162461bcd60e51b815260206004820152601260248201527f454d5054595f434841494e5f434f4e46494700000000000000000000000000006044820152606401610234565b600160006105d5610651565b9050600085838387876040516020016105f2959493929190610916565b6040516020818303038152906040529050600061060e826106d6565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b836040516106409190610987565b60405180910390a250505050505050565b60004861065c61077b565b156106d157606c6001600160a01b031663f5d6ded76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156106a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c491906109d8565b6106ce90826109f1565b90505b919050565b60008054825160208401206040517f8db5993b000000000000000000000000000000000000000000000000000000008152600b60048201526024810184905260448101919091526001600160a01b0390911690638db5993b906064016020604051808303816000875af1158015610751573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061077591906109d8565b92915050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f051038f2000000000000000000000000000000000000000000000000000000001790529051600091829182916064916107e79190610a2b565b600060405180830381855afa9150503d8060008114610822576040519150601f19603f3d011682016040523d82523d6000602084013e610827565b606091505b509150915081801561083a575080516020145b9250505090565b6001600160a01b038116811461085657600080fd5b50565b60006020828403121561086b57600080fd5b813561087681610841565b9392505050565b60008060006040848603121561089257600080fd5b83359250602084013567ffffffffffffffff808211156108b157600080fd5b818601915086601f8301126108c557600080fd5b8135818111156108d457600080fd5b8760208285010111156108e657600080fd5b6020830194508093505050509250925092565b60006020828403121561090b57600080fd5b815161087681610841565b8581527fff000000000000000000000000000000000000000000000000000000000000008560f81b1660208201528360218201528183604183013760009101604101908152949350505050565b60005b8381101561097e578181015183820152602001610966565b50506000910152565b60208152600082518060208401526109a6816040850160208701610963565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b6000602082840312156109ea57600080fd5b5051919050565b80820180821115610775577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008251610a3d818460208701610963565b919091019291505056fea264697066735822122022a2e068dfcba58bdc8c79379f2f44c05672fa48ec58716a9992c9362d2f25fc64736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} }