0 txs
19 calls
constructor
No constructor.
functions
calculateDepositAmounts
viewfunction calculateDepositAmounts(address vault, uint256 amount) view returns (tuple[] data)
calculateRebalanceAmounts
viewfunction calculateRebalanceAmounts(address vault) view returns (tuple[] data)
calculateState
viewfunction calculateState(address vault, bool isDeposit, uint256 increment) view returns (tuple[] state, uint256 liquid)
calculateWithdrawalAmounts
viewfunction calculateWithdrawalAmounts(address vault, uint256 amount) view returns (tuple[] data)
D18
viewfunction D18() view returns (uint256)
RATIOS_STRATEGY_SET_RATIOS_ROLE
viewfunction RATIOS_STRATEGY_SET_RATIOS_ROLE() view returns (bytes32)
ratios
viewfunction ratios(address vault, address subvault) view returns (uint64 minRatioD18, uint64 maxRatioD18)
setRatios
nonpayablefunction setRatios(address vault, address[] subvaults, tuple[] ratios_)
events
RatiosSet
event RatiosSet(address indexed vault, address[] subvaults, (uint64 minRatioD18, uint64 maxRatioD18)[] ratios)
errors
No errors.
creation bytecode
0x6080604052348015600e575f80fd5b506129918061001c5f395ff3fe608060405234801561000f575f80fd5b5060043610610085575f3560e01c8063cf8dda3b11610058578063cf8dda3b1461013f578063e3f5aeb914610174578063fc59ca2b14610183578063ffe7c261146101a3575f80fd5b80631dfa2f7814610089578063637b6834146100e95780637166956d146101095780637ea6c88f1461011e575b5f80fd5b6100c4610097366004612325565b5f6020818152928152604080822090935290815220546001600160401b0380821691600160401b90041682565b604080516001600160401b039384168152929091166020830152015b60405180910390f35b6100fc6100f736600461235c565b6101c3565b6040516100e09190612377565b61011c61011736600461242c565b6108b0565b005b61013161012c3660046124e3565b610d46565b6040516100e0929190612521565b6101667f589159c3748c955e39ec985fc08616da7cdc2352cea3e2c2d9067d920b977e1a81565b6040519081526020016100e0565b610166670de0b6b3a764000081565b610196610191366004612598565b611780565b6040516100e091906125c2565b6101b66101b1366004612598565b611eee565b6040516100e09190612624565b60605f806101d2845f80610d46565b81519193509150806001600160401b038111156101f1576101f1612672565b60405190808252806020026020018201604052801561024957816020015b61023660405180608001604052805f81526020015f81526020015f81526020015f81525090565b81526020019060019003908161020f5790505b5093505f805f5b838110156104c1578087828151811061026b5761026b612686565b60200260200101515f01818152505085818151811061028c5761028c612686565b6020026020010151604001518782815181106102aa576102aa612686565b602002602001015160400181815250508581815181106102cc576102cc612686565b602002602001015160400151856102e391906126ae565b94508581815181106102f7576102f7612686565b6020026020010151606001518261030e91906126ae565b915085818151811061032257610322612686565b60200260200101516020015186828151811061034057610340612686565b60200260200101516080015111156104265785818151811061036457610364612686565b60200260200101516020015186828151811061038257610382612686565b60200260200101516080015161039891906126c1565b8782815181106103aa576103aa612686565b602002602001015160600181815250508681815181106103cc576103cc612686565b602002602001015160600151826103e391906126ae565b91508581815181106103f7576103f7612686565b60200260200101516020015186828151811061041557610415612686565b602002602001015160800181815250505b85818151811061043857610438612686565b60200260200101516080015186828151811061045657610456612686565b60200260200101515f015111156104b95785818151811061047957610479612686565b60200260200101516080015186828151811061049757610497612686565b60200260200101515f01516104ac91906126c1565b6104b690846126ae565b92505b600101610250565b506104cc81856126ae565b821115610619575f816104df86856126c1565b6104e991906126c1565b90505f5b84811080156104fb57505f82115b156106165786818151811061051257610512612686565b60200260200101515f015187828151811061052f5761052f612686565b6020026020010151608001511115610604575f87828151811061055457610554612686565b60200260200101515f015188838151811061057157610571612686565b60200260200101516080015161058791906126c1565b9050828111156105c757828983815181106105a4576105a4612686565b60200260200101516060018181516105bc91906126ae565b9052505f9250610602565b808983815181106105da576105da612686565b60200260200101516060018181516105f291906126ae565b9052506105ff81846126c1565b92505b505b8061060e816126d4565b9150506104ed565b50505b5f5b838110801561062957505f85115b156107775785818151811061064057610640612686565b60200260200101515f015186828151811061065d5761065d612686565b6020026020010151608001511015610765575f86828151811061068257610682612686565b6020026020010151608001518783815181106106a0576106a0612686565b60200260200101515f01516106b591906126c1565b9050858111156106ea57858883815181106106d2576106d2612686565b602002602001015160200181815250505f9550610763565b808883815181106106fd576106fd612686565b602090810291909101810151015261071581876126c1565b955087828151811061072957610729612686565b60200260200101516020015187838151811061074757610747612686565b602002602001015160200181815161075f91906126c1565b9052505b505b8061076f816126d4565b91505061061b565b505f5b838110801561078857505f85115b156108a55785818151811061079f5761079f612686565b6020026020010151602001518682815181106107bd576107bd612686565b6020026020010151608001511015610893575f8682815181106107e2576107e2612686565b60200260200101516080015187838151811061080057610800612686565b60200260200101516020015161081691906126c1565b905085811115610856578588838151811061083357610833612686565b602002602001015160200181815161084b91906126ae565b9052505f9550610891565b8088838151811061086957610869612686565b602002602001015160200181815161088191906126ae565b90525061088e81876126c1565b95505b505b8061089d816126d4565b91505061077a565b505050505050919050565b604051632474521560e21b81527f589159c3748c955e39ec985fc08616da7cdc2352cea3e2c2d9067d920b977e1a60048201523360248201526001600160a01b038616906391d1485490604401602060405180830381865afa158015610918573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061093c91906126ec565b61098d5760405162461bcd60e51b815260206004820152601960248201527f526174696f7353747261746567793a20666f7262696464656e0000000000000060448201526064015b60405180910390fd5b8281146109f95760405162461bcd60e51b815260206004820152603460248201527f526174696f7353747261746567793a207375627661756c747320616e642072616044820152730e8d2dee640d8cadccee8d040dad2e6dac2e8c6d60631b6064820152608401610984565b84835f5b81811015610c6557826001600160a01b0316638ebd0098888884818110610a2657610a26612686565b9050602002016020810190610a3b919061235c565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401602060405180830381865afa158015610a7d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa19190612707565b15610ba357848482818110610ab857610ab8612686565b9050604002016020016020810190610ad09190612732565b6001600160401b0316858583818110610aeb57610aeb612686565b610b019260206040909202019081019150612732565b6001600160401b031611158015610b525750670de0b6b3a7640000858583818110610b2e57610b2e612686565b9050604002016020016020810190610b469190612732565b6001600160401b031611155b610b9e5760405162461bcd60e51b815260206004820152601e60248201527f526174696f7353747261746567793a20696e76616c696420726174696f7300006044820152606401610984565b610c5d565b848482818110610bb557610bb5612686565b610bcb9260206040909202019081019150612732565b6001600160401b0316158015610c115750848482818110610bee57610bee612686565b9050604002016020016020810190610c069190612732565b6001600160401b0316155b610c5d5760405162461bcd60e51b815260206004820181905260248201527f526174696f7353747261746567793a20696e76616c6964207375627661756c746044820152606401610984565b6001016109fd565b506001600160a01b0387165f908152602081905260408120905b82811015610cf457858582818110610c9957610c99612686565b905060400201825f8a8a85818110610cb357610cb3612686565b9050602002016020810190610cc8919061235c565b6001600160a01b0316815260208101919091526040015f20610cea828261274d565b5050600101610c7f565b50876001600160a01b03167f313983fe71339a05cd09a2af9b1710dfcea0c4348c4cccef77d7c1376ffe2f6988888888604051610d3494939291906127b9565b60405180910390a25050505050505050565b60605f808590505f816001600160a01b031663b42b544f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610d8a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610dae9190612707565b9050806001600160401b03811115610dc857610dc8612672565b604051908082528060200260200182016040528015610e2657816020015b610e136040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b815260200190600190039081610de65790505b509350866001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e65573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e899190612866565b6040516370a0823160e01b81526001600160a01b03898116600483015291909116906370a0823190602401602060405180830381865afa158015610ecf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ef39190612707565b92505f826001600160a01b031663aeb0f1646040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f32573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f569190612866565b90506001600160a01b03811615610fdc576040516370a0823160e01b81526001600160a01b0389811660048301528216906370a0823190602401602060405180830381865afa158015610fab573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fcf9190612707565b610fd990856126ae565b93505b836110006040805160608101909152805f81525f6020820181905260409091015290565b5f5b8481101561154c57604051639bd0911b60e01b8152600481018290526001600160a01b03871690639bd0911b90602401606060405180830381865afa15801561104d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110719190612881565b80516040516309a3173960e11b81529193505f916001600160a01b038916916313462e72916110a391906004016128ff565b602060405180830381865afa1580156110be573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110e29190612866565b602084015160405163779b5def60e11b81526001600160a01b03918216600482015291925082169063ef36bbde90602401602060405180830381865afa15801561112e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111529190612707565b89838151811061116457611164612686565b602002602001015160800181815250508a1580156111f35750602083015160405163139bef5b60e31b81526001600160a01b0391821660048201528d8216602482015290821690639cdf7ad890604401602060405180830381865afa1580156111cf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111f391906126ec565b1561124b5760405162461bcd60e51b815260206004820152602260248201527f526174696f7353747261746567793a207769746864726177616c732070617573604482015261195960f21b6064820152608401610984565b60408301516001600160a01b0316156113ff57604080840151905163e7beaf9d60e01b81526001600160a01b038e811660048301529091169063e7beaf9d90602401602060405180830381865afa1580156112a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112cc9190612707565b8983815181106112de576112de612686565b60209081029190910101516040908101919091528381015190516363c6b4eb60e01b81526001600160a01b038e81166004830152909116906363c6b4eb90602401602060405180830381865afa15801561133a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061135e9190612707565b89838151811061137057611370612686565b6020026020010151606001818152505088828151811061139257611392612686565b6020026020010151604001518983815181106113b0576113b0612686565b6020026020010151606001518a84815181106113ce576113ce612686565b6020026020010151608001516113e491906126ae565b6113ee91906126ae565b6113f890856126ae565b935061142b565b88828151811061141157611411612686565b6020026020010151608001518461142891906126ae565b93505b602083015160405163402d267d60e01b81526001600160a01b0391821660048201525f9183169063402d267d90602401602060405180830381865afa158015611476573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149a9190612707565b9050808a84815181106114af576114af612686565b6020026020010151608001515f196114c791906126c1565b111561151d578983815181106114df576114df612686565b602002602001015160800151816114f691906126ae565b8a848151811061150857611508612686565b60200260200101516020018181525050611542565b5f198a848151811061153157611531612686565b602002602001015160200181815250505b5050600101611002565b50886115615761155c88836126c1565b61156b565b61156b88836126ae565b6001600160a01b038b165f9081526020819052604081209193505b85811015611771575f825f896001600160a01b0316639bd0911b856040518263ffffffff1660e01b81526004016115bf91815260200190565b606060405180830381865afa1580156115da573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115fe9190612881565b6020908101516001600160a01b031682528181019290925260409081015f9081208251808401909352546001600160401b038082168452600160401b9091041692820183905290925003611693575f8a838151811061165f5761165f612686565b602002602001015160200181815250505f8a838151811061168257611682612686565b602090810291909101015152611768565b6116e58a83815181106116a8576116a8612686565b602002602001015160200151670de0b6b3a764000083602001516001600160401b0316886116d69190612925565b6116e0919061293c565b6122f7565b8a83815181106116f7576116f7612686565b602002602001015160200181815250506117498a838151811061171c5761171c612686565b602002602001015160200151670de0b6b3a7640000835f01516001600160401b0316886116d69190612925565b8a838151811061175b5761175b612686565b6020908102919091010151525b50600101611586565b50505050505050935093915050565b60605f8061178f855f86610d46565b915091508084116117a1575050611ee8565b6117ab81856126c1565b8251909450806001600160401b038111156117c8576117c8612672565b60405190808252806020026020018201604052801561182057816020015b61180d60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001906001900390816117e65790505b5093505f5b818110801561183357508515155b156119a6578085828151811061184b5761184b612686565b60200260200101515f01818152505083818151811061186c5761186c612686565b60200260200101516020015184828151811061188a5761188a612686565b6020026020010151608001511115611994575f8482815181106118af576118af612686565b6020026020010151602001518583815181106118cd576118cd612686565b6020026020010151608001516118e391906126c1565b905086811115611918578686838151811061190057611900612686565b602002602001015160600181815250505f9650611947565b8086838151811061192b5761192b612686565b60209081029190910101516060015261194481886126c1565b96505b85828151811061195957611959612686565b60200260200101516060015185838151811061197757611977612686565b602002602001015160800181815161198f91906126c1565b905250505b8061199e816126d4565b915050611825565b505f5b81811080156119b757508515155b15611b00578381815181106119ce576119ce612686565b60200260200101515f01518482815181106119eb576119eb612686565b6020026020010151608001511115611aee575f848281518110611a1057611a10612686565b60200260200101515f0151858381518110611a2d57611a2d612686565b602002602001015160800151611a4391906126c1565b905086811115611a835786868381518110611a6057611a60612686565b6020026020010151606001818151611a7891906126ae565b9052505f9650611aec565b80868381518110611a9657611a96612686565b6020026020010151606001818151611aae91906126ae565b905250611abb81886126c1565b965080858381518110611ad057611ad0612686565b6020026020010151608001818151611ae891906126c1565b9052505b505b80611af8816126d4565b9150506119a9565b505f5b8181108015611b1157508515155b15611c21575f848281518110611b2957611b29612686565b6020026020010151606001511115611c0f5785848281518110611b4e57611b4e612686565b6020026020010151606001511115611b965785858281518110611b7357611b73612686565b6020026020010151604001818151611b8b91906126ae565b9052505f9550611c0f565b838181518110611ba857611ba8612686565b602002602001015160600151858281518110611bc657611bc6612686565b6020026020010151604001818151611bde91906126ae565b9052508351849082908110611bf557611bf5612686565b60200260200101516060015186611c0c91906126c1565b95505b80611c19816126d4565b915050611b03565b505f5b8181108015611c3257508515155b15611d42575f848281518110611c4a57611c4a612686565b6020026020010151604001511115611d305785848281518110611c6f57611c6f612686565b6020026020010151604001511115611cb75785858281518110611c9457611c94612686565b6020026020010151602001818151611cac91906126ae565b9052505f9550611d30565b838181518110611cc957611cc9612686565b602002602001015160400151858281518110611ce757611ce7612686565b6020026020010151602001818151611cff91906126ae565b9052508351849082908110611d1657611d16612686565b60200260200101516040015186611d2d91906126c1565b95505b80611d3a816126d4565b915050611c24565b505f5b8181108015611d5357508515155b15611e0d575f848281518110611d6b57611d6b612686565b60200260200101516080015190505f811115611dfa5786811115611dbf5786868381518110611d9c57611d9c612686565b6020026020010151606001818151611db491906126ae565b9052505f9650611dfa565b80868381518110611dd257611dd2612686565b6020026020010151606001818151611dea91906126ae565b905250611df781886126c1565b96505b5080611e05816126d4565b915050611d45565b505f805b82811015611ee157858181518110611e2b57611e2b612686565b602002602001015160200151868281518110611e4957611e49612686565b602002602001015160400151878381518110611e6757611e67612686565b602002602001015160600151611e7d91906126ae565b611e8791906126ae565b15611ed957808214611ecb57858181518110611ea557611ea5612686565b6020026020010151868381518110611ebf57611ebf612686565b60200260200101819052505b81611ed5816126d4565b9250505b600101611e11565b5084525050505b92915050565b60605f611efd84600185610d46565b5080519091505f5b8181101561205e575f838281518110611f2057611f20612686565b602002602001015160800151905080848381518110611f4157611f41612686565b60200260200101515f01511115611fb55780848381518110611f6557611f65612686565b60200260200101515f01818151611f7c91906126c1565b90525083518190859084908110611f9557611f95612686565b6020026020010151602001818151611fad91906126c1565b905250612055565b80848381518110611fc857611fc8612686565b602002602001015160200151111561200f575f848381518110611fed57611fed612686565b60200260200101515f01818152505080848381518110611f9557611f95612686565b5f84838151811061202257612022612686565b60200260200101515f0181815250505f84838151811061204457612044612686565b602002602001015160200181815250505b50600101611f05565b50806001600160401b0381111561207757612077612672565b6040519080825280602002602001820160405280156120bb57816020015b604080518082019091525f80825260208201528152602001906001900390816120955790505b5092505f5b81811080156120ce57508415155b156121b357808482815181106120e6576120e6612686565b60200260200101515f01818152505082818151811061210757612107612686565b60200260200101515f01515f03156121a1575f61214084838151811061212f5761212f612686565b60200260200101515f0151876122f7565b90508084838151811061215557612155612686565b602002602001015160200181815161216d91906126c1565b90525061217a81876126c1565b95508085838151811061218f5761218f612686565b60200260200101516020018181525050505b806121ab816126d4565b9150506120c0565b505f5b81811080156121c457508415155b15612266578281815181106121db576121db612686565b6020026020010151602001515f0315612254575f61221684838151811061220457612204612686565b602002602001015160200151876122f7565b905061222281876126c1565b95508085838151811061223757612237612686565b602002602001015160200181815161224f91906126ae565b905250505b8061225e816126d4565b9150506121b6565b505f805b828110156122eb5784818151811061228457612284612686565b6020026020010151602001515f146122e3578082146122d5578481815181106122af576122af612686565b60200260200101518583815181106122c9576122c9612686565b60200260200101819052505b816122df816126d4565b9250505b60010161226a565b50835250909392505050565b5f8183106123055781612307565b825b9392505050565b6001600160a01b0381168114612322575f80fd5b50565b5f8060408385031215612336575f80fd5b82356123418161230e565b915060208301356123518161230e565b809150509250929050565b5f6020828403121561236c575f80fd5b81356123078161230e565b602080825282518282018190525f9190848201906040850190845b818110156123d9576123c6838551805182526020810151602083015260408101516040830152606081015160608301525050565b9284019260809290920191600101612392565b50909695505050505050565b5f8083601f8401126123f5575f80fd5b5081356001600160401b0381111561240b575f80fd5b6020830191508360208260061b8501011115612425575f80fd5b9250929050565b5f805f805f60608688031215612440575f80fd5b853561244b8161230e565b945060208601356001600160401b0380821115612466575f80fd5b818801915088601f830112612479575f80fd5b813581811115612487575f80fd5b8960208260051b850101111561249b575f80fd5b6020830196508095505060408801359150808211156124b8575f80fd5b506124c5888289016123e5565b969995985093965092949392505050565b8015158114612322575f80fd5b5f805f606084860312156124f5575f80fd5b83356125008161230e565b92506020840135612510816124d6565b929592945050506040919091013590565b604080825283518282018190525f9190606090818501906020808901865b83811015612581578151805186528381015184870152878101518887015286810151878701526080908101519086015260a0909401939082019060010161253f565b505050508093505050508260208301529392505050565b5f80604083850312156125a9575f80fd5b82356125b48161230e565b946020939093013593505050565b602080825282518282018190525f9190848201906040850190845b818110156123d957612611838551805182526020810151602083015260408101516040830152606081015160608301525050565b92840192608092909201916001016125dd565b602080825282518282018190525f919060409081850190868401855b8281101561266557815180518552860151868501529284019290850190600101612640565b5091979650505050505050565b634e487b7160e01b5f52604160045260245ffd5b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115611ee857611ee861269a565b81810381811115611ee857611ee861269a565b5f600182016126e5576126e561269a565b5060010190565b5f602082840312156126fc575f80fd5b8151612307816124d6565b5f60208284031215612717575f80fd5b5051919050565b6001600160401b0381168114612322575f80fd5b5f60208284031215612742575f80fd5b81356123078161271e565b81356127588161271e565b6001600160401b03811690508154816001600160401b0319821617835560208401356127838161271e565b6fffffffffffffffff00000000000000008160401b16836fffffffffffffffffffffffffffffffff198416171784555050505050565b60408082528181018590525f908660608401835b888110156127fd5782356127e08161230e565b6001600160a01b03168252602092830192909101906001016127cd565b508481036020868101919091528682529150869082015f5b878110156128585782356128288161271e565b6001600160401b03908116835283850135906128438261271e565b16828501529184019190840190600101612815565b509998505050505050505050565b5f60208284031215612876575f80fd5b81516123078161230e565b5f60608284031215612891575f80fd5b604051606081018181106001600160401b03821117156128bf57634e487b7160e01b5f52604160045260245ffd5b6040528251600381106128d0575f80fd5b815260208301516128e08161230e565b602082015260408301516128f38161230e565b60408201529392505050565b602081016003831061291f57634e487b7160e01b5f52602160045260245ffd5b91905290565b8082028115828204841417611ee857611ee861269a565b5f8261295657634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212205f370fd44fbe3ca1904bda75d50a25c79ce469eaee9d672d70d4bf9999fbdf9d64736f6c63430008190033