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