mirror of
https://github.com/Instadapp/dsa-governance.git
synced 2024-07-29 22:27:52 +00:00
added dust allowance
This commit is contained in:
parent
03f74fcd23
commit
aac53cc82c
|
@ -528,17 +528,17 @@ contract PayloadIGP26 {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAllowance(address token) internal pure returns (uint256, uint256) {
|
function getAllowance(address token) internal pure returns (uint256, uint256, ) {
|
||||||
if (token == ETH_ADDRESS) {
|
if (token == ETH_ADDRESS) {
|
||||||
return (3 * 1e18, 4 * 1e18);
|
return (3 * 1e18, 4 * 1e18, 0.03 * 1e18);
|
||||||
} else if (token == wstETH_ADDRESS) {
|
} else if (token == wstETH_ADDRESS) {
|
||||||
return (2.33 * 1e18, 3.5 * 1e18);
|
return (2.33 * 1e18, 3.5 * 1e18, 0.03 * 1e18);
|
||||||
} else if (token == weETH_ADDRESS) {
|
} else if (token == weETH_ADDRESS) {
|
||||||
return (2.6 * 1e18, 3.95 * 1e18);
|
return (2.6 * 1e18, 3.95 * 1e18, 0.03 * 1e18);
|
||||||
} else if (token == USDC_ADDRESS || token == USDT_ADDRESS) {
|
} else if (token == USDC_ADDRESS || token == USDT_ADDRESS) {
|
||||||
return (10_000 * 1e6, 15_000 * 1e6);
|
return (10_000 * 1e6, 15_000 * 1e6, 100 * 1e6);
|
||||||
} else if (token == sUSDe_ADDRESS) {
|
} else if (token == sUSDe_ADDRESS) {
|
||||||
return (9_200 * 1e18, 13_900 * 1e18);
|
return (9_200 * 1e18, 13_900 * 1e18, 100 * 1e18);
|
||||||
} else {
|
} else {
|
||||||
revert ("no allowance found");
|
revert ("no allowance found");
|
||||||
}
|
}
|
||||||
|
@ -592,6 +592,8 @@ contract PayloadIGP26 {
|
||||||
|
|
||||||
address newOracleAddress = getOracleAddress(oldVaultId + 10);
|
address newOracleAddress = getOracleAddress(oldVaultId + 10);
|
||||||
|
|
||||||
|
uint256[] memory amounts = new uint256[](2);
|
||||||
|
|
||||||
{
|
{
|
||||||
require(oldConstants.supplyToken == newConstants.supplyToken, "not-same-supply-token");
|
require(oldConstants.supplyToken == newConstants.supplyToken, "not-same-supply-token");
|
||||||
require(oldConstants.borrowToken == newConstants.borrowToken, "not-same-borrow-token");
|
require(oldConstants.borrowToken == newConstants.borrowToken, "not-same-borrow-token");
|
||||||
|
@ -604,7 +606,9 @@ contract PayloadIGP26 {
|
||||||
|
|
||||||
configs_[0] = getUserSupplyData(newConstants.supplyToken, oldVaultAddress);
|
configs_[0] = getUserSupplyData(newConstants.supplyToken, oldVaultAddress);
|
||||||
|
|
||||||
(uint256 baseAllowance, ) = getAllowance(newConstants.supplyToken);
|
(uint256 baseAllowance, , supplyAllowance) = getAllowance(newConstants.supplyToken);
|
||||||
|
|
||||||
|
amounts[0] = supplyAllowance;
|
||||||
|
|
||||||
configs_[0].baseWithdrawalLimit = baseAllowance;
|
configs_[0].baseWithdrawalLimit = baseAllowance;
|
||||||
|
|
||||||
|
@ -617,7 +621,18 @@ contract PayloadIGP26 {
|
||||||
memory configs_ = new AdminModuleStructs.UserBorrowConfig[](1);
|
memory configs_ = new AdminModuleStructs.UserBorrowConfig[](1);
|
||||||
|
|
||||||
configs_[0] = getUserBorrowData(newConstants.borrowToken, oldVaultAddress);
|
configs_[0] = getUserBorrowData(newConstants.borrowToken, oldVaultAddress);
|
||||||
(uint256 baseAllowance, uint256 maxAllowance) = getAllowance(newConstants.borrowToken);
|
(uint256 baseAllowance, uint256 maxAllowance, uint256 borrowAllowance) = getAllowance(newConstants.borrowToken);
|
||||||
|
|
||||||
|
amounts[1] = borrowAllowance;
|
||||||
|
|
||||||
|
uint256 exchangePriceAndConfig_ = LIQUIDITY.readFromStorage(
|
||||||
|
LiquiditySlotsLink.calculateMappingStorageSlot(
|
||||||
|
LiquiditySlotsLink.LIQUIDITY_EXCHANGE_PRICES_MAPPING_SLOT,
|
||||||
|
newConstants.borrowToken
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
(uint256 supplyExchangePrice, uint256 borrowExchangePrice) = LiquidityCalcs.calcExchangePrices(exchangePriceAndConfig_);
|
||||||
|
|
||||||
configs_[0].baseDebtCeiling = baseAllowance;
|
configs_[0].baseDebtCeiling = baseAllowance;
|
||||||
configs_[0].maxDebtCeiling = maxAllowance;
|
configs_[0].maxDebtCeiling = maxAllowance;
|
||||||
|
@ -657,6 +672,22 @@ contract PayloadIGP26 {
|
||||||
{
|
{
|
||||||
IFluidVaultT1(newVaultAddress).updateRebalancer(0x264786EF916af64a1DB19F513F24a3681734ce92);
|
IFluidVaultT1(newVaultAddress).updateRebalancer(0x264786EF916af64a1DB19F513F24a3681734ce92);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Approve new vault to spend the reserves dust tokens
|
||||||
|
{
|
||||||
|
address[] memory protocols = new address[](2);
|
||||||
|
address[] memory tokens = new address[](2);
|
||||||
|
|
||||||
|
{
|
||||||
|
protocols[0] = newVaultAddress;
|
||||||
|
tokens[0] = newConstants.supplyToken;
|
||||||
|
|
||||||
|
protocols[1] = newVaultAddress;
|
||||||
|
tokens[1] = newConstants.borrowToken;
|
||||||
|
|
||||||
|
FLUID_RESERVE.approve(protocols, tokens, amounts);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user