# CVX Minting

CVX is minted whenever a user claims CRV.

This means that all LP pools, as well as the cvxCRV rewards pool will mint CVX when claiming CRV rewards from the pool. Take note that CVX pool does not mint more CVX, as rewards received is cvxCRV and not vanilla CRV.

The amount of CVX minted is determined pro-rata for how much CRV was claimed, with the conversion rate decreasing as CVX supply increases (max 100 million) in the form of cliff drop offs.

//constants

let cliffSize = 100000 * 1e18; //new cliff every 100,000 tokens

let cliffCount = 1000; // 1,000 cliffs

let maxSupply = 100000000 * 1e18; //100 mil max supply

uint GetCVXMintAmount( uint crvEarned ){

//first get total supply

let cvxTotalSupply = await cvx.totalSupply();

//get current cliff

let currentCliff = cvxTotalSupply / cliffSize;

//if current cliff is under the max

if(currentCliff < cliffCount ){

//get remaining cliffs

let remaining = cliffCount - currentCliff;

//multiply ratio of remaining cliffs to total cliffs against amount CRV received

var cvxEarned = crvEarned * remaining / cliffCount;

//double check we have not gone over the max supply

var amountTillMax = maxSupply - cvxTotalSupply;

if(cvxEarned > amountTillMax){

cvxEarned = amountTillMax;

}

return cvxEarned;

}

return 0;

}

Last modified 2yr ago