LogoLogo
  • Introduction
  • Parallel Protocol
    • PRL (Parallel Governance Token)
      • Issuance
      • Bridging Module
        • Specifications
        • Implementation
      • Tokenomics
        • Epoch Concept
        • Staking Mechanisms
        • ParaBoost
        • Fee Distribution
      • Governance
      • MIMO to PRL Migration
    • PAR (€ stablecoin)
      • How does PAR work?
      • Where can I get PAR ?
    • paUSD ($ stablecoin)
      • How does paUSD work?
      • Where can I get paUSD ?
    • Classic Vaults
      • Depositing
      • Borrowing
      • Fees
        • Fees Generation
      • Withdrawing
      • Repaying
      • Liquidating
    • Bridging Module
      • LayerZero Infrastructure
      • Specifications
      • Implementation
        • PAR
        • paUSD
    • Super Vaults (SV)
      • Leveraging
      • Rebalancing
      • EmptyVault
      • Automated Rebalance
      • Managed Rebalance
    • Inception Vaults (IV)
      • Borrowing
      • Liquidating
  • DAO & Governance
    • sPRL and Voting Power
    • Governance process
    • Proposal Framework
      • Parallel Integration Request (PIR)
      • Parallel Governance Proposal (PGP)
      • Parallel Improvement Protocol (PIP)
    • DAO Multisigs
      • DAO Multisigs Elections
        • Election 1
        • Election 2
        • Election 3
        • Election 4
        • Election 5
        • Election 6
      • Multisigs Transactions History
        • May 2022 Multisig History
        • June 2022 Multisig History
        • July 2022 Multisig History
        • August 2022 Multisig History
        • September 2022 Multisig History
        • October 2022 Multisig History
        • November 2022 Multisig History
        • December 2022 Multisig History
        • January 2023 Multisig History
        • February 2023 Multisig History
        • March 2023 Multisig History
        • April 2023 Multisig History
        • May 2023 Multisig History
        • June 2023 Multisig History
        • July 2023 Multisig History
        • August 2023 Multisig History
        • September 2023 Multisig History
        • October 2023 Multisig History
        • November 2023 Multisig History
        • December 2023 Multisig History
        • January 2024 Multisig History
        • February 2024 Multisig History
        • March 2024 Multisig History
        • April 2024 Multisig History
        • May 2024 Multisig History
    • Parallel Emergency Guardians
    • DAO Treasury
      • DAO Treasury Reports
  • Risk Assessments
    • Parallel's Risk framework
    • Methodology
    • Risk per Assets
      • PAR
        • Ethereum Assets
        • Polygon Assets
        • Fantom Assets
      • paUSD
        • Ethereum Assets
        • Polygon Assets
    • Risk parameters
      • PAR
        • Ethereum Risk parameters
        • Polygon Risk parameters
        • Fantom Risk parameters
      • paUSD
        • Ethereum Risk parameters
        • Polygon Risk parameters
    • Insurance Fund
  • Developers
    • Developer Guide
    • Parallel Governance Token (PRL)
    • Tokenomics
      • Key Operations Flows
      • Contracts
    • Classic Vaults
      • Architecture
      • VaultsCore
      • Opening a vault
      • Borrowing and minting PAR/paUSD
    • Bridging Module
      • Architecture
      • Sample Use Cases
    • Super Vault (SV)
      • Proxy Design
        • MIMOProxy
        • MIMOProxyGuard
        • MIMOProxyFactory
      • Action Contracts
        • MIMOEmptyVault
        • MIMOLeverage
        • MIMORebalance
        • MIMOAutoRebalance
        • MIMOManagedRebalance
        • MIMOProxyActions
        • MIMOVaultActions
      • Leverage Max Amount Derivation
    • Inception Vault (IV)
      • IV Architecture
      • InceptionVaultFactory
      • AdminInceptionVault
      • InceptionVaultCore
      • InceptionVaultsDataProvider
      • InceptionVaultPriceFeed
    • Contract Addresses
      • Parallel V3
        • Core Protocol
        • Parallel Governance Token
      • Parallel V2
        • PAR
          • Ethereum
          • Polygon PoS
          • Fantom
        • paUSD
          • Ethereum
          • Polygon PoS
      • Super Vaults (SV)
        • PAR
          • Ethereum
          • Polygon PoS
        • paUSD
          • Ethereum
          • Polygon PoS
      • Inception Vaults (IV)
        • Kovan
  • Resources
    • User Guides
      • Setting up
      • Managing Transactions on EVM blockchains
      • Troubleshooting
      • Mint PAR
      • Liquidity Providing
        • Provide PAR-USDC liquidity on Uniswap V3 (Ethereum)
        • Provide PAR-jEUR liquidity on Balancer (Polygon PoS)
        • Impermanent loss
      • How to Migrate to PRL?
      • How to Bridge Parallel Tokens?
      • How to Stake PRL?
    • Security & Audits
    • Links
    • Glossary
    • Brand Kit
