0 txs
0 calls
constructor
constructor(uint8 _chainId, address _allbridgeMessenger, address _wormholeMessenger, address _gasOracle)
functions
allbridgeMessenger
viewfunction allbridgeMessenger() view returns (address)
chainId
viewfunction chainId() view returns (uint8)
gasUsage
viewfunction gasUsage(uint8) view returns (uint256)
getMessageCost
viewfunction getMessageCost(uint8 chainId, uint8 protocol) view returns (uint256)
getTransactionCost
viewfunction getTransactionCost(uint8 chainId_) view returns (uint256)
hashMessage
purefunction hashMessage(uint256 amount, bytes32 recipient, uint8 sourceChainId, uint8 destinationChainId, bytes32 receiveToken, uint256 nonce, uint8 messenger) pure returns (bytes32)
hasReceivedMessage
viewfunction hasReceivedMessage(bytes32 message, uint8 protocol) view returns (bool)
hasSentMessage
viewfunction hasSentMessage(bytes32 message) view returns (bool)
otherBridges
viewfunction otherBridges(uint8) view returns (bytes32)
otherBridgeTokens
viewfunction otherBridgeTokens(uint8, bytes32) view returns (bool)
owner
viewfunction owner() view returns (address)
pools
viewfunction pools(bytes32) view returns (address)
processedMessages
viewfunction processedMessages(bytes32) view returns (bool)
sentMessages
viewfunction sentMessages(bytes32) view returns (bool)
wormholeMessenger
viewfunction wormholeMessenger() view returns (address)
addBridgeToken
nonpayablefunction addBridgeToken(uint8 chainId_, bytes32 tokenAddress_)
addPool
nonpayablefunction addPool(address pool, bytes32 token)
receiveTokens
nonpayablefunction receiveTokens(uint256 amount, bytes32 recipient, uint8 sourceChainId, bytes32 receiveToken, uint256 nonce, uint8 messenger)
registerBridge
nonpayablefunction registerBridge(uint8 chainId_, bytes32 bridgeAddress_)
removeBridgeToken
nonpayablefunction removeBridgeToken(uint8 chainId_, bytes32 tokenAddress_)
renounceOwnership
nonpayablefunction renounceOwnership()
setAllbridgeMessenger
nonpayablefunction setAllbridgeMessenger(address _allbridgeMessenger)
setGasOracle
nonpayablefunction setGasOracle(address gasOracle_)
setGasUsage
nonpayablefunction setGasUsage(uint8 chainId_, uint256 gasUsage_)
setWormholeMessenger
nonpayablefunction setWormholeMessenger(address _wormholeMessenger)
swap
nonpayablefunction swap(uint256 amount, bytes32 token, bytes32 receiveToken, address recipient)
swapAndBridge
payablefunction swapAndBridge(bytes32 token, uint256 amount, bytes32 recipient, uint8 destinationChainId, bytes32 receiveToken, uint256 nonce, uint8 messenger) payable
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawGasTokens
nonpayablefunction withdrawGasTokens(uint256 amount)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Received
event Received(address, uint256)
TokensSent
event TokensSent(uint256 amount, bytes32 recipient, uint8 destinationChainId, bytes32 receiveToken, uint256 nonce, uint8 messenger)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162001dbc38038062001dbc83398101604081905262000034916200010d565b8282826200004233620000a4565b600180546001600160a01b039283166001600160a01b0319918216179091556004805494831694909116939093179092556005805460ff909716600160a01b026001600160a81b0319909716919092161794909417909355506200017a915050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146200010a57600080fd5b50565b600080600080608085870312156200012457600080fd5b845160ff811681146200013657600080fd5b60208601519094506200014981620000f4565b60408601519093506200015c81620000f4565b60608601519092506200016f81620000f4565b939692955090935050565b611c32806200018a6000396000f3fe6080604052600436106101c65760003560e01c80638da5cb5b116100f7578063b5217bb411610095578063eb58867511610064578063eb5886751461060e578063ed0b51d11461062e578063f2fde38b1461064e578063f35e37d31461066e57610205565b8063b5217bb41461056b578063c1e58fa9146105a1578063ca7d4d7c146105ce578063e4ce6160146105ee57610205565b80639bb55742116100d15780639bb55742146104eb578063a1f5e9cd1461050b578063a86a7bdf1461052b578063a87b81521461054b57610205565b80638da5cb5b1461047a5780638f0960f4146104985780639a8a0592146104b857610205565b8063673c7a1a1161016457806382e3702d1161013e57806382e3702d146103af57806384086d76146103ef57806388ba16ab1461042a5780638b9369e21461045a57610205565b8063673c7a1a1461035a578063715018a61461037a57806379ecd3d91461038f57610205565b806337c02cd2116101a057806337c02cd2146102a25780633c1df5ca146102d55780633eded37e1461030d57806362d2286d1461033a57610205565b80631268cee8146102405780632ad3d0f9146102625780632da478aa1461028257610205565b3661020557604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b60405162461bcd60e51b815260206004820152600b60248201526a155b9cdd5c1c1bdc9d195960aa1b60448201526064015b60405180910390fd5b34801561024c57600080fd5b5061026061025b366004611809565b610681565b005b34801561026e57600080fd5b5061026061027d366004611847565b6106ba565b34801561028e57600080fd5b5061026061029d3660046118b4565b61091c565b3480156102ae57600080fd5b506102c26102bd3660046118f5565b610a8b565b6040519081526020015b60405180910390f35b3480156102e157600080fd5b506005546102f5906001600160a01b031681565b6040516001600160a01b0390911681526020016102cc565b34801561031957600080fd5b506102c26103283660046118f5565b60026020526000908152604090205481565b34801561034657600080fd5b50610260610355366004611917565b610b24565b34801561036657600080fd5b50610260610375366004611917565b610b42565b34801561038657600080fd5b50610260610b60565b34801561039b57600080fd5b506102c26103aa366004611941565b610b74565b3480156103bb57600080fd5b506103df6103ca366004611809565b60076020526000908152604090205460ff1681565b60405190151581526020016102cc565b3480156103fb57600080fd5b506103df61040a366004611917565b600960209081526000928352604080842090915290825290205460ff1681565b34801561043657600080fd5b506103df610445366004611809565b60066020526000908152604090205460ff1681565b34801561046657600080fd5b506103df610475366004611809565b610c6e565b34801561048657600080fd5b506000546001600160a01b03166102f5565b3480156104a457600080fd5b506102606104b3366004611917565b610d71565b3480156104c457600080fd5b506005546104d990600160a01b900460ff1681565b60405160ff90911681526020016102cc565b3480156104f757600080fd5b50610260610506366004611974565b610da3565b34801561051757600080fd5b50610260610526366004611974565b610dcd565b34801561053757600080fd5b50610260610546366004611917565b610df7565b34801561055757600080fd5b50610260610566366004611974565b610e26565b34801561057757600080fd5b506102f5610586366004611809565b6003602052600090815260409020546001600160a01b031681565b3480156105ad57600080fd5b506102c26105bc3660046118f5565b60086020526000908152604090205481565b3480156105da57600080fd5b506004546102f5906001600160a01b031681565b3480156105fa57600080fd5b506103df610609366004611991565b610e50565b34801561061a57600080fd5b506102606106293660046119b4565b610f6c565b34801561063a57600080fd5b506102c26106493660046119d2565b610fa2565b34801561065a57600080fd5b50610260610669366004611974565b610ff7565b61026061067c366004611a3c565b611070565b610689611143565b604051339082156108fc029083906000818181858888f193505050501580156106b6573d6000803e3d6000fd5b5050565b60ff84166000908152600860205260409020546107195760405162461bcd60e51b815260206004820152601d60248201527f4272696467653a20736f75726365206e6f7420726567697374657265640000006044820152606401610237565b60ff80851660009081526008602052604080822054600554915163ed0b51d160e01b815292936107eb939192309263ed0b51d19261076e928e928e928e92600160a01b900416908d908d908d90600401611aad565b60206040518083038186803b15801561078657600080fd5b505afa15801561079a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107be9190611af5565b90600082600052816020526001600160f01b036040600020166001600160f01b0319841617905092915050565b60008181526006602052604090208054600190915590915080156108515760405162461bcd60e51b815260206004820152601960248201527f4272696467653a206d6573736167652070726f636573736564000000000000006044820152606401610237565b604051630726730b60e51b8152309063e4ce6160906108769085908790600401611b0e565b60206040518083038186803b15801561088e57600080fd5b505afa1580156108a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c69190611b22565b6109075760405162461bcd60e51b81526020600482015260126024820152714272696467653a206e6f206d65737361676560701b6044820152606401610237565b61091288868961119d565b5050505050505050565b600083815260036020526040808220548483529120546001600160a01b0391821691168161095c5760405162461bcd60e51b815260040161023790611b44565b6001600160a01b0381166109825760405162461bcd60e51b815260040161023790611b44565b604051630f57524960e31b8152336004820152602481018790526000906001600160a01b03841690637aba924890604401602060405180830381600087803b1580156109cd57600080fd5b505af11580156109e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a059190611af5565b60405163bed428bf60e01b81526001600160a01b038681166004830152602482018390529192509083169063bed428bf90604401602060405180830381600087803b158015610a5357600080fd5b505af1158015610a67573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109129190611af5565b60ff8116600081815260026020526040808220546001549151638a3177a360e01b8152600481019490945291926001600160a01b0390911690638a3177a39060240160206040518083038186803b158015610ae557600080fd5b505afa158015610af9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1d9190611af5565b0292915050565b610b2c611143565b60ff909116600090815260026020526040902055565b610b4a611143565b60ff909116600090815260086020526040902055565b610b68611143565b610b72600061125b565b565b60006001826003811115610b8a57610b8a611a75565b1415610c175760048054604051631be0166960e11b815260ff8616928101929092526001600160a01b0316906337c02cd2906024015b60206040518083038186803b158015610bd857600080fd5b505afa158015610bec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c109190611af5565b9050610c68565b6002826003811115610c2b57610c2b611a75565b1415610c6457600554604051631be0166960e11b815260ff851660048201526001600160a01b03909116906337c02cd290602401610bc0565b5060005b92915050565b60048054604051634adb80c160e11b81529182018390526000916001600160a01b03909116906395b701829060240160206040518083038186803b158015610cb557600080fd5b505afa158015610cc9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ced9190611af5565b151580610c6857506005546040516382e3702d60e01b8152600481018490526001600160a01b03909116906382e3702d9060240160206040518083038186803b158015610d3957600080fd5b505afa158015610d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c689190611b22565b610d79611143565b60ff909116600090815260096020908152604080832093835292905220805460ff19166001179055565b610dab611143565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b610dd5611143565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b610dff611143565b60ff909116600090815260096020908152604080832093835292905220805460ff19169055565b610e2e611143565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b60006001826003811115610e6657610e66611a75565b1415610ee7576004805460405163f69f815160e01b81529182018590526001600160a01b03169063f69f8151906024015b60206040518083038186803b158015610eaf57600080fd5b505afa158015610ec3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c109190611b22565b6002826003811115610efb57610efb611a75565b1415610f325760055460405163f69f815160e01b8152600481018590526001600160a01b039091169063f69f815190602401610e97565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b6044820152606401610237565b610f74611143565b600090815260036020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610fe986868a8a8a898989604051602001610fc496959493929190611b6d565b604051602081830303815290604052805190602001206112ab9092919063ffffffff16565b90505b979650505050505050565b610fff611143565b6001600160a01b0381166110645760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610237565b61106d8161125b565b50565b6000878152600360205260409020546001600160a01b0316806110a55760405162461bcd60e51b815260040161023790611b44565b604051630f57524960e31b8152336004820152602481018890526000906001600160a01b03831690637aba924890604401602060405180830381600087803b1580156110f057600080fd5b505af1158015611104573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111289190611af5565b90506111388188888888886112c4565b505050505050505050565b6000546001600160a01b03163314610b725760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610237565b6000828152600360205260409020546001600160a01b0316806111d25760405162461bcd60e51b815260040161023790611b44565b60405163bed428bf60e01b81526001600160a01b0383811660048301526024820186905282169063bed428bf90604401602060405180830381600087803b15801561121c57600080fd5b505af1158015611230573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112549190611af5565b5050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000836000528260005381600153505060005192915050565b60055460ff600160a01b90910481169085168114156113255760405162461bcd60e51b815260206004820152601f60248201527f4272696467653a2077726f6e672064657374696e6174696f6e20636861696e006044820152606401610237565b60ff8086166000908152600960209081526040808320888452909152902054166113915760405162461bcd60e51b815260206004820152601e60248201527f4272696467653a20756e6b6e6f776e20636861696e206f7220746f6b656e00006044820152606401610237565b60405163ed0b51d160e01b8152600090309063ed0b51d1906113c3908b908b9087908c908c908c908c90600401611aad565b60206040518083038186803b1580156113db57600080fd5b505afa1580156113ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114139190611af5565b60008181526007602052604090208054600190915590915080156114795760405162461bcd60e51b815260206004820152601b60248201527f4272696467653a20746f6b656e7320616c72656164792073656e7400000000006044820152606401610237565b604051631be0166960e11b815260ff8816600482015260009030906337c02cd29060240160206040518083038186803b1580156114b557600080fd5b505afa1580156114c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ed9190611af5565b905060006114fb8487611596565b90508082013410156115485760405162461bcd60e51b81526020600482015260166024820152754272696467653a206e6f7420656e6f7567682066656560501b6044820152606401610237565b7ff157365de57ff25f29bd6829ee21d4b5aa47db86dd94bdb4bfa5ec3113ce79d18b8b8b8b8b8b60405161158196959493929190611bc9565b60405180910390a15050505050505050505050565b600060018260038111156115ac576115ac611a75565b14156116eb576004546001600160a01b03166337c02cd284600160405160e084901b6001600160e01b031916815291901a600482015260240160206040518083038186803b1580156115fd57600080fd5b505afa158015611611573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116359190611af5565b9050348111156116875760405162461bcd60e51b815260206004820181905260248201527f4d657373656e676572476174657761793a206e6f7420656e6f756768206665656044820152606401610237565b60048054604051631c25939560e31b81529182018590526001600160a01b03169063e12c9ca89083906024015b6000604051808303818588803b1580156116cd57600080fd5b505af11580156116e1573d6000803e3d6000fd5b5050505050610c68565b60028260038111156116ff576116ff611a75565b1415610f3257600554604051631be0166960e11b8152600185901a60048201526001600160a01b03909116906337c02cd29060240160206040518083038186803b15801561174c57600080fd5b505afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117849190611af5565b9050348111156117d65760405162461bcd60e51b815260206004820181905260248201527f4d657373656e676572476174657761793a206e6f7420656e6f756768206665656044820152606401610237565b600554604051631c25939560e31b8152600481018590526001600160a01b039091169063e12c9ca89083906024016116b4565b60006020828403121561181b57600080fd5b5035919050565b803560ff8116811461183357600080fd5b919050565b80356004811061183357600080fd5b60008060008060008060c0878903121561186057600080fd5b863595506020870135945061187760408801611822565b9350606087013592506080870135915061189360a08801611838565b90509295509295509295565b6001600160a01b038116811461106d57600080fd5b600080600080608085870312156118ca57600080fd5b84359350602085013592506040850135915060608501356118ea8161189f565b939692955090935050565b60006020828403121561190757600080fd5b61191082611822565b9392505050565b6000806040838503121561192a57600080fd5b61193383611822565b946020939093013593505050565b6000806040838503121561195457600080fd5b61195d83611822565b915061196b60208401611838565b90509250929050565b60006020828403121561198657600080fd5b81356119108161189f565b600080604083850312156119a457600080fd5b8235915061196b60208401611838565b600080604083850312156119c757600080fd5b82356119338161189f565b600080600080600080600060e0888a0312156119ed57600080fd5b8735965060208801359550611a0460408901611822565b9450611a1260608901611822565b93506080880135925060a08801359150611a2e60c08901611838565b905092959891949750929550565b600080600080600080600060e0888a031215611a5757600080fd5b873596506020880135955060408801359450611a1260608901611822565b634e487b7160e01b600052602160045260246000fd5b60048110611aa957634e487b7160e01b600052602160045260246000fd5b9052565b600060e08201905088825287602083015260ff8716604083015260ff861660608301528460808301528360a0830152611ae960c0830184611a8b565b98975050505050505050565b600060208284031215611b0757600080fd5b5051919050565b828152604081016119106020830184611a8b565b600060208284031215611b3457600080fd5b8151801515811461191057600080fd5b6020808252600f908201526e149bdd5d195c8e881b9bc81c1bdbdb608a1b604082015260600190565b86815285602082015260ff60f81b8560f81b166040820152836041820152826061820152600060048310611bb157634e487b7160e01b600052602160045260246000fd5b5060f89190911b608182015260820195945050505050565b600060c08201905087825286602083015260ff86166040830152846060830152836080830152610fec60a0830184611a8b56fea2646970667358221220e6a8707d6ad6d3690e5fb06647fe1b6cfecf5c761cacc3289dcf9647d885ae3664736f6c63430008090033000000000000000000000000000000000000000000000000000000000000000200000000000000000000000037bb143e75daa6441e6cbc86722eb441318bf175000000000000000000000000c06ebbb9b1dd1a0567fc88a238bf7c9a9c0e1b1f000000000000000000000000779fd5a8c10b7a10f872044fc881a93cd16a2da2