0 txs
5 calls
constructor
No constructor.
functions
addressToBytes
purefunction addressToBytes(address addr) pure returns (bytes32)
allTrustedSenders
viewfunction allTrustedSenders(uint16 chainId) view returns (bytes32[])
bridgeCost
viewfunction bridgeCost(uint16 targetChainId) view returns (uint256 gasCost)
chainGasLimit
viewfunction chainGasLimit(uint16 targetChainId) view returns (uint96)
customGasLimits
viewfunction customGasLimits(uint16) view returns (uint96)
gasLimit
viewfunction gasLimit() view returns (uint96)
isTrustedSender
viewfunction isTrustedSender(uint16 chainId, address addr) view returns (bool)
isTrustedSender
viewfunction isTrustedSender(uint16 chainId, bytes32 addr) view returns (bool)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
processedNonces
viewfunction processedNonces(bytes32) view returns (bool)
targetAddress
viewfunction targetAddress(uint16) view returns (address)
wormholeRelayer
viewfunction wormholeRelayer() view returns (address)
xERC20
viewfunction xERC20() view returns (address)
acceptOwnership
nonpayablefunction acceptOwnership()
addTrustedSenders
nonpayablefunction addTrustedSenders(tuple[] _trustedSenders)
bridge
payablefunction bridge(uint256 dstChainId, uint256 amount, address to) payable
initialize
nonpayablefunction initialize(address newxerc20, address newOwner, address wormholeRelayerAddress, uint16[] targetChains)
receiveWormholeMessages
payablefunction receiveWormholeMessages(bytes payload, bytes[], bytes32 senderAddress, uint16 sourceChain, bytes32 nonce) payable
removeTrustedSenders
nonpayablefunction removeTrustedSenders(tuple[] _trustedSenders)
renounceOwnership
nonpayablefunction renounceOwnership()
setCustomGasLimit
nonpayablefunction setCustomGasLimit(uint16 chainId, uint96 newGasLimit)
setGasLimit
nonpayablefunction setGasLimit(uint96 newGasLimit)
setTargetAddresses
nonpayablefunction setTargetAddresses(tuple[] _chainConfig)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
BridgedIn
event BridgedIn(uint256 indexed srcChainId, address indexed tokenReceiver, uint256 amount)
BridgedOut
event BridgedOut(uint256 indexed dstChainId, address indexed bridgeUser, address indexed tokenReceiver, uint256 amount)
GasLimitUpdated
event GasLimitUpdated(uint96 oldGasLimit, uint96 newGasLimit)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
TargetAddressUpdated
event TargetAddressUpdated(uint16 indexed targetChainId, address indexed target)
TokensSent
event TokensSent(uint16 indexed targetChainId, address indexed tokenReceiver, uint256 amount)
TrustedSenderUpdated
event TrustedSenderUpdated(uint16 chainId, address addr, bool added)
errors
No errors.
creation bytecode
0x6080604052609980546001600160601b031916620493e017905534801561002557600080fd5b5061002e610033565b6100f2565b600054610100900460ff161561009f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100f0576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611e03806101016000396000f3fe6080604052600436106101265760003560e01c80631cf1b97c1461012b578063250a84831461014057806335a2017d14610160578063366a596e1461019557806337d6d162146101cd578063404a4edb146101fb578063529dca321461022b5780636cf0e2081461023e578063715018a61461025e57806379ba5097146102735780638ab9b2e1146102885780638da5cb5b146102b55780638db0eb24146102ca5780639ffe56f7146102ea578063ae8e397f1461030a578063c1f58b2914610340578063d1c187061461038e578063d4f3826b146103ae578063d68d945b146103ce578063d85f7945146103ee578063da25b7251461040e578063ded8454a14610435578063e30c397814610455578063f2fde38b1461046a578063f68016b71461048a575b600080fd5b61013e610139366004611653565b6104aa565b005b34801561014c57600080fd5b5061013e61015b3660046116ba565b610509565b34801561016c57600080fd5b5061018061017b3660046116ed565b610545565b60405190151581526020015b60405180910390f35b3480156101a157600080fd5b506097546101b5906001600160a01b031681565b6040516001600160a01b03909116815260200161018c565b3480156101d957600080fd5b506101ed6101e8366004611724565b61055d565b60405190815260200161018c565b34801561020757600080fd5b5061018061021636600461173f565b609a6020526000908152604090205460ff1681565b61013e610239366004611858565b6105fe565b34801561024a57600080fd5b5061013e610259366004611952565b6107db565b34801561026a57600080fd5b5061013e6107ef565b34801561027f57600080fd5b5061013e610803565b34801561029457600080fd5b506102a86102a3366004611724565b61087e565b60405161018c9190611a18565b3480156102c157600080fd5b506101b5610936565b3480156102d657600080fd5b5061013e6102e5366004611952565b610945565b3480156102f657600080fd5b5061013e610305366004611a5c565b610a5e565b34801561031657600080fd5b506101b5610325366004611724565b609b602052600090815260409020546001600160a01b031681565b34801561034c57600080fd5b5061037661035b366004611724565b609c602052600090815260409020546001600160601b031681565b6040516001600160601b03909116815260200161018c565b34801561039a57600080fd5b506103766103a9366004611724565b610ac8565b3480156103ba57600080fd5b506101806103c9366004611a77565b610b1b565b3480156103da57600080fd5b5061013e6103e9366004611952565b610b38565b3480156103fa57600080fd5b5061013e610409366004611aa1565b610b49565b34801561041a57600080fd5b506099546101b590600160601b90046001600160a01b031681565b34801561044157600080fd5b506101ed610450366004611b70565b610d52565b34801561046157600080fd5b506101b5610d5e565b34801561047657600080fd5b5061013e610485366004611b70565b610d6d565b34801561049657600080fd5b50609954610376906001600160601b031681565b6104b633848484610dd3565b806001600160a01b0316336001600160a01b0316847f1b95be00c2bd701a308dffe849aceb8671ea2f19125a1c83660dbc4f59cb7277856040516104fc91815260200190565b60405180910390a4505050565b610511610ff0565b61ffff919091166000908152609c6020526040902080546001600160601b0319166001600160601b03909216919091179055565b6000610554836103c984610d52565b90505b92915050565b60008061056983610ac8565b60995460405163c23ee3c360e01b815261ffff86166004820152600060248201526001600160601b0383166044820152919250600160601b90046001600160a01b03169063c23ee3c3906064016040805180830381865afa1580156105d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f69190611b94565b509392505050565b34156106515760405162461bcd60e51b815260206004820181905260248201527f576f726d686f6c654272696467653a206e6f2076616c756520616c6c6f77656460448201526064015b60405180910390fd5b609954600160601b90046001600160a01b031633146106be5760405162461bcd60e51b8152602060048201526024808201527f576f726d686f6c654272696467653a206f6e6c792072656c6179657220616c6c6044820152631bddd95960e21b6064820152608401610648565b6106c88284610b1b565b61071f5760405162461bcd60e51b815260206004820152602260248201527f576f726d686f6c654272696467653a2073656e646572206e6f74207472757374604482015261195960f21b6064820152608401610648565b6000818152609a602052604090205460ff16156107905760405162461bcd60e51b815260206004820152602960248201527f576f726d686f6c654272696467653a206d65737361676520616c7265616479206044820152681c1c9bd8d95cdcd95960ba1b6064820152608401610648565b6000818152609a602090815260408220805460ff19166001179055865182916107bf9189018101908901611bb8565b915091506107d28461ffff16838361104f565b50505050505050565b6107e3610ff0565b6107ec816110fc565b50565b6107f7610ff0565b6108016000611154565b565b338061080d610d5e565b6001600160a01b0316146108755760405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608401610648565b6107ec81611154565b61ffff811660009081526098602052604081206060919061089e9061116d565b6001600160401b038111156108b5576108b5611758565b6040519080825280602002602001820160405280156108de578160200160208202803683370190505b50905060005b815181101561092f5761ffff8416600090815260986020526040902061090a9082611177565b82828151811061091c5761091c611be6565b60209081029190910101526001016108e4565b5092915050565b6033546001600160a01b031690565b61094d610ff0565b60005b8151811015610a5a5781818151811061096b5761096b611be6565b602002602001015160200151609b600084848151811061098d5761098d611be6565b60200260200101516000015161ffff1661ffff16815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106109e5576109e5611be6565b6020026020010151602001516001600160a01b0316828281518110610a0c57610a0c611be6565b60200260200101516000015161ffff167f40408703d30ddad046e1af438394d2996712767ef13391ae7d9d21fa9eb63df560405160405180910390a380610a5281611c12565b915050610950565b5050565b610a66610ff0565b609980546001600160601b038381166001600160601b031983168117909355604080519190921680825260208201939093527f5ccd21ad0b9c241d63daee4d43a957379ac1bef51da6554ef0d581c5ad09f5bb91015b60405180910390a15050565b61ffff81166000908152609c60205260408120546001600160601b031615610b0a575061ffff166000908152609c60205260409020546001600160601b031690565b50506099546001600160601b031690565b61ffff821660009081526098602052604081206105549083611183565b610b40610ff0565b6107ec8161118f565b600054610100900460ff1615808015610b695750600054600160ff909116105b80610b835750303b158015610b83575060005460ff166001145b610be65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610648565b6000805460ff191660011790558015610c09576000805461ff0019166101001790555b610c116111e7565b610c1a84611154565b609780546001600160a01b0319166001600160a01b038716179055609980546001600160601b0316600160601b6001600160a01b0386160217905560005b8251811015610cef5730609b6000858481518110610c7857610c78611be6565b602002602001015161ffff1661ffff16815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550610cdd30848381518110610cd057610cd0611be6565b6020026020010151611216565b80610ce781611c12565b915050610c58565b50609980546001600160601b031916620493e01790558015610d4b576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b6001600160a01b031690565b6065546001600160a01b031690565b610d75610ff0565b606580546001600160a01b0319166001600160a01b038316908117909155610d9b610936565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a350565b6000610dde846112b8565b90506000610deb82610ac8565b90506000610df88361055d565b9050803414610e595760405162461bcd60e51b815260206004820152602760248201527f576f726d686f6c654272696467653a20636f7374206e6f7420657175616c20746044820152666f2071756f746560c81b6064820152608401610648565b61ffff83166000908152609b60205260409020546001600160a01b0316610ece5760405162461bcd60e51b8152602060048201526024808201527f576f726d686f6c654272696467653a20696e76616c69642074617267657420636044820152633430b4b760e11b6064820152608401610648565b610ed8878661131f565b60995461ffff84166000908152609b60209081526040918290205491516001600160a01b03600160601b909404841693634b5ca6f493869389939190921691610f25918b918d9101611c2b565b6040516020818303038152906040526000888a8c6040518963ffffffff1660e01b8152600401610f5b9796959493929190611c44565b60206040518083038185885af1158015610f79573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f9e9190611ce9565b50836001600160a01b03168361ffff167fb8186e5c1968dbdec75b316d5fc157768894c909d6342dbddced70bb4e28513887604051610fdf91815260200190565b60405180910390a350505050505050565b33610ff9610936565b6001600160a01b0316146108015760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610648565b6097546040516340c10f1960e01b81526001600160a01b03909116906340c10f19906110819085908590600401611c2b565b600060405180830381600087803b15801561109b57600080fd5b505af11580156110af573d6000803e3d6000fd5b50505050816001600160a01b0316837fee8d2d3b6400c99942181eba0fe478db850dbcd0fe427164578909a39bc9a113836040516110ef91815260200190565b60405180910390a3505050565b60005b8151811015610a5a5761114c82828151811061111d5761111d611be6565b60200260200101516020015183838151811061113b5761113b611be6565b602002602001015160000151611387565b6001016110ff565b606580546001600160a01b03191690556107ec81611425565b6000610557825490565b60006105548383611477565b600061055483836114a1565b60005b8151811015610a5a576111df8282815181106111b0576111b0611be6565b6020026020010151602001518383815181106111ce576111ce611be6565b602002602001015160000151611216565b600101611192565b600054610100900460ff1661120e5760405162461bcd60e51b815260040161064890611d12565b6108016114b9565b61123b61122283610d52565b61ffff83166000908152609860205260409020906114e9565b6112965760405162461bcd60e51b815260206004820152602660248201527f576f726d686f6c655472757374656453656e6465723a20616c726561647920696044820152651b881b1a5cdd60d21b6064820152608401610648565b600080516020611dae83398151915281836001604051610abc93929190611d5d565b600061ffff82111561131b5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201526536206269747360d01b6064820152608401610648565b5090565b609754604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906113519085908590600401611c2b565b600060405180830381600087803b15801561136b57600080fd5b505af115801561137f573d6000803e3d6000fd5b505050505050565b6113ac61139383610d52565b61ffff83166000908152609860205260409020906114f5565b6114035760405162461bcd60e51b815260206004820152602260248201527f576f726d686f6c655472757374656453656e6465723a206e6f7420696e206c696044820152611cdd60f21b6064820152608401610648565b600080516020611dae83398151915281836000604051610abc93929190611d5d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600082600001828154811061148e5761148e611be6565b9060005260206000200154905092915050565b60009081526001919091016020526040902054151590565b600054610100900460ff166114e05760405162461bcd60e51b815260040161064890611d12565b61080133611154565b60006105548383611501565b6000610554838361154b565b600061150d83836114a1565b61154357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610557565b506000610557565b6000818152600183016020526040812054801561163457600061156f600183611d84565b855490915060009061158390600190611d84565b90508181146115e85760008660000182815481106115a3576115a3611be6565b90600052602060002001549050808760000184815481106115c6576115c6611be6565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806115f9576115f9611d97565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610557565b6000915050610557565b6001600160a01b03811681146107ec57600080fd5b60008060006060848603121561166857600080fd5b833592506020840135915060408401356116818161163e565b809150509250925092565b803561ffff8116811461169e57600080fd5b919050565b80356001600160601b038116811461169e57600080fd5b600080604083850312156116cd57600080fd5b6116d68361168c565b91506116e4602084016116a3565b90509250929050565b6000806040838503121561170057600080fd5b6117098361168c565b915060208301356117198161163e565b809150509250929050565b60006020828403121561173657600080fd5b6105548261168c565b60006020828403121561175157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561179057611790611758565b60405290565b604051601f8201601f191681016001600160401b03811182821017156117be576117be611758565b604052919050565b600082601f8301126117d757600080fd5b81356001600160401b038111156117f0576117f0611758565b611803601f8201601f1916602001611796565b81815284602083860101111561181857600080fd5b816020850160208301376000918101602001919091529392505050565b60006001600160401b0382111561184e5761184e611758565b5060051b60200190565b600080600080600060a0868803121561187057600080fd5b85356001600160401b038082111561188757600080fd5b61189389838a016117c6565b96506020915081880135818111156118aa57600080fd5b8801601f81018a136118bb57600080fd5b80356118ce6118c982611835565b611796565b81815260059190911b8201840190848101908c8311156118ed57600080fd5b8584015b83811015611925578035868111156119095760008081fd5b6119178f89838901016117c6565b8452509186019186016118f1565b509850505050604088013594506119419150506060870161168c565b949793965091946080013592915050565b6000602080838503121561196557600080fd5b82356001600160401b0381111561197b57600080fd5b8301601f8101851361198c57600080fd5b803561199a6118c982611835565b81815260069190911b820183019083810190878311156119b957600080fd5b928401925b82841015611a0d57604084890312156119d75760008081fd5b6119df61176e565b6119e88561168c565b8152858501356119f78161163e565b81870152825260409390930192908401906119be565b979650505050505050565b6020808252825182820181905260009190848201906040850190845b81811015611a5057835183529284019291840191600101611a34565b50909695505050505050565b600060208284031215611a6e57600080fd5b610554826116a3565b60008060408385031215611a8a57600080fd5b611a938361168c565b946020939093013593505050565b60008060008060808587031215611ab757600080fd5b8435611ac28161163e565b9350602085810135611ad38161163e565b93506040860135611ae38161163e565b925060608601356001600160401b03811115611afe57600080fd5b8601601f81018813611b0f57600080fd5b8035611b1d6118c982611835565b81815260059190911b8201830190838101908a831115611b3c57600080fd5b928401925b82841015611b6157611b528461168c565b82529284019290840190611b41565b979a9699509497505050505050565b600060208284031215611b8257600080fd5b8135611b8d8161163e565b9392505050565b60008060408385031215611ba757600080fd5b505080516020909101519092909150565b60008060408385031215611bcb57600080fd5b8251611bd68161163e565b6020939093015192949293505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201611c2457611c24611bfc565b5060010190565b6001600160a01b03929092168252602082015260400190565b61ffff881681526000602060018060a01b0389168184015260e0604084015287518060e085015260005b81811015611c8b5789810183015185820161010001528201611c6e565b506101009150600082828601015281601f19601f83011685010192505050856060830152611cc460808301866001600160601b03169052565b61ffff841660a08301526001600160a01b03831660c083015298975050505050505050565b600060208284031215611cfb57600080fd5b81516001600160401b0381168114611b8d57600080fd5b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b61ffff9390931683526001600160a01b039190911660208301521515604082015260600190565b8181038181111561055757610557611bfc565b634e487b7160e01b600052603160045260246000fdfead5ad009fb0380817906297d4db849c9a30b93e0d3761c005ef8c487d9239224a2646970667358221220cceedacb965572c04018f203fd96b359f2693626e457e2fb3d94609ce9fc250d64736f6c63430008130033