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 NameTypeDescription

_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 NameTypeDescription

_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

NameTypeDescription

_id

uint256

The id of the queried inception vault

Return Values

NameTypeDescription

NA

struct

InceptionVault struct containing all inception vault contract addresses

InceptionVault

NameTypeDescription

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

NameTypeDescription

_id

uint256

The id of the queried inception vault

Return Params

NameTypeDescription

NA

address

InceptionVaultPrice address

getPriceFeedId(address _priceFeed)

Call Params

NameTypeDescription

_priceFeed

address

InceptionVaultPriceFeed address

Returned Values

NameTypeDescription

NA

uint256

InceptionVaultPriceFeed id

Last updated