0 txs
0 calls
constructor
constructor(address _endpoint, address _owner, address _usdc, uint32 _homeEid)
functions
allowInitializePath
viewfunction allowInitializePath(tuple origin) view returns (bool)
endpoint
viewfunction endpoint() view returns (address)
homeEid
viewfunction homeEid() view returns (uint32)
isComposeMsgSender
viewfunction isComposeMsgSender(tuple, bytes, address _sender) view returns (bool)
nextNonce
viewfunction nextNonce(uint32, bytes32) view returns (uint64 nonce)
oAppVersion
purefunction oAppVersion() pure returns (uint64 senderVersion, uint64 receiverVersion)
owner
viewfunction owner() view returns (address)
peers
viewfunction peers(uint32 eid) view returns (bytes32 peer)
quoteMigrate
viewfunction quoteMigrate(address _vaultShare, uint256 _amount, bytes _options) view returns (tuple fee)
usdc
viewfunction usdc() view returns (address)
vaultShareToThUSD
viewfunction vaultShareToThUSD(address _vault, uint256 _shares) view returns (uint256)
completeWithdraw
nonpayablefunction completeWithdraw(address _vaultShare)
lzReceive
payablefunction lzReceive(tuple _origin, bytes32 _guid, bytes _message, address _executor, bytes _extraData) payable
migrate
payablefunction migrate(address _vaultShare, uint256 _amount, bytes _options) payable
redeemUSDC
nonpayablefunction redeemUSDC(address _receiver)
renounceOwnership
nonpayablefunction renounceOwnership()
setDelegate
nonpayablefunction setDelegate(address _delegate)
setPeer
nonpayablefunction setPeer(uint32 _eid, bytes32 _peer)
setSupportedVault
nonpayablefunction setSupportedVault(address _vault, bool _supported)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Migrate
event Migrate(uint256 originChainId, address originVaultShare, uint256 shares, uint256 thUSDAmount, address tlpReceiver)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PeerSet
event PeerSet(uint32 eid, bytes32 peer)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
FailedCall
error FailedCall()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
InvalidDelegate
error InvalidDelegate()
InvalidEndpointCall
error InvalidEndpointCall()
LzTokenUnavailable
error LzTokenUnavailable()
NoPeer
error NoPeer(uint32 eid)
NotEnoughNative
error NotEnoughNative(uint256 msgValue)
OnlyEndpoint
error OnlyEndpoint(address addr)
OnlyPeer
error OnlyPeer(uint32 eid, bytes32 sender)
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
creation bytecode
0x60e06040523480156200001157600080fd5b506040516200204938038062002049833981016040819052620000349162000198565b83838382828181806001600160a01b0381166200006b57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b62000076816200012f565b506001600160a01b038083166080528116620000a557604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000ed57600080fd5b505af115801562000102573d6000803e3d6000fd5b5050506001600160a01b0390951660a05250505063ffffffff90941660c052506200020895505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146200019557600080fd5b50565b60008060008060808587031215620001af57600080fd5b8451620001bc816200017f565b6020860151909450620001cf816200017f565b6040860151909350620001e2816200017f565b606086015190925063ffffffff81168114620001fd57600080fd5b939692955090935050565b60805160a05160c051611dc462000285600039600081816102dd01528181610a1c0152610ac70152600081816101b201528181610488015281816104fd01526106c60152600081816101fe015281816105290152818161092001528181610fa9015281816110970152818161133301526113ec0152611dc46000f3fe60806040526004361061011f5760003560e01c8063983dfb45116100a0578063ca5eb5e111610064578063ca5eb5e1146103af578063e184274e146103cf578063f20974aa146103e2578063f2fde38b1461041d578063ff7bd03d1461043d57600080fd5b8063983dfb45146102cb578063b3fd2f3014610314578063b7ac619214610342578063bb0b6a5314610362578063bf3b826b1461038f57600080fd5b80635e280f11116100e75780635e280f11146101ec578063715018a6146102205780637d25a05e1461023557806382413eac1461026e5780638da5cb5b146102ad57600080fd5b80630a4d9f991461012457806313137d651461014657806317442b70146101595780633400288b146101805780633e413bee146101a0575b600080fd5b34801561013057600080fd5b5061014461013f366004611566565b61045d565b005b6101446101543660046115e4565b610527565b34801561016557600080fd5b50604080516001815260026020820152015b60405180910390f35b34801561018c57600080fd5b5061014461019b36600461169d565b6105d8565b3480156101ac57600080fd5b506101d47f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610177565b3480156101f857600080fd5b506101d47f000000000000000000000000000000000000000000000000000000000000000081565b34801561022c57600080fd5b506101446105ee565b34801561024157600080fd5b5061025561025036600461169d565b610602565b60405167ffffffffffffffff9091168152602001610177565b34801561027a57600080fd5b5061029d6102893660046116c7565b6001600160a01b0381163014949350505050565b6040519015158152602001610177565b3480156102b957600080fd5b506000546001600160a01b03166101d4565b3480156102d757600080fd5b506102ff7f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610177565b34801561032057600080fd5b5061033461032f36600461172e565b61060b565b604051908152602001610177565b34801561034e57600080fd5b5061014461035d36600461175a565b6108bf565b34801561036e57600080fd5b5061033461037d366004611793565b60016020526000908152604090205481565b34801561039b57600080fd5b506101446103aa366004611566565b6108e8565b3480156103bb57600080fd5b506101446103ca366004611566565b6108f9565b6101446103dd3660046117ae565b61097f565b3480156103ee57600080fd5b506104026103fd366004611851565b610a8f565b60408051825181526020928301519281019290925201610177565b34801561042957600080fd5b50610144610438366004611566565b610afb565b34801561044957600080fd5b5061029d610458366004611902565b610b36565b610465610b6c565b6040516370a0823160e01b81523060048201526105249082906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156104cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f3919061191e565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610b99565b50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610577576040516391ac5e4f60e01b81523360048201526024015b60405180910390fd5b602087018035906105919061058c908a611793565b610bf8565b146105cf576105a36020880188611793565b60405163309afaf360e21b815263ffffffff90911660048201526020880135602482015260440161056e565b50505050505050565b6105e0610b6c565b6105ea8282610c34565b5050565b6105f6610b6c565b6106006000610c89565b565b60005b92915050565b600082610619600282610cd9565b61065b5760405162461bcd60e51b815260206004820152601360248201527215985d5b1d081b9bdd081cdd5c1c1bdc9d1959606a1b604482015260640161056e565b6000816001600160a01b0316639fcc2d756040518163ffffffff1660e01b8152600401608060405180830381865afa15801561069b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bf9190611948565b50509150507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316146107455760405162461bcd60e51b815260206004820152601760248201527f5661756c74206173736574206e6f7420636f7272656374000000000000000000604482015260640161056e565b60008590506000816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae91906119b7565b90506000826001600160a01b031663146ca5316040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610814919061191e565b9050600061089e886001600160a01b0386166387153eb16108366001876119e8565b6040518263ffffffff1660e01b815260040161085491815260200190565b602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610895919061191e565b8560ff16610cfb565b905060006108b18264e8d4a510006119fb565b9a9950505050505050505050565b6108c7610b6c565b80156108dd576108d8600283610d6c565b505050565b6108d8600283610d81565b6108f0610b6c565b61052481610d96565b610901610b6c565b60405163ca5eb5e160e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e190602401600060405180830381600087803b15801561096457600080fd5b505af1158015610978573d6000803e3d6000fd5b5050505050565b6109946001600160a01b038516333086610eec565b61099d84610d96565b60006109a9858561060b565b604051633f0846a960e11b8152600481018690529091506001600160a01b03861690637e108d5290602401600060405180830381600087803b1580156109ee57600080fd5b505af1158015610a02573d6000803e3d6000fd5b505050506000610a154687878533610f2b565b90506105cf7f00000000000000000000000000000000000000000000000000000000000000008286868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506040805180820190915234815260208101919091529250339150610f769050565b60408051808201909152600080825260208201526000610aaf858561060b565b90506000610ac04687878533610f2b565b9050610aef7f000000000000000000000000000000000000000000000000000000000000000082866000611081565b925050505b9392505050565b610b03610b6c565b6001600160a01b038116610b2d57604051631e4fbdf760e01b81526000600482015260240161056e565b61052481610c89565b6000602082018035906001908390610b4e9086611793565b63ffffffff1681526020810191909152604001600020541492915050565b6000546001600160a01b031633146106005760405163118cdaa760e01b815233600482015260240161056e565b6040516001600160a01b038381166024830152604482018390526108d891859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050611162565b63ffffffff8116600090815260016020526040812054806106055760405163f6ff4fb760e01b815263ffffffff8416600482015260240161056e565b63ffffffff8216600081815260016020908152604091829020849055815192835282018390527f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b910160405180910390a15050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811660009081526001830160205260408120541515610af4565b600060018311610d455760405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206173736574506572536861726560581b604482015260640161056e565b610d5082600a611af6565b610d5a84866119fb565b610d649190611b02565b949350505050565b6000610af4836001600160a01b0384166111c5565b6000610af4836001600160a01b038416611214565b604051633d49315160e11b8152306004820152819060009081906001600160a01b03841690637a9262a2906024016040805180830381865afa158015610de0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e049190611b24565b915091506000836001600160a01b031663146ca5316040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6c919061191e565b905061ffff83168114801581610e8b57506000836001600160801b0316115b15610ee457846001600160a01b031663f756fa216040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610ecb57600080fd5b505af1158015610edf573d6000803e3d6000fd5b505050505b505050505050565b6040516001600160a01b038481166024830152838116604483015260648201839052610f259186918216906323b872dd90608401610bc6565b50505050565b6040805160208101969096526001600160a01b03948516868201526060860193909352608085019190915290911660a0808401919091528151808403909101815260c0909201905290565b610f7e611509565b6000610f8d8460000151611307565b602085015190915015610fa757610fa7846020015161132f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001610ff78c610bf8565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611033929190611bb6565b60806040518083038185885af1158015611051573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906110769190611c7e565b979650505050505050565b60408051808201909152600080825260208201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff1681526020016110e489610bf8565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611119929190611bb6565b6040805180830381865afa158015611135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111599190611cf0565b95945050505050565b60006111776001600160a01b03841683611411565b9050805160001415801561119c57508080602001905181019061119a9190611d0c565b155b156108d857604051635274afe760e01b81526001600160a01b038416600482015260240161056e565b600081815260018301602052604081205461120c57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610605565b506000610605565b600081815260018301602052604081205480156112fd5760006112386001836119e8565b855490915060009061124c906001906119e8565b90508082146112b157600086600001828154811061126c5761126c611d29565b906000526020600020015490508087600001848154811061128f5761128f611d29565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806112c2576112c2611d3f565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610605565b6000915050610605565b600081341461132b576040516304fb820960e51b815234600482015260240161056e565b5090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa15801561138f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b39190611d55565b90506001600160a01b0381166113dc576040516329b99a9560e11b815260040160405180910390fd5b6105ea6001600160a01b038216337f000000000000000000000000000000000000000000000000000000000000000085610eec565b6060610af48383600084600080856001600160a01b031684866040516114379190611d72565b60006040518083038185875af1925050503d8060008114611474576040519150601f19603f3d011682016040523d82523d6000602084013e611479565b606091505b5091509150610aef86838360608261149957611494826114e0565b610af4565b81511580156114b057506001600160a01b0384163b155b156114d957604051639996b31560e01b81526001600160a01b038516600482015260240161056e565b5080610af4565b8051156114f05780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806060016040528060008019168152602001600067ffffffffffffffff16815260200161154c604051806040016040528060008152602001600081525090565b905290565b6001600160a01b038116811461052457600080fd5b60006020828403121561157857600080fd5b8135610af481611551565b60006060828403121561159557600080fd5b50919050565b60008083601f8401126115ad57600080fd5b50813567ffffffffffffffff8111156115c557600080fd5b6020830191508360208285010111156115dd57600080fd5b9250929050565b600080600080600080600060e0888a0312156115ff57600080fd5b6116098989611583565b965060608801359550608088013567ffffffffffffffff8082111561162d57600080fd5b6116398b838c0161159b565b909750955060a08a0135915061164e82611551565b90935060c0890135908082111561166457600080fd5b506116718a828b0161159b565b989b979a50959850939692959293505050565b803563ffffffff8116811461169857600080fd5b919050565b600080604083850312156116b057600080fd5b6116b983611684565b946020939093013593505050565b60008060008060a085870312156116dd57600080fd5b6116e78686611583565b9350606085013567ffffffffffffffff81111561170357600080fd5b61170f8782880161159b565b909450925050608085013561172381611551565b939692955090935050565b6000806040838503121561174157600080fd5b82356116b981611551565b801515811461052457600080fd5b6000806040838503121561176d57600080fd5b823561177881611551565b915060208301356117888161174c565b809150509250929050565b6000602082840312156117a557600080fd5b610af482611684565b600080600080606085870312156117c457600080fd5b84356117cf81611551565b935060208501359250604085013567ffffffffffffffff8111156117f257600080fd5b6117fe8782880161159b565b95989497509550505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156118495761184961180a565b604052919050565b60008060006060848603121561186657600080fd5b833561187181611551565b92506020848101359250604085013567ffffffffffffffff8082111561189657600080fd5b818701915087601f8301126118aa57600080fd5b8135818111156118bc576118bc61180a565b6118ce601f8201601f19168501611820565b915080825288848285010111156118e457600080fd5b80848401858401376000848284010152508093505050509250925092565b60006060828403121561191457600080fd5b610af48383611583565b60006020828403121561193057600080fd5b5051919050565b805160ff8116811461169857600080fd5b6000806000806080858703121561195e57600080fd5b61196785611937565b9350602085015161197781611551565b604086015190935066ffffffffffffff8116811461199457600080fd5b60608601519092506cffffffffffffffffffffffffff8116811461172357600080fd5b6000602082840312156119c957600080fd5b610af482611937565b634e487b7160e01b600052601160045260246000fd5b81810381811115610605576106056119d2565b8082028115828204841417610605576106056119d2565b600181815b80851115611a4d578160001904821115611a3357611a336119d2565b80851615611a4057918102915b93841c9390800290611a17565b509250929050565b600082611a6457506001610605565b81611a7157506000610605565b8160018114611a875760028114611a9157611aad565b6001915050610605565b60ff841115611aa257611aa26119d2565b50506001821b610605565b5060208310610133831016604e8410600b8410161715611ad0575081810a610605565b611ada8383611a12565b8060001904821115611aee57611aee6119d2565b029392505050565b6000610af48383611a55565b600082611b1f57634e487b7160e01b600052601260045260246000fd5b500490565b60008060408385031215611b3757600080fd5b825161ffff81168114611b4957600080fd5b60208401519092506001600160801b038116811461178857600080fd5b60005b83811015611b81578181015183820152602001611b69565b50506000910152565b60008151808452611ba2816020860160208601611b66565b601f01601f19169290920160200192915050565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a06080840152611bec60e0840182611b8a565b90506060850151603f198483030160a0850152611c098282611b8a565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b600060408284031215611c4157600080fd5b6040516040810181811067ffffffffffffffff82111715611c6457611c6461180a565b604052825181526020928301519281019290925250919050565b600060808284031215611c9057600080fd5b6040516060810167ffffffffffffffff8282108183111715611cb457611cb461180a565b8160405284518352602085015191508082168214611cd157600080fd5b506020820152611ce48460408501611c2f565b60408201529392505050565b600060408284031215611d0257600080fd5b610af48383611c2f565b600060208284031215611d1e57600080fd5b8151610af48161174c565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b600060208284031215611d6757600080fd5b8151610af481611551565b60008251611d84818460208701611b66565b919091019291505056fea2646970667358221220acef03a331bac5032689836ec9eed729d0b47e9d8a30e565c6e61b6a6dd8a17f64736f6c634300081400330000000000000000000000001a44076050125825900e736c501f859c50fe728c000000000000000000000000bd4030dffd8f4742267f0e7b279ca5648c46ae5e00000000000000000000000049a74ce3afbee5babe6ede10c4ea1cb35374b2ee000000000000000000000000000000000000000000000000000000000000759e