1 tx
14 calls
constructor
constructor(address _olas, address _l1Dispenser, address _l1TokenRelayer, address _l1MessageRelayer, uint256 _l2TargetChainId, address _olasL2)
functions
BRIDGE_PAYLOAD_LENGTH
viewfunction BRIDGE_PAYLOAD_LENGTH() view returns (uint256)
getBridgingDecimals
purefunction getBridgingDecimals() pure returns (uint256)
l1Dispenser
viewfunction l1Dispenser() view returns (address)
l1MessageRelayer
viewfunction l1MessageRelayer() view returns (address)
l1TokenRelayer
viewfunction l1TokenRelayer() view returns (address)
l2TargetChainId
viewfunction l2TargetChainId() view returns (uint256)
l2TargetDispenser
viewfunction l2TargetDispenser() view returns (address)
MAX_CHAIN_ID
viewfunction MAX_CHAIN_ID() view returns (uint256)
MESSAGE_GAS_LIMIT
viewfunction MESSAGE_GAS_LIMIT() view returns (uint256)
olas
viewfunction olas() view returns (address)
olasL2
viewfunction olasL2() view returns (address)
owner
viewfunction owner() view returns (address)
processedHashes
viewfunction processedHashes(bytes32) view returns (bool)
RECEIVE_MESSAGE
viewfunction RECEIVE_MESSAGE() view returns (bytes4)
stakingBatchNonce
viewfunction stakingBatchNonce() view returns (uint256)
TOKEN_GAS_LIMIT
viewfunction TOKEN_GAS_LIMIT() view returns (uint256)
receiveMessage
payablefunction receiveMessage(bytes data) payable
sendMessage
payablefunction sendMessage(address target, uint256 stakingIncentive, bytes bridgePayload, uint256 transferAmount) payable
sendMessageBatch
payablefunction sendMessageBatch(address[] targets, uint256[] stakingIncentives, bytes bridgePayload, uint256 transferAmount) payable
setL2TargetDispenser
nonpayablefunction setL2TargetDispenser(address l2Dispenser)
updateHashMaintenance
nonpayablefunction updateHashMaintenance(bytes32 batchHash)
events
L2TargetDispenserUpdated
event L2TargetDispenserUpdated(address indexed l2TargetDispenser)
LeftoversRefunded
event LeftoversRefunded(address indexed sender, uint256 leftovers)
MessagePosted
event MessagePosted(uint256 indexed sequence, address[] targets, uint256[] stakingIncentives, uint256 transferAmount, bytes32 indexed batchHash)
MessageReceived
event MessageReceived(address indexed l1Relayer, uint256 indexed chainId, bytes data)
errors
AlreadyDelivered
error AlreadyDelivered(bytes32 deliveryHash)
IncorrectDataLength
error IncorrectDataLength(uint256 expected, uint256 provided)
InsufficientBalance
error InsufficientBalance(uint256 provided, uint256 expected)
LowerThan
error LowerThan(uint256 provided, uint256 expected)
ManagerOnly
error ManagerOnly(address sender, address manager)
Overflow
error Overflow(uint256 provided, uint256 max)
OwnerOnly
error OwnerOnly(address sender, address owner)
Paused
error Paused()
ReentrancyGuard
error ReentrancyGuard()
TargetAmountNotQueued
error TargetAmountNotQueued(address target, uint256 amount, bytes32 batchHash)
TargetRelayerOnly
error TargetRelayerOnly(address provided, address expected)
TransferFailed
error TransferFailed(address token, address from, address to, uint256 amount)
Unpaused
error Unpaused()
WrongAccount
error WrongAccount(address account)
WrongAmount
error WrongAmount(uint256 provided, uint256 expected)
WrongChainId
error WrongChainId(uint256 provided, uint256 expected)
WrongMessageSender
error WrongMessageSender(address provided, address expected)
WrongTokenAddress
error WrongTokenAddress(address provided, address expected)
ZeroAddress
error ZeroAddress()
ZeroValue
error ZeroValue()
creation bytecode
0x610140604052348015610010575f80fd5b506040516119ae3803806119ae83398101604081905261002f916101a4565b85858585856001600160a01b038416158061005157506001600160a01b038316155b8061006357506001600160a01b038216155b156100815760405163d92e233d60e01b815260040160405180910390fd5b805f036100a157604051637c946ed760e01b815260040160405180910390fd5b60246100b560026001600160401b0361020d565b6100bf919061023e565b6001600160401b031681111561011d578060246100e460026001600160401b0361020d565b6100ee919061023e565b604051637ae5968560e01b815260048101929092526001600160401b0316602482015260440160405180910390fd5b6001600160a01b0394851660805292841660a05290831660c052821660e05261010052600180546001600160a01b0319163317905581166101715760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b031661012052506102719350505050565b80516001600160a01b038116811461019f575f80fd5b919050565b5f805f805f8060c087890312156101b9575f80fd5b6101c287610189565b95506101d060208801610189565b94506101de60408801610189565b93506101ec60608801610189565b92506080870151915061020160a08801610189565b90509295509295509295565b5f6001600160401b038381168061023257634e487b7160e01b5f52601260045260245ffd5b92169190910492915050565b6001600160401b0382811682821603908082111561026a57634e487b7160e01b5f52601160045260245ffd5b5092915050565b60805160a05160c05160e05161010051610120516116786103365f395f818161038f0152610c2c01525f818161041a01528181610f97015261108301525f81816102040152818161096d01528181610e1f01528181610e9a0152610f0701525f818161033d01528181610b370152610c7b01525f818161046b0152818161050e0152818161054a015281816105d9015281816106150152818161080a0152818161084601526110bf01525f818161017601528181610b660152610c0401526116785ff3fe608060405260043610610161575f3560e01c8063a0726ffa116100c6578063c23cc3ff1161007c578063f4427c2c11610057578063f4427c2c1461048d578063f953cec7146104a2578063f9fc3c21146104b5575f80fd5b8063c23cc3ff14610409578063e309fb771461043c578063f2541c351461045a575f80fd5b8063ac65ded2116100ac578063ac65ded2146103c4578063b2267a7b146103e3578063bde52661146103f6575f80fd5b8063a0726ffa1461037e578063a8b2ae02146103b1575f80fd5b806354d20cc21161011b5780635bc105c0116101015780635bc105c0146103185780636143fe931461032c5780638da5cb5b1461035f575f80fd5b806354d20cc21461025e57806354e4bbf4146102f7575f80fd5b80633d1f86791161014b5780633d1f8679146101f35780634c1c6cbf146102265780634ece6b171461024a575f80fd5b806231d1151461016557806307d9c534146101b5575b5f80fd5b348015610170575f80fd5b506101987f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101c0575f80fd5b506101e36101cf36600461111d565b60036020525f908152604090205460ff1681565b60405190151581526020016101ac565b3480156101fe575f80fd5b506101987f000000000000000000000000000000000000000000000000000000000000000081565b348015610231575f80fd5b5061023c620493e081565b6040519081526020016101ac565b348015610255575f80fd5b5061023c602081565b348015610269575f80fd5b5060408051808201909152601581527f726563656976654d6573736167652862797465732900000000000000000000006020909101526102c67ff953cec75ae677942d7cda5cb6d12c0cb96a0904bf37d36301eef297b83c411d81565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020016101ac565b348015610302575f80fd5b50610316610311366004611148565b6104cb565b005b348015610323575f80fd5b5061023c6104d7565b348015610337575f80fd5b506101987f000000000000000000000000000000000000000000000000000000000000000081565b34801561036a575f80fd5b50600154610198906001600160a01b031681565b348015610389575f80fd5b506101987f000000000000000000000000000000000000000000000000000000000000000081565b3480156103bc575f80fd5b50601261023c565b3480156103cf575f80fd5b506103166103de36600461111d565b610503565b6103166103f136600461121b565b6105ce565b610316610404366004611307565b6107ff565b348015610414575f80fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b348015610447575f80fd5b505f54610198906001600160a01b031681565b348015610465575f80fd5b506101987f000000000000000000000000000000000000000000000000000000000000000081565b348015610498575f80fd5b5061023c60025481565b6103166104b03660046113dc565b61096a565b3480156104c0575f80fd5b5061023c621e848081565b6104d4816109fc565b50565b60246104ec600267ffffffffffffffff61142a565b6104f6919061145c565b67ffffffffffffffff1681565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105825760405163312d21ff60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001660048201523360248201526044015b60405180910390fd5b5f8181526003602052604090205460ff16156105b4576040516356bc34a160e01b815260048101829052602401610579565b5f908152600360205260409020805460ff19166001179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106485760405163312d21ff60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152336024820152604401610579565b6040805160018082528183019092525f916020808301908036833701905050905084815f8151811061067c5761067c611484565b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092525f9181602001602082028036833701905050905084815f815181106106cb576106cb611484565b602090810291909101810191909152600254604080519283018290524690830152306060830152905f906080016040516020818303038152906040528051906020012090505f8061071f86868a8a87610aff565b909250905080156107a557604051329082905f81818185875af1925050503d805f8114610767576040519150601f19603f3d011682016040523d82523d5f602084013e61076c565b606091505b50506040518281523291507f8e49ed3e274fbea1556bdfaa9a37a0c28445bfe26d57beaf9f04fd517aa417419060200160405180910390a25b6107b0846001611498565b60028190555082827f621aece9999edf4d664a3855f668f6fc380937a42044234fd883b42d0485118788888b6040516107eb93929190611523565b60405180910390a350505050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108795760405163312d21ff60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166004820152336024820152604401610579565b600254604080516020810183905246918101919091523060608201525f906080016040516020818303038152906040528051906020012090505f806108c18888888887610aff565b9092509050801561091257604051329082905f81818185875af1925050503d805f8114610909576040519150601f19603f3d011682016040523d82523d5f602084013e61090e565b606091505b5050505b61091d846001611498565b60028190555082827f621aece9999edf4d664a3855f668f6fc380937a42044234fd883b42d048511878a8a8960405161095893929190611523565b60405180910390a35050505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636e296e456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109c7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109eb9190611558565b90506109f8338284610e98565b5050565b6001546001600160a01b03163314610a55576001546040517fa43d6ada0000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152336024820152604401610579565b6001600160a01b038116610a95576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80546001600160a01b0383167fffffffffffffffffffffffff0000000000000000000000000000000000000000918216811783556001805490921690915560405190917f991aa5c8f67a92f8feb202de828958c681966ae343fcf6db040f5f8099d547cf91a250565b5f808315610cd3576040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018690527f0000000000000000000000000000000000000000000000000000000000000000169063095ea7b3906044016020604051808303815f875af1158015610bac573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bd09190611573565b505f80546040517f838b25200000000000000000000000000000000000000000000000000000000081526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152918216604482015260648101879052620493e0608482015260c060a482015260c48101929092527f0000000000000000000000000000000000000000000000000000000000000000169063838b25209060e4015f604051808303815f87803b158015610cbc575f80fd5b505af1158015610cce573d5f803e3d5ffd5b505050505b5f6020865103610cf45785806020019051810190610cf19190611592565b90505b621e8480811015610d055750621e84805b604080518082018252601581527f726563656976654d65737361676528627974657329000000000000000000000060209182015290515f917ff953cec75ae677942d7cda5cb6d12c0cb96a0904bf37d36301eef297b83c411d91610d6f918c918c918a9101611523565b60408051601f1981840301815290829052610d8c916024016115d7565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092525f5491517f3dbb202b0000000000000000000000000000000000000000000000000000000081529092506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811692633dbb202b92610e5c929190911690859087906004016115e9565b5f604051808303815f87803b158015610e73575f80fd5b505af1158015610e85573d5f803e3d5ffd5b50969b349b509950505050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614610f34576040517f2f3111fa0000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000166024820152604401610579565b5f546001600160a01b03838116911614610f90575f546040517f0d16cbdd0000000000000000000000000000000000000000000000000000000081526001600160a01b0380851660048301529091166024820152604401610579565b5f546040517f0000000000000000000000000000000000000000000000000000000000000000916001600160a01b0316907f98bbde530ec85b002f6fb0864beccaaf3ac3d2a4ac35cb3b03cf7c61ee415e3390610fee9085906115d7565b60405180910390a35f808280602001905181019061100c9190611620565b5f81815260036020526040902054919350915060ff1615611043576040516356bc34a160e01b815260048101829052602401610579565b5f8181526003602052604090819020805460ff19166001179055517f79bc81dd0000000000000000000000000000000000000000000000000000000081527f0000000000000000000000000000000000000000000000000000000000000000600482015260248101839052604481018290526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906379bc81dd906064015f604051808303815f87803b158015611100575f80fd5b505af1158015611112573d5f803e3d5ffd5b505050505050505050565b5f6020828403121561112d575f80fd5b5035919050565b6001600160a01b03811681146104d4575f80fd5b5f60208284031215611158575f80fd5b813561116381611134565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff811182821017156111a7576111a761116a565b604052919050565b5f82601f8301126111be575f80fd5b813567ffffffffffffffff8111156111d8576111d861116a565b6111eb601f8201601f191660200161117e565b8181528460208386010111156111ff575f80fd5b816020850160208301375f918101602001919091529392505050565b5f805f806080858703121561122e575f80fd5b843561123981611134565b935060208501359250604085013567ffffffffffffffff81111561125b575f80fd5b611267878288016111af565b949793965093946060013593505050565b5f67ffffffffffffffff8211156112915761129161116a565b5060051b60200190565b5f82601f8301126112aa575f80fd5b813560206112bf6112ba83611278565b61117e565b8083825260208201915060208460051b8701019350868411156112e0575f80fd5b602086015b848110156112fc57803583529183019183016112e5565b509695505050505050565b5f805f806080858703121561131a575f80fd5b843567ffffffffffffffff80821115611331575f80fd5b818701915087601f830112611344575f80fd5b813560206113546112ba83611278565b82815260059290921b8401810191818101908b841115611372575f80fd5b948201945b8386101561139957853561138a81611134565b82529482019490820190611377565b985050880135925050808211156113ae575f80fd5b6113ba8883890161129b565b945060408701359150808211156113cf575f80fd5b50611267878288016111af565b5f602082840312156113ec575f80fd5b813567ffffffffffffffff811115611402575f80fd5b61140e848285016111af565b949350505050565b634e487b7160e01b5f52601160045260245ffd5b5f67ffffffffffffffff8084168061145057634e487b7160e01b5f52601260045260245ffd5b92169190910492915050565b67ffffffffffffffff82811682821603908082111561147d5761147d611416565b5092915050565b634e487b7160e01b5f52603260045260245ffd5b808201808211156114ab576114ab611416565b92915050565b5f815180845260208085019450602084015f5b838110156114e95781516001600160a01b0316875295820195908201906001016114c4565b509495945050505050565b5f815180845260208085019450602084015f5b838110156114e957815187529582019590820190600101611507565b606081525f61153560608301866114b1565b828103602084015261154781866114f4565b915050826040830152949350505050565b5f60208284031215611568575f80fd5b815161116381611134565b5f60208284031215611583575f80fd5b81518015158114611163575f80fd5b5f602082840312156115a2575f80fd5b5051919050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61116360208301846115a9565b6001600160a01b0384168152606060208201525f61160a60608301856115a9565b905063ffffffff83166040830152949350505050565b5f8060408385031215611631575f80fd5b50508051602090910151909290915056fea2646970667358221220174a9564686652806fc2aab26f9b0ce69fd89110ddb897ea28a570e6db4bd8c664736f6c634300081900330000000000000000000000000001a500a6b18995b03f44bb040a5ffc28e45cb00000000000000000000000005650300fcbab43a0d7d02f8cb5d0f039402593f000000000000000000000000099c9fc46f92e8a1c0dec1b1747d010903e884be100000000000000000000000025ace71c97b33cc4729cf772ae268934f7ab5fa1000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000fc2e6e6bcbd49ccf3a5f029c79984372dcbfe527