@arbitrum/nitro-contracts
Version:
Layer 2 precompiles and rollup for Arbitrum Nitro
144 lines (143 loc) • 13.8 kB
JSON
{
"_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": {}
}