0 txs
11 calls
constructor
constructor(address _counterpartGateway, address _l1Router, address _inbox)
functions
calculateL2TokenAddress
viewfunction calculateL2TokenAddress(address l1Token) view returns (address l2Token)
counterpartGateway
viewfunction counterpartGateway() view returns (address)
escrow
viewfunction escrow() view returns (address)
getImplementation
viewfunction getImplementation() view returns (address)
getOutboundCalldata
purefunction getOutboundCalldata(address l1Token, address from, address to, uint256 amount, bytes data) pure returns (bytes outboundCalldata)
inbox
viewfunction inbox() view returns (address)
isOpen
viewfunction isOpen() view returns (uint256)
l1Router
viewfunction l1Router() view returns (address)
l1ToL2Token
viewfunction l1ToL2Token(address) view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
version
viewfunction version() view returns (string)
wards
viewfunction wards(address) view returns (uint256)
close
nonpayablefunction close()
deny
nonpayablefunction deny(address usr)
file
nonpayablefunction file(bytes32 what, address data)
finalizeInboundTransfer
payablefunction finalizeInboundTransfer(address l1Token, address from, address to, uint256 amount, bytes) payable
initialize
nonpayablefunction initialize()
outboundTransfer
payablefunction outboundTransfer(address l1Token, address to, uint256 amount, uint256 maxGas, uint256 gasPriceBid, bytes data) payable returns (bytes res)
outboundTransferCustomRefund
payablefunction outboundTransferCustomRefund(address l1Token, address refundTo, address to, uint256 amount, uint256 maxGas, uint256 gasPriceBid, bytes data) payable returns (bytes res)
registerToken
nonpayablefunction registerToken(address l1Token, address l2Token)
rely
nonpayablefunction rely(address usr)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Closed
event Closed()
Deny
event Deny(address indexed usr)
DepositInitiated
event DepositInitiated(address l1Token, address indexed _from, address indexed _to, uint256 indexed _sequenceNumber, uint256 _amount)
File
event File(bytes32 indexed what, address data)
Initialized
event Initialized(uint64 version)
Rely
event Rely(address indexed usr)
TokenSet
event TokenSet(address indexed l1Address, address indexed l2Address)
TxToL2
event TxToL2(address indexed _from, address indexed _to, uint256 indexed _seqNum, bytes _data)
Upgraded
event Upgraded(address indexed implementation)
WithdrawalFinalized
event WithdrawalFinalized(address l1Token, address indexed _from, address indexed _to, uint256 indexed _exitNum, uint256 _amount)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x6101006040523060805234801562000015575f80fd5b5060405162001e0e38038062001e0e833981016040819052620000389162000130565b6200004262000060565b6001600160a01b0392831660a05290821660c0521660e05262000177565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000b15760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001115780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b80516001600160a01b03811681146200012b575f80fd5b919050565b5f805f6060848603121562000143575f80fd5b6200014e8462000114565b92506200015e6020850162000114565b91506200016e6040850162000114565b90509250925092565b60805160a05160c05160e051611c2b620001e35f395f8181610488015281816104e60152818161056f01526111c901525f81816101f001526108d301525f81816101900152818161059701526111ea01525f81816110360152818161105f015261122c0152611c2b5ff3fe608060405260043610610147575f3560e01c80638129fc1c116100b3578063ad3cb1cc1161006d578063ad3cb1cc146103cb578063bf353dbb146103fb578063d2ce7d6514610426578063d4e8be8314610439578063e2fdcc1714610458578063fb0e722b14610477575f80fd5b80638129fc1c146102fa5780638a2dc0141461030e5780639c52a7f114610342578063a0c76a9614610361578063a7e28d4814610380578063aaf10f42146103b7575f80fd5b806347535d7b1161010457806347535d7b146102455780634f1ef286146102685780634fb1a07b1461027b57806352d1902d1461029b57806354fd4d50146102af57806365fae35e146102db575f80fd5b806301ffc9a71461014b5780632db09c1c1461017f5780632e567b36146101ca578063407395e0146101df57806343d726d6146102125780634739f7e514610226575b5f80fd5b348015610156575f80fd5b5061016a610165366004611586565b6104aa565b60405190151581526020015b60405180910390f35b34801561018a575f80fd5b506101b27f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610176565b6101dd6101d8366004611606565b6104e0565b005b3480156101ea575f80fd5b506101b27f000000000000000000000000000000000000000000000000000000000000000081565b34801561021d575f80fd5b506101dd6106e5565b348015610231575f80fd5b506101dd610240366004611686565b610742565b348015610250575f80fd5b5061025a60025481565b604051908152602001610176565b6101dd61027636600461177b565b6107c6565b61028e6102893660046117c8565b6107e5565b60405161017691906118a7565b3480156102a6575f80fd5b5061025a610ac2565b3480156102ba575f80fd5b5061028e604051806040016040528060018152602001603160f81b81525081565b3480156102e6575f80fd5b506101dd6102f53660046118b9565b610add565b348015610305575f80fd5b506101dd610b4f565b348015610319575f80fd5b506101b26103283660046118b9565b60016020525f90815260409020546001600160a01b031681565b34801561034d575f80fd5b506101dd61035c3660046118b9565b610c9c565b34801561036c575f80fd5b5061028e61037b3660046118d4565b610d0d565b34801561038b575f80fd5b506101b261039a3660046118b9565b6001600160a01b039081165f908152600160205260409020541690565b3480156103c2575f80fd5b506101b2610d79565b3480156103d6575f80fd5b5061028e604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610406575f80fd5b5061025a6104153660046118b9565b5f6020819052908152604090205481565b61028e61043436600461194e565b610d9d565b348015610444575f80fd5b506101dd6104533660046119ce565b610dbb565b348015610463575f80fd5b506003546101b2906001600160a01b031681565b348015610482575f80fd5b506101b27f000000000000000000000000000000000000000000000000000000000000000081565b5f6001600160e01b03198216634fb1a07b60e01b14806104da57506301ffc9a760e01b6001600160e01b03198316145b92915050565b5f61050a7f0000000000000000000000000000000000000000000000000000000000000000610eb2565b9050336001600160a01b038216146105695760405162461bcd60e51b815260206004820152601e60248201527f4c31546f6b656e476174657761792f6e6f742d66726f6d2d627269646765000060448201526064015b60405180910390fd5b5f6105937f0000000000000000000000000000000000000000000000000000000000000000610f13565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316146106265760405162461bcd60e51b815260206004820152602760248201527f4c31546f6b656e476174657761792f6f6e6c792d636f756e746572706172742d6044820152666761746577617960c81b6064820152608401610560565b6003546040516323b872dd60e01b81526001600160a01b039182166004820152878216602482015260448101879052908916906323b872dd906064015f604051808303815f87803b158015610679575f80fd5b505af115801561068b573d5f803e3d5ffd5b5050604080516001600160a01b038c81168252602082018a90525f9450808b1693508b16917f891afe029c75c4f8c5855fc3480598bc5a53739344f6ae575bdb7ea2a79f56b3910160405180910390a45050505050505050565b335f908152602081905260409020546001146107135760405162461bcd60e51b8152600401610560906119f1565b5f60028190556040517f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a9190a1565b335f908152602081905260409020546001146107705760405162461bcd60e51b8152600401610560906119f1565b6001600160a01b038281165f8181526001602052604080822080546001600160a01b0319169486169485179055517f0dd664a155dd89526bb019e22b00291bb7ca9d07ba3ec4a1a76b410da9797ceb9190a35050565b6107ce61102b565b6107d7826110d1565b6107e18282611102565b5050565b60606002546001146108315760405162461bcd60e51b8152602060048201526015602482015274130c551bdad95b91d85d195dd85e4bd8db1bdcd959605a1b6044820152606401610560565b6001600160a01b038981165f90815260016020526040902054166108975760405162461bcd60e51b815260206004820152601c60248201527f4c31546f6b656e476174657761792f696e76616c69642d746f6b656e000000006044820152606401610560565b5f805f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525092935050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314905061090a57338161091e565b8080602001905181019061091e9190611a72565b805191945091505f9061093a9083016020908101908401611ab6565b80519093509091501561099d5760405162461bcd60e51b815260206004820152602560248201527f4c31546f6b656e476174657761792f65787472612d646174612d6e6f742d616c6044820152641b1bddd95960da1b6064820152608401610560565b6003546040516323b872dd60e01b81526001600160a01b0386811660048301529182166024820152604481018c9052908e16906323b872dd906064015f604051808303815f87803b1580156109f0575f80fd5b505af1158015610a02573d5f803e3d5ffd5b50505050610a218d858d8d60405180602001604052805f815250610d0d565b9450610a318c858b8b858a6111c3565b925050818a6001600160a01b0316846001600160a01b03167fb8910b9960c443aac3240b98585384e3a6f109fbf6969e264c3f183d69aba7e18f8d604051610a8e9291906001600160a01b03929092168252602082015260400190565b60405180910390a4604080516020810184905201604051602081830303815290604052935050505098975050505050505050565b5f610acb611221565b505f80516020611bd683398151915290565b335f90815260208190526040902054600114610b0b5760405162461bcd60e51b8152600401610560906119f1565b6001600160a01b0381165f8181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f81158015610b945750825b90505f8267ffffffffffffffff166001148015610bb05750303b155b905081158015610bbe575080155b15610bdc5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610c0657845460ff60401b1916600160401b1785555b610c0e61126a565b60016002819055335f8181526020819052604080822093909355915190917fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6091a28315610c9557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b335f90815260208190526040902054600114610cca5760405162461bcd60e51b8152600401610560906119f1565b6001600160a01b0381165f81815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b60608585858585604051602001610d249190611ae4565b60408051601f1981840301815290829052610d459594939291602401611b03565b60408051601f198184030181529190526020810180516001600160e01b031663172b3d9b60e11b1790529695505050505050565b5f610d985f80516020611bd6833981519152546001600160a01b031690565b905090565b6060610daf88888989898989896107e5565b98975050505050505050565b335f90815260208190526040902054600114610de95760405162461bcd60e51b8152600401610560906119f1565b8165657363726f7760d01b03610e1957600380546001600160a01b0319166001600160a01b038316179055610e70565b60405162461bcd60e51b815260206004820152602660248201527f4c31546f6b656e476174657761792f66696c652d756e7265636f676e697a65646044820152652d706172616d60d01b6064820152608401610560565b6040516001600160a01b038216815282907f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba9060200160405180910390a25050565b5f816001600160a01b031663e78cea926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610eef573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104da9190611b3d565b5f80610f1e83610eb2565b6001600160a01b031663ab5d89436040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7d9190611b3d565b90505f816001600160a01b03166380648b026040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fbc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fe09190611b3d565b90506001600160a01b0381166110245760405162461bcd60e51b81526020600482015260096024820152682727afa9a2a72222a960b91b6044820152606401610560565b9392505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110b157507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110a55f80516020611bd6833981519152546001600160a01b031690565b6001600160a01b031614155b156110cf5760405163703e46dd60e11b815260040160405180910390fd5b565b335f908152602081905260409020546001146110ff5760405162461bcd60e51b8152600401610560906119f1565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa92505050801561115c575060408051601f3d908101601f1916820190925261115991810190611b58565b60015b61118457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610560565b5f80516020611bd683398151915281146111b457604051632a87526960e21b815260048101829052602401610560565b6111be8383611272565b505050565b5f6112167f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008989345f898c8c8b6112c7565b979650505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110cf5760405163703e46dd60e11b815260040160405180910390fd5b6110cf611338565b61127b82611381565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156112bf576111be82826113e4565b6107e1611456565b5f806112db8c8c8c8c8c8c8c8c8c8c611475565b9050808b6001600160a01b03168a6001600160a01b03167fc1d1490cf25c3b40d600dfb27c7680340ed1ab901b7e8f3551280968a3b372b08660405161132191906118a7565b60405180910390a49b9a5050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166110cf57604051631afcd79f60e31b815260040160405180910390fd5b806001600160a01b03163b5f036113b657604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610560565b5f80516020611bd683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516114009190611b6f565b5f60405180830381855af49150503d805f8114611438576040519150601f19603f3d011682016040523d82523d5f602084013e61143d565b606091505b509150915061144d858383611501565b95945050505050565b34156110cf5760405163b398979f60e01b815260040160405180910390fd5b5f8a6001600160a01b031663679b6ded888c89898e8e8b8b8b6040518a63ffffffff1660e01b81526004016114b1989796959493929190611b8a565b60206040518083038185885af11580156114cd573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906114f29190611b58565b9b9a5050505050505050505050565b606082611516576115118261155d565b611024565b815115801561152d57506001600160a01b0384163b155b1561155657604051639996b31560e01b81526001600160a01b0385166004820152602401610560565b5092915050565b80511561156d5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b5f60208284031215611596575f80fd5b81356001600160e01b031981168114611024575f80fd5b6001600160a01b03811681146110ff575f80fd5b5f8083601f8401126115d1575f80fd5b50813567ffffffffffffffff8111156115e8575f80fd5b6020830191508360208285010111156115ff575f80fd5b9250929050565b5f805f805f8060a0878903121561161b575f80fd5b8635611626816115ad565b95506020870135611636816115ad565b94506040870135611646816115ad565b935060608701359250608087013567ffffffffffffffff811115611668575f80fd5b61167489828a016115c1565b979a9699509497509295939492505050565b5f8060408385031215611697575f80fd5b82356116a2816115ad565b915060208301356116b2816115ad565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156116fa576116fa6116bd565b604052919050565b5f67ffffffffffffffff82111561171b5761171b6116bd565b50601f01601f191660200190565b5f82601f830112611738575f80fd5b813561174b61174682611702565b6116d1565b81815284602083860101111561175f575f80fd5b816020850160208301375f918101602001919091529392505050565b5f806040838503121561178c575f80fd5b8235611797816115ad565b9150602083013567ffffffffffffffff8111156117b2575f80fd5b6117be85828601611729565b9150509250929050565b5f805f805f805f8060e0898b0312156117df575f80fd5b88356117ea816115ad565b975060208901356117fa816115ad565b9650604089013561180a816115ad565b9550606089013594506080890135935060a0890135925060c089013567ffffffffffffffff81111561183a575f80fd5b6118468b828c016115c1565b999c989b5096995094979396929594505050565b5f5b8381101561187457818101518382015260200161185c565b50505f910152565b5f815180845261189381602086016020860161185a565b601f01601f19169290920160200192915050565b602081525f611024602083018461187c565b5f602082840312156118c9575f80fd5b8135611024816115ad565b5f805f805f60a086880312156118e8575f80fd5b85356118f3816115ad565b94506020860135611903816115ad565b93506040860135611913816115ad565b925060608601359150608086013567ffffffffffffffff811115611935575f80fd5b61194188828901611729565b9150509295509295909350565b5f805f805f805f60c0888a031215611964575f80fd5b873561196f816115ad565b9650602088013561197f816115ad565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff8111156119af575f80fd5b6119bb8a828b016115c1565b989b979a50959850939692959293505050565b5f80604083850312156119df575f80fd5b8235915060208301356116b2816115ad565b6020808252601d908201527f4c31546f6b656e476174657761792f6e6f742d617574686f72697a6564000000604082015260600190565b5f82601f830112611a37575f80fd5b8151611a4561174682611702565b818152846020838601011115611a59575f80fd5b611a6a82602083016020870161185a565b949350505050565b5f8060408385031215611a83575f80fd5b8251611a8e816115ad565b602084015190925067ffffffffffffffff811115611aaa575f80fd5b6117be85828601611a28565b5f8060408385031215611ac7575f80fd5b82519150602083015167ffffffffffffffff811115611aaa575f80fd5b604081525f6040820152606060208201525f611024606083018461187c565b6001600160a01b0386811682528581166020830152841660408201526060810183905260a0608082018190525f906112169083018461187c565b5f60208284031215611b4d575f80fd5b8151611024816115ad565b5f60208284031215611b68575f80fd5b5051919050565b5f8251611b8081846020870161185a565b9190910192915050565b5f61010060018060a01b03808c1684528a602085015289604085015280891660608501528088166080850152508560a08401528460c08401528060e08401526114f28184018561187c56fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b732d022bb865001319d8689ff3647c58a10886cddef9eff0239cb3f0232299b64736f6c6343000815003300000000000000000000000013f7f24ca959359a4d710d32c715d4bce273c79300000000000000000000000072ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef0000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f