VaultFactory
Author: Molecular Labs
Factory contract for deploying Ion Lending Vaults.
Functions
createVault
Deploys a new Ion Lending Vault. Transfers the initialDeposit
amount of the base asset from the caller initiate the first deposit to the vault. The minimum initialDeposit
is 1e3. If less, this call would underflow as it will always burn 1e3 shares of the total shares minted to defend against inflation attacks.
The 1e3 initial deposit amount was chosen to defend against inflation attacks, referencing the UniV2 LP token implementation.
Parameters
baseAsset
IERC20
The asset that is being lent out to IonPools.
feeRecipient
address
Address that receives the accrued manager fees.
feePercentage
uint256
Fee percentage to be set.
name
string
Name of the vault token.
symbol
string
Symbol of the vault token.
initialDelay
uint48
The initial delay for default admin transfers.
initialDefaultAdmin
address
The initial default admin for the vault.
salt
bytes32
The salt used for CREATE2 deployment.
marketsArgs
Vault.MarketsArgs
Arguments for the markets to be added to the vault.
initialDeposit
uint256
The initial deposit to be made to the vault.