UNPKG

@arbitrum/nitro-contracts

Version:

Layer 2 precompiles and rollup for Arbitrum Nitro

144 lines (143 loc) 15.8 kB
{ "_format": "hh-sol-artifact-1", "contractName": "ERC20RollupEventInbox", "sourceName": "src/rollup/ERC20RollupEventInbox.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": "0x60a06040523060805234801561001457600080fd5b50608051610c6c61003060003960006103380152610c6c6000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063cb23bcb511610050578063cb23bcb514610089578063cf8d56d6146100b8578063e78cea92146100cb57600080fd5b80636ae71f121461006c578063c4d66de814610076575b600080fd5b6100746100de565b005b6100746100843660046109ef565b61032e565b60015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100746100c6366004610a0c565b610522565b60005461009c906001600160a01b031681565b600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610131573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101559190610a88565b6001600160a01b0316336001600160a01b03161461023d57600154604080517f8da5cb5b000000000000000000000000000000000000000000000000000000008152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa1580156101cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f39190610a88565b6040517f23295f0e0000000000000000000000000000000000000000000000000000000081526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b031663cb23bcb56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b59190610a88565b6001549091506001600160a01b038083169116036102ff576040517fd054909f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103cc5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610234565b6000546001600160a01b03161561040f576040517fef34ca5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811661044f576040517f1ad0f74300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080517fcb23bcb5000000000000000000000000000000000000000000000000000000008152905163cb23bcb5916004808201926020929091908290030181865afa1580156104ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f29190610a88565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6001546001600160a01b0316331461057c5760405162461bcd60e51b815260206004820152600b60248201527f4f4e4c595f524f4c4c55500000000000000000000000000000000000000000006044820152606401610234565b806105c95760405162461bcd60e51b815260206004820152601260248201527f454d5054595f434841494e5f434f4e46494700000000000000000000000000006044820152606401610234565b600160006105d5610651565b9050600085838387876040516020016105f2959493929190610aa5565b6040516020818303038152906040529050600061060e82610864565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b836040516106409190610b16565b60405180910390a250505050505050565b60008054604080517fee35f327000000000000000000000000000000000000000000000000000000008152905183926001600160a01b03169163ee35f3279160048083019260209291908290030181865afa1580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d89190610a88565b90506000816001600160a01b03166322291e8d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e9190610a88565b90506001600160a01b0381161561085b5748610758610911565b156107cd57606c6001600160a01b031663f5d6ded76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c09190610b67565b6107ca9082610baf565b90505b6000826001600160a01b031663e6aa216c6040518163ffffffff1660e01b81526004016020604051808303816000875af115801561080f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108339190610b67565b9050670de0b6b3a76400006108488284610bc8565b6108529190610bdf565b94505050505090565b60009250505090565b60008054825160208401206040517f75d81e25000000000000000000000000000000000000000000000000000000008152600b60048201526024810184905260448101919091526064810183905282916001600160a01b0316906375d81e25906084016020604051808303816000875af11580156108e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090a9190610b67565b9392505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f051038f20000000000000000000000000000000000000000000000000000000017905290516000918291829160649161097d9190610c1a565b600060405180830381855afa9150503d80600081146109b8576040519150601f19603f3d011682016040523d82523d6000602084013e6109bd565b606091505b50915091508180156109d0575080516020145b9250505090565b6001600160a01b03811681146109ec57600080fd5b50565b600060208284031215610a0157600080fd5b813561090a816109d7565b600080600060408486031215610a2157600080fd5b83359250602084013567ffffffffffffffff80821115610a4057600080fd5b818601915086601f830112610a5457600080fd5b813581811115610a6357600080fd5b876020828501011115610a7557600080fd5b6020830194508093505050509250925092565b600060208284031215610a9a57600080fd5b815161090a816109d7565b8581527fff000000000000000000000000000000000000000000000000000000000000008560f81b1660208201528360218201528183604183013760009101604101908152949350505050565b60005b83811015610b0d578181015183820152602001610af5565b50506000910152565b6020815260008251806020840152610b35816040850160208701610af2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610b7957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610bc257610bc2610b80565b92915050565b8082028115828204841417610bc257610bc2610b80565b600082610c15577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008251610c2c818460208701610af2565b919091019291505056fea2646970667358221220ceff92450f2a0b4e0b2899c5fd99b1563c3c2080179bc79bc2f5a40b6514125564736f6c63430008110033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063cb23bcb511610050578063cb23bcb514610089578063cf8d56d6146100b8578063e78cea92146100cb57600080fd5b80636ae71f121461006c578063c4d66de814610076575b600080fd5b6100746100de565b005b6100746100843660046109ef565b61032e565b60015461009c906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b6100746100c6366004610a0c565b610522565b60005461009c906001600160a01b031681565b600160009054906101000a90046001600160a01b03166001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610131573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101559190610a88565b6001600160a01b0316336001600160a01b03161461023d57600154604080517f8da5cb5b000000000000000000000000000000000000000000000000000000008152905133926001600160a01b031691638da5cb5b9160048083019260209291908290030181865afa1580156101cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f39190610a88565b6040517f23295f0e0000000000000000000000000000000000000000000000000000000081526001600160a01b039283166004820152911660248201526044015b60405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b031663cb23bcb56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610291573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102b59190610a88565b6001549091506001600160a01b038083169116036102ff576040517fd054909f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036103cc5760405162461bcd60e51b815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610234565b6000546001600160a01b03161561040f576040517fef34ca5c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b03811661044f576040517f1ad0f74300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038316908117909155604080517fcb23bcb5000000000000000000000000000000000000000000000000000000008152905163cb23bcb5916004808201926020929091908290030181865afa1580156104ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f29190610a88565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6001546001600160a01b0316331461057c5760405162461bcd60e51b815260206004820152600b60248201527f4f4e4c595f524f4c4c55500000000000000000000000000000000000000000006044820152606401610234565b806105c95760405162461bcd60e51b815260206004820152601260248201527f454d5054595f434841494e5f434f4e46494700000000000000000000000000006044820152606401610234565b600160006105d5610651565b9050600085838387876040516020016105f2959493929190610aa5565b6040516020818303038152906040529050600061060e82610864565b9050807fff64905f73a67fb594e0f940a8075a860db489ad991e032f48c81123eb52d60b836040516106409190610b16565b60405180910390a250505050505050565b60008054604080517fee35f327000000000000000000000000000000000000000000000000000000008152905183926001600160a01b03169163ee35f3279160048083019260209291908290030181865afa1580156106b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106d89190610a88565b90506000816001600160a01b03166322291e8d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073e9190610a88565b90506001600160a01b0381161561085b5748610758610911565b156107cd57606c6001600160a01b031663f5d6ded76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561079c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c09190610b67565b6107ca9082610baf565b90505b6000826001600160a01b031663e6aa216c6040518163ffffffff1660e01b81526004016020604051808303816000875af115801561080f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108339190610b67565b9050670de0b6b3a76400006108488284610bc8565b6108529190610bdf565b94505050505090565b60009250505090565b60008054825160208401206040517f75d81e25000000000000000000000000000000000000000000000000000000008152600b60048201526024810184905260448101919091526064810183905282916001600160a01b0316906375d81e25906084016020604051808303816000875af11580156108e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090a9190610b67565b9392505050565b60408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f051038f20000000000000000000000000000000000000000000000000000000017905290516000918291829160649161097d9190610c1a565b600060405180830381855afa9150503d80600081146109b8576040519150601f19603f3d011682016040523d82523d6000602084013e6109bd565b606091505b50915091508180156109d0575080516020145b9250505090565b6001600160a01b03811681146109ec57600080fd5b50565b600060208284031215610a0157600080fd5b813561090a816109d7565b600080600060408486031215610a2157600080fd5b83359250602084013567ffffffffffffffff80821115610a4057600080fd5b818601915086601f830112610a5457600080fd5b813581811115610a6357600080fd5b876020828501011115610a7557600080fd5b6020830194508093505050509250925092565b600060208284031215610a9a57600080fd5b815161090a816109d7565b8581527fff000000000000000000000000000000000000000000000000000000000000008560f81b1660208201528360218201528183604183013760009101604101908152949350505050565b60005b83811015610b0d578181015183820152602001610af5565b50506000910152565b6020815260008251806020840152610b35816040850160208701610af2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610b7957600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610bc257610bc2610b80565b92915050565b8082028115828204841417610bc257610bc2610b80565b600082610c15577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b60008251610c2c818460208701610af2565b919091019291505056fea2646970667358221220ceff92450f2a0b4e0b2899c5fd99b1563c3c2080179bc79bc2f5a40b6514125564736f6c63430008110033", "linkReferences": {}, "deployedLinkReferences": {} }