0 txs
40 calls
constructor
No constructor.
functions
ETH
viewfunction ETH() view returns (address)
getNetAssets
viewfunction getNetAssets() view returns (uint256)
getProtocolNetAssets
viewfunction getProtocolNetAssets() view returns (uint256)
owner
viewfunction owner() view returns (address)
rebalancer
viewfunction rebalancer() view returns (address)
vault
viewfunction vault() view returns (address)
VERSION
viewfunction VERSION() view returns (uint256)
claim
nonpayablefunction claim(address _receiver)
convertToken
nonpayablefunction convertToken(address _fromToken, address _toToken, uint256 _amount)
enterPendle
nonpayablefunction enterPendle(uint256 _amount, bytes _routerData)
exitPendle
nonpayablefunction exitPendle(uint256 _amount, bytes _routerData)
exitPendleDualToken
nonpayablefunction exitPendleDualToken(uint256 _amount, bytes _routerData)
getUserMarketInfo
nonpayablefunction getUserMarketInfo() returns (tuple)
initialize
nonpayablefunction initialize(bytes _initBytes)
onTransferIn
nonpayablefunction onTransferIn(address _token, uint256 _amount) returns (bool)
renounceOwnership
nonpayablefunction renounceOwnership()
swapYtToToken
nonpayablefunction swapYtToToken(uint256 _amount, bytes _routerData)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
transferToVault
nonpayablefunction transferToVault(address _token, uint256 _amount)
updateRebalancer
nonpayablefunction updateRebalancer(address _newRebalancer)
events
Initialized
event Initialized(uint64 version)
OnTransferIn
event OnTransferIn(address token, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TransferToVault
event TransferToVault(address token, uint256 amount)
UpdateRebalancer
event UpdateRebalancer(address oldRebalancer, address newRebalancer)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
CallerNotRebalancer
error CallerNotRebalancer()
CallerNotVault
error CallerNotVault()
FailedInnerCall
error FailedInnerCall()
InvalidAdmin
error InvalidAdmin()
InvalidInitialization
error InvalidInitialization()
InvalidRebalancer
error InvalidRebalancer()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnSupportedOperation
error UnSupportedOperation()
UnsupportedToken
error UnsupportedToken()
creation bytecode
0x6080604052348015600e575f80fd5b5061256c8061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610126575f3560e01c806378d5b7ef116100a9578063b046a4491161006e578063b046a4491461025b578063ceab8f651461026e578063f2fde38b14610281578063fbfa77cf14610294578063ffa1ad74146102a6575f80fd5b806378d5b7ef146101ff5780638322fff21461021257806389a71faa1461022d5780638a3f0674146102405780638da5cb5b14610253575f80fd5b806356f4edaf116100ef57806356f4edaf146101a457806362e8564e146101c7578063715018a6146101cf57806372bc2483146101d757806373af5fc5146101ec575f80fd5b8062e71e8c1461012a57806301d22ccd1461013f57806308bb5fb0146101685780631e83409a1461017e578063439fab9114610191575b5f80fd5b61013d610138366004611bd7565b6102ae565b005b600154610152906001600160a01b031681565b60405161015f9190611c1e565b60405180910390f35b6101706103a2565b60405190815260200161015f565b61013d61018c366004611c46565b6105b0565b61013d61019f366004611c61565b61074a565b6101b76101b2366004611c9f565b6108e4565b604051901515815260200161015f565b610170610a20565b61013d610c83565b6101df610c96565b60405161015f9190611ce1565b61013d6101fa366004611bd7565b610d2d565b61013d61020d366004611d72565b610dce565b61015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b61013d61023b366004611c9f565b610f14565b61013d61024e366004611bd7565b610f95565b610152611035565b61013d610269366004611c46565b611063565b61013d61027c366004611bd7565b6110fe565b61013d61028f366004611c46565b6115a8565b5f54610152906001600160a01b031681565b610170600681565b6001546001600160a01b031633146102d95760405163bd72e29160e01b815260040160405180910390fd5b5f6102e76004828486611db0565b6102f091611dd7565b90506001600160e01b03198116630306d04360e51b146103235760405163e9ec812960e01b815260040160405180910390fd5b61034f734c60ab7ce24d4d7268317f44b6dc3d6530864e865f80516020612517833981519152866115ee565b61039b5f8051602061251783398151915284848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061167992505050565b5050505050565b6040516370a0823160e01b81525f90724e9c3ef86bc1ca1f0bb5c7662861ee93350568906370a08231906103da903090600401611c1e565b602060405180830381865afa1580156103f5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104199190611e07565b6040516370a0823160e01b815273cbb7c0000ab88b473b1f5afd9ef808440eed33bf906370a0823190610450903090600401611c1e565b602060405180830381865afa15801561046b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061048f9190611e07565b6040516370a0823160e01b8152732260fac5e5542a773aa44fbcfedf7c193bc2c599906370a08231906104c6903090600401611c1e565b602060405180830381865afa1580156104e1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105059190611e07565b6040516370a0823160e01b815273c96de26018a54d51c097160568752c4e3bd6c364906370a082319061053c903090600401611c1e565b602060405180830381865afa158015610557573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061057b9190611e07565b610583610a20565b61058d9190611e32565b6105979190611e32565b6105a19190611e32565b6105ab9190611e32565b905090565b6001546001600160a01b031633146105db5760405163bd72e29160e01b815260040160405180910390fd5b604080515f8082526020808301828152600184860181815260808601909652939490939091606086019080368337019050509050734c60ab7ce24d4d7268317f44b6dc3d6530864e86815f8151811061063657610636611e59565b6001600160a01b0390921660209283029190910190910152604051631efc6ebd60e31b81525f805160206125178339815191529063f7e375e890610684903090879087908790600401611eb0565b5f604051808303815f87803b15801561069b575f80fd5b505af11580156106ad573d5f803e3d5ffd5b50506040516370a0823160e01b81525f925073808507121b80c02388fad14726482e061b8da82791506370a08231906106ea903090600401611c1e565b602060405180830381865afa158015610705573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107299190611e07565b905061039b73808507121b80c02388fad14726482e061b8da827868361168d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03165f8115801561078e5750825b90505f826001600160401b031660011480156107a95750303b155b9050811580156107b7575080155b156107d55760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107ff57845460ff60401b1916600160401b1785555b5f8061080d888a018a611f04565b90925090506001600160a01b03821661083957604051630b5eba9f60e41b815260040160405180910390fd5b6001600160a01b038116610863576040516001626bbab960e11b0319815260040160405180910390fd5b61086c826116e5565b600180546001600160a01b039092166001600160a01b03199283161790555f8054909116331790555083156108db57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b5f80546001600160a01b0316331461090f5760405163edd7338f60e01b815260040160405180910390fd5b6001600160a01b03831673c96de26018a54d51c097160568752c4e3bd6c3641480159061095957506001600160a01b038316732260fac5e5542a773aa44fbcfedf7c193bc2c59914155b801561098257506001600160a01b03831673cbb7c0000ab88b473b1f5afd9ef808440eed33bf14155b80156109aa57506001600160a01b038316724e9c3ef86bc1ca1f0bb5c7662861ee9335056814155b156109c85760405163350b944160e11b815260040160405180910390fd5b6109dd6001600160a01b0384163330856116f6565b7f062da72b38d21d7e3e03c3fadd2657b56825f0daa8cede05226b526a3b0558018383604051610a0e929190611f3b565b60405180910390a15060015b92915050565b6040516370a0823160e01b81525f908190734c60ab7ce24d4d7268317f44b6dc3d6530864e86906370a0823190610a5b903090600401611c1e565b602060405180830381865afa158015610a76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9a9190611e07565b6040516370a0823160e01b81529091505f9073fdccdf6b1fbbeb4cfc06022bf424ba7242235e01906370a0823190610ad6903090600401611c1e565b602060405180830381865afa158015610af1573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b159190611e07565b90505f8115610bba57604051636e22df2f60e01b81525f9073263833d47ea3fa4a30f269323aba6a107f9eb14c90636e22df2f90610b6b90734c60ab7ce24d4d7268317f44b6dc3d6530864e8690600401611c1e565b602060405180830381865afa158015610b86573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610baa9190611e07565b9050610bb68184611f54565b9150505b5f8315610c5d5760405163955ee4e760e01b81525f9073263833d47ea3fa4a30f269323aba6a107f9eb14c9063955ee4e790610c0e90734c60ab7ce24d4d7268317f44b6dc3d6530864e8690600401611c1e565b602060405180830381865afa158015610c29573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c4d9190611e07565b9050610c598186611f54565b9150505b670de0b6b3a7640000610c708284611e32565b610c7a9190611f6b565b94505050505090565b610c8b61172f565b610c945f611761565b565b610c9e611ac0565b60405163372cfb9360e01b815273263833d47ea3fa4a30f269323aba6a107f9eb14c9063372cfb9390610ceb90734c60ab7ce24d4d7268317f44b6dc3d6530864e86903090600401611f8a565b5f604051808303815f875af1158015610d06573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526105ab9190810190612054565b6001546001600160a01b03163314610d585760405163bd72e29160e01b815260040160405180910390fd5b5f610d666004828486611db0565b610d6f91611dd7565b90506001600160e01b031981166305eb532760e01b14610da25760405163e9ec812960e01b815260040160405180910390fd5b61034f73fdccdf6b1fbbeb4cfc06022bf424ba7242235e015f80516020612517833981519152866115ee565b6001546001600160a01b03163314610df95760405163bd72e29160e01b815260040160405180910390fd5b6001600160a01b038316732260fac5e5542a773aa44fbcfedf7c193bc2c5991480610e4057506001600160a01b03831673c96de26018a54d51c097160568752c4e3bd6c364145b80610e6757506001600160a01b03831673cbb7c0000ab88b473b1f5afd9ef808440eed33bf145b15610ef657610e946001600160a01b03841673047d41f2544b7f63a8e991af2068a363d210d6da836115ee565b6040516340c10f1960e01b815273047d41f2544b7f63a8e991af2068a363d210d6da906340c10f1990610ecd9086908590600401611f3b565b5f604051808303815f87803b158015610ee4575f80fd5b505af11580156108db573d5f803e3d5ffd5b60405163e9ec812960e01b815260040160405180910390fd5b505050565b6001546001600160a01b03163314610f3f5760405163bd72e29160e01b815260040160405180910390fd5b5f54610f58906001600160a01b0384811691168361168d565b7fbd641e36a684e9917ba831e1a6fd82514a1d7b6bcc7703fa37a935a9e98d40f38282604051610f89929190611f3b565b60405180910390a15050565b6001546001600160a01b03163314610fc05760405163bd72e29160e01b815260040160405180910390fd5b5f610fce6004828486611db0565b610fd791611dd7565b90506001600160e01b03198116633dbe1c5560e01b1461100a5760405163e9ec812960e01b815260040160405180910390fd5b61034f724e9c3ef86bc1ca1f0bb5c7662861ee933505685f80516020612517833981519152866115ee565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b61106b61172f565b6001600160a01b038116611095576040516001626bbab960e11b0319815260040160405180910390fd5b6001546040517fe2eeab472f89ac267be30e463da684fb96f56cc8e947839361fdf45bf6a3458e916110d4916001600160a01b03909116908490611f8a565b60405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633146111295760405163bd72e29160e01b815260040160405180910390fd5b5f6111376004828486611db0565b61114091611dd7565b90506001600160e01b0319811663b00f09d760e01b146111735760405163e9ec812960e01b815260040160405180910390fd5b61119f734c60ab7ce24d4d7268317f44b6dc3d6530864e865f80516020612517833981519152866115ee565b6111eb5f8051602061251783398151915284848080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061167992505050565b506040516370a0823160e01b81525f9073a42c63686f45c124f2034152b4bb0cc63ce3ff52906370a0823190611225903090600401611c1e565b602060405180830381865afa158015611240573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112649190611e07565b6040516370a0823160e01b81529091505f9073fdccdf6b1fbbeb4cfc06022bf424ba7242235e01906370a08231906112a0903090600401611c1e565b602060405180830381865afa1580156112bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112df9190611e07565b90506112e9611b26565b6113226040518060a001604052805f6001600160a01b031681526020015f81526020016060815260200160608152602001606081525090565b724e9c3ef86bc1ca1f0bb5c7662861ee93350568808352604083015282841115611410575f6113518486612163565b905061137f73a42c63686f45c124f2034152b4bb0cc63ce3ff525f80516020612517833981519152836115ee565b604051631652a23360e21b81525f805160206125178339815191529063594a88cc906113cb903090734c60ab7ce24d4d7268317f44b6dc3d6530864e86908690899089906004016123bf565b6060604051808303815f875af11580156113e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061140b9190612462565b505050505b6040516370a0823160e01b815273a42c63686f45c124f2034152b4bb0cc63ce3ff52906370a0823190611447903090600401611c1e565b602060405180830381865afa158015611462573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114869190611e07565b935082841115801561149757508315155b1561159e576114c873a42c63686f45c124f2034152b4bb0cc63ce3ff525f80516020612517833981519152866115ee565b6114f473fdccdf6b1fbbeb4cfc06022bf424ba7242235e015f80516020612517833981519152866115ee565b6127106115038561270f611f54565b61150d9190611f6b565b60208301526040516323f8ef1160e11b81525f80516020612517833981519152906347f1de229061155c90309073fdccdf6b1fbbeb4cfc06022bf424ba7242235e01908990889060040161248d565b60408051808303815f875af1158015611577573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061159b91906124bf565b50505b5050505050505050565b6115b061172f565b6001600160a01b0381166115e2575f604051631e4fbdf760e01b81526004016115d99190611c1e565b60405180910390fd5b6115eb81611761565b50565b604051636eb1769f60e11b81525f906001600160a01b0385169063dd62ed3e9061161e9030908790600401611f8a565b602060405180830381865afa158015611639573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061165d9190611e07565b9050611673848461166e8585611e32565b6117d1565b50505050565b606061168683835f611861565b9392505050565b610f0f83846001600160a01b031663a9059cbb85856040516024016116b3929190611f3b565b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506118fa565b6116ed611952565b6115eb8161199b565b6040516001600160a01b0384811660248301528381166044830152606482018390526116739186918216906323b872dd906084016116b3565b33611738611035565b6001600160a01b031614610c94573360405163118cdaa760e01b81526004016115d99190611c1e565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a3505050565b5f836001600160a01b031663095ea7b384846040516024016117f4929190611f3b565b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050905061182d84826119a3565b6116735761185784856001600160a01b031663095ea7b3865f6040516024016116b3929190611f3b565b61167384826118fa565b606081471015611886573060405163cd78605960e01b81526004016115d99190611c1e565b5f80856001600160a01b031684866040516118a191906124e1565b5f6040518083038185875af1925050503d805f81146118db576040519150601f19603f3d011682016040523d82523d5f602084013e6118e0565b606091505b50915091506118f0868383611a44565b9695505050505050565b5f61190e6001600160a01b03841683611679565b905080515f1415801561193257508080602001905181019061193091906124f7565b155b15610f0f5782604051635274afe760e01b81526004016115d99190611c1e565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff16610c9457604051631afcd79f60e31b815260040160405180910390fd5b6115b0611952565b5f805f846001600160a01b0316846040516119be91906124e1565b5f604051808303815f865af19150503d805f81146119f7576040519150601f19603f3d011682016040523d82523d5f602084013e6119fc565b606091505b5091509150818015611a26575080511580611a26575080806020019051810190611a2691906124f7565b8015611a3b57505f856001600160a01b03163b115b95945050505050565b606082611a5957611a5482611a97565b611686565b8151158015611a7057506001600160a01b0384163b155b15611a905783604051639996b31560e01b81526004016115d99190611c1e565b5080611686565b805115611aa75780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6040805160c081019091525f6080820181815260a083019190915281908152602001611afb604080518082019091525f808252602082015290565b8152602001611b19604080518082019091525f808252602082015290565b8152602001606081525090565b6040518060a001604052805f6001600160a01b031681526020015f81526020015f6001600160a01b031681526020015f6001600160a01b03168152602001611b8e6040805160808101909152805f81525f602082018190526060604083018190529091015290565b905290565b5f8083601f840112611ba3575f80fd5b5081356001600160401b03811115611bb9575f80fd5b602083019150836020828501011115611bd0575f80fd5b9250929050565b5f805f60408486031215611be9575f80fd5b8335925060208401356001600160401b03811115611c05575f80fd5b611c1186828701611b93565b9497909650939450505050565b6001600160a01b0391909116815260200190565b6001600160a01b03811681146115eb575f80fd5b5f60208284031215611c56575f80fd5b813561168681611c32565b5f8060208385031215611c72575f80fd5b82356001600160401b03811115611c87575f80fd5b611c9385828601611b93565b90969095509350505050565b5f8060408385031215611cb0575f80fd5b8235611cbb81611c32565b946020939093013593505050565b80516001600160a01b03168252602090810151910152565b5f60208083526101008301611cfa602085018651611cc9565b6020850151611d0c6060860182611cc9565b50604080860151611d2060a0870182611cc9565b50606086015160e086810152805192839052602001915f906101208701905b80831015611d6657611d52828651611cc9565b938501936001929092019190830190611d3f565b50979650505050505050565b5f805f60608486031215611d84575f80fd5b8335611d8f81611c32565b92506020840135611d9f81611c32565b929592945050506040919091013590565b5f8085851115611dbe575f80fd5b83861115611dca575f80fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611dff5780818660040360031b1b83161692505b505092915050565b5f60208284031215611e17575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610a1a57610a1a611e1e565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b5f815180845260208085019450602084015f5b83811015611ea55781516001600160a01b031687529582019590820190600101611e80565b509495945050505050565b6001600160a01b03851681526080602082018190525f90611ed390830186611e6d565b8281036040840152611ee58186611e6d565b90508281036060840152611ef98185611e6d565b979650505050505050565b5f8060408385031215611f15575f80fd5b8235611f2081611c32565b91506020830135611f3081611c32565b809150509250929050565b6001600160a01b03929092168252602082015260400190565b8082028115828204841417610a1a57610a1a611e1e565b5f82611f8557634e487b7160e01b5f52601260045260245ffd5b500490565b6001600160a01b0392831681529116602082015260400190565b604051608081016001600160401b0381118282101715611fc657611fc6611e45565b60405290565b604051601f8201601f191681016001600160401b0381118282101715611ff457611ff4611e45565b604052919050565b5f6040828403121561200c575f80fd5b604051604081018181106001600160401b038211171561202e5761202e611e45565b8060405250809150825161204181611c32565b8152602092830151920191909152919050565b5f6020808385031215612065575f80fd5b82516001600160401b038082111561207b575f80fd5b9084019060e0828703121561208e575f80fd5b612096611fa4565b6120a08784611ffc565b815260406120b18860408601611ffc565b858301526120c28860808601611ffc565b604083015260c0840151838111156120d8575f80fd5b80850194505087601f8501126120ec575f80fd5b8351838111156120fe576120fe611e45565b61210c868260051b01611fcc565b818152868101945060069190911b85018601908982111561212b575f80fd5b948601945b81861015612151576121428a87611ffc565b85529482019493860193612130565b60608401525090979650505050505050565b81810381811115610a1a57610a1a611e1e565b600481106115eb57634e487b7160e01b5f52602160045260245ffd5b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b5f60018060a01b0380835116845260208301516020850152806040840151166040850152806060840151166060850152608083015160a06080860152805161220781612176565b60a0860152602081015190911660c08501526040810151608060e086015290612234610120860183612192565b915060608101511515610100860152508091505092915050565b61225781612176565b9052565b5f82825180855260208086019550808260051b8401018186015f5b848110156123b257601f198684030189528151606081518186528051828701528681015160808181890152604091508183015160a081818b015285850151955060c091506122c6828b018761224e565b91840151945060e0916122e38a8401876001600160a01b03169052565b84015194506101006122ff8a8201876001600160a01b03169052565b9084015194506101209061231d8a8301876001600160a01b03169052565b9184015194506101409161233b8a8401876001600160a01b03169052565b8401516101608a81019190915290840151610180808b0191909152918401516101a08a01528301516101c0890191909152925061237c6101e0880184612192565b9250878401519150868303888801526123958383612192565b938101519601959095525098840198925090830190600101612276565b5090979650505050505050565b5f60018060a01b038088168352808716602084015285604084015260a060608401526123ee60a08401866121c0565b8381036080850152818551168152602085015160208201526040850151915060a0604082015261242160a082018361225b565b91506060850151818303606083015261243a838261225b565b925050608085015181830360808301526124548382612192565b9a9950505050505050505050565b5f805f60608486031215612474575f80fd5b8351925060208401519150604084015190509250925092565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906118f0908301846121c0565b5f80604083850312156124d0575f80fd5b505080516020909101519092909150565b5f82518060208501845e5f920191825250919050565b5f60208284031215612507575f80fd5b81518015158114611686575f80fdfe000000000000000000000000888888888889758f76e7103c6cbf23abbf58f946a26469706673582212208dac74526a260b97c65e8088d1b5569baee8a06350589d059bb1a3f419ffc06664736f6c63430008190033