🔐Rebalance contracts security
Pausability
Our vault contracts now include pausing functionality.This feature allows us to temporarily halt activities in case of an emergency, enhancing user security.
Add/Remove Providers
Provider contracts serve as liquidity sources for our protocol, enabling deposit and withdrawal operations with various DeFi lending protocols.
To enhance security, we’ve introduced the ability to modify the list of providers we work with. This is crucial in the event of attacks or issues related to a specific provider. To make this possible, a timelock contract has been implemented, with a minimum delay of 30 minutes, allowing for the addition or removal of providers in our system.
Please be aware that the "Interest Vault" naming has been removed. The base contract is now called Vault.sol.
Authorized Functions in the Protocol
In addition to the deposit and withdraw functions, which allow users to interact with our protocol, there are other functions that can only be called by authorized accounts. These accounts are the protocol’s admin (a multisig wallet) and the timelock contract mentioned earlier.
Below is a list of functions that can be called by these authorized accounts, along with a brief description of their purpose:
onlyAdmin
These functions can only be called by the protocol’s multisig wallet (admin).
pause: Pauses actions in the vault in case of an emergency.
unpause: Resumes actions in the vault after being paused.
setTreasury: Changes the address of the treasury that receives fees.
setWithdrawFeePercent: Changes the withdrawal fee percentage. Note: The withdrawal fee cannot exceed the predetermined maximum limit (MAX_WITHDRAW_FEE_PERCENT = 5%).
setMinAmount: Changes the minimum deposit amount required.
setActiveProvider: Changes the active provider for deposits and withdrawals. The active provider must be selected from the predefined list of providers. This list can only be changed by the timelock contract.
onlyTimelock
These functions can only be called by the timelock contract.
setTimelock: Changes the address of the timelock contract. Only the timelock contract itself can modify this.
setProviders: Changes the list of liquidity providers that the vault works with.
Where does the yield comes from?
Below is a list of the protocol addresses we currently work with:
Aave V3
Pool Contract: 0x794a61358D6845594F94dc1DB02A252b5b4814aD
Compound V3
USDC.e: 0xA5EDBDD9646f8dFF606d7448e414884C7d905dCA
USDC: 0x9c4ec768c28520B50860ea7a15bd7213a9fF58bf
WETH: 0x6f7D514bbD4aFf3BcD1140B7344b32f063dEe486
USDT: 0xd98Be00b5D27fc98112BdE293e487f8D4cA57d07
Fraxlend Protocol
Fraxlend Contract: 0x9168AC3a83A31bd85c93F4429a84c05db2CaEF08
Last updated