ButterWhaleProcessing
Functions:
Events:
Graphs:
Function Definitions:
constructor()
mint()
This function deposits 3CRV in the underlying Metapool and deposits these LP token to get yToken which in turn are used to mint Butter
Parameter Name | Type | Description |
---|---|---|
| uint256 | Amount of 3cr3CRV to use for minting |
| uint256 | The accepted slippage in basis points. |
| bool | Do you want to stake your minted Butter? |
redeem()
This function reedeems Butter for the underlying yToken and deposits these yToken in curve Metapools for 3CRV
Parameter Name | Type | Description |
---|---|---|
| uint256 | amount of Butter to be redeemed |
| uint256 | The accepted slippage in basis points. |
zapMint()
The amounts in _amounts must align with their index in the curve three-pool
Parameter Name | Type | Description |
---|---|---|
| uint256[3] | An array of amounts in stablecoins the user wants to deposit |
| uint256 | The min amount of 3CRV which should be minted by the curve three-pool (slippage control) |
| uint256 | The accepted slippage in basis points. |
| bool | Do you want to stake your minted butter? |
zapRedeem()
The _stableCoinIndex must align with the index in the curve three-pool
Parameter Name | Type | Description |
---|---|---|
| uint256 | amount of Butter to be redeemed |
| uint256 | Defines which stablecoin the user wants to receive |
| uint256 | The min amount of stables which should be returned by the curve three-pool (slippage control) |
| uint256 | The accepted slippage in basis points. |
setApprovals()
getMinAmountToMint()
getMinAmount3CrvFromRedeem()
valueOfComponents()
valueOf3Crv()
setCurvePoolTokenPairs()
Parameter Name | Type | Description |
---|---|---|
| address[] | An array of addresses for the yToken needed to mint Butter |
| struct ButterWhaleProcessing.CurvePoolTokenPair[] | An array structs describing underlying yToken, crvToken and curve metapool |
setRedemptionFee()
Per default both of these values are not set. Therefore a fee has to be explicitly be set with this function
Parameter Name | Type | Description |
---|---|---|
| uint256 | Redemption fee rate in basis points |
| address | The recipient which receives these fees (Should be DAO treasury) |
claimRedemptionFee()
recoverLeftover()
This should only be used if there is a clear trend that a certain amount of yToken leftover wont be used in the minting process
Parameter Name | Type | Description |
---|---|---|
| address | address of the yToken that should be recovered |
| uint256 | amount of yToken that should recovered |
updateSweetheart()
Parameter Name | Type | Description |
---|---|---|
| address | The address that shall become/lose their sweetheart status |
setStaking()
pause()
All function with the modifer whenNotPaused
cant be called anymore. Namly deposits and mint/redeem
unpause()
All function with the modifer whenNotPaused
cant be called anymore. Namly deposits and mint/redeem
Events
Minted
Redeemed
ZapMinted
ZapRedeemed
CurveTokenPairsUpdated
RedemptionFeeUpdated
SweetheartUpdated
StakingUpdated
Graphs
Dependency Graph
Inheritance Graph
Last updated