Powered by GitBook
On this page

Was this helpful?

  1. Developers
  2. Inception Vault (IV)

InceptionVaultPriceFeed

In order to give owners and users access to a maxmium of collateral types we cannot limit the inception vault to only one oracle such as chainlink. As price query logics differ from one oracle to another, the InceptionVaultPriceFeed contract acts as an intermediary contract to be able to integrate any oracle logic into a standard interface. This way owners will also be able to create their own oracle for their inception vault.

This increased flexibility for owners could lead to dishonest behaviours by either modifying the original InceptionVaultPriceFeed contract and using a custom InceptionVaultPriceFeed and/or using a custom oracle giving the owner access to price manipulation.

To address those risks, in order to be listed on the Mimo webapp, the deployed InceptionVaultPriceFeeds will have to meet 2 requirements :

  1. The deployed contract will have to have used an approved InceptionVaultPriceFeed

  2. The oracle set in the InceptionPriceFeed will have to be approved

The only way to use an approved InceptionVaultPriceFeed is to use the address of one of the base InceptionVaultPriceFeeds (Chainlink, UniV3...) deployed by the team as the _inceptionVaultPriceFeed argument and a non address(0) argument as the _assetOracle. By doing so the selected InceptionVaultPriceFeed will be cloned and the InceptionVault struct will have an isCustomPriceFeed of false.

The oracle verification will have to be done by the team directly with the current design.

Write Methods

initialize(IAddressProvider _addresses, address inceptionCollateral, address assetOracle, AggregatorV3Interface eurOracle)

Initializer function to set state variables upon cloning.

Requirements :

  • Can only be called once

Param Name
Type
Description

_addresses

IAddressProvider

AddressProvider address

inceptionCollateral

address

Inception collateral address

assetOracle

address

Inception collateral oracle address

eurOracle

AggregatorV3Interface

EUR/USD oracle address

View Methods

getAssetPrice()

Returns the asset price in EUR (PAR).

Requirements :

  • Inception collateral oracle must return a price greater than 0

  • Inception collateral oracle must return a price updated less than 24 hours ago

  • EUR/USD oracle must return a price updated less than 24 hours ago

  • EUR/USD collateral oracle must return a price greater than 0

convertTo(uint256 _amount)

Converts a stableX amount into an inception collateral amount at current price.

Call Params

Name
Type
Description

_amount

uint256

Amount of stableX

Return Values

Name
Type
Description

NA

uint256

Inception collateral amount

convertFrom(uint256 _amount)

Converts an inception collateral amount into an stableX amount at current price.

Call Params

Name
Type
Description

_amount

uint256

Inception collateral amount

Return Values

Name
Type
Description

NA

uint256

stableX amount

getA()

Returns the AddressProvider address.

getInceptionCollateral()

Returns the inception collateral address.

getAssetOracle()

Returns the inception collateral oracle address.

getEurOracle()

Returns the EUR/USD oracle address.

PreviousInceptionVaultsDataProviderNextContract Addresses

Last updated 1 year ago

Was this helpful?