Essence Finance
    • Introduction
  • Protocol
    • Peg Stabilty
    • Collateralization
    • Decentralization
  • TOKENOMICS
    • ZEN
    • Distribution
    • Stake
  • Protocol Controlled Value
    • Protocol Controlled Value (PCV)
    • PCV Management
    • PCV Deposits
  • Governance
    • Essence DAO
    • Governance Phases
    • Access Control
    • Roles
  • Smart Contracts
    • Contract Addresses
    • Audits
  • Development
    • Smart Contracts API
      • Chi
        • IChi
      • Minter
        • IPCVEquityMinter
        • PCVEquityMinter
        • RateLimitedMinter
      • Core
        • Core
        • ICore
        • IPermissions
        • IPermissionsRead
        • Permissions
        • ZenRoles
      • Dao
        • Governor
          • EssenceDAO
        • Timelock
          • EssenceDAOTimelock
          • OptimisticTimelock
          • Timelock
      • External
        • Decimal
        • WETH9
      • Libs
        • CoreRefPauseableLib
        • UintArrayOps
      • Oracle
        • ChainlinkOracleWrapper
        • CompositeOracle
        • ConstantOracle
        • ICollateralizationOracle
        • ICollateralizationOracleWrapper
      • Pcv
        • IPCVDeposit
        • IPCVDepositBalances
        • IPCVGuardian
        • IPCVSwapper
        • PCVDeposit
        • PCVGuardian
      • Peg
        • FixedPricePSM
        • IPegStabilityModule
        • IPriceBound
        • IPSMRouter
        • PegStabilityModule
        • PriceBoundPSM
        • PSMRouter
      • Refs
        • CoreRef
        • ICoreRef
        • IOracleRef
        • IUniRef
        • OracleRef
        • UniRef
      • Timelocks
        • ITimelockedDelegator
        • ITokenTimelock
        • LinearTimelockedDelegator
        • LinearTokenTimelock
        • QuadraticTimelockedDelegator
        • QuadraticTimelockedSubdelegator
        • QuadraticTokenTimelock
        • TimelockedDelegator
        • TokenTimelock
      • Utils
        • RateLimited
      • Zen
        • IZenMinter
        • Zen
        • ZenMinter
Powered by GitBook
On this page
  • Functions
  • constructor
  • mint
  • mintAmount
  • setCollateralizationOracle
  • _setCollateralizationOracle
  • _afterMint
  1. Development
  2. Smart Contracts API
  3. Minter

PCVEquityMinter

A ChiTimedMinter that mints based on a percentage of PCV equity

Functions

constructor

function constructor(
    address _core,
    address _target,
    uint256 _incentive,
    uint256 _frequency,
    contract ICollateralizationOracle _collateralizationOracle,
    uint256 _aprBasisPoints,
    uint256 _maxAPRBasisPoints,
    uint256 _chiMintingLimitPerSecond
) public

constructor for PCVEquityMinter @param _core the Core address to reference @param _target the target to receive minted CHI @param _incentive the incentive amount for calling buy paid in CHI @param _frequency the frequency buybacks happen @param _collateralizationOracle the collateralization oracle used for PCV equity calculations @param _aprBasisPoints the APR paid out from pcv equity per year expressed in basis points

Parameters

Name
Type
Description

_core

address

_target

address

_collateralizationOracle

contract ICollateralizationOracle

_chiMintingLimitPerSecond

uint256

mint

function mint() public

triggers a minting of CHI based on the PCV equity

mintAmount

function mintAmount() public returns (uint256)

setCollateralizationOracle

function setCollateralizationOracle(
    contract ICollateralizationOracle newCollateralizationOracle
) external

set the collateralization oracle

Parameters

Name
Type
Description

newCollateralizationOracle

contract ICollateralizationOracle

_setCollateralizationOracle

function _setCollateralizationOracle(
    contract ICollateralizationOracle newCollateralizationOracle
) internal

Parameters

Name
Type
Description

newCollateralizationOracle

contract ICollateralizationOracle

_afterMint

function _afterMint() internal
PreviousIPCVEquityMinterNextRateLimitedMinter

Last updated 1 year ago