0 txs
4 calls
constructor
No constructor.
functions
getAavePool
viewfunction getAavePool() view returns (address)
getAvgPrice
viewfunction getAvgPrice(address vault) view returns (uint256)
getCountOfPools
viewfunction getCountOfPools(address vault) view returns (uint32)
getMarginlyRouter
viewfunction getMarginlyRouter() view returns (address)
getPendingWithdrawals
viewfunction getPendingWithdrawals(address vault) view returns (uint256)
getPoolByIndex
viewfunction getPoolByIndex(address vault, uint32 index) view returns (address)
getPoolConfig
viewfunction getPoolConfig(address vault, address pool) view returns (tuple)
getWeETH
viewfunction getWeETH() view returns (address)
getWeethEthPriceOracle
viewfunction getWeethEthPriceOracle() view returns (address)
getWeth9
viewfunction getWeth9() view returns (address)
owner
viewfunction owner() view returns (address)
peekUnstakeRequestId
viewfunction peekUnstakeRequestId(address vault) view returns (uint256)
pendingOwner
viewfunction pendingOwner() view returns (address)
POOL_LIMITS
viewfunction POOL_LIMITS() view returns (uint8)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
acceptOwnership
nonpayablefunction acceptOwnership()
addMarginlyPool
nonpayablefunction addMarginlyPool(address vault, address pool)
addVault
nonpayablefunction addVault(address vault)
dequeueUnstakeRequest
nonpayablefunction dequeueUnstakeRequest() returns (uint256)
enqueueUnstakeRequest
nonpayablefunction enqueueUnstakeRequest(uint256 requestId, uint256 withdrawAmount)
initialize
nonpayablefunction initialize(address weth9, address weeth)
removeMarginlyPool
nonpayablefunction removeMarginlyPool(address vault, uint32 poolIndex)
renounceOwnership
nonpayablefunction renounceOwnership()
setAavePool
nonpayablefunction setAavePool(address aavePool)
setAvgPrice
nonpayablefunction setAvgPrice(uint256 avgPrice)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
MarginlyPoolAdded
event MarginlyPoolAdded(address vault, address pool)
MarginlyPoolRemoved
event MarginlyPoolRemoved(address vault, address pool)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OwnableInvalidOwner
error OwnableInvalidOwner(address owner)
OwnableUnauthorizedAccount
error OwnableUnauthorizedAccount(address account)
PoolAlreadyAdded
error PoolAlreadyAdded()
PoolsLimitReached
error PoolsLimitReached()
SenderIsNotVault
error SenderIsNotVault()
UnknownPool
error UnknownPool()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
VaultHasPositionInPool
error VaultHasPositionInPool()
WronMarginlyPool
error WronMarginlyPool()
ZeroAddress
error ZeroAddress()
creation bytecode
0x60a0806040523460295730608052611a36908161002f8239608051818181610a380152610b160152f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063010b0e87146115e45780630859877f1461157757806313561b55146115315780631768c3c3146114eb5780631812d3e51461148c578063256b5a0214611413578063349f937c1461138f5780633a150458146112fc57806340d657c1146112a1578063479295dd14610fb6578063485cc95514610d2f5780634f1ef28614610a9957806352d1902d14610a1d5780635ae2ce19146108c0578063715018a6146108285780637559ef5a1461080c57806379ba5097146107bc5780638a69710d146107665780638bfc1311146104b85780638da5cb5b14610484578063ad3cb1cc14610408578063b632e0c0146103c2578063c8e6b66d1461030a578063dcab5e81146102c4578063e30c397814610290578063f2fde38b146101fa578063f340c0d01461019b5763ff130bfc1461015057600080fd5b346101965760003660031901126101965760206001600160a01b037f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e17035416604051908152f35b600080fd5b346101965760203660031901126101965760206101f16101b9611717565b6001600160a01b03166000527f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e1707602052604060002090565b54604051908152f35b34610196576020366003190112610196576001600160a01b0361021b611717565b61022361185d565b16806001600160a01b03196000805160206119e18339815191525416176000805160206119e1833981519152556001600160a01b036000805160206119c183398151915254167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700600080a3005b346101965760003660031901126101965760206001600160a01b036000805160206119e18339815191525416604051908152f35b346101965760003660031901126101965760206001600160a01b037f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e17025416604051908152f35b3461019657604036600319011261019657610323611717565b6001600160a01b0361033361172d565b916000602060405161034481611776565b8281520152166000527f882ab9af8cf26b7e92abe031fb9cf52b5c1a53b8cda35a6091ff62bc0c7d70006020526001600160a01b036001604060002001911660005260205260408060002081519061039b82611776565b5460ff6020818316151593848152019160081c161515815282519182525115156020820152f35b346101965760003660031901126101965760206001600160a01b037f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e17005416604051908152f35b3461019657600036600319011261019657604080519061042881836117a8565b60058252640352e302e360dc1b6020830152805180926020825280519081602084015260005b82811061046d5750506000828201840152601f01601f19168101030190f35b60208282018101518783018701528694500161044e565b346101965760003660031901126101965760206001600160a01b036000805160206119c18339815191525416604051908152f35b34610196576104c636611743565b906104cf61185d565b6001600160a01b038116806000527f882ab9af8cf26b7e92abe031fb9cf52b5c1a53b8cda35a6091ff62bc0c7d7000602052604060002091600283019263ffffffff8516600052836020526001600160a01b0360406000205416928315610755576040519063055f575160e41b82526004820152608081602481875afa908115610749576000916106a6575b5051936004851015610690576000946106815760001963ffffffff835416019563ffffffff871161066d579563ffffffff917f8cd0c0d3e2bde3b3b18bdafc5b4dcdfab3a2e7e2c3e3f82872d236ec00e74a9196978383168482160361062a575b508282168852602052604087206001600160a01b031981541690556001600160a01b0385168752600183016020528660408120551663ffffffff19825416179055610624604051928392839092916001600160a01b0360209181604085019616845216910152565b0390a180f35b838316895281602052836001600160a01b0360408b20541691168952816020526001600160a01b0360408a2091166001600160a01b0319825416179055886105bc565b634e487b7160e01b86526011600452602486fd5b634f01daaf60e11b8552600485fd5b634e487b7160e01b600052602160045260246000fd5b6080813d608011610741575b816106bf608093836117a8565b8101031261072957604051916080830183811067ffffffffffffffff82111761072d576040528151600481101561072957835260208201519063ffffffff82168203610726575090606091602084015260408101516040840152015160608201528661055b565b80fd5b5080fd5b634e487b7160e01b82526041600452602482fd5b3d91506106b2565b6040513d6000823e3d90fd5b63f7139e3360e01b60005260046000fd5b346101965760203660031901126101965760206101f1610784611717565b6001600160a01b03166000527f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e1705602052604060002090565b3461019657600036600319011261019657336001600160a01b036000805160206119e18339815191525416036107f7576107f53361187e565b005b63118cdaa760e01b6000523360045260246000fd5b3461019657600036600319011261019657602060405160078152f35b346101965760003660031901126101965761084161185d565b6001600160a01b03196000805160206119e183398151915254166000805160206119e18339815191525560006001600160a01b036000805160206119c183398151915254811981166000805160206119c183398151915255167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610196576000366003190112610196576108d9611805565b60206001600160801b0361090d336001600160a01b03166000526000805160206119a1833981519152602052604060002090565b5416600161093b336001600160a01b03166000526000805160206119a1833981519152602052604060002090565b016001600160801b038216600052825260406000209060405161095d81611776565b6001835493848352015493849101526109a8336001600160a01b03166000527f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e1707602052604060002090565b928354908103908111610a0757602093556001600160801b0360016109ed336001600160a01b03166000526000805160206119a1833981519152602052604060002090565b9201166001600160801b0319825416179055604051908152f35b634e487b7160e01b600052601160045260246000fd5b34610196576000366003190112610196576001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610a885760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b63703e46dd60e11b60005260046000fd5b604036600319011261019657610aad611717565b6024359067ffffffffffffffff8211610196573660238301121561019657816004013590610ada826117ca565b91610ae860405193846117a8565b8083526020830193366024838301011161019657816000926024602093018737840101526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016803014908115610cfa575b50610a8857610b4e61185d565b6040516352d1902d60e01b81526001600160a01b0382169390602081600481885afa60009181610cc6575b50610b935784634c9c8ce360e01b60005260045260246000fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610cb25750823b15610c9e57806001600160a01b03197f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2825115610c8357600080916107f5945190845af43d15610c7b573d91610c5e836117ca565b92610c6c60405194856117a8565b83523d6000602085013e611942565b606091611942565b50505034610c8d57005b63b398979f60e01b60005260046000fd5b634c9c8ce360e01b60005260045260246000fd5b632a87526960e21b60005260045260246000fd5b9091506020813d602011610cf2575b81610ce2602093836117a8565b8101031261019657519086610b79565b3d9150610cd5565b90506001600160a01b037f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610b41565b3461019657604036600319011261019657610d48611717565b610d5061172d565b907ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00549160ff8360401c16159267ffffffffffffffff811680159081610fae575b6001149081610fa4575b159081610f9b575b50610f8a5767ffffffffffffffff1981166001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610f4b575b50610de8611902565b610df0611902565b3315610f35576001600160a01b038092610e093361187e565b610e11611902565b610e19611902565b1682197f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e17005416177f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e170055166001600160a01b03197f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e17015416177f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e170155610eb857005b68ff0000000000000000197ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b631e4fbdf760e01b600052600060045260246000fd5b68ffffffffffffffffff191668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610ddf565b63f92ee8a960e01b60005260046000fd5b90501585610da3565b303b159150610d9b565b859150610d91565b3461019657604036600319011261019657610fcf611717565b610fd761172d565b610fdf61185d565b6001600160a01b038116918215611290576001600160a01b038116806000527f882ab9af8cf26b7e92abe031fb9cf52b5c1a53b8cda35a6091ff62bc0c7d700060205260406000209363ffffffff855416906007821461127f57600186019281600052836020526040600020906040519161105983611776565b549060ff8216151580845260ff602085019360081c161515835261126e576020600491604051928380926338d52e0f60e01b82525afa9081156107495760009161124f575b5060018352604051630217a4b760e41b815290602082600481885afa908115610749576001600160a01b039260009261122c575b508216911681036111aa575060406001958683525b600090858252602052209151151560ff8019845416911617825551151561ff0082549160081b169061ff00191617905563ffffffff8216600052600286016020526040600020906001600160a01b0319825416179055019263ffffffff8411610a075763ffffffff7fb86b3d28b0f3414fcda024bc57512e4f019b97708050e2fa13a749505afec749941663ffffffff198254161790556111a5604051928392839092916001600160a01b0360209181604085019616845216910152565b0390a1005b60405163c55dae6360e01b8152602081600481885afa8015610749576001600160a01b03916000916111fd575b5016036111ec576040600195600083526110e7565b63da178d5360e01b60005260046000fd5b61121f915060203d602011611225575b61121781836117a8565b8101906117e6565b8b6111d7565b503d61120d565b839192506112489060203d6020116112255761121781836117a8565b91906110d2565b611268915060203d6020116112255761121781836117a8565b8961109e565b633caf458560e01b60005260046000fd5b637aa669bf60e01b60005260046000fd5b63d92e233d60e01b60005260046000fd5b34610196576020366003190112610196576112ba611805565b6004356112f9336001600160a01b03166000527f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e1705602052604060002090565b55005b3461019657602036600319011261019657611315611717565b6001600160801b0360016113768261134d856001600160a01b03166000526000805160206119a1833981519152602052604060002090565b5416936001600160a01b03166000526000805160206119a1833981519152602052604060002090565b0191166000526020526020604060002054604051908152f35b34610196576020366003190112610196576001600160a01b036113b0611717565b6113b861185d565b168015611290576001600160a01b03197f93983dcb6eaac300cd6814ef579e4c605c1c7e706546523f7e298bcb78ab21005416177f93983dcb6eaac300cd6814ef579e4c605c1c7e706546523f7e298bcb78ab210055600080f35b346101965760203660031901126101965761142c611717565b61143461185d565b6001600160a01b038116156112905761147f906001600160a01b03166000527f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e1704602052604060002090565b805460ff19166001179055005b34610196576020366003190112610196576001600160a01b036114ad611717565b166000527f882ab9af8cf26b7e92abe031fb9cf52b5c1a53b8cda35a6091ff62bc0c7d7000602052602063ffffffff60406000205416604051908152f35b346101965760003660031901126101965760206001600160a01b037f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e17015416604051908152f35b346101965760003660031901126101965760206001600160a01b037f93983dcb6eaac300cd6814ef579e4c605c1c7e706546523f7e298bcb78ab21005416604051908152f35b34610196576001600160a01b0361158d36611743565b91166000527f882ab9af8cf26b7e92abe031fb9cf52b5c1a53b8cda35a6091ff62bc0c7d700060205263ffffffff6002604060002001911660005260205260206001600160a01b0360406000205416604051908152f35b3461019657604036600319011261019657602435611600611805565b3360009081526000805160206119a1833981519152602052604090205460801c9060405161162d81611776565b600435815260016020820183815281611666336001600160a01b03166000526000805160206119a1833981519152602052604060002090565b016001600160801b038616600052602052604060002092518355519101556116c0336001600160a01b03166000527f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e1707602052604060002090565b8054918201809211610a0757553360009081526000805160206119a18339815191526020526040902080546001600160801b0316600190920160801b6fffffffffffffffffffffffffffffffff1916919091179055005b600435906001600160a01b038216820361019657565b602435906001600160a01b038216820361019657565b6040906003190112610196576004356001600160a01b0381168103610196579060243563ffffffff811681036101965790565b6040810190811067ffffffffffffffff82111761179257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761179257604052565b67ffffffffffffffff811161179257601f01601f191660200190565b9081602091031261019657516001600160a01b03811681036101965790565b60ff611843336001600160a01b03166000527f20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e1704602052604060002090565b54161561184c57565b6357e6f9b160e01b60005260046000fd5b6001600160a01b036000805160206119c1833981519152541633036107f757565b6001600160a01b03196000805160206119e183398151915254166000805160206119e1833981519152556001600160a01b03806000805160206119c1833981519152549216918282198216176000805160206119c183398151915255167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561193157565b631afcd79f60e31b60005260046000fd5b90611968575080511561195757805190602001fd5b630a12f52160e11b60005260046000fd5b81511580611997575b611979575090565b6001600160a01b0390639996b31560e01b6000521660045260246000fd5b50803b1561197156fe20efba382d2cdbc4efe3592e1b7772fee0ae05b7d83b82da7cfb7c8be56e17069016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300237e158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00a2646970667358221220fad41fe7b0e94c75c24599adfb44b9afce20a9d53b20b9c6cb95165153dee0dd64736f6c634300081a0033