0 txs
1 call
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)
DAI
viewfunction DAI() view returns (address)
feeReceiver
viewfunction feeReceiver() view returns (address)
hwHLP
viewfunction hwHLP() 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)
USDC
viewfunction USDC() view returns (address)
USDe
viewfunction USDe() 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)
refundWithdrawals
nonpayablefunction refundWithdrawals(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)
creation bytecode
0x60e0604090808252346101975760a08161187180380380916100218285610206565b833981010312610197576100348161023d565b6100406020830161023d565b61004b84840161023d565b91610064608061005d6060870161023d565b950161023d565b6001600160a01b039182169182156101ef575f549560018060a01b03199380858916175f5582895198167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a38185169687156101e05750818616156101cf5781169182156101be57169283156101ad579160049593916020959360a052816001541617600155600254161760025560c0528351928380926371f53e3560e11b82525afa9081156101a3575f9161016d575b506080525161161f908161025282396080518181816104ff01528181610702015261092c015260a051818181610138015281816105c501528181610bec0152610d15015260c0518181816106340152610dcf0152f35b90506020813d60201161019b575b8161018860209383610206565b8101031261019757515f610117565b5f80fd5b3d915061017b565b82513d5f823e3d90fd5b8651633480121760e21b8152600490fd5b875163ba0cdec560e01b8152600490fd5b8751636448d6e960e11b8152600490fd5b630681d31960e51b8152600490fd5b8651631e4fbdf760e01b81525f6004820152602490fd5b601f909101601f19168101906001600160401b0382119082101761022957604052565b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101975756fe604060808152600480361015610013575f80fd5b5f3560e01c90816301681a6214610e6a57816307395b6914610e355781631ef44e6814610dfe57816338d52e0f14610dbb5781633e5abcfc14610cea578163429bef1014610cce578163570ca73514610ca65781636d8d36ba14610bc4578163715018a614610b6d57816389a3027114610b3f5781638da5cb5b14610b185781639087544314610aea578163a64983c714610522578163aaf5eb68146104e8578163ac7475ed14610454578163b3f006741461042c578163c54e44eb146103fe578163c69bebe41461036a578163d16095021461033c578163e0bab4c41461030e578163e59de70014610284578163e8698f98146101f8578163f2fde38b1461016b575063fbfa77cf14610125575f80fd5b34610167575f36600319011261016757517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5f80fd5b90503461016757602036600319011261016757610186610f81565b9061018f61126a565b6001600160a01b039182169283156101e25750505f54826bffffffffffffffffffffffff60a01b8216175f55167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b905f6024925191631e4fbdf760e01b8352820152fd5b8234610167575f366003190112610167578051908183548082526020809201945f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f905b82821061026d576102698686610257828b0383611020565b51918291602083526020830190610f97565b0390f35b83548752958601956001938401939091019061023f565b9050346101675761029436610fd3565b9091811561030057506102a681611238565b915f5b8281106102c5578451602080825281906102699082018761106e565b6001906001600160a01b036102e36102de8387876111e3565b6111f3565b165f526003602052855f20546102f982876110cf565b52016102a9565b835163251f56a160e21b8152fd5b8234610167575f3660031901126101675760209051736b175474e89094c44da98b954eedeac495271d0f8152f35b8234610167575f3660031901126101675760209051734c9edd5852cd905f086c759e8383e09bff1e68b38152f35b823461016757602036600319011261016757610384610f81565b61038c61126a565b6001600160a01b038181169384156103f0575060025492516001600160a01b0391841682168152911660208201527f2861448678f0be67f11bfb5481b3e3b4cfeb3acc6126ad60a05f95bfc653066690604090a16001600160a01b03191617600255005b8351633480121760e21b8152fd5b8234610167575f366003190112610167576020905173dac17f958d2ee523a2206206994597c13d831ec78152f35b8234610167575f3660031901126101675760025490516001600160a01b039091168152602090f35b82346101675760203660031901126101675761046e610f81565b61047661126a565b6001600160a01b038181169384156104da575060015492516001600160a01b0391841682168152911660208201527ff7fa3b6184cd955c4d8db1b118f541d29ad3cde98ac41ffac1864077b27acc5b90604090a16001600160a01b03191617600155005b835163ba0cdec560e01b8152fd5b8234610167575f36600319011261016757602090517f00000000000000000000000000000000000000000000000000000000000000008152f35b90503461016757816003193601126101675780359067ffffffffffffffff8211610167573660238301121561016757818101359160249361056284611056565b9161056f82519384611020565b848352602094868685019160051b83010191368311610167578701905b828210610acb575050600180546001600160a01b0396925086163303610abb575f9081815b610a4a575b508351634f32ba0f60e11b81527f0000000000000000000000000000000000000000000000000000000000000000881696848282818b5afa91821561085d575f92610a1b575b50855163c0587a9560e01b815291858383818c5afa928315610a1157908b9392915f936109df575b505f928082106108e2575b5050897f0000000000000000000000000000000000000000000000000000000000000000169889928789518096816370a0823160e01b9788825230888301525afa9485156108d8578b88938f92938c8c955f9a61089a575b50915f9160a494935197889687956329edcc9560e21b87528b87015285015260448401523060648401523060848401525af1801561089057908791610867575b50508651918252309082015284818b818b5afa90811561085d57908392915f91610828575b506107329250610728916106ff916110a1565b937f00000000000000000000000000000000000000000000000000000000000000008095611432565b988651903561121a565b9761073d8651611238565b925f835b6107ae575b6107ac8a8a6107a18e8c7f65c42f85dcd9741e74fbea860c28501d4ffc730b39383f214a1fd30a73ed6ad461078a8e6107978f8f8351948486958652850188610f97565b918483039085015261106e565b0390a15190611207565b916002541690611295565b005b87518110156108235790838287858a8f8f8f908f926107ef8a6107f4936107da8c9f9e6107fc986110cf565b5116978897885f526003809b525f2054611432565b6110a1565b928391611295565b610806848b6110cf565b52610810816114c7565b505f5288525f8981205501909192610741565b610746565b80929350868092503d8311610856575b6108428183611020565b8101031261016757518291906106ff6106ec565b503d610838565b86513d5f823e3d90fd5b813d8311610889575b61087a8183611020565b8101031261016757855f6106c7565b503d610870565b88513d5f823e3d90fd5b99505093925093505085813d83116108d1575b6108b78183611020565b8101031261016757935193869188918e918d918c5f610687565b503d6108ad565b89513d5f823e3d90fd5b6108f09294508193506110a1565b9086516318160ddd60e01b8152868185818d5afa908115610890578c9493929187915f916109a8575b5061092a61095892610951926110a1565b7f000000000000000000000000000000000000000000000000000000000000000090611207565b9187611207565b90610964828285611432565b9282156109965709610979575b905f8061062f565b838101809111156109715750601190634e487b7160e01b5f52525ffd5b85601286634e487b7160e01b5f52525ffd5b955050508684813d83116109d8575b6109c18183611020565b810103126101675792518b9390869061092a610919565b503d6109b7565b935091508583813d8111610a0a575b6109f88183611020565b81010312610167578a9251915f610624565b503d6109ee565b87513d5f823e3d90fd5b9091508481813d8311610a43575b610a338183611020565b810103126101675751905f6105fc565b503d610a29565b918551831015610ab557610a7588610a6285896110cf565b51165f52600560205260405f2054151590565b15610aa55781610a9d81928a610a8b878b6110cf565b51165f5260038752875f2054906110c2565b9301906105b1565b84516336c1731960e01b81528790fd5b916105b6565b825163a5523ee560e01b81528590fd5b81356001600160a01b038116810361016757815290860190860161058c565b8234610167575f3660031901126101675760209051739fd7466f987fd4c45a5bbde22ed8aba5bc8d72d18152f35b8234610167575f366003190112610167575f5490516001600160a01b039091168152602090f35b8234610167575f366003190112610167576020905173a0b86991c6218b36c1d19d4a2e9eb0ce3606eb488152f35b34610167575f36600319011261016757610b8561126a565b5f80546001600160a01b0319811682556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b8234610167578060031936011261016757610bdd610f81565b602435906001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082163303610c96578215610c86571690610c30825f52600560205260405f2054151590565b15610c4457505051630508c93960e41b8152fd5b60207f8333410c98bc9c547df96e8a03e08475253d13a1889ff7ed7e4cd3df61010a079184610c72856113c4565b50845f526003835281815f205551908152a2005b50505051636edcc52360e01b8152fd5b5050505163edd7338f60e01b8152fd5b8234610167575f3660031901126101675760015490516001600160a01b039091168152602090f35b8234610167575f36600319011261016757602091549051908152f35b90503461016757610cfa36610fd3565b600180549093916001600160a01b039182163303610dab57927f00000000000000000000000000000000000000000000000000000000000000008216905f5b858110610d4257005b610d506102de8288856111e3565b84811690610d69825f52600560205260405f2054151590565b15610d9b5781610d95918a94935f526003602052610d8e8c5f20925f845494556114c7565b5086611295565b01610d39565b89516336c1731960e01b81528790fd5b855163a5523ee560e01b81528390fd5b8234610167575f36600319011261016757517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b8234610167576020366003190112610167576020906001600160a01b03610e23610f81565b165f5260038252805f20549051908152f35b8234610167578060031936011261016757610e576102699260243590356110f7565b9051918291602083526020830190610f97565b8234610167576020908160031936011261016757610e86610f81565b610e8e61126a565b81516370a0823160e01b815230858201526001600160a01b039190911691908381602481865afa8015610f77575f90610f48575b610ece91503384611295565b4780610f00575b507f807273efecfbeb7ae7d3a2189d1ed5a7db80074eed86e7d80b10bb925cd1db73935051908152a1005b804710610f32575f80808093335af1610f17611350565b5015610f235783610ed5565b51630a12f52160e11b81528390fd5b815163cd78605960e01b81523081870152602490fd5b508381813d8311610f70575b610f5e8183611020565b8101031261016757610ece9051610ec2565b503d610f54565b82513d5f823e3d90fd5b600435906001600160a01b038216820361016757565b9081518082526020808093019301915f5b828110610fb6575050505090565b83516001600160a01b031685529381019392810192600101610fa8565b9060206003198301126101675760043567ffffffffffffffff9283821161016757806023830112156101675781600401359384116101675760248460051b83010111610167576024019190565b90601f8019910116810190811067ffffffffffffffff82111761104257604052565b634e487b7160e01b5f52604160045260245ffd5b67ffffffffffffffff81116110425760051b60200190565b9081518082526020808093019301915f5b82811061108d575050505090565b83518552938101939281019260010161107f565b919082039182116110ae57565b634e487b7160e01b5f52601160045260245ffd5b919082018092116110ae57565b80518210156110e35760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b600490600454808085108015906111db575b6111d15784611117916110a1565b918083116111c9575b5061112a82611056565b936111386040519586611020565b828552601f1961114784611056565b013660208701375f5b83811061115f57505050505090565b61116981836110c2565b838110156111b6575f8690527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0154600191906001600160a01b03166111af82896110cf565b5201611150565b603286634e487b7160e01b5f525260245ffd5b91505f611120565b5050505050606090565b508215611109565b91908110156110e35760051b0190565b356001600160a01b03811681036101675790565b818102929181159184041417156110ae57565b8115611224570490565b634e487b7160e01b5f52601260045260245ffd5b9061124282611056565b61124f6040519182611020565b8281528092611260601f1991611056565b0190602036910137565b5f546001600160a01b0316330361127d57565b60405163118cdaa760e01b8152336004820152602490fd5b60405163a9059cbb60e01b602082019081526001600160a01b03938416602483015260448083019590955293815292608084019067ffffffffffffffff821185831017611042576112fe935f9384936040521694519082865af16112f7611350565b9083611586565b805190811515918261132c575b50506113145750565b60249060405190635274afe760e01b82526004820152fd5b81925090602091810103126101675760200151801590811503610167575f8061130b565b3d1561138a573d9067ffffffffffffffff8211611042576040519161137f601f8201601f191660200184611020565b82523d5f602084013e565b606090565b6004548110156110e35760045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01905f90565b805f52600560205260405f2054155f1461142d57600454680100000000000000008110156110425761141661140082600185940160045561138f565b819391549060031b91821b915f19901b19161790565b9055600454905f52600560205260405f2055600190565b505f90565b9091828202915f19848209938380861095039480860395146114b757848311156114a557829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b60405163227bc15360e01b8152600490fd5b5050906114c4925061121a565b90565b5f818152600560205260409020548015611580575f19908082018181116110ae57600454908382019182116110ae5781810361154c575b5050506004548015611538578101906115168261138f565b909182549160031b1b191690556004555f5260056020525f6040812055600190565b634e487b7160e01b5f52603160045260245ffd5b61156a61155b6114009361138f565b90549060031b1c92839261138f565b90555f52600560205260405f20555f80806114fe565b50505f90565b906115ad575080511561159b57805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806115e0575b6115be575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156115b656fea2646970667358221220834aa55dbc2c6233625a44ed799ee071c6163f1e8f64b0e7cdcbd033660409ad64736f6c634300081900330000000000000000000000008fa9aa69a6e94c1cd49fbf214c833b2911d0255300000000000000000000000024d3334fd368f003d18fc6f1ff5eb61d939978000000000000000000000000009fd7466f987fd4c45a5bbde22ed8aba5bc8d72d10000000000000000000000009b88fb2f8a447c934022a4937db6eeb442d27302000000000000000000000000c554747ffde2e378a562a09f2f72f4121c1d493d