Config: Reserve Ratio
To avoid spamming transactions that frequently leverage or deleverage from the Burrow contract, the Meteor Farm contract is designed to hold a certain percentage of assets inside its vault as a reserve.
These reserves are not used as collateral and do not earn interest.
// The target reserve ratio that the contract aims to maintain
// Default: 10%
target_reserve_ratio: number;
Purpose​
When a user withdraws a small amount of assets from the contract, the assets will be taken from the reserve pool.
When a user deposits a small amount of assets into the contract, the assets will go into the reserve pool.
Normal Conditions​
Under normal conditions—when the net withdrawal rate and the net deposit rate are relatively balanced—the reserve pool is expected to maintain a stable ratio, requiring no arbitrage actions.
When Withdrawal Rate > Deposit Rate​
If the withdrawal rate exceeds the deposit rate and the reserve ratio drops below a certain threshold, the contract will initiate a deleveraging process. This means withdrawing assets from Burrow and moving them to the reserve pool.
// Lower bound of the reserve ratio that triggers deleveraging
min_reserve_ratio_threshold = target_reserve_ratio * 0.8;
When Deposit Rate > Withdrawal Rate​
If the deposit rate exceeds the withdrawal rate and the reserve ratio exceeds a certain threshold, the contract will initiate a leveraging process. This means depositing assets from the reserve into Burrow to earn interest.
// Upper bound of the reserve ratio that triggers leveraging
max_reserve_ratio_threshold = Math.min(target_reserve_ratio * 1.2, 1);