Index Vault behavior is very similar to Credit Vaults, with exceptions in the following areas:
Instead of loans, IVs utilize an instrument called Investment to deploy funds.
Investments are LP positions at non-IV vaults on TrueFi.
Because TrueFi vaults implement the ERC-4626 interface, interactions with all types of TrueFi vaults work the same way.
Instead of an array of loans, IVs hold an array of investments.
When calculating IV valuations, the IV iterates through that array and calls ERC-4626 totalAssets() on each of the underlying vaults to fetch the value of each investment.
Capital allocation happens through proxying one of the following methods:
deposit(assets, receiver)
mint(shares, receiver)
Allocation is only possible if the target vault’s token is already registered on the vaultsRegistry.
Adding a token as a potential investment adds the token to the list of tracked asset balances and values.
In order to register a token, the token must:
Be one of the allowlisted types of TrueFi products (i.e. , , or )
Not be registered already
unregister removes a token from the tracked assets list.
Redeeming and withdrawing happens through proxying one of the following methods:
withdraw(assets, receiver, owner)
redeem(shares, receiver, owner)
Index Vaults cannot be closed while holding any active investment. Similar to how vaults cannot close before maturity unless all underlying loans are inactive, IVs cannot close unless all investments have closed first.