0 txs
0 calls
constructor
constructor(address gasCollector_)
functions
contractId
purefunction contractId() pure returns (bytes32)
gasCollector
viewfunction gasCollector() view returns (address)
implementation
viewfunction implementation() view returns (address implementation_)
owner
viewfunction owner() view returns (address owner_)
addGas
nonpayablefunction addGas(bytes32 txHash, uint256 logIndex, address gasToken, uint256 gasFeeAmount, address refundAddress)
addNativeGas
payablefunction addNativeGas(bytes32 txHash, uint256 logIndex, address refundAddress) payable
collectFees
nonpayablefunction collectFees(address receiver, address[] tokens, uint256[] amounts)
payGasForContractCall
nonpayablefunction payGasForContractCall(address sender, string destinationChain, string destinationAddress, bytes payload, address gasToken, uint256 gasFeeAmount, address refundAddress)
payGasForContractCallWithToken
nonpayablefunction payGasForContractCallWithToken(address sender, string destinationChain, string destinationAddress, bytes payload, string symbol, uint256 amount, address gasToken, uint256 gasFeeAmount, address refundAddress)
payNativeGasForContractCall
payablefunction payNativeGasForContractCall(address sender, string destinationChain, string destinationAddress, bytes payload, address refundAddress) payable
payNativeGasForContractCallWithToken
payablefunction payNativeGasForContractCallWithToken(address sender, string destinationChain, string destinationAddress, bytes payload, string symbol, uint256 amount, address refundAddress) payable
refund
nonpayablefunction refund(address receiver, address token, uint256 amount)
setup
nonpayablefunction setup(bytes data)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgrade
nonpayablefunction upgrade(address newImplementation, bytes32 newImplementationCodeHash, bytes params)
events
GasAdded
event GasAdded(bytes32 indexed txHash, uint256 indexed logIndex, address gasToken, uint256 gasFeeAmount, address refundAddress)
GasPaidForContractCall
event GasPaidForContractCall(address indexed sourceAddress, string destinationChain, string destinationAddress, bytes32 indexed payloadHash, address gasToken, uint256 gasFeeAmount, address refundAddress)
GasPaidForContractCallWithToken
event GasPaidForContractCallWithToken(address indexed sourceAddress, string destinationChain, string destinationAddress, bytes32 indexed payloadHash, string symbol, uint256 amount, address gasToken, uint256 gasFeeAmount, address refundAddress)
NativeGasAdded
event NativeGasAdded(bytes32 indexed txHash, uint256 indexed logIndex, uint256 gasFeeAmount, address refundAddress)
NativeGasPaidForContractCall
event NativeGasPaidForContractCall(address indexed sourceAddress, string destinationChain, string destinationAddress, bytes32 indexed payloadHash, uint256 gasFeeAmount, address refundAddress)
NativeGasPaidForContractCallWithToken
event NativeGasPaidForContractCallWithToken(address indexed sourceAddress, string destinationChain, string destinationAddress, bytes32 indexed payloadHash, string symbol, uint256 amount, uint256 gasFeeAmount, address refundAddress)
OwnershipTransferred
event OwnershipTransferred(address indexed newOwner)
Upgraded
event Upgraded(address indexed newImplementation)
errors
InvalidAddress
error InvalidAddress()
InvalidAmounts
error InvalidAmounts()
InvalidCodeHash
error InvalidCodeHash()
InvalidImplementation
error InvalidImplementation()
InvalidOwner
error InvalidOwner()
NotCollector
error NotCollector()
NothingReceived
error NothingReceived()
NotOwner
error NotOwner()
NotProxy
error NotProxy()
SetupFailed
error SetupFailed()
TransferFailed
error TransferFailed()
creation bytecode
0x60a060405234801561001057600080fd5b506040516119df3803806119df83398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051611946610099600039600081816101dc015281816103ae01526105c401526119466000f3fe6080604052600436106100e85760003560e01c80639ded06df1161008a578063cd433ada11610059578063cd433ada146102a5578063edb6b3a5146102b8578063f2fde38b146102d8578063fd09e3bd146102f857600080fd5b80639ded06df14610232578063a3499c7314610252578063ab1999ba14610272578063c62c20021461029257600080fd5b80638291286c116100c65780638291286c1461016f57806382ad6f35146101aa578063892b5007146101ca5780638da5cb5b146101fe57600080fd5b80630c93e3bb146100ed5780631055eaaf146101025780635c60da1b14610122575b600080fd5b6101006100fb366004610fc5565b610318565b005b34801561010e57600080fd5b5061010061011d3660046110ca565b6103a3565b34801561012e57600080fd5b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc545b6040516001600160a01b0390911681526020015b60405180910390f35b34801561017b57600080fd5b506040517ffaa2f015f2ce5aee225904728de2def86eb8837491efd21f1a04fc20d8e923f68152602001610166565b3480156101b657600080fd5b506101006101c536600461114d565b6105b9565b3480156101d657600080fd5b506101527f000000000000000000000000000000000000000000000000000000000000000081565b34801561020a57600080fd5b507f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c054610152565b34801561023e57600080fd5b5061010061024d36600461118e565b610682565b34801561025e57600080fd5b5061010061026d3660046111d0565b6106f1565b34801561027e57600080fd5b5061010061028d36600461122c565b610a0d565b6101006102a0366004611282565b610a6d565b6101006102b3366004611375565b610b01565b3480156102c457600080fd5b506101006102d3366004611451565b610b69565b3480156102e457600080fd5b506101006102f336600461156f565b610beb565b34801561030457600080fd5b50610100610313366004611593565b610cd3565b346103365760405163b5c74a2760e01b815260040160405180910390fd5b828260405161034692919061166b565b6040518091039020886001600160a01b03167f617332c1832058df6ee45fcbdf471251474c9945a8e5d229287a21a5f67ccf0a898989893488604051610391969594939291906116a4565b60405180910390a35050505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103eb57604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0385166104125760405163e6c4247b60e01b815260040160405180910390fd5b8281811461043357604051636c2b7e2d60e11b815260040160405180910390fd5b60005b818110156105b0576000868683818110610452576104526116ee565b9050602002016020810190610467919061156f565b9050600085858481811061047d5761047d6116ee565b90506020020135905080600014156104a857604051636c2b7e2d60e11b815260040160405180910390fd5b6001600160a01b0382166104fa574781116104f5576040516001600160a01b038a169082156108fc029083906000818181858888f193505050501580156104f3573d6000803e3d6000fd5b505b61059b565b6040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038316906370a082319060240160206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190611704565b811161059b5761059b828a83610d4f565b505080806105a89061171d565b915050610436565b50505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060157604051623bb10360e91b815260040160405180910390fd5b6001600160a01b0383166106285760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b038216610672576040516001600160a01b0384169082156108fc029083906000818181858888f1935050505015801561066c573d6000803e3d6000fd5b50505050565b61067d828483610d4f565b505050565b60006106ac7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031614156106ed576040517fbf10dd3a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b3361071a7f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610741576040516330cd747160e01b815260040160405180910390fd5b306001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561077a57600080fd5b505afa15801561078e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107b29190611704565b846001600160a01b0316638291286c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156107eb57600080fd5b505afa1580156107ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108239190611704565b1461085a576040517f68155f9a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b836001600160a01b03163f831461089d576040517f8f84fb2400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80156109b2576000846001600160a01b0316639ded06df60e01b84846040516024016108ca929190611746565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610935919061178e565b600060405180830381855af49150503d8060008114610970576040519150601f19603f3d011682016040523d82523d6000602084013e610975565b606091505b50509050806109b0576040517f97905dfb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b6040516001600160a01b038516907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b610a18833384610ee4565b604080516001600160a01b038581168252602082018590528316818301529051859187917f2275e75614080f9782f72563c2c1688c901c5339c7f9f436d323f9386fed700a9181900360600190a35050505050565b34610a8b5760405163b5c74a2760e01b815260040160405180910390fd5b8585604051610a9b92919061166b565b60405180910390208b6001600160a01b03167f999d431b58761213cf53af96262b67a069cbd963499fd8effd1e21556217b8418c8c8c8c8a8a8a348b604051610aec999897969594939291906117aa565b60405180910390a35050505050505050505050565b34610b1f5760405163b5c74a2760e01b815260040160405180910390fd5b604080513481526001600160a01b0383166020820152839185917ffeb6b00343feee0f29a1a4345f8bf93ca1c73ee922248a4237a4e50d6447604e910160405180910390a3505050565b610b74833384610ee4565b8686604051610b8492919061166b565b60405180910390208c6001600160a01b03167f8875f9764f28fa82d3e7ff1b80bd5c8f665e1f42fcd8c2faebc7c400a4ba1bbd8d8d8d8d8b8b8b8b8b604051610bd599989796959493929190611811565b60405180910390a3505050505050505050505050565b33610c147f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c05490565b6001600160a01b031614610c3b576040516330cd747160e01b815260040160405180910390fd5b6001600160a01b038116610c7b576040517f49e27cff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040516001600160a01b038216907f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616390600090a27f02016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c055565b610cde833384610ee4565b8484604051610cee92919061166b565b60405180910390208a6001600160a01b03167f99206760f0be19dd093729bd35e5924daff5e217bcedc5223ed067b60008cf8a8b8b8b8b898989604051610d3b979695949392919061189a565b60405180910390a350505050505050505050565b80610d6d5760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301526044820183905260009182918616907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909416939093179092529051610e20919061178e565b6000604051808303816000865af19150503d8060008114610e5d576040519150601f19603f3d011682016040523d82523d6000602084013e610e62565b606091505b50915091506000828015610e8e575081511580610e8e575081806020019051810190610e8e91906118ee565b9050801580610ea557506001600160a01b0386163b155b15610edc576040517f90b8ec1800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050505050565b80610f025760405163b5c74a2760e01b815260040160405180910390fd5b6040516001600160a01b0383811660248301523060448301526064820183905260009182918616907f23b872dd0000000000000000000000000000000000000000000000000000000090608401610db5565b6001600160a01b0381168114610f6957600080fd5b50565b8035610f7781610f54565b919050565b60008083601f840112610f8e57600080fd5b50813567ffffffffffffffff811115610fa657600080fd5b602083019150836020828501011115610fbe57600080fd5b9250929050565b60008060008060008060008060a0898b031215610fe157600080fd5b8835610fec81610f54565b9750602089013567ffffffffffffffff8082111561100957600080fd5b6110158c838d01610f7c565b909950975060408b013591508082111561102e57600080fd5b61103a8c838d01610f7c565b909750955060608b013591508082111561105357600080fd5b506110608b828c01610f7c565b909450925050608089013561107481610f54565b809150509295985092959890939650565b60008083601f84011261109757600080fd5b50813567ffffffffffffffff8111156110af57600080fd5b6020830191508360208260051b8501011115610fbe57600080fd5b6000806000806000606086880312156110e257600080fd5b85356110ed81610f54565b9450602086013567ffffffffffffffff8082111561110a57600080fd5b61111689838a01611085565b9096509450604088013591508082111561112f57600080fd5b5061113c88828901611085565b969995985093965092949392505050565b60008060006060848603121561116257600080fd5b833561116d81610f54565b9250602084013561117d81610f54565b929592945050506040919091013590565b600080602083850312156111a157600080fd5b823567ffffffffffffffff8111156111b857600080fd5b6111c485828601610f7c565b90969095509350505050565b600080600080606085870312156111e657600080fd5b84356111f181610f54565b935060208501359250604085013567ffffffffffffffff81111561121457600080fd5b61122087828801610f7c565b95989497509550505050565b600080600080600060a0868803121561124457600080fd5b8535945060208601359350604086013561125d81610f54565b925060608601359150608086013561127481610f54565b809150509295509295909350565b600080600080600080600080600080600060e08c8e0312156112a357600080fd5b6112ac8c610f6c565b9a5067ffffffffffffffff8060208e013511156112c857600080fd5b6112d88e60208f01358f01610f7c565b909b50995060408d01358110156112ee57600080fd5b6112fe8e60408f01358f01610f7c565b909950975060608d013581101561131457600080fd5b6113248e60608f01358f01610f7c565b909750955060808d013581101561133a57600080fd5b5061134b8d60808e01358e01610f7c565b909450925060a08c0135915061136360c08d01610f6c565b90509295989b509295989b9093969950565b60008060006060848603121561138a57600080fd5b833592506020840135915060408401356113a381610f54565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126113d557600080fd5b813567ffffffffffffffff808211156113f0576113f06113ae565b604051601f8301601f19908116603f01168101908282118183101715611418576114186113ae565b8160405283815286602085880101111561143157600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000806000806000806000806000806000806101208d8f03121561147457600080fd5b61147d8d610f6c565b9b5067ffffffffffffffff60208e0135111561149857600080fd5b6114a88e60208f01358f01610f7c565b909b50995067ffffffffffffffff60408e013511156114c657600080fd5b6114d68e60408f01358f01610f7c565b909950975067ffffffffffffffff60608e013511156114f457600080fd5b6115048e60608f01358f01610f7c565b909750955067ffffffffffffffff60808e0135111561152257600080fd5b6115328e60808f01358f016113c4565b945060a08d0135935061154760c08e01610f6c565b925060e08d0135915061155d6101008e01610f6c565b90509295989b509295989b509295989b565b60006020828403121561158157600080fd5b813561158c81610f54565b9392505050565b60008060008060008060008060008060e08b8d0312156115b257600080fd5b8a356115bd81610f54565b995060208b013567ffffffffffffffff808211156115da57600080fd5b6115e68e838f01610f7c565b909b50995060408d01359150808211156115ff57600080fd5b61160b8e838f01610f7c565b909950975060608d013591508082111561162457600080fd5b506116318d828e01610f7c565b90965094505060808b013561164581610f54565b925060a08b0135915061165a60c08c01610f6c565b90509295989b9194979a5092959850565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006116b860808301888a61167b565b82810360208401526116cb81878961167b565b9150508360408301526001600160a01b0383166060830152979650505050505050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561171657600080fd5b5051919050565b600060001982141561173f57634e487b7160e01b600052601160045260246000fd5b5060010190565b60208152600061175a60208301848661167b565b949350505050565b60005b8381101561177d578181015183820152602001611765565b8381111561066c5750506000910152565b600082516117a0818460208701611762565b9190910192915050565b60c0815260006117be60c083018b8d61167b565b82810360208401526117d1818a8c61167b565b905082810360408401526117e681888a61167b565b6060840196909652505060808101929092526001600160a01b031660a0909101529695505050505050565b60e08152600061182560e083018b8d61167b565b8281036020840152611838818a8c61167b565b905082810360408401528751808252611858816020840160208c01611762565b60608401979097526001600160a01b03958616608084015260a083019490945250921660c0909201919091526020601f909201601f1916010195945050505050565b60a0815260006118ae60a08301898b61167b565b82810360208401526118c181888a61167b565b6001600160a01b039687166040850152606084019590955250509216608090920191909152949350505050565b60006020828403121561190057600080fd5b8151801515811461158c57600080fdfea2646970667358221220b0657a9f6bf7e3bb821fd517ab4ab84085688357cf69f3c2551a7a743a9ca79364736f6c63430008090033000000000000000000000000345662abfe0e257e23552a434d02ef274ccb6a90