0 txs
26.2k calls
constructor
constructor(address _strategyManager, address _pauserRegistry, string _version)
functions
explanation
purefunction explanation() pure returns (string)
getTVLLimits
viewfunction getTVLLimits() view returns (uint256, uint256)
maxPerDeposit
viewfunction maxPerDeposit() view returns (uint256)
maxTotalDeposits
viewfunction maxTotalDeposits() view returns (uint256)
paused
viewfunction paused() view returns (uint256)
paused
viewfunction paused(uint8 index) view returns (bool)
pauserRegistry
viewfunction pauserRegistry() view returns (address)
shares
viewfunction shares(address user) view returns (uint256)
sharesToUnderlying
viewfunction sharesToUnderlying(uint256 amountShares) view returns (uint256)
sharesToUnderlyingView
viewfunction sharesToUnderlyingView(uint256 amountShares) view returns (uint256)
strategyManager
viewfunction strategyManager() view returns (address)
totalShares
viewfunction totalShares() view returns (uint256)
underlyingToken
viewfunction underlyingToken() view returns (address)
underlyingToShares
viewfunction underlyingToShares(uint256 amountUnderlying) view returns (uint256)
underlyingToSharesView
viewfunction underlyingToSharesView(uint256 amountUnderlying) view returns (uint256)
userUnderlyingView
viewfunction userUnderlyingView(address user) view returns (uint256)
version
viewfunction version() view returns (string)
deposit
nonpayablefunction deposit(address token, uint256 amount) returns (uint256 newShares)
initialize
nonpayablefunction initialize(address _underlyingToken)
initialize
nonpayablefunction initialize(uint256 _maxPerDeposit, uint256 _maxTotalDeposits, address _underlyingToken)
pause
nonpayablefunction pause(uint256 newPausedStatus)
pauseAll
nonpayablefunction pauseAll()
setTVLLimits
nonpayablefunction setTVLLimits(uint256 newMaxPerDeposit, uint256 newMaxTotalDeposits)
unpause
nonpayablefunction unpause(uint256 newPausedStatus)
userUnderlying
nonpayablefunction userUnderlying(address user) returns (uint256)
withdraw
nonpayablefunction withdraw(address recipient, address token, uint256 amountShares)
events
ExchangeRateEmitted
event ExchangeRateEmitted(uint256 rate)
Initialized
event Initialized(uint8 version)
MaxPerDepositUpdated
event MaxPerDepositUpdated(uint256 previousValue, uint256 newValue)
MaxTotalDepositsUpdated
event MaxTotalDepositsUpdated(uint256 previousValue, uint256 newValue)
Paused
event Paused(address indexed account, uint256 newPausedStatus)
StrategyTokenSet
event StrategyTokenSet(address token, uint8 decimals)
Unpaused
event Unpaused(address indexed account, uint256 newPausedStatus)
errors
BalanceExceedsMaxTotalDeposits
error BalanceExceedsMaxTotalDeposits()
CurrentlyPaused
error CurrentlyPaused()
InputAddressZero
error InputAddressZero()
InvalidNewPausedStatus
error InvalidNewPausedStatus()
InvalidShortString
error InvalidShortString()
MaxPerDepositExceedsMax
error MaxPerDepositExceedsMax()
NewSharesZero
error NewSharesZero()
OnlyPauser
error OnlyPauser()
OnlyStrategyManager
error OnlyStrategyManager()
OnlyUnderlyingToken
error OnlyUnderlyingToken()
OnlyUnpauser
error OnlyUnpauser()
StringTooLong
error StringTooLong(string str)
TotalSharesExceedsMax
error TotalSharesExceedsMax()
WithdrawalAmountExceedsTotalDeposits
error WithdrawalAmountExceedsTotalDeposits()
creation bytecode
0x60e060405234801561000f575f5ffd5b5060405161195e38038061195e83398101604081905261002e916101bc565b82828280826001600160a01b03811661005a576040516339b190bb60e11b815260040160405180910390fd5b6001600160a01b031660805261006f81610093565b60a052506001600160a01b03831660c0526100886100d9565b5050505050506102ed565b5f5f829050601f815111156100c6578260405163305a27a960e01b81526004016100bd9190610292565b60405180910390fd5b80516100d1826102c7565b179392505050565b5f54610100900460ff16156101405760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b60648201526084016100bd565b5f5460ff9081161461018f575f805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146101a5575f5ffd5b50565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f606084860312156101ce575f5ffd5b83516101d981610191565b60208501519093506101ea81610191565b60408501519092506001600160401b03811115610205575f5ffd5b8401601f81018613610215575f5ffd5b80516001600160401b0381111561022e5761022e6101a8565b604051601f8201601f19908116603f011681016001600160401b038111828210171561025c5761025c6101a8565b604052818152828201602001881015610273575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b805160208083015191908110156102e7575f198160200360031b1b821691505b50919050565b60805160a05160c0516116166103485f395f81816101e801528181610578015281816109cb0152610a6801525f61069801525f81816102c5015281816103b701528181610489015281816106e90152610b9601526116165ff3fe608060405234801561000f575f5ffd5b5060043610610187575f3560e01c80637a8b2637116100d9578063c4d66de811610093578063df6fadc11161006e578063df6fadc114610361578063e3dae51c1461037c578063f3e738751461038f578063fabc1cbc146103a2575f5ffd5b8063c4d66de814610328578063ce7c2ac21461033b578063d9caed121461034e575f5ffd5b80637a8b2637146102ad578063886f1195146102c05780638c871019146102e75780638f6a6240146102fa578063a6ab36f21461030d578063ab5921e114610320575f5ffd5b806347e7ef2411610144578063595c6a671161011f578063595c6a67146102655780635ac86ab71461026d5780635c975abb1461029c57806361b01b5d146102a4575f5ffd5b806347e7ef241461022a57806354fd4d501461023d578063553ca5f814610252575f5ffd5b806311c70c9d1461018b578063136439dd146101a05780632495a599146101b357806339b70e38146101e35780633a98ef391461020a57806343fe08b014610221575b5f5ffd5b61019e6101993660046112e7565b6103b5565b005b61019e6101ae366004611307565b610474565b6032546101c6906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6101c67f000000000000000000000000000000000000000000000000000000000000000081565b61021360335481565b6040519081526020016101da565b61021360645481565b610213610238366004611335565b610545565b610245610691565b6040516101da919061135f565b610213610260366004611394565b6106c1565b61019e6106d4565b61028c61027b3660046113c4565b6001805460ff9092161b9081161490565b60405190151581526020016101da565b600154610213565b61021360655481565b6102136102bb366004611307565b610783565b6101c67f000000000000000000000000000000000000000000000000000000000000000081565b6102136102f5366004611307565b6107cc565b610213610308366004611394565b6107d6565b61019e61031b3660046113df565b6107e3565b6102456108be565b61019e610336366004611394565b6108de565b610213610349366004611394565b6109a4565b61019e61035c366004611415565b610a36565b606454606554604080519283526020830191909152016101da565b61021361038a366004611307565b610b53565b61021361039d366004611307565b610b8a565b61019e6103b0366004611307565b610b94565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610411573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104359190611453565b6001600160a01b0316336001600160a01b0316146104665760405163794821ff60e01b815260040160405180910390fd5b6104708282610caa565b5050565b60405163237dfb4760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906346fbf68e90602401602060405180830381865afa1580156104d6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104fa919061146e565b61051757604051631d77d47760e21b815260040160405180910390fd5b600154818116811461053c5760405163c61dca5d60e01b815260040160405180910390fd5b61047082610d4e565b600180545f91829181160361056d5760405163840a48d560e01b815260040160405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105b6576040516348da714f60e01b815260040160405180910390fd5b6105c08484610d8b565b6033545f6105d06103e8836114a1565b90505f6103e86105de610de2565b6105e891906114a1565b90505f6105f587836114b4565b90508061060284896114c7565b61060c91906114de565b9550855f0361062e57604051630c392ed360e11b815260040160405180910390fd5b61063886856114a1565b60338190556f4b3b4ca85a86c47a098a223fffffffff101561066d57604051632f14e8a360e11b815260040160405180910390fd5b610686826103e860335461068191906114a1565b610e4c565b505050505092915050565b60606106bc7f0000000000000000000000000000000000000000000000000000000000000000610e98565b905090565b5f6106ce6102bb836109a4565b92915050565b60405163237dfb4760e11b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906346fbf68e90602401602060405180830381865afa158015610736573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061075a919061146e565b61077757604051631d77d47760e21b815260040160405180910390fd5b6107815f19610d4e565b565b5f5f6103e860335461079591906114a1565b90505f6103e86107a3610de2565b6107ad91906114a1565b9050816107ba85836114c7565b6107c491906114de565b949350505050565b5f6106ce82610b53565b5f6106ce61039d836109a4565b5f54610100900460ff161580801561080157505f54600160ff909116105b8061081a5750303b15801561081a57505f5460ff166001145b61083f5760405162461bcd60e51b8152600401610836906114fd565b60405180910390fd5b5f805460ff191660011790558015610860575f805461ff0019166101001790555b61086a8484610caa565b61087382610ed5565b80156108b8575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b60606040518060800160405280604d8152602001611594604d9139905090565b5f54610100900460ff16158080156108fc57505f54600160ff909116105b806109155750303b15801561091557505f5460ff166001145b6109315760405162461bcd60e51b8152600401610836906114fd565b5f805460ff191660011790558015610952575f805461ff0019166101001790555b61095b82610ed5565b8015610470575f805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a15050565b60405163fe243a1760e01b81526001600160a01b0382811660048301523060248301525f917f00000000000000000000000000000000000000000000000000000000000000009091169063fe243a1790604401602060405180830381865afa158015610a12573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ce919061154b565b60018054600290811603610a5d5760405163840a48d560e01b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610aa6576040516348da714f60e01b815260040160405180910390fd5b610ab1848484611020565b60335480831115610ad557604051630b469df360e41b815260040160405180910390fd5b5f610ae26103e8836114a1565b90505f6103e8610af0610de2565b610afa91906114a1565b90505f82610b0887846114c7565b610b1291906114de565b9050610b1e86856114b4565b603355610b3e610b2e82846114b4565b6103e860335461068191906114a1565b610b49888883611053565b5050505050505050565b5f5f6103e8603354610b6591906114a1565b90505f6103e8610b73610de2565b610b7d91906114a1565b9050806107ba83866114c7565b5f6106ce82610783565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf0573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c149190611453565b6001600160a01b0316336001600160a01b031614610c455760405163794821ff60e01b815260040160405180910390fd5b60015480198219811614610c6c5760405163c61dca5d60e01b815260040160405180910390fd5b600182905560405182815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c9060200160405180910390a25050565b60645460408051918252602082018490527ff97ed4e083acac67830025ecbc756d8fe847cdbdca4cee3fe1e128e98b54ecb5910160405180910390a160655460408051918252602082018390527f6ab181e0440bfbf4bacdf2e99674735ce6638005490688c5f994f5399353e452910160405180910390a180821115610d435760405163052b07b760e21b815260040160405180910390fd5b606491909155606555565b600181905560405181815233907fab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d9060200160405180910390a250565b606454811115610dae5760405163052b07b760e21b815260040160405180910390fd5b606554610db9610de2565b1115610dd85760405163d86bae6760e01b815260040160405180910390fd5b6104708282611067565b6032546040516370a0823160e01b81523060048201525f916001600160a01b0316906370a0823190602401602060405180830381865afa158015610e28573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106bc919061154b565b7fd2494f3479e5da49d386657c292c610b5b01df313d07c62eb0cfa49924a31be881610e8084670de0b6b3a76400006114c7565b610e8a91906114de565b604051908152602001610998565b60605f610ea483611095565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f54610100900460ff16610f3f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610836565b603280546001600160a01b0319166001600160a01b038316179055610f635f610d4e565b7f1c540707b00eb5427b6b774fc799d756516a54aee108b64b327acc55af55750760325f9054906101000a90046001600160a01b0316826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fd5573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ff99190611562565b604080516001600160a01b03909316835260ff90911660208301520160405180910390a150565b6032546001600160a01b0383811691161461104e57604051630312abdd60e61b815260040160405180910390fd5b505050565b61104e6001600160a01b03831684836110bc565b6032546001600160a01b0383811691161461047057604051630312abdd60e61b815260040160405180910390fd5b5f60ff8216601f8111156106ce57604051632cd44ac360e21b815260040160405180910390fd5b604080516001600160a01b03848116602483015260448083018590528351808403909101815260649092018352602080830180516001600160e01b031663a9059cbb60e01b17905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65649084015261104e928692915f9161114b9185169084906111ca565b905080515f148061116b57508080602001905181019061116b919061146e565b61104e5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610836565b60606107c484845f85855f5f866001600160a01b031685876040516111ef919061157d565b5f6040518083038185875af1925050503d805f8114611229576040519150601f19603f3d011682016040523d82523d5f602084013e61122e565b606091505b509150915061123f8783838761124a565b979650505050505050565b606083156112b85782515f036112b1576001600160a01b0385163b6112b15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610836565b50816107c4565b6107c483838151156112cd5781518083602001fd5b8060405162461bcd60e51b8152600401610836919061135f565b5f5f604083850312156112f8575f5ffd5b50508035926020909101359150565b5f60208284031215611317575f5ffd5b5035919050565b6001600160a01b0381168114611332575f5ffd5b50565b5f5f60408385031215611346575f5ffd5b82356113518161131e565b946020939093013593505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f602082840312156113a4575f5ffd5b81356113af8161131e565b9392505050565b60ff81168114611332575f5ffd5b5f602082840312156113d4575f5ffd5b81356113af816113b6565b5f5f5f606084860312156113f1575f5ffd5b8335925060208401359150604084013561140a8161131e565b809150509250925092565b5f5f5f60608486031215611427575f5ffd5b83356114328161131e565b925060208401356114428161131e565b929592945050506040919091013590565b5f60208284031215611463575f5ffd5b81516113af8161131e565b5f6020828403121561147e575f5ffd5b815180151581146113af575f5ffd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156106ce576106ce61148d565b818103818111156106ce576106ce61148d565b80820281158282048414176106ce576106ce61148d565b5f826114f857634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b5f6020828403121561155b575f5ffd5b5051919050565b5f60208284031215611572575f5ffd5b81516113af816113b6565b5f82518060208501845e5f92019182525091905056fe4261736520537472617465677920696d706c656d656e746174696f6e20746f20696e68657269742066726f6d20666f72206d6f726520636f6d706c657820696d706c656d656e746174696f6e73a2646970667358221220f6d0807e73887982106b1d0c458dc1e0c5d8c4fa2781fd65c1f4ded9556e0aee64736f6c634300081b0033000000000000000000000000858646372cc42e1a627fce94aa7a7033e7cf075a000000000000000000000000b8765ed72235d279c3fb53936e4606db0ef1280600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000005312e332e30000000000000000000000000000000000000000000000000000000