0 txs
16 calls
constructor
constructor(address _otherBridge, address _messenger)
functions
escrow
viewfunction escrow() view returns (address)
getImplementation
viewfunction getImplementation() view returns (address)
isOpen
viewfunction isOpen() view returns (uint256)
l1ToL2Token
viewfunction l1ToL2Token(address) view returns (address)
messenger
viewfunction messenger() view returns (address)
otherBridge
viewfunction otherBridge() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
version
viewfunction version() view returns (string)
wards
viewfunction wards(address) view returns (uint256)
bridgeERC20
nonpayablefunction bridgeERC20(address _localToken, address _remoteToken, uint256 _amount, uint32 _minGasLimit, bytes _extraData)
bridgeERC20To
nonpayablefunction bridgeERC20To(address _localToken, address _remoteToken, address _to, uint256 _amount, uint32 _minGasLimit, bytes _extraData)
close
nonpayablefunction close()
deny
nonpayablefunction deny(address usr)
file
nonpayablefunction file(bytes32 what, address data)
finalizeBridgeERC20
nonpayablefunction finalizeBridgeERC20(address _localToken, address _remoteToken, address _from, address _to, uint256 _amount, bytes _extraData)
initialize
nonpayablefunction initialize()
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)
ERC20BridgeFinalized
event ERC20BridgeFinalized(address indexed localToken, address indexed remoteToken, address indexed from, address to, uint256 amount, bytes extraData)
ERC20BridgeInitiated
event ERC20BridgeInitiated(address indexed localToken, address indexed remoteToken, address indexed from, address to, uint256 amount, bytes extraData)
File
event File(bytes32 indexed what, address data)
Initialized
event Initialized(uint64 version)
Rely
event Rely(address indexed usr)
TokenSet
event TokenSet(address indexed l1Token, address indexed l2Token)
Upgraded
event Upgraded(address indexed implementation)
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
0x60e06040523060805234801562000014575f80fd5b50604051620018ed380380620018ed833981016040819052620000379162000129565b6200004162000059565b6001600160a01b0391821660a0521660c0526200015f565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000aa5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146200010a5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b80516001600160a01b038116811462000124575f80fd5b919050565b5f80604083850312156200013b575f80fd5b62000146836200010d565b915062000156602084016200010d565b90509250929050565b60805160a05160c051611732620001bb5f395f8181610151015281816103f5015281816104490152610e5901525f818161038a0152818161041f0152610e8801525f8181610b5201528181610b7b0152610cea01526117325ff3fe60806040526004361061011b575f3560e01c80638129fc1c1161009d578063ad3cb1cc11610062578063ad3cb1cc1461031e578063bf353dbb1461034e578063c89701a214610379578063d4e8be83146103ac578063e2fdcc17146103cb575f80fd5b80638129fc1c1461028457806387087623146102985780638a2dc014146102b75780639c52a7f1146102eb578063aaf10f421461030a575f80fd5b80634f1ef286116100e35780634f1ef286146101e657806352d1902d146101f9578063540abf731461020d57806354fd4d501461022c57806365fae35e14610265575f80fd5b80630166a07a1461011f5780633cb747bf1461014057806343d726d6146101905780634739f7e5146101a457806347535d7b146101c3575b5f80fd5b34801561012a575f80fd5b5061013e610139366004611225565b6103ea565b005b34801561014b575f80fd5b506101737f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019b575f80fd5b5061013e6105fc565b3480156101af575f80fd5b5061013e6101be3660046112b7565b610659565b3480156101ce575f80fd5b506101d860025481565b604051908152602001610187565b61013e6101f4366004611302565b6106dd565b348015610204575f80fd5b506101d86106fc565b348015610218575f80fd5b5061013e6102273660046113d8565b610717565b348015610237575f80fd5b50610258604051806040016040528060018152602001603160f81b81525081565b6040516101879190611496565b348015610270575f80fd5b5061013e61027f3660046114a8565b610763565b34801561028f575f80fd5b5061013e6107d5565b3480156102a3575f80fd5b5061013e6102b23660046114c3565b610922565b3480156102c2575f80fd5b506101736102d13660046114a8565b60016020525f90815260409020546001600160a01b031681565b3480156102f6575f80fd5b5061013e6103053660046114a8565b6109bc565b348015610315575f80fd5b50610173610a2d565b348015610329575f80fd5b50610258604051806040016040528060058152602001640352e302e360dc1b81525081565b348015610359575f80fd5b506101d86103683660046114a8565b5f6020819052908152604090205481565b348015610384575f80fd5b506101737f000000000000000000000000000000000000000000000000000000000000000081565b3480156103b7575f80fd5b5061013e6103c6366004611541565b610a51565b3480156103d6575f80fd5b50600354610173906001600160a01b031681565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480156104d257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104a3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104c79190611564565b6001600160a01b0316145b61052f5760405162461bcd60e51b815260206004820152602360248201527f4c31546f6b656e4272696467652f6e6f742d66726f6d2d6f746865722d62726960448201526264676560e81b60648201526084015b60405180910390fd5b6003546040516323b872dd60e01b81526001600160a01b039182166004820152858216602482015260448101859052908816906323b872dd906064015f604051808303815f87803b158015610582575f80fd5b505af1158015610594573d5f803e3d5ffd5b50505050846001600160a01b0316866001600160a01b0316886001600160a01b03167fd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd878787876040516105eb949392919061157f565b60405180910390a450505050505050565b335f9081526020819052604090205460011461062a5760405162461bcd60e51b8152600401610526906115c6565b5f60028190556040517f1cdde67b72a90f19919ac732a437ac2f7a10fc128d28c2a6e525d89ce5cd9d3a9190a1565b335f908152602081905260409020546001146106875760405162461bcd60e51b8152600401610526906115c6565b6001600160a01b038281165f8181526001602052604080822080546001600160a01b0319169486169485179055517f0dd664a155dd89526bb019e22b00291bb7ca9d07ba3ec4a1a76b410da9797ceb9190a35050565b6106e5610b47565b6106ee82610bed565b6106f88282610c1e565b5050565b5f610705610cdf565b505f805160206116dd83398151915290565b61075a878787878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610d2892505050565b50505050505050565b335f908152602081905260409020546001146107915760405162461bcd60e51b8152600401610526906115c6565b6001600160a01b0381165f8181526020819052604080822060019055517fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a609190a250565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff165f8115801561081a5750825b90505f8267ffffffffffffffff1660011480156108365750303b155b905081158015610844575080155b156108625760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561088c57845460ff60401b1916600160401b1785555b610894610faa565b60016002819055335f8181526020819052604080822093909355915190917fdd0e34038ac38b2a1ce960229778ac48a8719bc900b6c4f8d0475c6e8b385a6091a2831561091b57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b333b156109715760405162461bcd60e51b815260206004820152601c60248201527f4c31546f6b656e4272696467652f73656e6465722d6e6f742d656f61000000006044820152606401610526565b6109b4868633878787878080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610d2892505050565b505050505050565b335f908152602081905260409020546001146109ea5760405162461bcd60e51b8152600401610526906115c6565b6001600160a01b0381165f81815260208190526040808220829055517f184450df2e323acec0ed3b5c7531b81f9b4cdef7914dfd4c0a4317416bb5251b9190a250565b5f610a4c5f805160206116dd833981519152546001600160a01b031690565b905090565b335f90815260208190526040902054600114610a7f5760405162461bcd60e51b8152600401610526906115c6565b8165657363726f7760d01b03610aaf57600380546001600160a01b0319166001600160a01b038316179055610b05565b60405162461bcd60e51b815260206004820152602560248201527f4c31546f6b656e4272696467652f66696c652d756e7265636f676e697a65642d604482015264706172616d60d81b6064820152608401610526565b6040516001600160a01b038216815282907f8fef588b5fc1afbf5b2f06c1a435d513f208da2e6704c3d8f0e0ec91167066ba9060200160405180910390a25050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610bcd57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bc15f805160206116dd833981519152546001600160a01b031690565b6001600160a01b031614155b15610beb5760405163703e46dd60e11b815260040160405180910390fd5b565b335f90815260208190526040902054600114610c1b5760405162461bcd60e51b8152600401610526906115c6565b50565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610c78575060408051601f3d908101601f19168201909252610c75918101906115fd565b60015b610ca057604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610526565b5f805160206116dd8339815191528114610cd057604051632a87526960e21b815260048101829052602401610526565b610cda8383610fb2565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610beb5760405163703e46dd60e11b815260040160405180910390fd5b600254600114610d715760405162461bcd60e51b8152602060048201526014602482015273130c551bdad95b909c9a5919d94bd8db1bdcd95960621b6044820152606401610526565b6001600160a01b03851615801590610da457506001600160a01b038681165f908152600160205260409020548116908616145b610df05760405162461bcd60e51b815260206004820152601b60248201527f4c31546f6b656e4272696467652f696e76616c69642d746f6b656e00000000006044820152606401610526565b6003546040516323b872dd60e01b81523360048201526001600160a01b03918216602482015260448101859052908716906323b872dd906064015f604051808303815f87803b158015610e41575f80fd5b505af1158015610e53573d5f803e3d5ffd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633dbb202b7f0000000000000000000000000000000000000000000000000000000000000000306001600160a01b0316630166a07a898b338b8b8a604051602401610ed196959493929190611614565b60408051808303601f1901815291815260208201805160e094851b6001600160e01b03909116179052519185901b6001600160e01b0319168252610f1c939250908790600401611662565b5f604051808303815f87803b158015610f33575f80fd5b505af1158015610f45573d5f803e3d5ffd5b50505050336001600160a01b0316856001600160a01b0316876001600160a01b03167f7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf878786604051610f9a9392919061169b565b60405180910390a4505050505050565b610beb611007565b610fbb82611050565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a2805115610fff57610cda82826110b3565b6106f8611125565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610beb57604051631afcd79f60e31b815260040160405180910390fd5b806001600160a01b03163b5f0361108557604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610526565b5f805160206116dd83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b60605f80846001600160a01b0316846040516110cf91906116c1565b5f60405180830381855af49150503d805f8114611107576040519150601f19603f3d011682016040523d82523d5f602084013e61110c565b606091505b509150915061111c858383611144565b95945050505050565b3415610beb5760405163b398979f60e01b815260040160405180910390fd5b60608261115957611154826111a3565b61119c565b815115801561117057506001600160a01b0384163b155b1561119957604051639996b31560e01b81526001600160a01b0385166004820152602401610526565b50805b9392505050565b8051156111b35780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114610c1b575f80fd5b5f8083601f8401126111f0575f80fd5b50813567ffffffffffffffff811115611207575f80fd5b60208301915083602082850101111561121e575f80fd5b9250929050565b5f805f805f805f60c0888a03121561123b575f80fd5b8735611246816111cc565b96506020880135611256816111cc565b95506040880135611266816111cc565b94506060880135611276816111cc565b93506080880135925060a088013567ffffffffffffffff811115611298575f80fd5b6112a48a828b016111e0565b989b979a50959850939692959293505050565b5f80604083850312156112c8575f80fd5b82356112d3816111cc565b915060208301356112e3816111cc565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215611313575f80fd5b823561131e816111cc565b9150602083013567ffffffffffffffff8082111561133a575f80fd5b818501915085601f83011261134d575f80fd5b81358181111561135f5761135f6112ee565b604051601f8201601f19908116603f01168101908382118183101715611387576113876112ee565b8160405282815288602084870101111561139f575f80fd5b826020860160208301375f6020848301015280955050505050509250929050565b803563ffffffff811681146113d3575f80fd5b919050565b5f805f805f805f60c0888a0312156113ee575f80fd5b87356113f9816111cc565b96506020880135611409816111cc565b95506040880135611419816111cc565b94506060880135935061142e608089016113c0565b925060a088013567ffffffffffffffff811115611298575f80fd5b5f5b8381101561146357818101518382015260200161144b565b50505f910152565b5f8151808452611482816020860160208601611449565b601f01601f19169290920160200192915050565b602081525f61119c602083018461146b565b5f602082840312156114b8575f80fd5b813561119c816111cc565b5f805f805f8060a087890312156114d8575f80fd5b86356114e3816111cc565b955060208701356114f3816111cc565b945060408701359350611508606088016113c0565b9250608087013567ffffffffffffffff811115611523575f80fd5b61152f89828a016111e0565b979a9699509497509295939492505050565b5f8060408385031215611552575f80fd5b8235915060208301356112e3816111cc565b5f60208284031215611574575f80fd5b815161119c816111cc565b6001600160a01b0385168152602081018490526060604082018190528101829052818360808301375f818301608090810191909152601f909201601f191601019392505050565b6020808252601c908201527f4c31546f6b656e4272696467652f6e6f742d617574686f72697a656400000000604082015260600190565b5f6020828403121561160d575f80fd5b5051919050565b6001600160a01b03878116825286811660208301528581166040830152841660608201526080810183905260c060a082018190525f906116569083018461146b565b98975050505050505050565b6001600160a01b03841681526060602082018190525f906116859083018561146b565b905063ffffffff83166040830152949350505050565b60018060a01b0384168152826020820152606060408201525f61111c606083018461146b565b5f82516116d2818460208701611449565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220a3ea19958250cef611cec7a4a688f051f1d174770763b5a1cb811bd82ff8a45764736f6c634300081500330000000000000000000000008f41dbf6b8498561ce1d73af16cd9c0d8ee20ba600000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa1