PegStabilityModule
Functions
constructor
constructor
Parameters
pauseRedeem
set secondary pausable methods to paused
unpauseRedeem
set secondary pausable methods to unpaused
pauseMint
set secondary pausable methods to paused
unpauseMint
set secondary pausable methods to unpaused
withdraw
withdraw assets from PSM to an external address
Parameters
setMintFee
set the mint fee vs oracle price in basis point terms
Parameters
setRedeemFee
set the redemption fee vs oracle price in basis point terms
Parameters
setReservesThreshold
set the ideal amount of reserves for the contract to hold for redemptions
Parameters
setSurplusTarget
set the target for sending surplus reserves
Parameters
_setMintFee
set the mint fee vs oracle price in basis point terms
Parameters
_setRedeemFee
internal helper function to set the redemption fee
Parameters
_setReservesThreshold
helper function to set reserves threshold
Parameters
_setSurplusTarget
helper function to set the surplus target
Parameters
allocateSurplus
send any surplus reserves to the PCV allocation
deposit
function to receive ERC20 tokens from external contracts
_redeem
internal helper method to redeem chi in exchange for an external asset
Parameters
_mint
internal helper method to mint chi in exchange for an external asset
Parameters
redeem
function to redeem CHI for an underlying asset We do not burn Chi; this allows the contract's balance of Chi to be used before the buffer is used In practice, this helps prevent artificial cycling of mint-burn cycles and prevents a griefing vector.
Parameters
mint
function to buy CHI for an underlying asset We first transfer any contract-owned chi, then mint the remaining if necessary
Parameters
getMintAmountOut
calculate the amount of CHI out for a given amountIn
of underlying First get oracle price of token Then figure out how many dollars that amount in is worth by multiplying price * amount. ensure decimals are normalized if on underlying they are not 18
Parameters
getRedeemAmountOut
calculate the amount of underlying out for a given amountChiIn
of CHI First get oracle price of token Then figure out how many dollars that amount in is worth by multiplying price * amount. ensure decimals are normalized if on underlying they are not 18
Parameters
getMaxMintAmountOut
the maximum mint amount out
hasSurplus
a flag for whether the current balance is above (true) or below (false) the reservesThreshold
reservesSurplus
an integer representing the positive surplus or negative deficit of contract balance vs reservesThreshold
balance
function from PCVDeposit that must be overriden
balanceReportedIn
returns address of token this contracts balance is reported in
resistantBalanceAndChi
override default behavior of not checking chi balance
_getMintAmountOut
helper function to get mint amount out based on current market prices
will revert if price is outside of bounds and bounded PSM is being used
Parameters
_getRedeemAmountOut
helper function to get redeem amount out based on current market prices
will revert if price is outside of bounds and bounded PSM is being used
Parameters
_allocate
Allocates a portion of escrowed PCV to a target PCV deposit
Parameters
_transfer
transfer ERC20 token
Parameters
_transferFrom
transfer assets from user to this contract
Parameters
_mintChi
mint amount of CHI to the specified user on a rate limit
Parameters
_validatePriceRange
overriden function in the bounded PSM
Parameters
Events
RedemptionsPaused
event that is emitted when redemptions are paused
Parameters
event that is emitted when redemptions are unpaused
Parameters
event that is emitted when minting is paused
Parameters
event that is emitted when minting is unpaused
Parameters
Last updated