0 txs
1.1k calls
constructor
No constructor.
functions
beneficiary
viewfunction beneficiary() view returns (address)
deployedBlock
viewfunction deployedBlock() view returns (uint256)
destinationGasConfigs
viewfunction destinationGasConfigs(uint32) view returns (address gasOracle, uint96 gasOverhead)
destinationGasLimit
viewfunction destinationGasLimit(uint32 _destinationDomain, uint256 _gasLimit) view returns (uint256)
getExchangeRateAndGasPrice
viewfunction getExchangeRateAndGasPrice(uint32 _destinationDomain) view returns (uint128 tokenExchangeRate, uint128 gasPrice)
hookType
purefunction hookType() pure returns (uint8)
owner
viewfunction owner() view returns (address)
PACKAGE_VERSION
viewfunction PACKAGE_VERSION() view returns (string)
quoteDispatch
viewfunction quoteDispatch(bytes metadata, bytes message) view returns (uint256)
quoteGasPayment
viewfunction quoteGasPayment(uint32 _destinationDomain, uint256 _gasLimit) view returns (uint256)
supportsMetadata
purefunction supportsMetadata(bytes metadata) pure returns (bool)
claim
nonpayablefunction claim()
initialize
nonpayablefunction initialize(address _owner, address _beneficiary)
payForGas
payablefunction payForGas(bytes32 _messageId, uint32 _destinationDomain, uint256 _gasLimit, address _refundAddress) payable
postDispatch
payablefunction postDispatch(bytes metadata, bytes message) payable
renounceOwnership
nonpayablefunction renounceOwnership()
setBeneficiary
nonpayablefunction setBeneficiary(address _beneficiary)
setDestinationGasConfigs
nonpayablefunction setDestinationGasConfigs(tuple[] _configs)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
BeneficiarySet
event BeneficiarySet(address beneficiary)
DestinationGasConfigSet
event DestinationGasConfigSet(uint32 remoteDomain, address gasOracle, uint96 gasOverhead)
GasPayment
event GasPayment(bytes32 indexed messageId, uint32 indexed destinationDomain, uint256 gasAmount, uint256 payment)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
No errors.
creation bytecode
0x60c060405261c35060a05234801561001657600080fd5b504360805260805160a051611d556100406000396000610e370152600061037f0152611d556000f3fe6080604052600436106101445760003560e01c806360fcef7c116100c0578063a692979311610074578063e445e7dd11610059578063e445e7dd14610462578063e5320bb91461047e578063f2fde38b146104ae57600080fd5b8063a692979314610422578063aaccd2301461044257600080fd5b806382ea7bfe116100a557806382ea7bfe1461036d5780638da5cb5b146103a157806393c44847146103cc57600080fd5b806360fcef7c1461030f578063715018a61461035857600080fd5b806338af3eed11610117578063485cc955116100fc578063485cc955146102ba57806348f4e6c1146102da5780634e71d92d146102fa57600080fd5b806338af3eed146101c457806343c467c01461021657600080fd5b8063086011b91461014957806311bf2c181461015e5780631c31f7101461017157806326d5b1a614610191575b600080fd5b61015c610157366004611725565b6104ce565b005b61015c61016c3660046117cc565b61057b565b34801561017d57600080fd5b5061015c61018c366004611814565b610715565b34801561019d57600080fd5b506101b16101ac366004611831565b610729565b6040519081526020015b60405180910390f35b3480156101d057600080fd5b506066546101f19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bb565b34801561022257600080fd5b5061028161023136600461185b565b60656020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff8116907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff1682565b6040805173ffffffffffffffffffffffffffffffffffffffff90931683526bffffffffffffffffffffffff9091166020830152016101bb565b3480156102c657600080fd5b5061015c6102d5366004611876565b610779565b3480156102e657600080fd5b5061015c6102f53660046118af565b610920565b34801561030657600080fd5b5061015c6109c0565b34801561031b57600080fd5b5061032f61032a36600461185b565b610a8a565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101bb565b34801561036457600080fd5b5061015c610bd7565b34801561037957600080fd5b506101b17f000000000000000000000000000000000000000000000000000000000000000081565b3480156103ad57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101f1565b3480156103d857600080fd5b506104156040518060400160405280600581526020017f372e312e3400000000000000000000000000000000000000000000000000000081525081565b6040516101bb9190611948565b34801561042e57600080fd5b506101b161043d366004611831565b610beb565b34801561044e57600080fd5b506101b161045d366004611725565b610c54565b34801561046e57600080fd5b50604051600481526020016101bb565b34801561048a57600080fd5b5061049e610499366004611999565b610d01565b60405190151581526020016101bb565b3480156104ba57600080fd5b5061015c6104c9366004611814565b610d23565b6104d88484610d01565b610569576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e74000000000000000000000000000060648201526084015b60405180910390fd5b61057584848484610dd7565b50505050565b60006105878484610beb565b905080341015610619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f4947503a20696e73756666696369656e7420696e746572636861696e2067617360448201527f207061796d656e740000000000000000000000000000000000000000000000006064820152608401610560565b60006106258234611a0a565b905080156106ca5773ffffffffffffffffffffffffffffffffffffffff83166106aa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f6e6f20726566756e6420616464726573730000000000000000000000000000006044820152606401610560565b6106ca73ffffffffffffffffffffffffffffffffffffffff841682610e71565b604080518581526020810184905263ffffffff87169188917f65695c3748edae85a24cc2c60b299b31f463050bc259150d2e5802ec8d11720a910160405180910390a3505050505050565b61071d610fcb565b6107268161104c565b50565b63ffffffff82166000908152606560205260408120546107709083907401000000000000000000000000000000000000000090046bffffffffffffffffffffffff16611a1d565b90505b92915050565b600054610100900460ff16158080156107995750600054600160ff909116105b806107b35750303b1580156107b3575060005460ff166001145b61083f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610560565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561089d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6108a56110c5565b6108ae83611164565b6108b78261104c565b801561091b57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15b505050565b610928610fcb565b8060005b81811015610575576109b884848381811061094957610949611a30565b61095f926020606090920201908101915061185b565b85858481811061097157610971611a30565b61098a9260406060909202019081019150602001611814565b86868581811061099c5761099c611a30565b6109b3926060918202019081019150604001611a5f565b6111db565b60010161092c565b60665460405160009173ffffffffffffffffffffffffffffffffffffffff169047908381818185875af1925050503d8060008114610a1a576040519150601f19603f3d011682016040523d82523d6000602084013e610a1f565b606091505b5050905080610726576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4947503a20636c61696d206661696c65640000000000000000000000000000006044820152606401610560565b63ffffffff8116600090815260656020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680610b3a57610acc8463ffffffff16611288565b604051602001610adc9190611a8d565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261056091600401611948565b6040517f60fcef7c00000000000000000000000000000000000000000000000000000000815263ffffffff8516600482015273ffffffffffffffffffffffffffffffffffffffff8216906360fcef7c906024016040805180830381865afa158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcd9190611b18565b9250925050915091565b610bdf610fcb565b610be96000611164565b565b6000806000610bf985610a8a565b90925090506000610c1c6fffffffffffffffffffffffffffffffff831686611b4b565b90506402540be400610c406fffffffffffffffffffffffffffffffff851683611b4b565b610c4a9190611b62565b9695505050505050565b6000610c608585610d01565b610cec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f4162737472616374506f73744469737061746368486f6f6b3a20696e76616c6960448201527f64206d657461646174612076617269616e7400000000000000000000000000006064820152608401610560565b610cf885858585611346565b95945050505050565b600081158061077057506001610d178484611362565b61ffff16149392505050565b610d2b610fcb565b73ffffffffffffffffffffffffffffffffffffffff8116610dce576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610560565b61072681611164565b610575610e1983838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113b392505050565b610e2384846113be565b610e5b610e3086866113be565b6101ac89897f00000000000000000000000000000000000000000000000000000000000000006113e1565b61016c610e688787611432565b89908990611446565b80471015610edb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610560565b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114610f35576040519150601f19603f3d011682016040523d82523d6000602084013e610f3a565b606091505b505090508061091b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610560565b60335473ffffffffffffffffffffffffffffffffffffffff163314610be9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610560565b606680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040519081527f04d55a8be181fb8d75b76f2d48aa0b2ee40f47e53d6e61763eeeec46feea8a249060200160405180910390a150565b600054610100900460ff1661115c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610560565b610be9611498565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051808201825273ffffffffffffffffffffffffffffffffffffffff8481168083526bffffffffffffffffffffffff858116602080860182815263ffffffff8b16600081815260658452899020975191519094167401000000000000000000000000000000000000000002951694909417909455845190815291820152918201527f676a23191c2989bd7cc8446122cca792bcdaa0f2d6bbd9c30d8ca031ca94634390606001610912565b6060600061129583611538565b600101905060008167ffffffffffffffff8111156112b5576112b5611b9d565b6040519080825280601f01601f1916602001820160405280156112df576020820181803683370190505b5090508181016020015b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85049450846112e957509392505050565b6000610cf861135584846113be565b61043d610e3086866113be565b600061136f816002611bcc565b60ff1682101561138157506000610773565b82600083611390826002611bcc565b60ff16926113a093929190611be5565b6113a991611c0f565b60f01c9392505050565b805160209091012090565b60006113ce602d60298486611be5565b6113d791611c57565b60e01c9392505050565b60006113ef60226020611bcc565b60ff1683101561140057508061142b565b8360228461140f826020611bcc565b60ff169261141f93929190611be5565b61142891611c9d565b90505b9392505050565b6000610770611441848461161a565b611633565b600061145460426014611bcc565b60ff1683101561146557508061142b565b83604284611474826014611bcc565b60ff169261148493929190611be5565b61148d91611cd9565b60601c949350505050565b600054610100900460ff1661152f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610560565b610be933611164565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611581577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef810000000083106115ad576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106115cb57662386f26fc10000830492506010015b6305f5e10083106115e3576305f5e100830492506008015b61271083106115f757612710830492506004015b60648310611609576064830492506002015b600a83106107735760010192915050565b600061162a602960098486611be5565b61077091611c9d565b600073ffffffffffffffffffffffffffffffffffffffff8211156116d8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5479706543617374733a2062797465733332546f41646472657373206f76657260448201527f666c6f77000000000000000000000000000000000000000000000000000000006064820152608401610560565b5090565b60008083601f8401126116ee57600080fd5b50813567ffffffffffffffff81111561170657600080fd5b60208301915083602082850101111561171e57600080fd5b9250929050565b6000806000806040858703121561173b57600080fd5b843567ffffffffffffffff8082111561175357600080fd5b61175f888389016116dc565b9096509450602087013591508082111561177857600080fd5b50611785878288016116dc565b95989497509550505050565b803563ffffffff811681146117a557600080fd5b919050565b73ffffffffffffffffffffffffffffffffffffffff8116811461072657600080fd5b600080600080608085870312156117e257600080fd5b843593506117f260208601611791565b9250604085013591506060850135611809816117aa565b939692955090935050565b60006020828403121561182657600080fd5b813561142b816117aa565b6000806040838503121561184457600080fd5b61184d83611791565b946020939093013593505050565b60006020828403121561186d57600080fd5b61077082611791565b6000806040838503121561188957600080fd5b8235611894816117aa565b915060208301356118a4816117aa565b809150509250929050565b600080602083850312156118c257600080fd5b823567ffffffffffffffff808211156118da57600080fd5b818501915085601f8301126118ee57600080fd5b8135818111156118fd57600080fd5b86602060608302850101111561191257600080fd5b60209290920196919550909350505050565b60005b8381101561193f578181015183820152602001611927565b50506000910152565b6020815260008251806020840152611967816040850160208701611924565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600080602083850312156119ac57600080fd5b823567ffffffffffffffff8111156119c357600080fd5b6119cf858286016116dc565b90969095509350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610773576107736119db565b80820180821115610773576107736119db565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600060208284031215611a7157600080fd5b81356bffffffffffffffffffffffff8116811461142b57600080fd5b7f436f6e666967757265642049475020646f65736e277420737570706f7274206481527f6f6d61696e200000000000000000000000000000000000000000000000000000602082015260008251611aeb816026850160208701611924565b9190910160260192915050565b80516fffffffffffffffffffffffffffffffff811681146117a557600080fd5b60008060408385031215611b2b57600080fd5b611b3483611af8565b9150611b4260208401611af8565b90509250929050565b8082028115828204841417610773576107736119db565b600082611b98577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60ff8181168382160190811115610773576107736119db565b60008085851115611bf557600080fd5b83861115611c0257600080fd5b5050820193919092039150565b7fffff0000000000000000000000000000000000000000000000000000000000008135818116916002851015611c4f5780818660020360031b1b83161692505b505092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015611c4f5760049490940360031b84901b1690921692915050565b80356020831015610773577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008135818116916014851015611c4f5760149490940360031b84901b169092169291505056fea264697066735822122051896a1df782cd4375dddff6ac7b8d3bd48d114a715b8f5a76742a3fac5179f564736f6c63430008160033