1 tx
136 calls
constructor
constructor(address _admin, address _vault, address _asset, address _operator, address _feeReceiver)
functions
allPendingWithdrawers
viewfunction allPendingWithdrawers() view returns (address[])
asset
viewfunction asset() view returns (address)
EVault
viewfunction EVault() view returns (address)
feeReceiver
viewfunction feeReceiver() view returns (address)
operator
viewfunction operator() view returns (address)
owner
viewfunction owner() view returns (address)
pendingWithdrawers
viewfunction pendingWithdrawers(uint256 _limit, uint256 _offset) view returns (address[] result_)
pendingWithdrawersCount
viewfunction pendingWithdrawersCount() view returns (uint256)
PRECISION
viewfunction PRECISION() view returns (uint256)
rEUL
viewfunction rEUL() view returns (address)
USD1
viewfunction USD1() view returns (address)
USDC
viewfunction USDC() view returns (address)
USDT
viewfunction USDT() view returns (address)
vault
viewfunction vault() view returns (address)
withdrawalRequest
viewfunction withdrawalRequest(address _user) view returns (uint256)
withdrawalRequests
viewfunction withdrawalRequests(address[] _users) view returns (uint256[] shares_)
confirmWithdrawal
nonpayablefunction confirmWithdrawal(address[] _users, uint256 _totalGasTokenAmount)
refundWithdraw
nonpayablefunction refundWithdraw(address[] _users)
registerWithdrawal
nonpayablefunction registerWithdrawal(address _user, uint256 _shares)
renounceOwnership
nonpayablefunction renounceOwnership()
sweep
nonpayablefunction sweep(address _token)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateFeeReceiver
nonpayablefunction updateFeeReceiver(address _newFeeReceiver)
updateOperator
nonpayablefunction updateOperator(address _newOperator)
events
ConfirmWithdrawal
event ConfirmWithdrawal(address[] users, uint256[] amounts)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RegisterWithdrawal
event RegisterWithdrawal(address indexed user, uint256 shares)
Sweep
event Sweep(address token)
UpdateFeeReceiver
event UpdateFeeReceiver(address oldFeeReceiver, address newFeeReceiver)
UpdateOperator
event UpdateOperator(address oldOperator, address newOperator)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
CallerNotOperator
error CallerNotOperator()
CallerNotVault
error CallerNotVault()
FailedInnerCall
error FailedInnerCall()
IncorrectState
error IncorrectState()
InvalidAsset
error InvalidAsset()
InvalidFeeReceiver
error InvalidFeeReceiver()
InvalidLength
error InvalidLength()
InvalidNewOperator
error InvalidNewOperator()
InvalidShares
error InvalidShares()
InvalidVault
error InvalidVault()
InvalidWithdrawalUser
error InvalidWithdrawalUser()
MathOverflowedMulDiv
error MathOverflowedMulDiv()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
UnSupportedOperation
error UnSupportedOperation()
creation bytecode
0x60e060405234801561000f575f80fd5b50604051611e9c380380611e9c83398101604081905261002e91610211565b846001600160a01b03811661005c57604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b610065816101a7565b506001600160a01b03841661008d57604051630681d31960e51b815260040160405180910390fd5b6001600160a01b0383166100b457604051636448d6e960e11b815260040160405180910390fd5b6001600160a01b0382166100db5760405163ba0cdec560e01b815260040160405180910390fd5b6001600160a01b03811661010257604051633480121760e21b815260040160405180910390fd5b6001600160a01b0384811660a0819052600180546001600160a01b0319908116868516179091556002805490911684841617905590841660c052604080516371f53e3560e11b8152905163e3ea7c6a916004808201926020929091908290030181865afa158015610175573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101999190610272565b608052506102899350505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461020c575f80fd5b919050565b5f805f805f60a08688031215610225575f80fd5b61022e866101f6565b945061023c602087016101f6565b935061024a604087016101f6565b9250610258606087016101f6565b9150610266608087016101f6565b90509295509295909350565b5f60208284031215610282575f80fd5b5051919050565b60805160a05160c051611b876103155f395f81816101e301528181610ae801528181610b7301528181610c2a01528181610dd20152610e9f01525f81816103920152818161064401528181610712015281816108c90152818161094c01528181610a1c0152610bb901525f81816102c1015281816109fa01528181610cc60152610d920152611b875ff3fe608060405234801561000f575f80fd5b5060043610610153575f3560e01c8063a64983c7116100bf578063c69bebe411610079578063c69bebe414610324578063e59de70014610337578063e672243414610357578063e8698f9814610372578063f2fde38b1461037a578063fbfa77cf1461038d575f80fd5b8063a64983c71461028e578063a7c60f8c146102a1578063aaf5eb68146102bc578063ac7475ed146102e3578063b3f00674146102f6578063c54e44eb14610309575f80fd5b80634438632111610110578063443863211461021a578063570ca735146102355780636d8d36ba14610248578063715018a61461025b57806389a30271146102635780638da5cb5b1461027e575f80fd5b806301681a621461015757806307395b691461016c5780630b630c91146101955780631ef44e68146101a857806338d52e0f146101de578063429bef1014610212575b5f80fd5b61016a610165366004611764565b6103b4565b005b61017f61017a36600461177d565b61048c565b60405161018c91906117e0565b60405180910390f35b61016a6101a33660046118a7565b610568565b6101d06101b6366004611764565b6001600160a01b03165f9081526003602052604090205490565b60405190815260200161018c565b6102057f000000000000000000000000000000000000000000000000000000000000000081565b60405161018c91906118e0565b6101d06106f7565b610205738d0d000ee44948fc98c9b98a4fa4921476f08b0d81565b600154610205906001600160a01b031681565b61016a6102563660046118f4565b610707565b61016a6107f7565b610205738ac76a51cc950d9822d68b83fe1ad97b32cd580d81565b5f546001600160a01b0316610205565b61016a61029c36600461191c565b61080a565b610205735e13d41913adf18bb2acae34228e8d21f3c2f2eb81565b6101d07f000000000000000000000000000000000000000000000000000000000000000081565b61016a6102f1366004611764565b610ed8565b600254610205906001600160a01b031681565b6102057355d398326f99059ff775485246999027b319795581565b61016a610332366004611764565b610f70565b61034a61034536600461195d565b611008565b60405161018c91906119fa565b61020573c41f2ba7102e9f9f2d603eb951f955ae205ed27281565b61017f6110e9565b61016a610388366004611764565b6110f5565b6102057f000000000000000000000000000000000000000000000000000000000000000081565b6103bc61113b565b6040516370a0823160e01b81525f906001600160a01b038316906370a08231906103ea9030906004016118e0565b602060405180830381865afa158015610405573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104299190611a0c565b905061043f6001600160a01b0383163383611167565b4780156104505761045033826111be565b7f807273efecfbeb7ae7d3a2189d1ed5a7db80074eed86e7d80b10bb925cd1db738360405161047f91906118e0565b60405180910390a1505050565b60605f6104996004611251565b905080831015806104a8575083155b156104b35750610562565b6104bd8382611a37565b9050838111156104ca5750825b806001600160401b038111156104e2576104e26117f2565b60405190808252806020026020018201604052801561050b578160200160208202803683370190505b5091505f5b8181101561055f5761052d6105258286611a4a565b60049061125a565b83828151811061053f5761053f611a5d565b6001600160a01b0390921660209283029190910190910152600101610510565b50505b92915050565b6001546001600160a01b031633146105935760405163a5523ee560e01b815260040160405180910390fd5b5f5b81518110156106f3576105cb8282815181106105b3576105b3611a5d565b6020026020010151600461126c90919063ffffffff16565b6105e8576040516336c1731960e01b815260040160405180910390fd5b61067b8282815181106105fd576105fd611a5d565b602002602001015160035f85858151811061061a5761061a611a5d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f20547f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166111679092919063ffffffff16565b6106a882828151811061069057610690611a5d565b6020026020010151600461128d90919063ffffffff16565b5060035f8383815181106106be576106be611a5d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f9055806001019050610595565b5050565b5f6107026004611251565b905090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107505760405163edd7338f60e01b815260040160405180910390fd5b805f0361077057604051636edcc52360e01b815260040160405180910390fd5b61077b60048361126c565b1561079957604051630508c93960e41b815260040160405180910390fd5b6107a46004836112a1565b506001600160a01b0382165f8181526003602090815260409182902084905590518381527f8333410c98bc9c547df96e8a03e08475253d13a1889ff7ed7e4cd3df61010a07910160405180910390a25050565b6107ff61113b565b6108085f6112b5565b565b6001546001600160a01b031633146108355760405163a5523ee560e01b815260040160405180910390fd5b5f805b83518110156108c5576108568482815181106105b3576105b3611a5d565b610873576040516336c1731960e01b815260040160405180910390fd5b60035f85838151811061088857610888611a5d565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f2054826108bb9190611a4a565b9150600101610838565b505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639e65741e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610923573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109479190611a0c565b90505f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c0587a956040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109a6573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ca9190611a0c565b9050805f036109ec5760405163e9ec812960e01b815260040160405180910390fd5b5f81831015610acf57610acc7f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a76573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a9a9190611a0c565b610aa49190611a37565b610aae9190611a71565b610ab88587611a71565b6001610ac48787611a37565b929190611304565b90505b6040516370a0823160e01b81525f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190610b1d9030906004016118e0565b602060405180830381865afa158015610b38573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b5c9190611a0c565b6040516329edcc9560e21b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820188905260448201859052306064830181905260848301529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a7b732549060a4016020604051808303815f875af1158015610c01573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c259190611a0c565b505f817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610c7491906118e0565b602060405180830381865afa158015610c8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cb39190611a0c565b610cbd9190611a37565b90505f610cec827f00000000000000000000000000000000000000000000000000000000000000008984611304565b90505f805f8b518b610cfe9190611a9c565b90505f8c516001600160401b03811115610d1a57610d1a6117f2565b604051908082528060200260200182016040528015610d43578160200160208202803683370190505b5090505f5b8d51811015610e43578d8181518110610d6357610d63611a5d565b6020908102919091018101516001600160a01b0381165f90815260039092526040822054909650610db79188907f000000000000000000000000000000000000000000000000000000000000000090611304565b9350610dc38385611a37565b9350610df96001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168686611167565b83828281518110610e0c57610e0c611a5d565b6020908102919091010152610e2260048661128d565b506001600160a01b0385165f90815260036020526040812055600101610d48565b507f65c42f85dcd9741e74fbea860c28501d4ffc730b39383f214a1fd30a73ed6ad48d82604051610e75929190611aaf565b60405180910390a15f8d5183610e8b9190611a71565b600254909150610ec8906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116911683611167565b5050505050505050505050505050565b610ee061113b565b6001600160a01b038116610f075760405163ba0cdec560e01b815260040160405180910390fd5b600154604080516001600160a01b03928316815291831660208301527ff7fa3b6184cd955c4d8db1b118f541d29ad3cde98ac41ffac1864077b27acc5b910160405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b610f7861113b565b6001600160a01b038116610f9f57604051633480121760e21b815260040160405180910390fd5b600254604080516001600160a01b03928316815291831660208301527f2861448678f0be67f11bfb5481b3e3b4cfeb3acc6126ad60a05f95bfc6530666910160405180910390a1600280546001600160a01b0319166001600160a01b0392909216919091179055565b6060815f81900361102c5760405163251f56a160e21b815260040160405180910390fd5b806001600160401b03811115611044576110446117f2565b60405190808252806020026020018201604052801561106d578160200160208202803683370190505b5091505f5b8181101561055f5760035f86868481811061108f5761108f611a5d565b90506020020160208101906110a49190611764565b6001600160a01b03166001600160a01b031681526020019081526020015f20548382815181106110d6576110d6611a5d565b6020908102919091010152600101611072565b60606107026004611353565b6110fd61113b565b6001600160a01b03811661112f575f604051631e4fbdf760e01b815260040161112691906118e0565b60405180910390fd5b611138816112b5565b50565b5f546001600160a01b03163314610808573360405163118cdaa760e01b815260040161112691906118e0565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111b990849061135f565b505050565b804710156111e1573060405163cd78605960e01b815260040161112691906118e0565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f811461122a576040519150601f19603f3d011682016040523d82523d5f602084013e61122f565b606091505b50509050806111b957604051630a12f52160e11b815260040160405180910390fd5b5f610562825490565b5f61126583836113b7565b9392505050565b6001600160a01b0381165f9081526001830160205260408120541515611265565b5f611265836001600160a01b0384166113dd565b5f611265836001600160a01b0384166114c0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f8061131186868661150c565b905061131c836115cb565b801561133757505f848061133257611332611a88565b868809115b1561134a57611347600182611a4a565b90505b95945050505050565b60605f611265836115f7565b5f6113736001600160a01b03841683611650565b905080515f141580156113975750808060200190518101906113959190611ad3565b155b156111b95782604051635274afe760e01b815260040161112691906118e0565b5f825f0182815481106113cc576113cc611a5d565b905f5260205f200154905092915050565b5f81815260018301602052604081205480156114b7575f6113ff600183611a37565b85549091505f9061141290600190611a37565b9050808214611471575f865f01828154811061143057611430611a5d565b905f5260205f200154905080875f01848154811061145057611450611a5d565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061148257611482611af2565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610562565b5f915050610562565b5f81815260018301602052604081205461150557508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610562565b505f610562565b5f838302815f1985870982811083820303915050805f036115405783828161153657611536611a88565b0492505050611265565b8084116115605760405163227bc15360e01b815260040160405180910390fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b5f60028260038111156115e0576115e0611b06565b6115ea9190611b1a565b60ff166001149050919050565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561164457602002820191905f5260205f20905b815481526020019060010190808311611630575b50505050509050919050565b606061126583835f845f80856001600160a01b031684866040516116749190611b3b565b5f6040518083038185875af1925050503d805f81146116ae576040519150601f19603f3d011682016040523d82523d5f602084013e6116b3565b606091505b50915091506116c38683836116cd565b9695505050505050565b6060826116e2576116dd82611720565b611265565b81511580156116f957506001600160a01b0384163b155b156117195783604051639996b31560e01b815260040161112691906118e0565b5080611265565b8051156117305780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b80356001600160a01b038116811461175f575f80fd5b919050565b5f60208284031215611774575f80fd5b61126582611749565b5f806040838503121561178e575f80fd5b50508035926020909101359150565b5f815180845260208085019450602084015f5b838110156117d55781516001600160a01b0316875295820195908201906001016117b0565b509495945050505050565b602081525f611265602083018461179d565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611815575f80fd5b813560206001600160401b0380831115611831576118316117f2565b8260051b604051601f19603f83011681018181108482111715611856576118566117f2565b6040529384526020818701810194908101925087851115611875575f80fd5b6020870191505b8482101561189c5761188d82611749565b8352918301919083019061187c565b979650505050505050565b5f602082840312156118b7575f80fd5b81356001600160401b038111156118cc575f80fd5b6118d884828501611806565b949350505050565b6001600160a01b0391909116815260200190565b5f8060408385031215611905575f80fd5b61190e83611749565b946020939093013593505050565b5f806040838503121561192d575f80fd5b82356001600160401b03811115611942575f80fd5b61194e85828601611806565b95602094909401359450505050565b5f806020838503121561196e575f80fd5b82356001600160401b0380821115611984575f80fd5b818501915085601f830112611997575f80fd5b8135818111156119a5575f80fd5b8660208260051b85010111156119b9575f80fd5b60209290920196919550909350505050565b5f815180845260208085019450602084015f5b838110156117d5578151875295820195908201906001016119de565b602081525f61126560208301846119cb565b5f60208284031215611a1c575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561056257610562611a23565b8082018082111561056257610562611a23565b634e487b7160e01b5f52603260045260245ffd5b808202811582820484141761056257610562611a23565b634e487b7160e01b5f52601260045260245ffd5b5f82611aaa57611aaa611a88565b500490565b604081525f611ac1604083018561179d565b828103602084015261134a81856119cb565b5f60208284031215611ae3575f80fd5b81518015158114611265575f80fd5b634e487b7160e01b5f52603160045260245ffd5b634e487b7160e01b5f52602160045260245ffd5b5f60ff831680611b2c57611b2c611a88565b8060ff84160691505092915050565b5f82518060208501845e5f92019182525091905056fea2646970667358221220a448be4578dee6dd6f5552a3e3819967f8549427a165859d7591178478589cb364736f6c634300081900330000000000000000000000008fa9aa69a6e94c1cd49fbf214c833b2911d02553000000000000000000000000d896bf804c01c4c0fa5c42bf6a4b15c4650094810000000000000000000000008d0d000ee44948fc98c9b98a4fa4921476f08b0d000000000000000000000000601954e6afb77dac21503dbdfa751fbef9ee5374000000000000000000000000c554747ffde2e378a562a09f2f72f4121c1d493d