Search
K
Links

InceptionVaultFactory

This contract is responsible for deploying and initializing the 3 Inception Vault contracts. For gas efficiency the deployment is done using the OpenZeppelin Clones library.

Write Methods

cloneInceptionVault(IInceptionVaultsCore.VaultConfig calldata _vaultConfig, IERC20 _inceptionCollateral, address _inceptionVaultPriceFeed, address _assetOracle)

Clones and initializes all 3 Inception Vault contracts :
Requirements :
  • The _inceptionCollateral cannot be set to address(0)
  • The _inceptionPriceFeed cannot be set to address(0)
  • If the _inceptionVaultPriceFeed is a custom price feed then the provided _assetOracle cannot be address(0)
  • If the _inceptionVaultPriceFeed is not a custom price feed then the provided _assetOracle must be address(0)
Param Name
Type
Description
_vaultConfig
struct
VaultConfig struct with all inception vault configuration parameters
_inceptionCollateral
IERC20
The address of the ERC20 token that will be set as inceptionCollateral
_inceptionVaultPriceFeed
address
The address of the InceptionVaultPriceFeed to be used for the inception vault
_assetOracle
address
The address of the oracle of the inception vault collateral

addPriceFeed(address _address)

Adds a new standard price feed to be used for inception vaults deployments.
Requirements :
  • Can only be called by the contract owner which is set to the DAO multisig
Param Name
Type
Description
_address
address
The address of the new standard price feed

View Methods

a()

Returns the AddressProvider address.

debtNotifier()

Returns the DebtNotifier address.

weth()

Returns the WETH address.

mimo()

Returns the MIMO address.

adminInceptionVaultBase()

Returns the AdminInceptionVault implementation contract address.

inceptionVaultsCoreBase()

Returns the InceptionVaultsCore implementation contract address.

inceptionVaultsDataProviderBase()

Returns the InceptionVaultsDataProvider implementation contract address.

getInceptionVaultCount()

Returns the number of inception vaults deployed.

getPriceFeedCount()

Returns the number of standard price feeds available.

getInceptionVault(uint256 _id)

Call Params
Name
Type
Description
_id
uint256
The id of the queried inception vault
Return Values
Name
Type
Description
NA
struct
InceptionVault struct containing all inception vault contract addresses
InceptionVault
Name
Type
Description
isCustomPriceFeed
bool
true if the set price feed is a custom one false if not
adminInceptionVault
IAdminInceptionVault
AdminInceptionVault address
inceptionVaultsCore
IInceptionVaultsCore
InceptionVaultsCore address
inceptionVaultsDataProvider
IInceptionVaultsDataProvider
InceptionVaultsDataProvider address
inceptionVaultPriceFeed
IInceptionVaultPriceFeed
InceptionVaultPriceFeed address

getPriceFeed(uint256 _id)

Call Params
Name
Type
Description
_id
uint256
The id of the queried inception vault
Return Params
Name
Type
Description
NA
address
InceptionVaultPrice address

getPriceFeedId(address _priceFeed)

Call Params
Name
Type
Description
_priceFeed
address
InceptionVaultPriceFeed address
Returned Values
Name
Type
Description
NA
uint256
InceptionVaultPriceFeed id