From 387bb8946b47831be592b080f8b648ae72d7a708 Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Sat, 21 Dec 2024 17:49:12 +0100 Subject: [PATCH 01/21] feat: onboard ezETH on Arbitrum and Base --- ...ArbitrumAndBaseInstances_20241221_after.md | 162 ++++++++++++++++++ ...ArbitrumAndBaseInstances_20241221_after.md | 158 +++++++++++++++++ ...ETHToArbitrumAndBaseInstances_20241221.sol | 113 ++++++++++++ ...HToArbitrumAndBaseInstances_20241221.t.sol | 58 +++++++ ...ETHToArbitrumAndBaseInstances_20241221.sol | 111 ++++++++++++ ...HToArbitrumAndBaseInstances_20241221.t.sol | 58 +++++++ .../OnboardEzETHToArbitrumAndBaseInstances.md | 75 ++++++++ ...HToArbitrumAndBaseInstances_20241221.s.sol | 90 ++++++++++ .../config.ts | 108 ++++++++++++ 9 files changed, 933 insertions(+) create mode 100644 diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md create mode 100644 diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md create mode 100644 src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol create mode 100644 src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol create mode 100644 src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol create mode 100644 src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol create mode 100644 src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md create mode 100644 src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances_20241221.s.sol create mode 100644 src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/config.ts diff --git a/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md new file mode 100644 index 000000000..4b168a6c7 --- /dev/null +++ b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -0,0 +1,162 @@ +## Reserve changes + +### Reserves added + +#### ezETH ([0x2416092f143378750bb29b79eD961ab195CcEea5](https://arbiscan.io/address/0x2416092f143378750bb29b79eD961ab195CcEea5)) + +| description | value | +| --- | --- | +| decimals | 18 | +| isActive | true | +| isFrozen | false | +| supplyCap | 1,750 ezETH | +| borrowCap | 175 ezETH | +| debtCeiling | 0 $ [0] | +| isSiloed | false | +| isFlashloanable | true | +| oracle | [0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612](https://arbiscan.io/address/0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612) | +| oracleDecimals | 8 | +| oracleDescription | ETH / USD | +| oracleLatestAnswer | 3391.8434 | +| usageAsCollateralEnabled | true | +| ltv | 72 % [7200] | +| liquidationThreshold | 75 % [7500] | +| liquidationBonus | 7.5 % | +| liquidationProtocolFee | 10 % [1000] | +| reserveFactor | 15 % [1500] | +| aToken | [0xEA1132120ddcDDA2F119e99Fa7A27a0d036F7Ac9](https://arbiscan.io/address/0xEA1132120ddcDDA2F119e99Fa7A27a0d036F7Ac9) | +| aTokenImpl | [0x1Be1798b70aEe431c2986f7ff48d9D1fa350786a](https://arbiscan.io/address/0x1Be1798b70aEe431c2986f7ff48d9D1fa350786a) | +| variableDebtToken | [0x1fFD28689DA7d0148ff0fCB669e9f9f0Fc13a219](https://arbiscan.io/address/0x1fFD28689DA7d0148ff0fCB669e9f9f0Fc13a219) | +| variableDebtTokenImpl | [0x5E76E98E0963EcDC6A065d1435F84065b7523f39](https://arbiscan.io/address/0x5E76E98E0963EcDC6A065d1435F84065b7523f39) | +| borrowingEnabled | true | +| isBorrowableInIsolation | false | +| interestRateStrategy | [0x429F16dBA3B9e1900087Cbaa7b50D38Bc60fB73F](https://arbiscan.io/address/0x429F16dBA3B9e1900087Cbaa7b50D38Bc60fB73F) | +| aTokenName | Aave Arbitrum ezETH | +| aTokenSymbol | aArbezETH | +| aTokenUnderlyingBalance | 0 ezETH [0] | +| id | 17 | +| isPaused | false | +| variableDebtTokenName | Aave Arbitrum Variable Debt ezETH | +| variableDebtTokenSymbol | variableDebtArbezETH | +| virtualAccountingActive | true | +| virtualBalance | 0 ezETH [0] | +| optimalUsageRatio | 45 % | +| maxVariableBorrowRate | 307 % | +| baseVariableBorrowRate | 0 % | +| variableRateSlope1 | 7 % | +| variableRateSlope2 | 300 % | +| interestRate | ![ir](https://dash.onaave.com/api/static?variableRateSlope1=70000000000000000000000000&variableRateSlope2=3000000000000000000000000000&optimalUsageRatio=450000000000000000000000000&baseVariableBorrowRate=0&maxVariableBorrowRate=3070000000000000000000000000) | + + +## Emodes changed + +### EMode: Stablecoins(id: 1) + + + +### EMode: ETH correlated(id: 2) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label (unchanged) | ETH correlated | ETH correlated | +| eMode.ltv (unchanged) | 93 % | 93 % | +| eMode.liquidationThreshold (unchanged) | 95 % | 95 % | +| eMode.liquidationBonus (unchanged) | 1 % | 1 % | +| eMode.borrowableBitmap (unchanged) | WETH, wstETH, weETH | WETH, wstETH, weETH | +| eMode.collateralBitmap | WETH, wstETH, weETH | WETH, wstETH, weETH, ezETH | + + +### EMode: ezETH / wstETH(id: 3) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label | - | ezETH / wstETH | +| eMode.ltv | - | 93 % | +| eMode.liquidationThreshold | - | 95 % | +| eMode.liquidationBonus | - | 1 % | +| eMode.borrowableBitmap | - | wstETH | +| eMode.collateralBitmap | - | ezETH | + + +## Raw diff + +```json +{ + "eModes": { + "2": { + "collateralBitmap": { + "from": "33040", + "to": "164112" + } + }, + "3": { + "from": null, + "to": { + "borrowableBitmap": "256", + "collateralBitmap": "131072", + "eModeCategory": 3, + "label": "ezETH / wstETH", + "liquidationBonus": 10100, + "liquidationThreshold": 9500, + "ltv": 9300 + } + } + }, + "reserves": { + "0x2416092f143378750bb29b79eD961ab195CcEea5": { + "from": null, + "to": { + "aToken": "0xEA1132120ddcDDA2F119e99Fa7A27a0d036F7Ac9", + "aTokenImpl": "0x1Be1798b70aEe431c2986f7ff48d9D1fa350786a", + "aTokenName": "Aave Arbitrum ezETH", + "aTokenSymbol": "aArbezETH", + "aTokenUnderlyingBalance": "0", + "borrowCap": 175, + "borrowingEnabled": true, + "debtCeiling": 0, + "decimals": 18, + "id": 17, + "interestRateStrategy": "0x429F16dBA3B9e1900087Cbaa7b50D38Bc60fB73F", + "isActive": true, + "isBorrowableInIsolation": false, + "isFlashloanable": true, + "isFrozen": false, + "isPaused": false, + "isSiloed": false, + "liquidationBonus": 10750, + "liquidationProtocolFee": 1000, + "liquidationThreshold": 7500, + "ltv": 7200, + "oracle": "0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612", + "oracleDecimals": 8, + "oracleDescription": "ETH / USD", + "oracleLatestAnswer": "339184340000", + "reserveFactor": 1500, + "supplyCap": 1750, + "symbol": "ezETH", + "underlying": "0x2416092f143378750bb29b79eD961ab195CcEea5", + "usageAsCollateralEnabled": true, + "variableDebtToken": "0x1fFD28689DA7d0148ff0fCB669e9f9f0Fc13a219", + "variableDebtTokenImpl": "0x5E76E98E0963EcDC6A065d1435F84065b7523f39", + "variableDebtTokenName": "Aave Arbitrum Variable Debt ezETH", + "variableDebtTokenSymbol": "variableDebtArbezETH", + "virtualAccountingActive": true, + "virtualBalance": "0" + } + } + }, + "strategies": { + "0x2416092f143378750bb29b79eD961ab195CcEea5": { + "from": null, + "to": { + "address": "0x429F16dBA3B9e1900087Cbaa7b50D38Bc60fB73F", + "baseVariableBorrowRate": "0", + "maxVariableBorrowRate": "3070000000000000000000000000", + "optimalUsageRatio": "450000000000000000000000000", + "variableRateSlope1": "70000000000000000000000000", + "variableRateSlope2": "3000000000000000000000000000" + } + } + } +} +``` \ No newline at end of file diff --git a/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md new file mode 100644 index 000000000..8f388505b --- /dev/null +++ b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -0,0 +1,158 @@ +## Reserve changes + +### Reserves added + +#### ezETH ([0x2416092f143378750bb29b79eD961ab195CcEea5](https://basescan.org/address/0x2416092f143378750bb29b79eD961ab195CcEea5)) + +| description | value | +| --- | --- | +| decimals | 18 | +| isActive | true | +| isFrozen | false | +| supplyCap | 1,200 ezETH | +| borrowCap | 120 ezETH | +| debtCeiling | 0 $ [0] | +| isSiloed | false | +| isFlashloanable | true | +| oracle | [0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70](https://basescan.org/address/0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70) | +| oracleDecimals | 8 | +| oracleDescription | ETH / USD | +| oracleLatestAnswer | 3391.38 | +| usageAsCollateralEnabled | true | +| ltv | 72 % [7200] | +| liquidationThreshold | 75 % [7500] | +| liquidationBonus | 7.5 % | +| liquidationProtocolFee | 10 % [1000] | +| reserveFactor | 15 % [1500] | +| aToken | [0xDD5745756C2de109183c6B5bB886F9207bEF114D](https://basescan.org/address/0xDD5745756C2de109183c6B5bB886F9207bEF114D) | +| aTokenImpl | [0x98F409Fc4A42F34AE3c326c7f48ED01ae8cAeC69](https://basescan.org/address/0x98F409Fc4A42F34AE3c326c7f48ED01ae8cAeC69) | +| variableDebtToken | [0xbc4f5631f2843488792e4F1660d0A51Ba489bdBd](https://basescan.org/address/0xbc4f5631f2843488792e4F1660d0A51Ba489bdBd) | +| variableDebtTokenImpl | [0x2425A746911128c2eAA7bEBDc9Bc452eE52208a1](https://basescan.org/address/0x2425A746911128c2eAA7bEBDc9Bc452eE52208a1) | +| borrowingEnabled | true | +| isBorrowableInIsolation | false | +| interestRateStrategy | [0x86AB1C62A8bf868E1b3E1ab87d587Aba6fbCbDC5](https://basescan.org/address/0x86AB1C62A8bf868E1b3E1ab87d587Aba6fbCbDC5) | +| aTokenName | Aave Base ezETH | +| aTokenSymbol | aBasezETH | +| aTokenUnderlyingBalance | 0 ezETH [0] | +| id | 7 | +| isPaused | false | +| variableDebtTokenName | Aave Base Variable Debt ezETH | +| variableDebtTokenSymbol | variableDebtBasezETH | +| virtualAccountingActive | true | +| virtualBalance | 0 ezETH [0] | +| optimalUsageRatio | 45 % | +| maxVariableBorrowRate | 307 % | +| baseVariableBorrowRate | 0 % | +| variableRateSlope1 | 7 % | +| variableRateSlope2 | 300 % | +| interestRate | ![ir](https://dash.onaave.com/api/static?variableRateSlope1=70000000000000000000000000&variableRateSlope2=3000000000000000000000000000&optimalUsageRatio=450000000000000000000000000&baseVariableBorrowRate=0&maxVariableBorrowRate=3070000000000000000000000000) | + + +## Emodes changed + +### EMode: ETH correlated(id: 1) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label (unchanged) | ETH correlated | ETH correlated | +| eMode.ltv (unchanged) | 90 % | 90 % | +| eMode.liquidationThreshold (unchanged) | 93 % | 93 % | +| eMode.liquidationBonus (unchanged) | 2 % | 2 % | +| eMode.borrowableBitmap (unchanged) | WETH, cbETH, wstETH, weETH | WETH, cbETH, wstETH, weETH | +| eMode.collateralBitmap | WETH, cbETH, wstETH, weETH | WETH, cbETH, wstETH, weETH, ezETH | + + +### EMode: ezETH / wstETH(id: 2) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label | - | ezETH / wstETH | +| eMode.ltv | - | 93 % | +| eMode.liquidationThreshold | - | 95 % | +| eMode.liquidationBonus | - | 1 % | +| eMode.borrowableBitmap | - | wstETH | +| eMode.collateralBitmap | - | ezETH | + + +## Raw diff + +```json +{ + "eModes": { + "1": { + "collateralBitmap": { + "from": "43", + "to": "171" + } + }, + "2": { + "from": null, + "to": { + "borrowableBitmap": "8", + "collateralBitmap": "128", + "eModeCategory": 2, + "label": "ezETH / wstETH", + "liquidationBonus": 10100, + "liquidationThreshold": 9500, + "ltv": 9300 + } + } + }, + "reserves": { + "0x2416092f143378750bb29b79eD961ab195CcEea5": { + "from": null, + "to": { + "aToken": "0xDD5745756C2de109183c6B5bB886F9207bEF114D", + "aTokenImpl": "0x98F409Fc4A42F34AE3c326c7f48ED01ae8cAeC69", + "aTokenName": "Aave Base ezETH", + "aTokenSymbol": "aBasezETH", + "aTokenUnderlyingBalance": "0", + "borrowCap": 120, + "borrowingEnabled": true, + "debtCeiling": 0, + "decimals": 18, + "id": 7, + "interestRateStrategy": "0x86AB1C62A8bf868E1b3E1ab87d587Aba6fbCbDC5", + "isActive": true, + "isBorrowableInIsolation": false, + "isFlashloanable": true, + "isFrozen": false, + "isPaused": false, + "isSiloed": false, + "liquidationBonus": 10750, + "liquidationProtocolFee": 1000, + "liquidationThreshold": 7500, + "ltv": 7200, + "oracle": "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70", + "oracleDecimals": 8, + "oracleDescription": "ETH / USD", + "oracleLatestAnswer": "339138000000", + "reserveFactor": 1500, + "supplyCap": 1200, + "symbol": "ezETH", + "underlying": "0x2416092f143378750bb29b79eD961ab195CcEea5", + "usageAsCollateralEnabled": true, + "variableDebtToken": "0xbc4f5631f2843488792e4F1660d0A51Ba489bdBd", + "variableDebtTokenImpl": "0x2425A746911128c2eAA7bEBDc9Bc452eE52208a1", + "variableDebtTokenName": "Aave Base Variable Debt ezETH", + "variableDebtTokenSymbol": "variableDebtBasezETH", + "virtualAccountingActive": true, + "virtualBalance": "0" + } + } + }, + "strategies": { + "0x2416092f143378750bb29b79eD961ab195CcEea5": { + "from": null, + "to": { + "address": "0x86AB1C62A8bf868E1b3E1ab87d587Aba6fbCbDC5", + "baseVariableBorrowRate": "0", + "maxVariableBorrowRate": "3070000000000000000000000000", + "optimalUsageRatio": "450000000000000000000000000", + "variableRateSlope1": "70000000000000000000000000", + "variableRateSlope2": "3000000000000000000000000000" + } + } + } +} +``` \ No newline at end of file diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol new file mode 100644 index 000000000..f603f56cc --- /dev/null +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -0,0 +1,113 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {AaveV3Arbitrum, AaveV3ArbitrumAssets, AaveV3ArbitrumEModes} from 'aave-address-book/AaveV3Arbitrum.sol'; +import {AaveV3PayloadArbitrum} from 'aave-helpers/src/v3-config-engine/AaveV3PayloadArbitrum.sol'; +import {EngineFlags} from 'aave-v3-origin/contracts/extensions/v3-config-engine/EngineFlags.sol'; +import {IAaveV3ConfigEngine} from 'aave-v3-origin/contracts/extensions/v3-config-engine/IAaveV3ConfigEngine.sol'; +import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol'; +import {SafeERC20} from 'solidity-utils/contracts/oz-common/SafeERC20.sol'; +import {IEmissionManager} from 'aave-v3-origin/contracts/rewards/interfaces/IEmissionManager.sol'; +/** + * @title Onboard ezETH to Arbitrum and Base Instances + * @author Aave Chan Initiative + * - Snapshot: https://snapshot.box/#/s:aave.eth/proposal/0xf9fa710414237636cba11187111773fac04f74eb1a562d2b50fca86cb72a778e + * - Discussion: https://governance.aave.com/t/arfc-onboard-ezeth-to-arbitrum-and-base-instances/19622 + */ +contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3PayloadArbitrum { + using SafeERC20 for IERC20; + + address public constant ezETH = 0x2416092f143378750bb29b79eD961ab195CcEea5; + uint256 public constant ezETH_SEED_AMOUNT = 3e16; + address public constant ezETH_LM_ADMIN = 0xac140648435d03f784879cd789130F22Ef588Fcd; + + function _postExecute() internal override { + IERC20(ezETH).forceApprove(address(AaveV3Arbitrum.POOL), ezETH_SEED_AMOUNT); + AaveV3Arbitrum.POOL.supply(ezETH, ezETH_SEED_AMOUNT, address(AaveV3Arbitrum.COLLECTOR), 0); + + (address aezETH, , ) = AaveV3Arbitrum.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses( + ezETH + ); + IEmissionManager(AaveV3Arbitrum.EMISSION_MANAGER).setEmissionAdmin(ezETH, ezETH_LM_ADMIN); + IEmissionManager(AaveV3Arbitrum.EMISSION_MANAGER).setEmissionAdmin(aezETH, ezETH_LM_ADMIN); + } + + function eModeCategoriesUpdates() + public + pure + override + returns (IAaveV3ConfigEngine.EModeCategoryUpdate[] memory) + { + IAaveV3ConfigEngine.EModeCategoryUpdate[] + memory eModeUpdates = new IAaveV3ConfigEngine.EModeCategoryUpdate[](1); + + eModeUpdates[0] = IAaveV3ConfigEngine.EModeCategoryUpdate({ + eModeCategory: 3, + ltv: 93_00, + liqThreshold: 95_00, + liqBonus: 1_00, + label: 'ezETH / wstETH' + }); + + return eModeUpdates; + } + function assetsEModeUpdates() + public + pure + override + returns (IAaveV3ConfigEngine.AssetEModeUpdate[] memory) + { + IAaveV3ConfigEngine.AssetEModeUpdate[] + memory assetEModeUpdates = new IAaveV3ConfigEngine.AssetEModeUpdate[](3); + + assetEModeUpdates[0] = IAaveV3ConfigEngine.AssetEModeUpdate({ + asset: ezETH, + eModeCategory: 3, + borrowable: EngineFlags.DISABLED, + collateral: EngineFlags.ENABLED + }); + assetEModeUpdates[1] = IAaveV3ConfigEngine.AssetEModeUpdate({ + asset: ezETH, + eModeCategory: AaveV3ArbitrumEModes.ETH_CORRELATED, + borrowable: EngineFlags.DISABLED, + collateral: EngineFlags.ENABLED + }); + assetEModeUpdates[2] = IAaveV3ConfigEngine.AssetEModeUpdate({ + asset: AaveV3ArbitrumAssets.wstETH_UNDERLYING, + eModeCategory: 3, + borrowable: EngineFlags.ENABLED, + collateral: EngineFlags.DISABLED + }); + + return assetEModeUpdates; + } + function newListings() public pure override returns (IAaveV3ConfigEngine.Listing[] memory) { + IAaveV3ConfigEngine.Listing[] memory listings = new IAaveV3ConfigEngine.Listing[](1); + + listings[0] = IAaveV3ConfigEngine.Listing({ + asset: ezETH, + assetSymbol: 'ezETH', + priceFeed: 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612, + enabledToBorrow: EngineFlags.ENABLED, + borrowableInIsolation: EngineFlags.DISABLED, + withSiloedBorrowing: EngineFlags.DISABLED, + flashloanable: EngineFlags.ENABLED, + ltv: 72_00, + liqThreshold: 75_00, + liqBonus: 7_50, + reserveFactor: 15_00, + supplyCap: 1_750, + borrowCap: 175, + debtCeiling: 0, + liqProtocolFee: 10_00, + rateStrategyParams: IAaveV3ConfigEngine.InterestRateInputData({ + optimalUsageRatio: 45_00, + baseVariableBorrowRate: 0, + variableRateSlope1: 7_00, + variableRateSlope2: 300_00 + }) + }); + + return listings; + } +} diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol new file mode 100644 index 000000000..bf0a03c24 --- /dev/null +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol @@ -0,0 +1,58 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {GovV3Helpers} from 'aave-helpers/src/GovV3Helpers.sol'; +import {AaveV3Arbitrum} from 'aave-address-book/AaveV3Arbitrum.sol'; +import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol'; +import {IEmissionManager} from 'aave-v3-origin/contracts/rewards/interfaces/IEmissionManager.sol'; + +import 'forge-std/Test.sol'; +import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/src/ProtocolV3TestBase.sol'; +import {AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221} from './AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol'; + +/** + * @dev Test for AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 + * command: FOUNDRY_PROFILE=arbitrum forge test --match-path=src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol -vv + */ +contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_Test is ProtocolV3TestBase { + AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 internal proposal; + + function setUp() public { + vm.createSelectFork(vm.rpcUrl('arbitrum'), 287111756); + proposal = new AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221(); + } + + /** + * @dev executes the generic test suite including e2e and config snapshots + */ + function test_defaultProposalExecution() public { + defaultTest( + 'AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221', + AaveV3Arbitrum.POOL, + address(proposal) + ); + } + + function test_collectorHasezETHFunds() public { + GovV3Helpers.executePayload(vm, address(proposal)); + (address aTokenAddress, , ) = AaveV3Arbitrum + .AAVE_PROTOCOL_DATA_PROVIDER + .getReserveTokensAddresses(proposal.ezETH()); + assertGe(IERC20(aTokenAddress).balanceOf(address(AaveV3Arbitrum.COLLECTOR)), 3 * 10 ** 16); + } + + function test_ezETHAdmin() public { + GovV3Helpers.executePayload(vm, address(proposal)); + (address aezETH, , ) = AaveV3Arbitrum.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses( + proposal.ezETH() + ); + assertEq( + IEmissionManager(AaveV3Arbitrum.EMISSION_MANAGER).getEmissionAdmin(proposal.ezETH()), + proposal.ezETH_LM_ADMIN() + ); + assertEq( + IEmissionManager(AaveV3Arbitrum.EMISSION_MANAGER).getEmissionAdmin(aezETH), + proposal.ezETH_LM_ADMIN() + ); + } +} diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol new file mode 100644 index 000000000..564fc7b67 --- /dev/null +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -0,0 +1,111 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {AaveV3Base, AaveV3BaseAssets, AaveV3BaseEModes} from 'aave-address-book/AaveV3Base.sol'; +import {AaveV3PayloadBase} from 'aave-helpers/src/v3-config-engine/AaveV3PayloadBase.sol'; +import {EngineFlags} from 'aave-v3-origin/contracts/extensions/v3-config-engine/EngineFlags.sol'; +import {IAaveV3ConfigEngine} from 'aave-v3-origin/contracts/extensions/v3-config-engine/IAaveV3ConfigEngine.sol'; +import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol'; +import {SafeERC20} from 'solidity-utils/contracts/oz-common/SafeERC20.sol'; +import {IEmissionManager} from 'aave-v3-origin/contracts/rewards/interfaces/IEmissionManager.sol'; +/** + * @title Onboard ezETH to Arbitrum and Base Instances + * @author Aave Chan Initiative + * - Snapshot: https://snapshot.box/#/s:aave.eth/proposal/0xf9fa710414237636cba11187111773fac04f74eb1a562d2b50fca86cb72a778e + * - Discussion: https://governance.aave.com/t/arfc-onboard-ezeth-to-arbitrum-and-base-instances/19622 + */ +contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3PayloadBase { + using SafeERC20 for IERC20; + + address public constant ezETH = 0x2416092f143378750bb29b79eD961ab195CcEea5; + uint256 public constant ezETH_SEED_AMOUNT = 3e16; + address public constant ezETH_LM_ADMIN = 0xac140648435d03f784879cd789130F22Ef588Fcd; + + function _postExecute() internal override { + IERC20(ezETH).forceApprove(address(AaveV3Base.POOL), ezETH_SEED_AMOUNT); + AaveV3Base.POOL.supply(ezETH, ezETH_SEED_AMOUNT, address(AaveV3Base.COLLECTOR), 0); + + (address aezETH, , ) = AaveV3Base.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses(ezETH); + IEmissionManager(AaveV3Base.EMISSION_MANAGER).setEmissionAdmin(ezETH, ezETH_LM_ADMIN); + IEmissionManager(AaveV3Base.EMISSION_MANAGER).setEmissionAdmin(aezETH, ezETH_LM_ADMIN); + } + + function eModeCategoriesUpdates() + public + pure + override + returns (IAaveV3ConfigEngine.EModeCategoryUpdate[] memory) + { + IAaveV3ConfigEngine.EModeCategoryUpdate[] + memory eModeUpdates = new IAaveV3ConfigEngine.EModeCategoryUpdate[](1); + + eModeUpdates[0] = IAaveV3ConfigEngine.EModeCategoryUpdate({ + eModeCategory: 2, + ltv: 93_00, + liqThreshold: 95_00, + liqBonus: 1_00, + label: 'ezETH / wstETH' + }); + + return eModeUpdates; + } + function assetsEModeUpdates() + public + pure + override + returns (IAaveV3ConfigEngine.AssetEModeUpdate[] memory) + { + IAaveV3ConfigEngine.AssetEModeUpdate[] + memory assetEModeUpdates = new IAaveV3ConfigEngine.AssetEModeUpdate[](3); + + assetEModeUpdates[0] = IAaveV3ConfigEngine.AssetEModeUpdate({ + asset: AaveV3BaseAssets.wstETH_UNDERLYING, + eModeCategory: 2, + borrowable: EngineFlags.ENABLED, + collateral: EngineFlags.DISABLED + }); + assetEModeUpdates[1] = IAaveV3ConfigEngine.AssetEModeUpdate({ + asset: ezETH, + eModeCategory: AaveV3BaseEModes.ETH_CORRELATED, + borrowable: EngineFlags.DISABLED, + collateral: EngineFlags.ENABLED + }); + assetEModeUpdates[2] = IAaveV3ConfigEngine.AssetEModeUpdate({ + asset: ezETH, + eModeCategory: 2, + borrowable: EngineFlags.DISABLED, + collateral: EngineFlags.ENABLED + }); + + return assetEModeUpdates; + } + function newListings() public pure override returns (IAaveV3ConfigEngine.Listing[] memory) { + IAaveV3ConfigEngine.Listing[] memory listings = new IAaveV3ConfigEngine.Listing[](1); + + listings[0] = IAaveV3ConfigEngine.Listing({ + asset: ezETH, + assetSymbol: 'ezETH', + priceFeed: 0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70, + enabledToBorrow: EngineFlags.ENABLED, + borrowableInIsolation: EngineFlags.DISABLED, + withSiloedBorrowing: EngineFlags.DISABLED, + flashloanable: EngineFlags.ENABLED, + ltv: 72_00, + liqThreshold: 75_00, + liqBonus: 7_50, + reserveFactor: 15_00, + supplyCap: 1_200, + borrowCap: 120, + debtCeiling: 0, + liqProtocolFee: 10_00, + rateStrategyParams: IAaveV3ConfigEngine.InterestRateInputData({ + optimalUsageRatio: 45_00, + baseVariableBorrowRate: 0, + variableRateSlope1: 7_00, + variableRateSlope2: 300_00 + }) + }); + + return listings; + } +} diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol new file mode 100644 index 000000000..5ac9679bb --- /dev/null +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol @@ -0,0 +1,58 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {GovV3Helpers} from 'aave-helpers/src/GovV3Helpers.sol'; +import {AaveV3Base} from 'aave-address-book/AaveV3Base.sol'; +import {IERC20} from 'solidity-utils/contracts/oz-common/interfaces/IERC20.sol'; +import {IEmissionManager} from 'aave-v3-origin/contracts/rewards/interfaces/IEmissionManager.sol'; + +import 'forge-std/Test.sol'; +import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/src/ProtocolV3TestBase.sol'; +import {AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221} from './AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol'; + +/** + * @dev Test for AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 + * command: FOUNDRY_PROFILE=base forge test --match-path=src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol -vv + */ +contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_Test is ProtocolV3TestBase { + AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 internal proposal; + + function setUp() public { + vm.createSelectFork(vm.rpcUrl('base'), 24002429); + proposal = new AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221(); + } + + /** + * @dev executes the generic test suite including e2e and config snapshots + */ + function test_defaultProposalExecution() public { + defaultTest( + 'AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221', + AaveV3Base.POOL, + address(proposal) + ); + } + + function test_collectorHasezETHFunds() public { + GovV3Helpers.executePayload(vm, address(proposal)); + (address aTokenAddress, , ) = AaveV3Base.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses( + proposal.ezETH() + ); + assertGe(IERC20(aTokenAddress).balanceOf(address(AaveV3Base.COLLECTOR)), 3 * 10 ** 16); + } + + function test_ezETHAdmin() public { + GovV3Helpers.executePayload(vm, address(proposal)); + (address aezETH, , ) = AaveV3Base.AAVE_PROTOCOL_DATA_PROVIDER.getReserveTokensAddresses( + proposal.ezETH() + ); + assertEq( + IEmissionManager(AaveV3Base.EMISSION_MANAGER).getEmissionAdmin(proposal.ezETH()), + proposal.ezETH_LM_ADMIN() + ); + assertEq( + IEmissionManager(AaveV3Base.EMISSION_MANAGER).getEmissionAdmin(aezETH), + proposal.ezETH_LM_ADMIN() + ); + } +} diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md new file mode 100644 index 000000000..753cf5cbb --- /dev/null +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md @@ -0,0 +1,75 @@ +--- +title: "Onboard ezETH to Arbitrum and Base Instances" +author: "Aave Chan Initiative" +discussions: "https://governance.aave.com/t/arfc-onboard-ezeth-to-arbitrum-and-base-instances/19622" +snapshot: "https://snapshot.box/#/s:aave.eth/proposal/0xf9fa710414237636cba11187111773fac04f74eb1a562d2b50fca86cb72a778e" +--- + +## Simple Summary + +## Motivation + +## Specification + +The table below illustrates the configured risk parameters for **ezETH** + +| Parameter | Value | +| ------------------------- | -----------------------------------------: | +| Isolation Mode | false | +| Borrowable | ENABLED | +| Collateral Enabled | true | +| Supply Cap (ezETH) | 1,750 | +| Borrow Cap (ezETH) | 175 | +| Debt Ceiling | USD 0 | +| LTV | 72 % | +| LT | 75 % | +| Liquidation Bonus | 7.5 % | +| Liquidation Protocol Fee | 10 % | +| Reserve Factor | 15 % | +| Base Variable Borrow Rate | 0 % | +| Variable Slope 1 | 7 % | +| Variable Slope 2 | 300 % | +| Uoptimal | 45 % | +| Flashloanable | ENABLED | +| Siloed Borrowing | DISABLED | +| Borrowable in Isolation | DISABLED | +| Oracle | 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612 | + +Additionaly [0xac140648435d03f784879cd789130F22Ef588Fcd](https://arbiscan.io/address/0xac140648435d03f784879cd789130F22Ef588Fcd) has been set as the emission admin for ezETH and the corresponding aToken. + +The table below illustrates the configured risk parameters for **ezETH** + +| Parameter | Value | +| ------------------------- | -----------------------------------------: | +| Isolation Mode | false | +| Borrowable | ENABLED | +| Collateral Enabled | true | +| Supply Cap (ezETH) | 1,200 | +| Borrow Cap (ezETH) | 120 | +| Debt Ceiling | USD 0 | +| LTV | 72 % | +| LT | 75 % | +| Liquidation Bonus | 7.5 % | +| Liquidation Protocol Fee | 10 % | +| Reserve Factor | 15 % | +| Base Variable Borrow Rate | 0 % | +| Variable Slope 1 | 7 % | +| Variable Slope 2 | 300 % | +| Uoptimal | 45 % | +| Flashloanable | ENABLED | +| Siloed Borrowing | DISABLED | +| Borrowable in Isolation | DISABLED | +| Oracle | 0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70 | + +Additionaly [0xac140648435d03f784879cd789130F22Ef588Fcd](https://basescan.org/address/0xac140648435d03f784879cd789130F22Ef588Fcd) has been set as the emission admin for ezETH and the corresponding aToken. + +## References + +- Implementation: [AaveV3Arbitrum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol), [AaveV3Base](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol) +- Tests: [AaveV3Arbitrum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol), [AaveV3Base](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol) +- [Snapshot](https://snapshot.box/#/s:aave.eth/proposal/0xf9fa710414237636cba11187111773fac04f74eb1a562d2b50fca86cb72a778e) +- [Discussion](https://governance.aave.com/t/arfc-onboard-ezeth-to-arbitrum-and-base-instances/19622) + +## Copyright + +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances_20241221.s.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances_20241221.s.sol new file mode 100644 index 000000000..eca2931a7 --- /dev/null +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances_20241221.s.sol @@ -0,0 +1,90 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {GovV3Helpers, IPayloadsControllerCore, PayloadsControllerUtils} from 'aave-helpers/src/GovV3Helpers.sol'; +import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol'; +import {EthereumScript, ArbitrumScript, BaseScript} from 'solidity-utils/contracts/utils/ScriptUtils.sol'; +import {AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221} from './AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol'; +import {AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221} from './AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol'; + +/** + * @dev Deploy Arbitrum + * deploy-command: make deploy-ledger contract=src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances_20241221.s.sol:DeployArbitrum chain=arbitrum + * verify-command: FOUNDRY_PROFILE=arbitrum npx catapulta-verify -b broadcast/OnboardEzETHToArbitrumAndBaseInstances_20241221.s.sol/42161/run-latest.json + */ +contract DeployArbitrum is ArbitrumScript { + function run() external broadcast { + // deploy payloads + address payload0 = GovV3Helpers.deployDeterministic( + type(AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221).creationCode + ); + + // compose action + IPayloadsControllerCore.ExecutionAction[] + memory actions = new IPayloadsControllerCore.ExecutionAction[](1); + actions[0] = GovV3Helpers.buildAction(payload0); + + // register action at payloadsController + GovV3Helpers.createPayload(actions); + } +} + +/** + * @dev Deploy Base + * deploy-command: make deploy-ledger contract=src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances_20241221.s.sol:DeployBase chain=base + * verify-command: FOUNDRY_PROFILE=base npx catapulta-verify -b broadcast/OnboardEzETHToArbitrumAndBaseInstances_20241221.s.sol/8453/run-latest.json + */ +contract DeployBase is BaseScript { + function run() external broadcast { + // deploy payloads + address payload0 = GovV3Helpers.deployDeterministic( + type(AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221).creationCode + ); + + // compose action + IPayloadsControllerCore.ExecutionAction[] + memory actions = new IPayloadsControllerCore.ExecutionAction[](1); + actions[0] = GovV3Helpers.buildAction(payload0); + + // register action at payloadsController + GovV3Helpers.createPayload(actions); + } +} + +/** + * @dev Create Proposal + * command: make deploy-ledger contract=src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances_20241221.s.sol:CreateProposal chain=mainnet + */ +contract CreateProposal is EthereumScript { + function run() external { + // create payloads + PayloadsControllerUtils.Payload[] memory payloads = new PayloadsControllerUtils.Payload[](2); + + // compose actions for validation + IPayloadsControllerCore.ExecutionAction[] + memory actionsArbitrum = new IPayloadsControllerCore.ExecutionAction[](1); + actionsArbitrum[0] = GovV3Helpers.buildAction( + type(AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221).creationCode + ); + payloads[0] = GovV3Helpers.buildArbitrumPayload(vm, actionsArbitrum); + + IPayloadsControllerCore.ExecutionAction[] + memory actionsBase = new IPayloadsControllerCore.ExecutionAction[](1); + actionsBase[0] = GovV3Helpers.buildAction( + type(AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221).creationCode + ); + payloads[1] = GovV3Helpers.buildBasePayload(vm, actionsBase); + + // create proposal + vm.startBroadcast(); + GovV3Helpers.createProposal( + vm, + payloads, + GovernanceV3Ethereum.VOTING_PORTAL_ETH_POL, + GovV3Helpers.ipfsHashFile( + vm, + 'src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md' + ) + ); + } +} diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/config.ts b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/config.ts new file mode 100644 index 000000000..c80456847 --- /dev/null +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/config.ts @@ -0,0 +1,108 @@ +import {ConfigFile} from '../../generator/types'; +export const config: ConfigFile = { + rootOptions: { + configFile: 'src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/config.ts', + author: 'Aave Chan Initiative', + pools: ['AaveV3Arbitrum', 'AaveV3Base'], + title: 'Onboard ezETH to Arbitrum and Base Instances', + shortName: 'OnboardEzETHToArbitrumAndBaseInstances', + date: '20241221', + discussion: + 'https://governance.aave.com/t/arfc-onboard-ezeth-to-arbitrum-and-base-instances/19622', + snapshot: + 'https://snapshot.box/#/s:aave.eth/proposal/0xf9fa710414237636cba11187111773fac04f74eb1a562d2b50fca86cb72a778e', + votingNetwork: 'POLYGON', + }, + poolOptions: { + AaveV3Arbitrum: { + configs: { + EMODES_UPDATES: [ + {eModeCategory: 3, ltv: '93', liqThreshold: '95', liqBonus: '1', label: 'ezETH / wstETH'}, + ], + EMODES_ASSETS: [ + {asset: 'ezETH', eModeCategory: '3', collateral: 'ENABLED', borrowable: 'DISABLED'}, + { + asset: 'ezETH', + eModeCategory: 'AaveV3ArbitrumEModes.ETH_CORRELATED', + collateral: 'ENABLED', + borrowable: 'DISABLED', + }, + {asset: 'wstETH', eModeCategory: '3', collateral: 'DISABLED', borrowable: 'ENABLED'}, + ], + ASSET_LISTING: [ + { + assetSymbol: 'ezETH', + decimals: 18, + priceFeed: '0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612', + ltv: '72', + liqThreshold: '75', + liqBonus: '7.5', + debtCeiling: '0', + liqProtocolFee: '10', + enabledToBorrow: 'ENABLED', + flashloanable: 'ENABLED', + borrowableInIsolation: 'DISABLED', + withSiloedBorrowing: 'DISABLED', + reserveFactor: '15', + supplyCap: '1750', + borrowCap: '175', + rateStrategyParams: { + optimalUtilizationRate: '45', + baseVariableBorrowRate: '0', + variableRateSlope1: '7', + variableRateSlope2: '300', + }, + asset: '0x2416092f143378750bb29b79eD961ab195CcEea5', + admin: '0xac140648435d03f784879cd789130F22Ef588Fcd', + }, + ], + }, + cache: {blockNumber: 287111756}, + }, + AaveV3Base: { + configs: { + EMODES_UPDATES: [ + {eModeCategory: 2, ltv: '93', liqThreshold: '95', liqBonus: '1', label: 'ezETH / wstETH'}, + ], + EMODES_ASSETS: [ + {asset: 'wstETH', eModeCategory: '2', collateral: 'DISABLED', borrowable: 'ENABLED'}, + { + asset: 'ezETH', + eModeCategory: 'AaveV3BaseEModes.ETH_CORRELATED', + collateral: 'ENABLED', + borrowable: 'DISABLED', + }, + {asset: 'ezETH', eModeCategory: '2', collateral: 'ENABLED', borrowable: 'DISABLED'}, + ], + ASSET_LISTING: [ + { + assetSymbol: 'ezETH', + decimals: 18, + priceFeed: '0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70', + ltv: '72', + liqThreshold: '75', + liqBonus: '7.5', + debtCeiling: '0', + liqProtocolFee: '10', + enabledToBorrow: 'ENABLED', + flashloanable: 'ENABLED', + borrowableInIsolation: 'DISABLED', + withSiloedBorrowing: 'DISABLED', + reserveFactor: '15', + supplyCap: '1200', + borrowCap: '120', + rateStrategyParams: { + optimalUtilizationRate: '45', + baseVariableBorrowRate: '0', + variableRateSlope1: '7', + variableRateSlope2: '300', + }, + asset: '0x2416092f143378750bb29b79ed961ab195cceea5', + admin: '0xac140648435d03f784879cd789130F22Ef588Fcd', + }, + ], + }, + cache: {blockNumber: 24002429}, + }, + }, +}; From 98225594c52852538d70dc0de01132b5ec10e4d0 Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Thu, 2 Jan 2025 21:37:36 +0100 Subject: [PATCH 02/21] fix: oracle address --- ...bitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- ...V3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- .../config.ts | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index f603f56cc..04b9398ce 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -87,7 +87,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV listings[0] = IAaveV3ConfigEngine.Listing({ asset: ezETH, assetSymbol: 'ezETH', - priceFeed: 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612, + priceFeed: 0x8Ed37B72300683c0482A595bfa80fFb793874b15, enabledToBorrow: EngineFlags.ENABLED, borrowableInIsolation: EngineFlags.DISABLED, withSiloedBorrowing: EngineFlags.DISABLED, diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 564fc7b67..506cc6f3e 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -85,7 +85,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay listings[0] = IAaveV3ConfigEngine.Listing({ asset: ezETH, assetSymbol: 'ezETH', - priceFeed: 0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70, + priceFeed: 0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4, enabledToBorrow: EngineFlags.ENABLED, borrowableInIsolation: EngineFlags.DISABLED, withSiloedBorrowing: EngineFlags.DISABLED, diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/config.ts b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/config.ts index c80456847..854abd168 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/config.ts +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/config.ts @@ -33,7 +33,7 @@ export const config: ConfigFile = { { assetSymbol: 'ezETH', decimals: 18, - priceFeed: '0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612', + priceFeed: '0x8Ed37B72300683c0482A595bfa80fFb793874b15', ltv: '72', liqThreshold: '75', liqBonus: '7.5', @@ -78,7 +78,7 @@ export const config: ConfigFile = { { assetSymbol: 'ezETH', decimals: 18, - priceFeed: '0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70', + priceFeed: '0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4', ltv: '72', liqThreshold: '75', liqBonus: '7.5', From 6f6f5fa83e6cddf79a88f769fd8e30e8e654e7f9 Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Mon, 6 Jan 2025 19:46:35 +0100 Subject: [PATCH 03/21] update block height --- ...ArbitrumAndBaseInstances_20241221_after.md | 20 +++++++++---------- ...ArbitrumAndBaseInstances_20241221_after.md | 20 +++++++++---------- ...HToArbitrumAndBaseInstances_20241221.t.sol | 2 +- ...HToArbitrumAndBaseInstances_20241221.t.sol | 2 +- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md index 4b168a6c7..9cd3d0a44 100644 --- a/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md +++ b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -14,10 +14,10 @@ | debtCeiling | 0 $ [0] | | isSiloed | false | | isFlashloanable | true | -| oracle | [0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612](https://arbiscan.io/address/0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612) | +| oracle | [0x8Ed37B72300683c0482A595bfa80fFb793874b15](https://arbiscan.io/address/0x8Ed37B72300683c0482A595bfa80fFb793874b15) | | oracleDecimals | 8 | -| oracleDescription | ETH / USD | -| oracleLatestAnswer | 3391.8434 | +| oracleDescription | Capped ezETH / ETH / USD | +| oracleLatestAnswer | 3787.98660028 | | usageAsCollateralEnabled | true | | ltv | 72 % [7200] | | liquidationThreshold | 75 % [7500] | @@ -33,13 +33,13 @@ | interestRateStrategy | [0x429F16dBA3B9e1900087Cbaa7b50D38Bc60fB73F](https://arbiscan.io/address/0x429F16dBA3B9e1900087Cbaa7b50D38Bc60fB73F) | | aTokenName | Aave Arbitrum ezETH | | aTokenSymbol | aArbezETH | -| aTokenUnderlyingBalance | 0 ezETH [0] | +| aTokenUnderlyingBalance | 0.03 ezETH [30000000000000000] | | id | 17 | | isPaused | false | | variableDebtTokenName | Aave Arbitrum Variable Debt ezETH | | variableDebtTokenSymbol | variableDebtArbezETH | | virtualAccountingActive | true | -| virtualBalance | 0 ezETH [0] | +| virtualBalance | 0.03 ezETH [30000000000000000] | | optimalUsageRatio | 45 % | | maxVariableBorrowRate | 307 % | | baseVariableBorrowRate | 0 % | @@ -110,7 +110,7 @@ "aTokenImpl": "0x1Be1798b70aEe431c2986f7ff48d9D1fa350786a", "aTokenName": "Aave Arbitrum ezETH", "aTokenSymbol": "aArbezETH", - "aTokenUnderlyingBalance": "0", + "aTokenUnderlyingBalance": "30000000000000000", "borrowCap": 175, "borrowingEnabled": true, "debtCeiling": 0, @@ -127,10 +127,10 @@ "liquidationProtocolFee": 1000, "liquidationThreshold": 7500, "ltv": 7200, - "oracle": "0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612", + "oracle": "0x8Ed37B72300683c0482A595bfa80fFb793874b15", "oracleDecimals": 8, - "oracleDescription": "ETH / USD", - "oracleLatestAnswer": "339184340000", + "oracleDescription": "Capped ezETH / ETH / USD", + "oracleLatestAnswer": "378798660028", "reserveFactor": 1500, "supplyCap": 1750, "symbol": "ezETH", @@ -141,7 +141,7 @@ "variableDebtTokenName": "Aave Arbitrum Variable Debt ezETH", "variableDebtTokenSymbol": "variableDebtArbezETH", "virtualAccountingActive": true, - "virtualBalance": "0" + "virtualBalance": "30000000000000000" } } }, diff --git a/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md index 8f388505b..f400e3446 100644 --- a/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md +++ b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -14,10 +14,10 @@ | debtCeiling | 0 $ [0] | | isSiloed | false | | isFlashloanable | true | -| oracle | [0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70](https://basescan.org/address/0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70) | +| oracle | [0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4](https://basescan.org/address/0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4) | | oracleDecimals | 8 | -| oracleDescription | ETH / USD | -| oracleLatestAnswer | 3391.38 | +| oracleDescription | Capped ezETH / ETH / USD | +| oracleLatestAnswer | 3785.26748692 | | usageAsCollateralEnabled | true | | ltv | 72 % [7200] | | liquidationThreshold | 75 % [7500] | @@ -33,13 +33,13 @@ | interestRateStrategy | [0x86AB1C62A8bf868E1b3E1ab87d587Aba6fbCbDC5](https://basescan.org/address/0x86AB1C62A8bf868E1b3E1ab87d587Aba6fbCbDC5) | | aTokenName | Aave Base ezETH | | aTokenSymbol | aBasezETH | -| aTokenUnderlyingBalance | 0 ezETH [0] | +| aTokenUnderlyingBalance | 0.03 ezETH [30000000000000000] | | id | 7 | | isPaused | false | | variableDebtTokenName | Aave Base Variable Debt ezETH | | variableDebtTokenSymbol | variableDebtBasezETH | | virtualAccountingActive | true | -| virtualBalance | 0 ezETH [0] | +| virtualBalance | 0.03 ezETH [30000000000000000] | | optimalUsageRatio | 45 % | | maxVariableBorrowRate | 307 % | | baseVariableBorrowRate | 0 % | @@ -106,7 +106,7 @@ "aTokenImpl": "0x98F409Fc4A42F34AE3c326c7f48ED01ae8cAeC69", "aTokenName": "Aave Base ezETH", "aTokenSymbol": "aBasezETH", - "aTokenUnderlyingBalance": "0", + "aTokenUnderlyingBalance": "30000000000000000", "borrowCap": 120, "borrowingEnabled": true, "debtCeiling": 0, @@ -123,10 +123,10 @@ "liquidationProtocolFee": 1000, "liquidationThreshold": 7500, "ltv": 7200, - "oracle": "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70", + "oracle": "0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4", "oracleDecimals": 8, - "oracleDescription": "ETH / USD", - "oracleLatestAnswer": "339138000000", + "oracleDescription": "Capped ezETH / ETH / USD", + "oracleLatestAnswer": "378526748692", "reserveFactor": 1500, "supplyCap": 1200, "symbol": "ezETH", @@ -137,7 +137,7 @@ "variableDebtTokenName": "Aave Base Variable Debt ezETH", "variableDebtTokenSymbol": "variableDebtBasezETH", "virtualAccountingActive": true, - "virtualBalance": "0" + "virtualBalance": "30000000000000000" } } }, diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol index bf0a03c24..366e59e33 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol @@ -18,7 +18,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_Test is AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 internal proposal; function setUp() public { - vm.createSelectFork(vm.rpcUrl('arbitrum'), 287111756); + vm.createSelectFork(vm.rpcUrl('arbitrum'), 292661143); proposal = new AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221(); } diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol index 5ac9679bb..3dd1ef5a8 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.t.sol @@ -18,7 +18,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_Test is Prot AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 internal proposal; function setUp() public { - vm.createSelectFork(vm.rpcUrl('base'), 24002429); + vm.createSelectFork(vm.rpcUrl('base'), 24698319); proposal = new AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221(); } From dec74768170388899d2c5e796f71771a94d2f61a Mon Sep 17 00:00:00 2001 From: Alice <121383428+Rozengarden@users.noreply.github.com> Date: Tue, 7 Jan 2025 23:12:33 +0100 Subject: [PATCH 04/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 04b9398ce..de75ae85b 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -46,7 +46,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV ltv: 93_00, liqThreshold: 95_00, liqBonus: 1_00, - label: 'ezETH / wstETH' + label: 'LRT wstETH main' }); return eModeUpdates; From f140da4a4879638dd21ecede0f34c4f7d2800357 Mon Sep 17 00:00:00 2001 From: Alice <121383428+Rozengarden@users.noreply.github.com> Date: Tue, 7 Jan 2025 23:12:41 +0100 Subject: [PATCH 05/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...veV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 506cc6f3e..8422af01c 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -44,7 +44,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay ltv: 93_00, liqThreshold: 95_00, liqBonus: 1_00, - label: 'ezETH / wstETH' + label: 'LRT wstETH main' }); return eModeUpdates; From 859f34c147cf27276c6aec1e6caccb7ddc4ed6b4 Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Tue, 7 Jan 2025 23:44:10 +0100 Subject: [PATCH 06/21] Improve & fix AIP description --- .../OnboardEzETHToArbitrumAndBaseInstances.md | 50 +++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md index 753cf5cbb..630f7e105 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md @@ -7,11 +7,17 @@ snapshot: "https://snapshot.box/#/s:aave.eth/proposal/0xf9fa710414237636cba11187 ## Simple Summary +This is an AIP for adding borrow/lend support for Renzo Protocol and its Liquid Restaking Token (LRT) ezETH on AAVE V3 Base and Arbitrum. + ## Motivation +As productive assets, staking tokens are high quality collateral to borrow against. ezETH is one of the largest liquid restaking tokens. With strong demand for ezETH on mainnet this proposal seeks to provide the opportunity for Aave users to make use of ezETH on leading Layer 2 networks: Base and Arbitrum. + +The onboarding of ezETH on these L2s will create increased ezETH demand and increased revenues for both Aave and Renzo Protocol, whilst also bolstering the liquidity and peg stability of ezETH. + ## Specification -The table below illustrates the configured risk parameters for **ezETH** +The table below illustrates the configured risk parameters for **ezETH** on Arbitrum and Base instances | Parameter | Value | | ------------------------- | -----------------------------------------: | @@ -33,35 +39,27 @@ The table below illustrates the configured risk parameters for **ezETH** | Flashloanable | ENABLED | | Siloed Borrowing | DISABLED | | Borrowable in Isolation | DISABLED | -| Oracle | 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612 | +| Oracle (Arbitrum) | 0x8Ed37B72300683c0482A595bfa80fFb793874b15 | +| Oracle (Base) | 0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4 | -Additionaly [0xac140648435d03f784879cd789130F22Ef588Fcd](https://arbiscan.io/address/0xac140648435d03f784879cd789130F22Ef588Fcd) has been set as the emission admin for ezETH and the corresponding aToken. +### CAPO -The table below illustrates the configured risk parameters for **ezETH** +| **maxYearlyRatioGrowthPercent** | **ratioReferenceTime** | **MINIMUM_SNAPSHOT_DELAY** | +| ------------------------------- | ---------------------- | -------------------------- | +| 10.89% | monthly | 14 days | -| Parameter | Value | -| ------------------------- | -----------------------------------------: | -| Isolation Mode | false | -| Borrowable | ENABLED | -| Collateral Enabled | true | -| Supply Cap (ezETH) | 1,200 | -| Borrow Cap (ezETH) | 120 | -| Debt Ceiling | USD 0 | -| LTV | 72 % | -| LT | 75 % | -| Liquidation Bonus | 7.5 % | -| Liquidation Protocol Fee | 10 % | -| Reserve Factor | 15 % | -| Base Variable Borrow Rate | 0 % | -| Variable Slope 1 | 7 % | -| Variable Slope 2 | 300 % | -| Uoptimal | 45 % | -| Flashloanable | ENABLED | -| Siloed Borrowing | DISABLED | -| Borrowable in Isolation | DISABLED | -| Oracle | 0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70 | +### E-mode: ezETH / wstETH + +| Parameter | Value | Value | +| --------------------- | ----- | ------ | +| Asset | ezETH | wstETH | +| Collateral | Yes | No | +| Borrowable | No | Yes | +| Max LTV | 93% | 93% | +| Liquidation Threshold | 95% | 95% | +| Liquidation Penalty | 1.00% | 1.00% | -Additionaly [0xac140648435d03f784879cd789130F22Ef588Fcd](https://basescan.org/address/0xac140648435d03f784879cd789130F22Ef588Fcd) has been set as the emission admin for ezETH and the corresponding aToken. +Additionaly [0xac140648435d03f784879cd789130F22Ef588Fcd](https://debank.com/profile/0xac140648435d03f784879cd789130F22Ef588Fcd) has been set as the emission admin for ezETH and the corresponding aToken on both instances. ## References From cbaf69413f8c52193748801fe0294d76bf19e83d Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Wed, 8 Jan 2025 22:48:22 +0100 Subject: [PATCH 07/21] New CL Risk Param --- ...ArbitrumAndBaseInstances_20241221_after.md | 56 ++++++++++-------- ...ArbitrumAndBaseInstances_20241221_after.md | 56 ++++++++++-------- ...ETHToArbitrumAndBaseInstances_20241221.sol | 32 ++++++++-- ...ETHToArbitrumAndBaseInstances_20241221.sol | 26 +++++++-- .../OnboardEzETHToArbitrumAndBaseInstances.md | 58 ++++++++++++------- 5 files changed, 148 insertions(+), 80 deletions(-) diff --git a/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md index 9cd3d0a44..895f3565b 100644 --- a/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md +++ b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -10,7 +10,7 @@ | isActive | true | | isFrozen | false | | supplyCap | 1,750 ezETH | -| borrowCap | 175 ezETH | +| borrowCap | 0 ezETH | | debtCeiling | 0 $ [0] | | isSiloed | false | | isFlashloanable | true | @@ -19,8 +19,8 @@ | oracleDescription | Capped ezETH / ETH / USD | | oracleLatestAnswer | 3787.98660028 | | usageAsCollateralEnabled | true | -| ltv | 72 % [7200] | -| liquidationThreshold | 75 % [7500] | +| ltv | 0.05 % [5] | +| liquidationThreshold | 0.1 % [10] | | liquidationBonus | 7.5 % | | liquidationProtocolFee | 10 % [1000] | | reserveFactor | 15 % [1500] | @@ -56,21 +56,13 @@ ### EMode: ETH correlated(id: 2) -| description | value before | value after | -| --- | --- | --- | -| eMode.label (unchanged) | ETH correlated | ETH correlated | -| eMode.ltv (unchanged) | 93 % | 93 % | -| eMode.liquidationThreshold (unchanged) | 95 % | 95 % | -| eMode.liquidationBonus (unchanged) | 1 % | 1 % | -| eMode.borrowableBitmap (unchanged) | WETH, wstETH, weETH | WETH, wstETH, weETH | -| eMode.collateralBitmap | WETH, wstETH, weETH | WETH, wstETH, weETH, ezETH | -### EMode: ezETH / wstETH(id: 3) +### EMode: LRT wstETH main(id: 3) | description | value before | value after | | --- | --- | --- | -| eMode.label | - | ezETH / wstETH | +| eMode.label | - | LRT wstETH main | | eMode.ltv | - | 93 % | | eMode.liquidationThreshold | - | 95 % | | eMode.liquidationBonus | - | 1 % | @@ -78,28 +70,46 @@ | eMode.collateralBitmap | - | ezETH | +### EMode: ezETH stablecoin(id: 4) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label | - | ezETH stablecoin | +| eMode.ltv | - | 72 % | +| eMode.liquidationThreshold | - | 75 % | +| eMode.liquidationBonus | - | 7.5 % | +| eMode.borrowableBitmap | - | USDT, USDC | +| eMode.collateralBitmap | - | ezETH | + + ## Raw diff ```json { "eModes": { - "2": { - "collateralBitmap": { - "from": "33040", - "to": "164112" - } - }, "3": { "from": null, "to": { "borrowableBitmap": "256", "collateralBitmap": "131072", "eModeCategory": 3, - "label": "ezETH / wstETH", + "label": "LRT wstETH main", "liquidationBonus": 10100, "liquidationThreshold": 9500, "ltv": 9300 } + }, + "4": { + "from": null, + "to": { + "borrowableBitmap": "4128", + "collateralBitmap": "131072", + "eModeCategory": 4, + "label": "ezETH stablecoin", + "liquidationBonus": 10750, + "liquidationThreshold": 7500, + "ltv": 7200 + } } }, "reserves": { @@ -111,7 +121,7 @@ "aTokenName": "Aave Arbitrum ezETH", "aTokenSymbol": "aArbezETH", "aTokenUnderlyingBalance": "30000000000000000", - "borrowCap": 175, + "borrowCap": 0, "borrowingEnabled": true, "debtCeiling": 0, "decimals": 18, @@ -125,8 +135,8 @@ "isSiloed": false, "liquidationBonus": 10750, "liquidationProtocolFee": 1000, - "liquidationThreshold": 7500, - "ltv": 7200, + "liquidationThreshold": 10, + "ltv": 5, "oracle": "0x8Ed37B72300683c0482A595bfa80fFb793874b15", "oracleDecimals": 8, "oracleDescription": "Capped ezETH / ETH / USD", diff --git a/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md index f400e3446..2abb38bab 100644 --- a/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md +++ b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -10,7 +10,7 @@ | isActive | true | | isFrozen | false | | supplyCap | 1,200 ezETH | -| borrowCap | 120 ezETH | +| borrowCap | 0 ezETH | | debtCeiling | 0 $ [0] | | isSiloed | false | | isFlashloanable | true | @@ -19,8 +19,8 @@ | oracleDescription | Capped ezETH / ETH / USD | | oracleLatestAnswer | 3785.26748692 | | usageAsCollateralEnabled | true | -| ltv | 72 % [7200] | -| liquidationThreshold | 75 % [7500] | +| ltv | 0.05 % [5] | +| liquidationThreshold | 0.1 % [10] | | liquidationBonus | 7.5 % | | liquidationProtocolFee | 10 % [1000] | | reserveFactor | 15 % [1500] | @@ -52,21 +52,13 @@ ### EMode: ETH correlated(id: 1) -| description | value before | value after | -| --- | --- | --- | -| eMode.label (unchanged) | ETH correlated | ETH correlated | -| eMode.ltv (unchanged) | 90 % | 90 % | -| eMode.liquidationThreshold (unchanged) | 93 % | 93 % | -| eMode.liquidationBonus (unchanged) | 2 % | 2 % | -| eMode.borrowableBitmap (unchanged) | WETH, cbETH, wstETH, weETH | WETH, cbETH, wstETH, weETH | -| eMode.collateralBitmap | WETH, cbETH, wstETH, weETH | WETH, cbETH, wstETH, weETH, ezETH | -### EMode: ezETH / wstETH(id: 2) +### EMode: LRT wstETH main(id: 2) | description | value before | value after | | --- | --- | --- | -| eMode.label | - | ezETH / wstETH | +| eMode.label | - | LRT wstETH main | | eMode.ltv | - | 93 % | | eMode.liquidationThreshold | - | 95 % | | eMode.liquidationBonus | - | 1 % | @@ -74,28 +66,46 @@ | eMode.collateralBitmap | - | ezETH | +### EMode: ezETH stablecoin(id: 3) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label | - | ezETH stablecoin | +| eMode.ltv | - | 72 % | +| eMode.liquidationThreshold | - | 75 % | +| eMode.liquidationBonus | - | 7.5 % | +| eMode.borrowableBitmap | - | USDC | +| eMode.collateralBitmap | - | ezETH | + + ## Raw diff ```json { "eModes": { - "1": { - "collateralBitmap": { - "from": "43", - "to": "171" - } - }, "2": { "from": null, "to": { "borrowableBitmap": "8", "collateralBitmap": "128", "eModeCategory": 2, - "label": "ezETH / wstETH", + "label": "LRT wstETH main", "liquidationBonus": 10100, "liquidationThreshold": 9500, "ltv": 9300 } + }, + "3": { + "from": null, + "to": { + "borrowableBitmap": "16", + "collateralBitmap": "128", + "eModeCategory": 3, + "label": "ezETH stablecoin", + "liquidationBonus": 10750, + "liquidationThreshold": 7500, + "ltv": 7200 + } } }, "reserves": { @@ -107,7 +117,7 @@ "aTokenName": "Aave Base ezETH", "aTokenSymbol": "aBasezETH", "aTokenUnderlyingBalance": "30000000000000000", - "borrowCap": 120, + "borrowCap": 0, "borrowingEnabled": true, "debtCeiling": 0, "decimals": 18, @@ -121,8 +131,8 @@ "isSiloed": false, "liquidationBonus": 10750, "liquidationProtocolFee": 1000, - "liquidationThreshold": 7500, - "ltv": 7200, + "liquidationThreshold": 10, + "ltv": 5, "oracle": "0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4", "oracleDecimals": 8, "oracleDescription": "Capped ezETH / ETH / USD", diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index de75ae85b..1f11e9687 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -39,7 +39,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV returns (IAaveV3ConfigEngine.EModeCategoryUpdate[] memory) { IAaveV3ConfigEngine.EModeCategoryUpdate[] - memory eModeUpdates = new IAaveV3ConfigEngine.EModeCategoryUpdate[](1); + memory eModeUpdates = new IAaveV3ConfigEngine.EModeCategoryUpdate[](2); eModeUpdates[0] = IAaveV3ConfigEngine.EModeCategoryUpdate({ eModeCategory: 3, @@ -49,6 +49,14 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV label: 'LRT wstETH main' }); + eModeUpdates[1] = IAaveV3ConfigEngine.EModeCategoryUpdate({ + eModeCategory: 4, + ltv: 72_00, + liqThreshold: 75_00, + liqBonus: 7_50, + label: 'ezETH stablecoin' + }); + return eModeUpdates; } function assetsEModeUpdates() @@ -58,7 +66,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV returns (IAaveV3ConfigEngine.AssetEModeUpdate[] memory) { IAaveV3ConfigEngine.AssetEModeUpdate[] - memory assetEModeUpdates = new IAaveV3ConfigEngine.AssetEModeUpdate[](3); + memory assetEModeUpdates = new IAaveV3ConfigEngine.AssetEModeUpdate[](5); assetEModeUpdates[0] = IAaveV3ConfigEngine.AssetEModeUpdate({ asset: ezETH, @@ -68,7 +76,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV }); assetEModeUpdates[1] = IAaveV3ConfigEngine.AssetEModeUpdate({ asset: ezETH, - eModeCategory: AaveV3ArbitrumEModes.ETH_CORRELATED, + eModeCategory: 4, borrowable: EngineFlags.DISABLED, collateral: EngineFlags.ENABLED }); @@ -78,6 +86,18 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV borrowable: EngineFlags.ENABLED, collateral: EngineFlags.DISABLED }); + assetEModeUpdates[3] = IAaveV3ConfigEngine.AssetEModeUpdate({ + asset: AaveV3ArbitrumAssets.USDT_UNDERLYING, + eModeCategory: 4, + borrowable: EngineFlags.ENABLED, + collateral: EngineFlags.DISABLED + }); + assetEModeUpdates[4] = IAaveV3ConfigEngine.AssetEModeUpdate({ + asset: AaveV3ArbitrumAssets.USDCn_UNDERLYING, + eModeCategory: 4, + borrowable: EngineFlags.ENABLED, + collateral: EngineFlags.DISABLED + }); return assetEModeUpdates; } @@ -92,12 +112,12 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV borrowableInIsolation: EngineFlags.DISABLED, withSiloedBorrowing: EngineFlags.DISABLED, flashloanable: EngineFlags.ENABLED, - ltv: 72_00, - liqThreshold: 75_00, + ltv: 5, + liqThreshold: 10, liqBonus: 7_50, reserveFactor: 15_00, supplyCap: 1_750, - borrowCap: 175, + borrowCap: 0, debtCeiling: 0, liqProtocolFee: 10_00, rateStrategyParams: IAaveV3ConfigEngine.InterestRateInputData({ diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 8422af01c..d96e0b563 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -37,7 +37,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay returns (IAaveV3ConfigEngine.EModeCategoryUpdate[] memory) { IAaveV3ConfigEngine.EModeCategoryUpdate[] - memory eModeUpdates = new IAaveV3ConfigEngine.EModeCategoryUpdate[](1); + memory eModeUpdates = new IAaveV3ConfigEngine.EModeCategoryUpdate[](2); eModeUpdates[0] = IAaveV3ConfigEngine.EModeCategoryUpdate({ eModeCategory: 2, @@ -47,6 +47,14 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay label: 'LRT wstETH main' }); + eModeUpdates[1] = IAaveV3ConfigEngine.EModeCategoryUpdate({ + eModeCategory: 3, + ltv: 72_00, + liqThreshold: 75_00, + liqBonus: 7_50, + label: 'ezETH stablecoin' + }); + return eModeUpdates; } function assetsEModeUpdates() @@ -56,7 +64,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay returns (IAaveV3ConfigEngine.AssetEModeUpdate[] memory) { IAaveV3ConfigEngine.AssetEModeUpdate[] - memory assetEModeUpdates = new IAaveV3ConfigEngine.AssetEModeUpdate[](3); + memory assetEModeUpdates = new IAaveV3ConfigEngine.AssetEModeUpdate[](4); assetEModeUpdates[0] = IAaveV3ConfigEngine.AssetEModeUpdate({ asset: AaveV3BaseAssets.wstETH_UNDERLYING, @@ -66,7 +74,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay }); assetEModeUpdates[1] = IAaveV3ConfigEngine.AssetEModeUpdate({ asset: ezETH, - eModeCategory: AaveV3BaseEModes.ETH_CORRELATED, + eModeCategory: 3, borrowable: EngineFlags.DISABLED, collateral: EngineFlags.ENABLED }); @@ -76,6 +84,12 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay borrowable: EngineFlags.DISABLED, collateral: EngineFlags.ENABLED }); + assetEModeUpdates[3] = IAaveV3ConfigEngine.AssetEModeUpdate({ + asset: AaveV3BaseAssets.USDC_UNDERLYING, + eModeCategory: 3, + borrowable: EngineFlags.ENABLED, + collateral: EngineFlags.DISABLED + }); return assetEModeUpdates; } @@ -90,12 +104,12 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay borrowableInIsolation: EngineFlags.DISABLED, withSiloedBorrowing: EngineFlags.DISABLED, flashloanable: EngineFlags.ENABLED, - ltv: 72_00, - liqThreshold: 75_00, + ltv: 5, + liqThreshold: 10, liqBonus: 7_50, reserveFactor: 15_00, supplyCap: 1_200, - borrowCap: 120, + borrowCap: 0, debtCeiling: 0, liqProtocolFee: 10_00, rateStrategyParams: IAaveV3ConfigEngine.InterestRateInputData({ diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md index 630f7e105..c58c8425f 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md @@ -19,28 +19,31 @@ The onboarding of ezETH on these L2s will create increased ezETH demand and incr The table below illustrates the configured risk parameters for **ezETH** on Arbitrum and Base instances -| Parameter | Value | -| ------------------------- | -----------------------------------------: | -| Isolation Mode | false | -| Borrowable | ENABLED | -| Collateral Enabled | true | -| Supply Cap (ezETH) | 1,750 | -| Borrow Cap (ezETH) | 175 | -| Debt Ceiling | USD 0 | -| LTV | 72 % | -| LT | 75 % | -| Liquidation Bonus | 7.5 % | -| Liquidation Protocol Fee | 10 % | -| Reserve Factor | 15 % | -| Base Variable Borrow Rate | 0 % | -| Variable Slope 1 | 7 % | -| Variable Slope 2 | 300 % | -| Uoptimal | 45 % | -| Flashloanable | ENABLED | -| Siloed Borrowing | DISABLED | -| Borrowable in Isolation | DISABLED | -| Oracle (Arbitrum) | 0x8Ed37B72300683c0482A595bfa80fFb793874b15 | -| Oracle (Base) | 0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4 | +| Parameter | Value | +| --------------------------- | -----------------------------------------: | +| Isolation Mode | false | +| Borrowable | ENABLED | +| Collateral Enabled | true | +| Supply Cap (ezETH) Arbitrum | 1,750 | +| Supply Cap (ezETH) Base | 1,200 | +| Borrow Cap (ezETH) | 0 | +| Debt Ceiling | USD 0 | +| LTV | 0.05 % | +| LT | 0.10 % | +| Liquidation Bonus | 7.5 % | +| Liquidation Protocol Fee | 10 % | +| Reserve Factor | 15 % | +| Base Variable Borrow Rate | 0 % | +| Variable Slope 1 | 7 % | +| Variable Slope 2 | 300 % | +| Uoptimal | 45 % | +| Flashloanable | ENABLED | +| Siloed Borrowing | DISABLED | +| Borrowable in Isolation | DISABLED | +| Oracle (Arbitrum) | 0x8Ed37B72300683c0482A595bfa80fFb793874b15 | +| Oracle (Base) | 0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4 | + +The following CAPO and E-Mode parameters are applied to both instances ### CAPO @@ -59,6 +62,17 @@ The table below illustrates the configured risk parameters for **ezETH** on Arbi | Liquidation Threshold | 95% | 95% | | Liquidation Penalty | 1.00% | 1.00% | +### E-mode: ezETH / stablecoin + +| Parameter | Value | Value | Value (only on Arbitrum) | +| --------------------- | ----- | ----- | ------------------------ | +| Asset | ezETH | USDC | USDT | +| Collateral | Yes | No | No | +| Borrowable | No | Yes | Yes | +| Max LTV | 72% | 72% | 72% | +| Liquidation Threshold | 75% | 75% | 75% | +| Liquidation Penalty | 7.50% | 7.50% | 7.50% | + Additionaly [0xac140648435d03f784879cd789130F22Ef588Fcd](https://debank.com/profile/0xac140648435d03f784879cd789130F22Ef588Fcd) has been set as the emission admin for ezETH and the corresponding aToken on both instances. ## References From bdaf9eaa75c78fb27f3817e896e2d6bf8ae9839a Mon Sep 17 00:00:00 2001 From: Marc Zeller <21088542+marczeller@users.noreply.github.com> Date: Thu, 9 Jan 2025 12:34:02 +0100 Subject: [PATCH 08/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...veV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index d96e0b563..c57088863 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -52,7 +52,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay ltv: 72_00, liqThreshold: 75_00, liqBonus: 7_50, - label: 'ezETH stablecoin' + label: 'LRT Stablecoins main' }); return eModeUpdates; From 746dfdbe7895c80a57ceafd3f268475d601a719d Mon Sep 17 00:00:00 2001 From: Marc Zeller <21088542+marczeller@users.noreply.github.com> Date: Thu, 9 Jan 2025 12:34:10 +0100 Subject: [PATCH 09/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...veV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index c57088863..855b64a09 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -100,7 +100,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay asset: ezETH, assetSymbol: 'ezETH', priceFeed: 0x438e24f5FCDC1A66ecb25D19B5543e0Cb91A44D4, - enabledToBorrow: EngineFlags.ENABLED, + enabledToBorrow: EngineFlags.DISABLED, borrowableInIsolation: EngineFlags.DISABLED, withSiloedBorrowing: EngineFlags.DISABLED, flashloanable: EngineFlags.ENABLED, From b08809549affccc64df3fb51ff7774e174d9d1b0 Mon Sep 17 00:00:00 2001 From: Marc Zeller <21088542+marczeller@users.noreply.github.com> Date: Thu, 9 Jan 2025 12:34:16 +0100 Subject: [PATCH 10/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 1f11e9687..f150ec53e 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -117,7 +117,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV liqBonus: 7_50, reserveFactor: 15_00, supplyCap: 1_750, - borrowCap: 0, + borrowCap: 1, debtCeiling: 0, liqProtocolFee: 10_00, rateStrategyParams: IAaveV3ConfigEngine.InterestRateInputData({ From 7d3aa3b1582b7ffa3100a4c7865df4570fce96e0 Mon Sep 17 00:00:00 2001 From: Marc Zeller <21088542+marczeller@users.noreply.github.com> Date: Thu, 9 Jan 2025 12:34:23 +0100 Subject: [PATCH 11/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index f150ec53e..98babe8e4 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -108,7 +108,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV asset: ezETH, assetSymbol: 'ezETH', priceFeed: 0x8Ed37B72300683c0482A595bfa80fFb793874b15, - enabledToBorrow: EngineFlags.ENABLED, + enabledToBorrow: EngineFlags.DISABLED, borrowableInIsolation: EngineFlags.DISABLED, withSiloedBorrowing: EngineFlags.DISABLED, flashloanable: EngineFlags.ENABLED, From d02ee46983f6b2d38cee36147921352de4179eb9 Mon Sep 17 00:00:00 2001 From: Marc Zeller <21088542+marczeller@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:46:48 +0100 Subject: [PATCH 12/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...veV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 855b64a09..cf23f63e7 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -109,7 +109,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay liqBonus: 7_50, reserveFactor: 15_00, supplyCap: 1_200, - borrowCap: 0, + borrowCap: 1, debtCeiling: 0, liqProtocolFee: 10_00, rateStrategyParams: IAaveV3ConfigEngine.InterestRateInputData({ From a8fb7ff6a857500b23b67aca07dc6e59069f8554 Mon Sep 17 00:00:00 2001 From: Marc Zeller <21088542+marczeller@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:46:54 +0100 Subject: [PATCH 13/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md Co-authored-by: Harsh Pandey --- .../OnboardEzETHToArbitrumAndBaseInstances.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md index c58c8425f..96b5a3be8 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md @@ -22,7 +22,7 @@ The table below illustrates the configured risk parameters for **ezETH** on Arbi | Parameter | Value | | --------------------------- | -----------------------------------------: | | Isolation Mode | false | -| Borrowable | ENABLED | +| Borrowable | DISABLED | | Collateral Enabled | true | | Supply Cap (ezETH) Arbitrum | 1,750 | | Supply Cap (ezETH) Base | 1,200 | From 365e1888aca2e9c882de51720275638e6048b5b1 Mon Sep 17 00:00:00 2001 From: Marc Zeller <21088542+marczeller@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:47:00 +0100 Subject: [PATCH 14/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md Co-authored-by: Harsh Pandey --- .../OnboardEzETHToArbitrumAndBaseInstances.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md index 96b5a3be8..4401813b8 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md @@ -26,7 +26,7 @@ The table below illustrates the configured risk parameters for **ezETH** on Arbi | Collateral Enabled | true | | Supply Cap (ezETH) Arbitrum | 1,750 | | Supply Cap (ezETH) Base | 1,200 | -| Borrow Cap (ezETH) | 0 | +| Borrow Cap (ezETH) | 1 | | Debt Ceiling | USD 0 | | LTV | 0.05 % | | LT | 0.10 % | From 1626b5f28885e70ce882c5a3b373d9cf76f7fca4 Mon Sep 17 00:00:00 2001 From: Marc Zeller <21088542+marczeller@users.noreply.github.com> Date: Thu, 9 Jan 2025 13:49:55 +0100 Subject: [PATCH 15/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 98babe8e4..5922b32d8 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -54,7 +54,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV ltv: 72_00, liqThreshold: 75_00, liqBonus: 7_50, - label: 'ezETH stablecoin' + label: 'LRT Stablecoins main' }); return eModeUpdates; From 152513324e2745373fcc3f2fbb0923e0a518129a Mon Sep 17 00:00:00 2001 From: marczeller Date: Thu, 9 Jan 2025 12:59:30 +0000 Subject: [PATCH 16/21] merge main fix tests --- ...ETHToArbitrumAndBaseInstances_20241221_after.md | 14 +++++++------- ...ETHToArbitrumAndBaseInstances_20241221_after.md | 14 +++++++------- .../OnboardEzETHToArbitrumAndBaseInstances.md | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md index 895f3565b..7c43d788c 100644 --- a/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md +++ b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -10,7 +10,7 @@ | isActive | true | | isFrozen | false | | supplyCap | 1,750 ezETH | -| borrowCap | 0 ezETH | +| borrowCap | 1 ezETH | | debtCeiling | 0 $ [0] | | isSiloed | false | | isFlashloanable | true | @@ -28,7 +28,7 @@ | aTokenImpl | [0x1Be1798b70aEe431c2986f7ff48d9D1fa350786a](https://arbiscan.io/address/0x1Be1798b70aEe431c2986f7ff48d9D1fa350786a) | | variableDebtToken | [0x1fFD28689DA7d0148ff0fCB669e9f9f0Fc13a219](https://arbiscan.io/address/0x1fFD28689DA7d0148ff0fCB669e9f9f0Fc13a219) | | variableDebtTokenImpl | [0x5E76E98E0963EcDC6A065d1435F84065b7523f39](https://arbiscan.io/address/0x5E76E98E0963EcDC6A065d1435F84065b7523f39) | -| borrowingEnabled | true | +| borrowingEnabled | false | | isBorrowableInIsolation | false | | interestRateStrategy | [0x429F16dBA3B9e1900087Cbaa7b50D38Bc60fB73F](https://arbiscan.io/address/0x429F16dBA3B9e1900087Cbaa7b50D38Bc60fB73F) | | aTokenName | Aave Arbitrum ezETH | @@ -70,11 +70,11 @@ | eMode.collateralBitmap | - | ezETH | -### EMode: ezETH stablecoin(id: 4) +### EMode: LRT Stablecoins main(id: 4) | description | value before | value after | | --- | --- | --- | -| eMode.label | - | ezETH stablecoin | +| eMode.label | - | LRT Stablecoins main | | eMode.ltv | - | 72 % | | eMode.liquidationThreshold | - | 75 % | | eMode.liquidationBonus | - | 7.5 % | @@ -105,7 +105,7 @@ "borrowableBitmap": "4128", "collateralBitmap": "131072", "eModeCategory": 4, - "label": "ezETH stablecoin", + "label": "LRT Stablecoins main", "liquidationBonus": 10750, "liquidationThreshold": 7500, "ltv": 7200 @@ -121,8 +121,8 @@ "aTokenName": "Aave Arbitrum ezETH", "aTokenSymbol": "aArbezETH", "aTokenUnderlyingBalance": "30000000000000000", - "borrowCap": 0, - "borrowingEnabled": true, + "borrowCap": 1, + "borrowingEnabled": false, "debtCeiling": 0, "decimals": 18, "id": 17, diff --git a/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md index 2abb38bab..63a870ef0 100644 --- a/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md +++ b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -10,7 +10,7 @@ | isActive | true | | isFrozen | false | | supplyCap | 1,200 ezETH | -| borrowCap | 0 ezETH | +| borrowCap | 1 ezETH | | debtCeiling | 0 $ [0] | | isSiloed | false | | isFlashloanable | true | @@ -28,7 +28,7 @@ | aTokenImpl | [0x98F409Fc4A42F34AE3c326c7f48ED01ae8cAeC69](https://basescan.org/address/0x98F409Fc4A42F34AE3c326c7f48ED01ae8cAeC69) | | variableDebtToken | [0xbc4f5631f2843488792e4F1660d0A51Ba489bdBd](https://basescan.org/address/0xbc4f5631f2843488792e4F1660d0A51Ba489bdBd) | | variableDebtTokenImpl | [0x2425A746911128c2eAA7bEBDc9Bc452eE52208a1](https://basescan.org/address/0x2425A746911128c2eAA7bEBDc9Bc452eE52208a1) | -| borrowingEnabled | true | +| borrowingEnabled | false | | isBorrowableInIsolation | false | | interestRateStrategy | [0x86AB1C62A8bf868E1b3E1ab87d587Aba6fbCbDC5](https://basescan.org/address/0x86AB1C62A8bf868E1b3E1ab87d587Aba6fbCbDC5) | | aTokenName | Aave Base ezETH | @@ -66,11 +66,11 @@ | eMode.collateralBitmap | - | ezETH | -### EMode: ezETH stablecoin(id: 3) +### EMode: LRT Stablecoins main(id: 3) | description | value before | value after | | --- | --- | --- | -| eMode.label | - | ezETH stablecoin | +| eMode.label | - | LRT Stablecoins main | | eMode.ltv | - | 72 % | | eMode.liquidationThreshold | - | 75 % | | eMode.liquidationBonus | - | 7.5 % | @@ -101,7 +101,7 @@ "borrowableBitmap": "16", "collateralBitmap": "128", "eModeCategory": 3, - "label": "ezETH stablecoin", + "label": "LRT Stablecoins main", "liquidationBonus": 10750, "liquidationThreshold": 7500, "ltv": 7200 @@ -117,8 +117,8 @@ "aTokenName": "Aave Base ezETH", "aTokenSymbol": "aBasezETH", "aTokenUnderlyingBalance": "30000000000000000", - "borrowCap": 0, - "borrowingEnabled": true, + "borrowCap": 1, + "borrowingEnabled": false, "debtCeiling": 0, "decimals": 18, "id": 7, diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md index 4401813b8..3104bca06 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/OnboardEzETHToArbitrumAndBaseInstances.md @@ -22,7 +22,7 @@ The table below illustrates the configured risk parameters for **ezETH** on Arbi | Parameter | Value | | --------------------------- | -----------------------------------------: | | Isolation Mode | false | -| Borrowable | DISABLED | +| Borrowable | DISABLED | | Collateral Enabled | true | | Supply Cap (ezETH) Arbitrum | 1,750 | | Supply Cap (ezETH) Base | 1,200 | From 2124afb1d8f107541ad3f6a822bd3ec4a6a9d625 Mon Sep 17 00:00:00 2001 From: Alice <121383428+Rozengarden@users.noreply.github.com> Date: Fri, 10 Jan 2025 14:17:58 +0100 Subject: [PATCH 17/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 5922b32d8..5e032e0a3 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -46,7 +46,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV ltv: 93_00, liqThreshold: 95_00, liqBonus: 1_00, - label: 'LRT wstETH main' + label: 'ezETH wstETH' }); eModeUpdates[1] = IAaveV3ConfigEngine.EModeCategoryUpdate({ From b1084d7cb2c7c050d78bb7ac8832355d500bf9ae Mon Sep 17 00:00:00 2001 From: Alice <121383428+Rozengarden@users.noreply.github.com> Date: Fri, 10 Jan 2025 14:18:08 +0100 Subject: [PATCH 18/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 5e032e0a3..58feeff40 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -54,7 +54,7 @@ contract AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV ltv: 72_00, liqThreshold: 75_00, liqBonus: 7_50, - label: 'LRT Stablecoins main' + label: 'ezETH Stablecoins' }); return eModeUpdates; From 50134f404c7c425cdb65d1bdadc8e4c9be5833ea Mon Sep 17 00:00:00 2001 From: Alice <121383428+Rozengarden@users.noreply.github.com> Date: Fri, 10 Jan 2025 14:18:19 +0100 Subject: [PATCH 19/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...veV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index cf23f63e7..638e049a3 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -44,7 +44,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay ltv: 93_00, liqThreshold: 95_00, liqBonus: 1_00, - label: 'LRT wstETH main' + label: 'ezETH wstETH' }); eModeUpdates[1] = IAaveV3ConfigEngine.EModeCategoryUpdate({ From 48671428be4b46fb67ab9ad08eb8b49aa4321565 Mon Sep 17 00:00:00 2001 From: Alice <121383428+Rozengarden@users.noreply.github.com> Date: Fri, 10 Jan 2025 14:18:30 +0100 Subject: [PATCH 20/21] Update src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol Co-authored-by: Harsh Pandey --- ...veV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol index 638e049a3..faf7314db 100644 --- a/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol +++ b/src/20241221_Multi_OnboardEzETHToArbitrumAndBaseInstances/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221.sol @@ -52,7 +52,7 @@ contract AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221 is AaveV3Pay ltv: 72_00, liqThreshold: 75_00, liqBonus: 7_50, - label: 'LRT Stablecoins main' + label: 'ezETH Stablecoins' }); return eModeUpdates; From 04b3232587bfced92df9b6c821c64efe5a95925a Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Fri, 10 Jan 2025 14:43:54 +0100 Subject: [PATCH 21/21] update snapshot tests --- ...EzETHToArbitrumAndBaseInstances_20241221_after.md | 12 ++++++------ ...EzETHToArbitrumAndBaseInstances_20241221_after.md | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md index 7c43d788c..ca012223a 100644 --- a/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md +++ b/diffs/AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Arbitrum_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -58,11 +58,11 @@ -### EMode: LRT wstETH main(id: 3) +### EMode: ezETH wstETH(id: 3) | description | value before | value after | | --- | --- | --- | -| eMode.label | - | LRT wstETH main | +| eMode.label | - | ezETH wstETH | | eMode.ltv | - | 93 % | | eMode.liquidationThreshold | - | 95 % | | eMode.liquidationBonus | - | 1 % | @@ -70,11 +70,11 @@ | eMode.collateralBitmap | - | ezETH | -### EMode: LRT Stablecoins main(id: 4) +### EMode: ezETH Stablecoins(id: 4) | description | value before | value after | | --- | --- | --- | -| eMode.label | - | LRT Stablecoins main | +| eMode.label | - | ezETH Stablecoins | | eMode.ltv | - | 72 % | | eMode.liquidationThreshold | - | 75 % | | eMode.liquidationBonus | - | 7.5 % | @@ -93,7 +93,7 @@ "borrowableBitmap": "256", "collateralBitmap": "131072", "eModeCategory": 3, - "label": "LRT wstETH main", + "label": "ezETH wstETH", "liquidationBonus": 10100, "liquidationThreshold": 9500, "ltv": 9300 @@ -105,7 +105,7 @@ "borrowableBitmap": "4128", "collateralBitmap": "131072", "eModeCategory": 4, - "label": "LRT Stablecoins main", + "label": "ezETH Stablecoins", "liquidationBonus": 10750, "liquidationThreshold": 7500, "ltv": 7200 diff --git a/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md index 63a870ef0..6513062b4 100644 --- a/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md +++ b/diffs/AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_before_AaveV3Base_OnboardEzETHToArbitrumAndBaseInstances_20241221_after.md @@ -54,11 +54,11 @@ -### EMode: LRT wstETH main(id: 2) +### EMode: ezETH wstETH(id: 2) | description | value before | value after | | --- | --- | --- | -| eMode.label | - | LRT wstETH main | +| eMode.label | - | ezETH wstETH | | eMode.ltv | - | 93 % | | eMode.liquidationThreshold | - | 95 % | | eMode.liquidationBonus | - | 1 % | @@ -66,11 +66,11 @@ | eMode.collateralBitmap | - | ezETH | -### EMode: LRT Stablecoins main(id: 3) +### EMode: ezETH Stablecoins(id: 3) | description | value before | value after | | --- | --- | --- | -| eMode.label | - | LRT Stablecoins main | +| eMode.label | - | ezETH Stablecoins | | eMode.ltv | - | 72 % | | eMode.liquidationThreshold | - | 75 % | | eMode.liquidationBonus | - | 7.5 % | @@ -89,7 +89,7 @@ "borrowableBitmap": "8", "collateralBitmap": "128", "eModeCategory": 2, - "label": "LRT wstETH main", + "label": "ezETH wstETH", "liquidationBonus": 10100, "liquidationThreshold": 9500, "ltv": 9300 @@ -101,7 +101,7 @@ "borrowableBitmap": "16", "collateralBitmap": "128", "eModeCategory": 3, - "label": "LRT Stablecoins main", + "label": "ezETH Stablecoins", "liquidationBonus": 10750, "liquidationThreshold": 7500, "ltv": 7200