3Pool Convex Meta Vault
- Invests DAI, USDC or USDT in Curve's 3Pool and then invests the 3Crv LP token in an underlying ERC4626 vault.
- Sandwich attack protection on ERC4626 operations
- Vault operations are pausable by the
- Emergency asset recovery by the
Governor. This will be removed after 2 months.
- Vault configuration is controlled by a protocol
Governor. This includes:
- Setting the slippage limits for mint, deposit, redeem and withdraw.
- Initially the
Governorcan upgrade the contracts via a proxy without a time delay. After 6 weeks, this will be changed to a one week time delay.
Basis points calculation scale. 100% = 10000. 1% = 100
Redeem slippage in basis points i.e. 1% = 100
Deposit slippage in basis points i.e. 1% = 100
Withdraw slippage in basis points i.e. 1% = 100
Mint slippage in basis points i.e. 1% = 100
Scale of one asset. eg 1e18 if asset has 18 decimal places.
Converts USD value with 18 decimals back down to asset/vault scale. For example, convert 18 decimal USD value back down to USDC which only has 6 decimal places. Will be 1 for DAI, 1e12 for USDC and USDT.
Scale of the Curve.fi 3Crv token. 1e18 = 18 decimal places
contract IERC4626Vault metaVault
Address of the underlying Meta Vault that implements ERC-4626.
The index of underlying asset DAI, USDC or USDT in 3Pool. DAI = 0, USDC = 1 and USDT = 2
function liquidateVault(uint256 minAssets) external
Governor liquidates all the vault's assets and send to the governor. Only to be used in an emergency. eg whitehat protection against a hack.
function resetAllowances() external
Approves Curve's 3Pool contract to transfer assets (DAI, USDC or USDT) from this vault. Also approves the underlying Meta Vault to transfer 3Crv from this vault.
function setRedeemSlippage(uint256 _slippage) external
Governor function to set redeem slippage.
function setDepositSlippage(uint256 _slippage) external
Governor function to set deposit slippage.
function setWithdrawSlippage(uint256 _slippage) external
Governor function to set withdraw slippage.
function setMintSlippage(uint256 _slippage) external
Governor function to set mint slippage.