diff --git a/diffs/AaveV3Ethereum_EthenaPTFEBListing_20251111_before_AaveV3Ethereum_EthenaPTFEBListing_20251111_after.md b/diffs/AaveV3Ethereum_EthenaPTFEBListing_20251111_before_AaveV3Ethereum_EthenaPTFEBListing_20251111_after.md new file mode 100644 index 000000000..aa8018632 --- /dev/null +++ b/diffs/AaveV3Ethereum_EthenaPTFEBListing_20251111_before_AaveV3Ethereum_EthenaPTFEBListing_20251111_after.md @@ -0,0 +1,882 @@ +## Reserve changes + +### Reserve added + +#### PT-USDe-5FEB2026 ([0x1F84a51296691320478c98b8d77f2Bbd17D34350](https://etherscan.io/address/0x1F84a51296691320478c98b8d77f2Bbd17D34350)) + +| description | value | +| --- | --- | +| decimals | 18 | +| isActive | true | +| isFrozen | false | +| supplyCap | 30,000,000 PT-USDe-5FEB2026 | +| borrowCap | 1 PT-USDe-5FEB2026 | +| debtCeiling | 0 $ [0] | +| isSiloed | false | +| isFlashloanable | true | +| oracle | [0xc35D319FA5FEc2BBE0eB4d0a826465b60f821F81](https://etherscan.io/address/0xc35D319FA5FEc2BBE0eB4d0a826465b60f821F81) | +| oracleDecimals | 8 | +| oracleDescription | PT Capped USDe USDT/USD linear discount 05FEB2026 | +| oracleLatestAnswer | 0.98716388 | +| usageAsCollateralEnabled | true | +| ltv | 0.05 % [5] | +| liquidationThreshold | 0.1 % [10] | +| liquidationBonus | 7.5 % | +| liquidationProtocolFee | 10 % [1000] | +| reserveFactor | 45 % [4500] | +| aToken | [0xE728577e9a1Fe7032bc309B4541F58f45443866e](https://etherscan.io/address/0xE728577e9a1Fe7032bc309B4541F58f45443866e) | +| variableDebtToken | [0x9D244A99801dc05cbC04183769c17056B8A1Ad53](https://etherscan.io/address/0x9D244A99801dc05cbC04183769c17056B8A1Ad53) | +| borrowingEnabled | false | +| isBorrowableInIsolation | false | +| interestRateStrategy | [0x9ec6F08190DeA04A54f8Afc53Db96134e5E3FdFB](https://etherscan.io/address/0x9ec6F08190DeA04A54f8Afc53Db96134e5E3FdFB) | +| aTokenName | Aave Ethereum PT_USDE_5FEB_2026 | +| aTokenSymbol | aEthPT_USDE_5FEB_2026 | +| aTokenUnderlyingBalance | 120 PT-USDe-5FEB2026 [120000000000000000000] | +| id | 55 | +| isPaused | false | +| variableDebtTokenName | Aave Ethereum Variable Debt PT_USDE_5FEB_2026 | +| variableDebtTokenSymbol | variableDebtEthPT_USDE_5FEB_2026 | +| virtualBalance | 120 PT-USDe-5FEB2026 [120000000000000000000] | +| optimalUsageRatio | 45 % | +| maxVariableBorrowRate | 310 % | +| baseVariableBorrowRate | 0 % | +| variableRateSlope1 | 10 % | +| variableRateSlope2 | 300 % | +| interestRate | ![ir](https://dash.onaave.com/api/static?variableRateSlope1=100000000000000000000000000&variableRateSlope2=3000000000000000000000000000&optimalUsageRatio=450000000000000000000000000&baseVariableBorrowRate=0&maxVariableBorrowRate=3100000000000000000000000000) | + + +#### PT-sUSDE-5FEB2026 ([0xE8483517077afa11A9B07f849cee2552f040d7b2](https://etherscan.io/address/0xE8483517077afa11A9B07f849cee2552f040d7b2)) + +| description | value | +| --- | --- | +| decimals | 18 | +| isActive | true | +| isFrozen | false | +| supplyCap | 30,000,000 PT-sUSDE-5FEB2026 | +| borrowCap | 1 PT-sUSDE-5FEB2026 | +| debtCeiling | 0 $ [0] | +| isSiloed | false | +| isFlashloanable | true | +| oracle | [0x4e89f87F24C13819bBDDb56f99b38746C91677D8](https://etherscan.io/address/0x4e89f87F24C13819bBDDb56f99b38746C91677D8) | +| oracleDecimals | 8 | +| oracleDescription | PT Capped sUSDe USDT/USD linear discount 05FEB2026 | +| oracleLatestAnswer | 0.98563549 | +| usageAsCollateralEnabled | true | +| ltv | 0.05 % [5] | +| liquidationThreshold | 0.1 % [10] | +| liquidationBonus | 7.5 % | +| liquidationProtocolFee | 10 % [1000] | +| reserveFactor | 45 % [4500] | +| aToken | [0xbe54767735fB7Acca2aa7E2d209a6f705073536D](https://etherscan.io/address/0xbe54767735fB7Acca2aa7E2d209a6f705073536D) | +| variableDebtToken | [0xA803414f84fCEF00e745bE7CC2A315908927f15D](https://etherscan.io/address/0xA803414f84fCEF00e745bE7CC2A315908927f15D) | +| borrowingEnabled | false | +| isBorrowableInIsolation | false | +| interestRateStrategy | [0x9ec6F08190DeA04A54f8Afc53Db96134e5E3FdFB](https://etherscan.io/address/0x9ec6F08190DeA04A54f8Afc53Db96134e5E3FdFB) | +| aTokenName | Aave Ethereum PT_sUSDe_5FEB_2026 | +| aTokenSymbol | aEthPT_sUSDe_5FEB_2026 | +| aTokenUnderlyingBalance | 120 PT-sUSDE-5FEB2026 [120000000000000000000] | +| id | 56 | +| isPaused | false | +| variableDebtTokenName | Aave Ethereum Variable Debt PT_sUSDe_5FEB_2026 | +| variableDebtTokenSymbol | variableDebtEthPT_sUSDe_5FEB_2026 | +| virtualBalance | 120 PT-sUSDE-5FEB2026 [120000000000000000000] | +| optimalUsageRatio | 45 % | +| maxVariableBorrowRate | 310 % | +| baseVariableBorrowRate | 0 % | +| variableRateSlope1 | 10 % | +| variableRateSlope2 | 300 % | +| interestRate | ![ir](https://dash.onaave.com/api/static?variableRateSlope1=100000000000000000000000000&variableRateSlope2=3000000000000000000000000000&optimalUsageRatio=450000000000000000000000000&baseVariableBorrowRate=0&maxVariableBorrowRate=3100000000000000000000000000) | + + +## Emodes changed + +### EMode: ETH correlated(id: 1) + + + +### EMode: sUSDe Stablecoins(id: 2) + + + +### EMode: rsETH LST main(id: 3) + + + +### EMode: LBTC_WBTC(id: 4) + + + +### EMode: LBTC_cbBTC(id: 5) + + + +### EMode: LBTC_tBTC(id: 6) + + + +### EMode: eBTC/WBTC(id: 7) + + + +### EMode: PT-sUSDe Stablecoins Jul 2025(id: 8) + + + +### EMode: PT-eUSDe Stablecoins May 2025(id: 9) + + + +### EMode: PT-USDe Stablecoins July 2025(id: 10) + + + +### EMode: USDe Stablecoin(id: 11) + + + +### EMode: PT-USDe USDe July 2025(id: 12) + + + +### EMode: PT-eUSDe Stablecoins August 2025(id: 13) + + + +### EMode: PT-eUSDe USDe August 2025(id: 14) + + + +### EMode: eUSDe_Stablecoin(id: 15) + + + +### EMode: FBTC/WBTC(id: 16) + + + +### EMode: PT-sUSDe Stablecoins September 2025(id: 17) + + + +### EMode: PT-sUSDe USDe September 2025(id: 18) + + + +### EMode: PT-USDe Stablecoins September 2025(id: 19) + + + +### EMode: PT-USDe USDe September 2025(id: 20) + + + +### EMode: tETH/Stablecoins(id: 21) + + + +### EMode: ezETH/wstETH(id: 22) + + + +### EMode: ezETH/Stablecoins(id: 23) + + + +### EMode: PT-sUSDe Stablecoins Nov 2025(id: 24) + + + +### EMode: PT-sUSDe USDe Nov 2025(id: 25) + + + +### EMode: weETH/wstETH ETH Correlated(id: 26) + + + +### EMode: PT-USDe Stablecoins Nov 2025(id: 27) + + + +### EMode: PT-USDe USDe Nov 2025(id: 28) + + + +### EMode: PTUSDe5FEB/Stablecoins(id: 29) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label | - | PTUSDe5FEB/Stablecoins | +| eMode.ltv | - | 88.5 % | +| eMode.liquidationThreshold | - | 90.5 % | +| eMode.liquidationBonus | - | 4.1 % | +| eMode.borrowableBitmap | - | USDC, USDT, USDe, USDtb | +| eMode.collateralBitmap | - | PT-USDe-27NOV2025, PT-USDe-5FEB2026 | + + +### EMode: PTUSDe5FEB/USDe(id: 30) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label | - | PTUSDe5FEB/USDe | +| eMode.ltv | - | 89.3 % | +| eMode.liquidationThreshold | - | 91.3 % | +| eMode.liquidationBonus | - | 3.1 % | +| eMode.borrowableBitmap | - | USDe | +| eMode.collateralBitmap | - | PT-USDe-27NOV2025, PT-USDe-5FEB2026 | + + +### EMode: PTsUSDe5FEB/Stablecoins(id: 31) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label | - | PTsUSDe5FEB/Stablecoins | +| eMode.ltv | - | 87.6 % | +| eMode.liquidationThreshold | - | 89.6 % | +| eMode.liquidationBonus | - | 5.1 % | +| eMode.borrowableBitmap | - | USDC, USDT, USDe, USDtb | +| eMode.collateralBitmap | - | PT-sUSDE-27NOV2025, PT-sUSDE-5FEB2026 | + + +### EMode: PTsUSDe5FEB/USDe(id: 32) + +| description | value before | value after | +| --- | --- | --- | +| eMode.label | - | PTsUSDe5FEB/USDe | +| eMode.ltv | - | 88.5 % | +| eMode.liquidationThreshold | - | 90.5 % | +| eMode.liquidationBonus | - | 4.1 % | +| eMode.borrowableBitmap | - | USDe | +| eMode.collateralBitmap | - | PT-sUSDE-27NOV2025, PT-sUSDE-5FEB2026 | + + +## Raw diff + +```json +{ + "eModes": { + "29": { + "from": null, + "to": { + "borrowableBitmap": "4399120253192", + "collateralBitmap": "54043195528445952", + "eModeCategory": 29, + "label": "PTUSDe5FEB/Stablecoins", + "liquidationBonus": 10410, + "liquidationThreshold": 9050, + "ltv": 8850 + } + }, + "30": { + "from": null, + "to": { + "borrowableBitmap": "1073741824", + "collateralBitmap": "54043195528445952", + "eModeCategory": 30, + "label": "PTUSDe5FEB/USDe", + "liquidationBonus": 10310, + "liquidationThreshold": 9130, + "ltv": 8930 + } + }, + "31": { + "from": null, + "to": { + "borrowableBitmap": "4399120253192", + "collateralBitmap": "81064793292668928", + "eModeCategory": 31, + "label": "PTsUSDe5FEB/Stablecoins", + "liquidationBonus": 10510, + "liquidationThreshold": 8960, + "ltv": 8760 + } + }, + "32": { + "from": null, + "to": { + "borrowableBitmap": "1073741824", + "collateralBitmap": "81064793292668928", + "eModeCategory": 32, + "label": "PTsUSDe5FEB/USDe", + "liquidationBonus": 10410, + "liquidationThreshold": 9050, + "ltv": 8850 + } + } + }, + "reserves": { + "0x1F84a51296691320478c98b8d77f2Bbd17D34350": { + "from": null, + "to": { + "aToken": "0xE728577e9a1Fe7032bc309B4541F58f45443866e", + "aTokenName": "Aave Ethereum PT_USDE_5FEB_2026", + "aTokenSymbol": "aEthPT_USDE_5FEB_2026", + "aTokenUnderlyingBalance": "120000000000000000000", + "borrowCap": 1, + "borrowingEnabled": false, + "debtCeiling": 0, + "decimals": 18, + "id": 55, + "interestRateStrategy": "0x9ec6F08190DeA04A54f8Afc53Db96134e5E3FdFB", + "isActive": true, + "isBorrowableInIsolation": false, + "isFlashloanable": true, + "isFrozen": false, + "isPaused": false, + "isSiloed": false, + "liquidationBonus": 10750, + "liquidationProtocolFee": 1000, + "liquidationThreshold": 10, + "ltv": 5, + "oracle": "0xc35D319FA5FEc2BBE0eB4d0a826465b60f821F81", + "oracleDecimals": 8, + "oracleDescription": "PT Capped USDe USDT/USD linear discount 05FEB2026", + "oracleLatestAnswer": "98716388", + "reserveFactor": 4500, + "supplyCap": 30000000, + "symbol": "PT-USDe-5FEB2026", + "underlying": "0x1F84a51296691320478c98b8d77f2Bbd17D34350", + "usageAsCollateralEnabled": true, + "variableDebtToken": "0x9D244A99801dc05cbC04183769c17056B8A1Ad53", + "variableDebtTokenName": "Aave Ethereum Variable Debt PT_USDE_5FEB_2026", + "variableDebtTokenSymbol": "variableDebtEthPT_USDE_5FEB_2026", + "virtualBalance": "120000000000000000000" + } + }, + "0xE8483517077afa11A9B07f849cee2552f040d7b2": { + "from": null, + "to": { + "aToken": "0xbe54767735fB7Acca2aa7E2d209a6f705073536D", + "aTokenName": "Aave Ethereum PT_sUSDe_5FEB_2026", + "aTokenSymbol": "aEthPT_sUSDe_5FEB_2026", + "aTokenUnderlyingBalance": "120000000000000000000", + "borrowCap": 1, + "borrowingEnabled": false, + "debtCeiling": 0, + "decimals": 18, + "id": 56, + "interestRateStrategy": "0x9ec6F08190DeA04A54f8Afc53Db96134e5E3FdFB", + "isActive": true, + "isBorrowableInIsolation": false, + "isFlashloanable": true, + "isFrozen": false, + "isPaused": false, + "isSiloed": false, + "liquidationBonus": 10750, + "liquidationProtocolFee": 1000, + "liquidationThreshold": 10, + "ltv": 5, + "oracle": "0x4e89f87F24C13819bBDDb56f99b38746C91677D8", + "oracleDecimals": 8, + "oracleDescription": "PT Capped sUSDe USDT/USD linear discount 05FEB2026", + "oracleLatestAnswer": "98563549", + "reserveFactor": 4500, + "supplyCap": 30000000, + "symbol": "PT-sUSDE-5FEB2026", + "underlying": "0xE8483517077afa11A9B07f849cee2552f040d7b2", + "usageAsCollateralEnabled": true, + "variableDebtToken": "0xA803414f84fCEF00e745bE7CC2A315908927f15D", + "variableDebtTokenName": "Aave Ethereum Variable Debt PT_sUSDe_5FEB_2026", + "variableDebtTokenSymbol": "variableDebtEthPT_sUSDe_5FEB_2026", + "virtualBalance": "120000000000000000000" + } + } + }, + "strategies": { + "0x1F84a51296691320478c98b8d77f2Bbd17D34350": { + "from": null, + "to": { + "address": "0x9ec6F08190DeA04A54f8Afc53Db96134e5E3FdFB", + "baseVariableBorrowRate": "0", + "maxVariableBorrowRate": "3100000000000000000000000000", + "optimalUsageRatio": "450000000000000000000000000", + "variableRateSlope1": "100000000000000000000000000", + "variableRateSlope2": "3000000000000000000000000000" + } + }, + "0xE8483517077afa11A9B07f849cee2552f040d7b2": { + "from": null, + "to": { + "address": "0x9ec6F08190DeA04A54f8Afc53Db96134e5E3FdFB", + "baseVariableBorrowRate": "0", + "maxVariableBorrowRate": "3100000000000000000000000000", + "optimalUsageRatio": "450000000000000000000000000", + "variableRateSlope1": "100000000000000000000000000", + "variableRateSlope2": "3000000000000000000000000000" + } + } + }, + "raw": { + "0x034fd14b9ae6bb066a1f9f85a55e990b0b25c168": { + "label": "AaveV3Ethereum.EXTERNAL_LIBRARIES.SUPPLY_LOGIC, AaveV3EthereumEtherFi.EXTERNAL_LIBRARIES.SUPPLY_LOGIC, AaveV3EthereumLido.EXTERNAL_LIBRARIES.SUPPLY_LOGIC", + "balanceDiff": null, + "stateDiff": { + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fbc": { + "previousValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000", + "newValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000" + }, + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fbd": { + "previousValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000", + "newValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000" + }, + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fc3": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x00000000000000068155a43676e0000000000000000000000000000000000000" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f63686f": { + "previousValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000", + "newValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f636870": { + "previousValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000", + "newValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f636876": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x00000000000000068155a43676e0000000000000000000000000000000000000" + }, + "0xdacfe7a8adbf8359f41dcfa7c31c6a0f0553b393d1ed6bae9994c90e5024f1da": { + "previousValue": "0x00000000000000000000000000000000000028aaaa8a2aaa8a802000000aaaaa", + "newValue": "0x000000000000000000000000000000000002a8aaaa8a2aaa8a802000000aaaaa" + } + } + }, + "0x0d5f4aadf3fde31bbb55db5f42c080f18ad54df5": { + "label": null, + "balanceDiff": null, + "stateDiff": {} + }, + "0x1f84a51296691320478c98b8d77f2bbd17d34350": { + "label": null, + "balanceDiff": null, + "stateDiff": { + "0x0000000000000000000000000000000000000000000000000000000000000002": { + "previousValue": "0x0100000000000000000000000000000000000000002e00dfda1887e9a9b902b6", + "newValue": "0x0100000000000000000000000000000000000000002e00dfda1887e9a9b902b6" + }, + "0xf17bca5f0b79532f5dbd08020f985f432ed777d5ec7fd344c3ad5c249dc24ce7": { + "previousValue": "0x0000000000000000000000000000000000000000000000068155a43676e00000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "0xf28b05d7cb1c50f8ef449275074a75213b412b4964112d5fc8ca14bc4785d5eb": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "0xf2ba4a87da12098324b77c214bac88b717bb9c20228dc384b82092ce77075984": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000068155a43676e00000" + } + } + }, + "0x223d844fc4b006d67c0cdbd39371a9f73f69d974": { + "label": "AaveV3Ethereum.EMISSION_MANAGER, AaveV3EthereumEtherFi.EMISSION_MANAGER, AaveV3EthereumLido.EMISSION_MANAGER", + "balanceDiff": null, + "stateDiff": { + "0x11fab73313f460f8d687152ca3484edd89386004f922d9583b8bc9d4fbf1f12a": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000ac140648435d03f784879cd789130f22ef588fcd" + }, + "0x4c25ddf59492ba6379aa31b46f1c74206970c4db57070b7276484fc53de21ca8": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000ac140648435d03f784879cd789130f22ef588fcd" + }, + "0x8d66b75ad06672b7993f113a02ee5e5f8b69fc998fc03c090a878d2a716e86cb": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000ac140648435d03f784879cd789130f22ef588fcd" + }, + "0xf9b14163acf150c052b1d9737ba229665dae69be44625cd687cffb35ecfb7a59": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000ac140648435d03f784879cd789130f22ef588fcd" + } + } + }, + "0x260326c220e469358846b187ee53328303efe19c": { + "label": "AaveV3Ethereum.ASSETS.USDT.ORACLE", + "balanceDiff": null, + "stateDiff": {} + }, + "0x2b31caa35900f4c8fe6151ccaf8d0ea4a89743a1": { + "label": "AaveV3Ethereum.DEFAULT_VARIABLE_DEBT_TOKEN_IMPL", + "balanceDiff": null, + "stateDiff": { + "0x0000000000000000000000000000000000000000000000000000000000000000": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000004" + }, + "0x0000000000000000000000000000000000000000000000000000000000000001": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "0x0000000000000000000000000000000000000000000000000000000000000035": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x395475f29ca16c667621e55590ed6c05819a376464ebf65d5440b92f717d20fd" + }, + "0x0000000000000000000000000000000000000000000000000000000000000037": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000e8483517077afa11a9b07f849cee2552f040d7b2" + }, + "0x000000000000000000000000000000000000000000000000000000000000003b": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000000000000000000000000000000000000000005d" + }, + "0x000000000000000000000000000000000000000000000000000000000000003c": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000043" + }, + "0x000000000000000000000000000000000000000000000000000000000000003d": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "0xbbe3212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4d": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x4161766520457468657265756d205661726961626c6520446562742050545f73" + }, + "0xbbe3212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4e": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x555344655f354645425f32303236000000000000000000000000000000000000" + }, + "0xc6bb06cb7f92603de181bf256cd16846b93b752a170ff24824098b31aa008a7e": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x7661726961626c654465627445746850545f73555344655f354645425f323032" + }, + "0xc6bb06cb7f92603de181bf256cd16846b93b752a170ff24824098b31aa008a7f": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x3600000000000000000000000000000000000000000000000000000000000000" + } + } + }, + "0x2f39d218133afab8f2b819b1066c7e434ad94e9e": { + "label": "AaveV3Ethereum.POOL_ADDRESSES_PROVIDER", + "balanceDiff": null, + "stateDiff": {} + }, + "0x3e7d1eab13ad0104d2750b8863b489d65364e32d": { + "label": "ChainlinkEthereum.USDT_USD", + "balanceDiff": null, + "stateDiff": {} + }, + "0x5300a1a15135ea4dc7ad5a167152c01efc9b192a": { + "label": "AaveV2Ethereum.POOL_ADMIN, AaveV2EthereumAMM.POOL_ADMIN, AaveV3Ethereum.ACL_ADMIN, AaveV3EthereumEtherFi.ACL_ADMIN, AaveV3EthereumLido.ACL_ADMIN, GovernanceV3Ethereum.EXECUTOR_LVL_1", + "balanceDiff": null, + "stateDiff": {} + }, + "0x54586be62e3c3580375ae3723c145253060ca0c2": { + "label": "AaveV3Ethereum.ORACLE", + "balanceDiff": null, + "stateDiff": { + "0x1a1795a9afdfc81fcdb4976af5f145177f444a401878ef70edebbf3c93a8964b": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000c35d319fa5fec2bbe0eb4d0a826465b60f821f81" + }, + "0x45ca9bf8667f5b94876cbafe266da9cfcae1f07e779a2fd756c3508da7ecdefc": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000004e89f87f24c13819bbddb56f99b38746c91677d8" + } + } + }, + "0x5793fe4de34532f162b4e207af872729880ec2b6": { + "label": "AaveV3Ethereum.POOL_CONFIGURATOR_IMPL, AaveV3EthereumEtherFi.POOL_CONFIGURATOR_IMPL, AaveV3EthereumLido.POOL_CONFIGURATOR_IMPL", + "balanceDiff": null, + "stateDiff": {} + }, + "0x64b761d848206f447fe2dd461b0c635ec39ebb27": { + "label": "AaveV3Ethereum.POOL_CONFIGURATOR", + "balanceDiff": null, + "stateDiff": {} + }, + "0x7222182cb9c5320587b5148bf03eee107ad64578": { + "label": null, + "balanceDiff": null, + "stateDiff": { + "0x32e830cc2d99bcd03a6b00de44c079172fc1615142526593da9060da4afbf6cd": { + "previousValue": "0x006915dbca000000000002000000000000000000000000000000000000000000", + "newValue": "0x006915dbca000000000003000000000000000000000000000000000000000000" + }, + "0x32e830cc2d99bcd03a6b00de44c079172fc1615142526593da9060da4afbf6ce": { + "previousValue": "0x000000000000000000093a800000000000006944004b00000000000000000000", + "newValue": "0x000000000000000000093a800000000000006944004b0000000000006915dbcb" + } + } + }, + "0x8164cc65827dcfe994ab23944cbc90e0aa80bfcb": { + "label": "AaveV3Ethereum.DEFAULT_INCENTIVES_CONTROLLER, AaveV3EthereumEtherFi.DEFAULT_INCENTIVES_CONTROLLER, AaveV3EthereumLido.DEFAULT_INCENTIVES_CONTROLLER", + "balanceDiff": null, + "stateDiff": {} + }, + "0x87870bca3f3fd6335c3f4ce8392d69350b4fa4e2": { + "label": "AaveV3Ethereum.POOL", + "balanceDiff": null, + "stateDiff": {} + }, + "0x97287a4f35e583d924f78ad88db8afce1379189a": { + "label": "AaveV3Ethereum.POOL_IMPL", + "balanceDiff": null, + "stateDiff": { + "0x21898044632c57248207e72227fc41f5733f2f788a03dd65fae092ee6fa2a071": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000000000000000012000000000000028aa235a2292" + }, + "0x21898044632c57248207e72227fc41f5733f2f788a03dd65fae092ee6fa2a072": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x50547355534465354645422f5553446500000000000000000000000000000020" + }, + "0x21898044632c57248207e72227fc41f5733f2f788a03dd65fae092ee6fa2a073": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000040000000" + }, + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fbb": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x100000000000000000000003e8001c9c3800000000011194811229fe000a0005" + }, + "0x5540f956076d2b96d9b5ae009ef453286928245383803229a3d68bd9262d69e8": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000120000000000000290e23002238" + }, + "0x5540f956076d2b96d9b5ae009ef453286928245383803229a3d68bd9262d69e9": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x50547355534465354645422f537461626c65636f696e7300000000000000002e" + }, + "0x5540f956076d2b96d9b5ae009ef453286928245383803229a3d68bd9262d69ea": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000040040000108" + }, + "0x731e6d8269400fc394cb43330fd2612574d089c0e6408edfb23ea082b7072883": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x00000000000000000000000000000000000000c0000000000000284623aa22e2" + }, + "0x731e6d8269400fc394cb43330fd2612574d089c0e6408edfb23ea082b7072884": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x505455534465354645422f55534465000000000000000000000000000000001e" + }, + "0x731e6d8269400fc394cb43330fd2612574d089c0e6408edfb23ea082b7072885": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000040000000" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f63686e": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x100000000000000000000003e8001c9c3800000000011194811229fe000a0005" + }, + "0xff96dc9b2fb693edb8d05190a44f8cda48f48702b06828c27863d75ccd5a93d7": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x00000000000000000000000000000000000000c000000000000028aa235a2292" + }, + "0xff96dc9b2fb693edb8d05190a44f8cda48f48702b06828c27863d75ccd5a93d8": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x505455534465354645422f537461626c65636f696e730000000000000000002c" + }, + "0xff96dc9b2fb693edb8d05190a44f8cda48f48702b06828c27863d75ccd5a93d9": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000040040000108" + } + } + }, + "0x9d244a99801dc05cbc04183769c17056b8a1ad53": { + "label": null, + "balanceDiff": null, + "stateDiff": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000002b31caa35900f4c8fe6151ccaf8d0ea4a89743a1", + "label": "Implementation slot" + } + } + }, + "0x9ec6f08190dea04a54f8afc53db96134e5e3fdfb": { + "label": "AaveV3Ethereum.ASSETS.WETH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.wstETH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.WBTC.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.USDC.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.DAI.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.LINK.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.AAVE.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.cbETH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.USDT.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.rETH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.LUSD.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.CRV.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.MKR.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.SNX.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.BAL.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.UNI.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.LDO.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.ENS.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.ONE_INCH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.FRAX.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.GHO.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.RPL.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.sDAI.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.STG.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.KNC.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.FXS.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.crvUSD.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.PYUSD.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.weETH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.osETH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.USDe.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.ETHx.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.sUSDe.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.tBTC.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.cbBTC.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.USDS.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.rsETH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.LBTC.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.eBTC.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.RLUSD.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.PT_eUSDE_29MAY2025.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.PT_sUSDE_31JUL2025.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.USDtb.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.PT_USDe_31JUL2025.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.PT_eUSDE_14AUG2025.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.eUSDe.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.FBTC.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.EURC.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.PT_sUSDE_25SEP2025.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.PT_USDe_25SEP2025.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.tETH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.ezETH.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.XAUt.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.PT_sUSDE_27NOV2025.INTEREST_RATE_STRATEGY, AaveV3Ethereum.ASSETS.PT_USDe_27NOV2025.INTEREST_RATE_STRATEGY", + "balanceDiff": null, + "stateDiff": { + "0x1a1795a9afdfc81fcdb4976af5f145177f444a401878ef70edebbf3c93a8964b": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x00000000000000000000000000000000000000007530000003e8000000001194" + }, + "0x45ca9bf8667f5b94876cbafe266da9cfcae1f07e779a2fd756c3508da7ecdefc": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x00000000000000000000000000000000000000007530000003e8000000001194" + } + } + }, + "0xa803414f84fcef00e745be7cc2a315908927f15d": { + "label": null, + "balanceDiff": null, + "stateDiff": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000002b31caa35900f4c8fe6151ccaf8d0ea4a89743a1", + "label": "Implementation slot" + } + } + }, + "0xb76cf0f1d2e1a606c14044607c8c44878aae7186": { + "label": "AaveV3Ethereum.DEFAULT_A_TOKEN_IMPL", + "balanceDiff": null, + "stateDiff": { + "0x0000000000000000000000000000000000000000000000000000000000000000": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000004" + }, + "0x0000000000000000000000000000000000000000000000000000000000000001": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "0x0000000000000000000000000000000000000000000000000000000000000036": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000068155a43676e00000" + }, + "0x0000000000000000000000000000000000000000000000000000000000000037": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000041" + }, + "0x0000000000000000000000000000000000000000000000000000000000000038": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x6145746850545f73555344655f354645425f323032360000000000000000002c" + }, + "0x0000000000000000000000000000000000000000000000000000000000000039": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000012" + }, + "0x000000000000000000000000000000000000000000000000000000000000003b": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0xbbc4ee0a35f7eb106790b0fd67d33b257abe0c16b176375b79a83f9ee342e299" + }, + "0x000000000000000000000000000000000000000000000000000000000000003d": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000e8483517077afa11a9b07f849cee2552f040d7b2" + }, + "0x2c491f7384cd762770fb659d7290ed7b4da75a7c480a8a5cc401f49c4807de64": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x00000000033b2e3c9fd0803ce800000000000000000000068155a43676e00000" + }, + "0x42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x4161766520457468657265756d2050545f73555344655f354645425f32303236" + } + } + }, + "0xbe54767735fb7acca2aa7e2d209a6f705073536d": { + "label": null, + "balanceDiff": null, + "stateDiff": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000b76cf0f1d2e1a606c14044607c8c44878aae7186", + "label": "Implementation slot" + } + } + }, + "0xc2aacf6553d20d1e9d78e365aaba8032af9c85b0": { + "label": "AaveV3Ethereum.ACL_MANAGER", + "balanceDiff": null, + "stateDiff": {} + }, + "0xdabad81af85554e9ae636395611c58f7ec1aaec5": { + "label": "GovernanceV3Ethereum.PAYLOADS_CONTROLLER", + "balanceDiff": null, + "stateDiff": {} + }, + "0xe51b69e5722bf547866a4d7bc190c6e81b626806": { + "label": "AaveV3Ethereum.EXTERNAL_LIBRARIES.POOL_LOGIC, AaveV3EthereumEtherFi.EXTERNAL_LIBRARIES.POOL_LOGIC, AaveV3EthereumLido.EXTERNAL_LIBRARIES.POOL_LOGIC", + "balanceDiff": null, + "stateDiff": { + "0x000000000000000000000000000000000000000000000000000000000000003b": { + "previousValue": "0x00000000000000000000000000000000000000000000003700000000000009c4", + "newValue": "0x00000000000000000000000000000000000000000000003900000000000009c4" + }, + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fbc": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000" + }, + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fbd": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000" + }, + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fbe": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000037006915dbcb00000000000000000000000000000000" + }, + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fbf": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000e728577e9a1fe7032bc309b4541f58f45443866e" + }, + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fc1": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000009d244a99801dc05cbc04183769c17056b8a1ad53" + }, + "0x28b6ab72056a7c716c04258d9c7cc7363fd23c17b7d943c9383ee9d584650fc4": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "0x436eb0d2e839cdcae4d4fccb49ecbea3b0c1796c5e87fe3badd7bb8a990981fe": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000001f84a51296691320478c98b8d77f2bbd17d34350" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f63686f": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f636870": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f636871": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000038006915dbcb00000000000000000000000000000000" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f636872": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000be54767735fb7acca2aa7e2d209a6f705073536d" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f636874": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000a803414f84fcef00e745be7cc2a315908927f15d" + }, + "0x8aa7a05a9547b0d4409ad87c396e2c21104530bcc7bdff65f289dfdb6f636877": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "0x955a36f4c5be926cd67cf741eae92d4d5339d69e78235a2fdd6db13c0db375b7": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000e8483517077afa11a9b07f849cee2552f040d7b2" + } + } + }, + "0xe728577e9a1fe7032bc309b4541f58f45443866e": { + "label": null, + "balanceDiff": null, + "stateDiff": { + "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x000000000000000000000000b76cf0f1d2e1a606c14044607c8c44878aae7186", + "label": "Implementation slot" + } + } + }, + "0xe7b67f44ea304dd7f6d215b13686637ff64cd2b2": { + "label": null, + "balanceDiff": null, + "stateDiff": {} + }, + "0xe8483517077afa11a9b07f849cee2552f040d7b2": { + "label": null, + "balanceDiff": null, + "stateDiff": { + "0x0000000000000000000000000000000000000000000000000000000000000002": { + "previousValue": "0x010000000000000000000000000000000000000000024622bbebe6bd5a20fea3", + "newValue": "0x010000000000000000000000000000000000000000024622bbebe6bd5a20fea3" + }, + "0x39d11a3ed2cce21351a91d2d4390523e01358e26cfc89bc3917766fb3041df73": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000068155a43676e00000" + }, + "0xf17bca5f0b79532f5dbd08020f985f432ed777d5ec7fd344c3ad5c249dc24ce7": { + "previousValue": "0x0000000000000000000000000000000000000000000000068155a43676e00000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000000" + }, + "0xf28b05d7cb1c50f8ef449275074a75213b412b4964112d5fc8ca14bc4785d5eb": { + "previousValue": "0x0000000000000000000000000000000000000000000000000000000000000000", + "newValue": "0x0000000000000000000000000000000000000000000000000000000000000000" + } + } + } + } +} +``` \ No newline at end of file diff --git a/lib/aave-helpers b/lib/aave-helpers index be453bfac..e6145e31f 160000 --- a/lib/aave-helpers +++ b/lib/aave-helpers @@ -1 +1 @@ -Subproject commit be453bfac17327b24bbc214fd3ee745e48f44e1e +Subproject commit e6145e31f45c6a4616049107070aa8f5e83e128d diff --git a/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/AaveV3Ethereum_EthenaPTFEBListing_20251111.sol b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/AaveV3Ethereum_EthenaPTFEBListing_20251111.sol new file mode 100644 index 000000000..9b5f5ffb0 --- /dev/null +++ b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/AaveV3Ethereum_EthenaPTFEBListing_20251111.sol @@ -0,0 +1,186 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {AaveV3Ethereum, AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol'; +import {AaveV3PayloadEthereum} from 'aave-helpers/src/v3-config-engine/AaveV3PayloadEthereum.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 'openzeppelin-contracts/contracts/token/ERC20/IERC20.sol'; +import {SafeERC20} from 'openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol'; +import {IEmissionManager} from 'aave-v3-origin/contracts/rewards/interfaces/IEmissionManager.sol'; + +/** + * @title Ethena PT FEB Listing + * @author ACI + * - Snapshot: Direct to AIP + * - Discussion: https://governance.aave.com/t/direct-to-aip-onboard-usde-susde-february-expiry-pt-tokens-on-aave-v3-core-instance/23358 + */ +contract AaveV3Ethereum_EthenaPTFEBListing_20251111 is AaveV3PayloadEthereum { + using SafeERC20 for IERC20; + + address public constant PT_USDE_5FEB_2026 = 0x1F84a51296691320478c98b8d77f2Bbd17D34350; + uint256 public constant PT_USDE_5FEB_2026_SEED_AMOUNT = 120e18; + address public constant PT_USDE_5FEB_2026_LM_ADMIN = 0xac140648435d03f784879cd789130F22Ef588Fcd; + + address public constant PT_sUSDe_5FEB_2026 = 0xE8483517077afa11A9B07f849cee2552f040d7b2; + uint256 public constant PT_sUSDe_5FEB_2026_SEED_AMOUNT = 120e18; + address public constant PT_sUSDe_5FEB_2026_LM_ADMIN = 0xac140648435d03f784879cd789130F22Ef588Fcd; + + function _postExecute() internal override { + _supplyAndConfigureLMAdmin( + PT_USDE_5FEB_2026, + PT_USDE_5FEB_2026_SEED_AMOUNT, + PT_USDE_5FEB_2026_LM_ADMIN + ); + + _supplyAndConfigureLMAdmin( + PT_sUSDe_5FEB_2026, + PT_sUSDe_5FEB_2026_SEED_AMOUNT, + PT_sUSDe_5FEB_2026_LM_ADMIN + ); + } + + function eModeCategoryCreations() + public + pure + override + returns (IAaveV3ConfigEngine.EModeCategoryCreation[] memory) + { + IAaveV3ConfigEngine.EModeCategoryCreation[] + memory eModeCreations = new IAaveV3ConfigEngine.EModeCategoryCreation[](4); + + address[] memory collateralAssets_PTUSDe5FEBStablecoins = new address[](2); + address[] memory borrowableAssets_PTUSDe5FEBStablecoins = new address[](4); + + collateralAssets_PTUSDe5FEBStablecoins[0] = PT_USDE_5FEB_2026; + collateralAssets_PTUSDe5FEBStablecoins[1] = AaveV3EthereumAssets.PT_USDe_27NOV2025_UNDERLYING; + borrowableAssets_PTUSDe5FEBStablecoins[0] = AaveV3EthereumAssets.USDC_UNDERLYING; + borrowableAssets_PTUSDe5FEBStablecoins[1] = AaveV3EthereumAssets.USDT_UNDERLYING; + borrowableAssets_PTUSDe5FEBStablecoins[2] = AaveV3EthereumAssets.USDe_UNDERLYING; + borrowableAssets_PTUSDe5FEBStablecoins[3] = AaveV3EthereumAssets.USDtb_UNDERLYING; + + eModeCreations[0] = IAaveV3ConfigEngine.EModeCategoryCreation({ + ltv: 88_50, + liqThreshold: 90_50, + liqBonus: 4_10, + label: 'PTUSDe5FEB/Stablecoins', + collaterals: collateralAssets_PTUSDe5FEBStablecoins, + borrowables: borrowableAssets_PTUSDe5FEBStablecoins + }); + + address[] memory collateralAssets_PTUSDe5FEBUSDe = new address[](2); + address[] memory borrowableAssets_PTUSDe5FEBUSDe = new address[](1); + + collateralAssets_PTUSDe5FEBUSDe[0] = PT_USDE_5FEB_2026; + collateralAssets_PTUSDe5FEBUSDe[1] = AaveV3EthereumAssets.PT_USDe_27NOV2025_UNDERLYING; + borrowableAssets_PTUSDe5FEBUSDe[0] = AaveV3EthereumAssets.USDe_UNDERLYING; + + eModeCreations[1] = IAaveV3ConfigEngine.EModeCategoryCreation({ + ltv: 89_30, + liqThreshold: 91_30, + liqBonus: 3_10, + label: 'PTUSDe5FEB/USDe', + collaterals: collateralAssets_PTUSDe5FEBUSDe, + borrowables: borrowableAssets_PTUSDe5FEBUSDe + }); + + address[] memory collateralAssets_PTsUSDe5FEBStablecoins = new address[](2); + address[] memory borrowableAssets_PTsUSDe5FEBStablecoins = new address[](4); + + collateralAssets_PTsUSDe5FEBStablecoins[0] = PT_sUSDe_5FEB_2026; + collateralAssets_PTsUSDe5FEBStablecoins[1] = AaveV3EthereumAssets.PT_sUSDE_27NOV2025_UNDERLYING; + borrowableAssets_PTsUSDe5FEBStablecoins[0] = AaveV3EthereumAssets.USDC_UNDERLYING; + borrowableAssets_PTsUSDe5FEBStablecoins[1] = AaveV3EthereumAssets.USDT_UNDERLYING; + borrowableAssets_PTsUSDe5FEBStablecoins[2] = AaveV3EthereumAssets.USDe_UNDERLYING; + borrowableAssets_PTsUSDe5FEBStablecoins[3] = AaveV3EthereumAssets.USDtb_UNDERLYING; + + eModeCreations[2] = IAaveV3ConfigEngine.EModeCategoryCreation({ + ltv: 87_60, + liqThreshold: 89_60, + liqBonus: 5_10, + label: 'PTsUSDe5FEB/Stablecoins', + collaterals: collateralAssets_PTsUSDe5FEBStablecoins, + borrowables: borrowableAssets_PTsUSDe5FEBStablecoins + }); + + address[] memory collateralAssets_PTsUSDe5FEBUSDe = new address[](2); + address[] memory borrowableAssets_PTsUSDe5FEBUSDe = new address[](1); + + collateralAssets_PTsUSDe5FEBUSDe[0] = PT_sUSDe_5FEB_2026; + collateralAssets_PTsUSDe5FEBUSDe[1] = AaveV3EthereumAssets.PT_sUSDE_27NOV2025_UNDERLYING; + borrowableAssets_PTsUSDe5FEBUSDe[0] = AaveV3EthereumAssets.USDe_UNDERLYING; + + eModeCreations[3] = IAaveV3ConfigEngine.EModeCategoryCreation({ + ltv: 88_50, + liqThreshold: 90_50, + liqBonus: 4_10, + label: 'PTsUSDe5FEB/USDe', + collaterals: collateralAssets_PTsUSDe5FEBUSDe, + borrowables: borrowableAssets_PTsUSDe5FEBUSDe + }); + + return eModeCreations; + } + function newListings() public pure override returns (IAaveV3ConfigEngine.Listing[] memory) { + IAaveV3ConfigEngine.Listing[] memory listings = new IAaveV3ConfigEngine.Listing[](2); + + listings[0] = IAaveV3ConfigEngine.Listing({ + asset: PT_USDE_5FEB_2026, + assetSymbol: 'PT_USDE_5FEB_2026', + priceFeed: 0xc35D319FA5FEc2BBE0eB4d0a826465b60f821F81, + enabledToBorrow: EngineFlags.DISABLED, + borrowableInIsolation: EngineFlags.DISABLED, + withSiloedBorrowing: EngineFlags.DISABLED, + flashloanable: EngineFlags.ENABLED, + ltv: 5, + liqThreshold: 10, + liqBonus: 7_50, + reserveFactor: 45_00, + supplyCap: 30_000_000, + borrowCap: 1, + debtCeiling: 0, + liqProtocolFee: 10_00, + rateStrategyParams: IAaveV3ConfigEngine.InterestRateInputData({ + optimalUsageRatio: 45_00, + baseVariableBorrowRate: 0, + variableRateSlope1: 10_00, + variableRateSlope2: 300_00 + }) + }); + listings[1] = IAaveV3ConfigEngine.Listing({ + asset: PT_sUSDe_5FEB_2026, + assetSymbol: 'PT_sUSDe_5FEB_2026', + priceFeed: 0x4e89f87F24C13819bBDDb56f99b38746C91677D8, + enabledToBorrow: EngineFlags.DISABLED, + borrowableInIsolation: EngineFlags.DISABLED, + withSiloedBorrowing: EngineFlags.DISABLED, + flashloanable: EngineFlags.ENABLED, + ltv: 5, + liqThreshold: 10, + liqBonus: 7_50, + reserveFactor: 45_00, + supplyCap: 30_000_000, + borrowCap: 1, + debtCeiling: 0, + liqProtocolFee: 10_00, + rateStrategyParams: IAaveV3ConfigEngine.InterestRateInputData({ + optimalUsageRatio: 45_00, + baseVariableBorrowRate: 0, + variableRateSlope1: 10_00, + variableRateSlope2: 300_00 + }) + }); + + return listings; + } + function _supplyAndConfigureLMAdmin(address asset, uint256 seedAmount, address lmAdmin) internal { + IERC20(asset).forceApprove(address(AaveV3Ethereum.POOL), seedAmount); + AaveV3Ethereum.POOL.supply(asset, seedAmount, address(AaveV3Ethereum.DUST_BIN), 0); + + if (lmAdmin != address(0)) { + address aToken = AaveV3Ethereum.POOL.getReserveAToken(asset); + IEmissionManager(AaveV3Ethereum.EMISSION_MANAGER).setEmissionAdmin(asset, lmAdmin); + IEmissionManager(AaveV3Ethereum.EMISSION_MANAGER).setEmissionAdmin(aToken, lmAdmin); + } + } +} diff --git a/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/AaveV3Ethereum_EthenaPTFEBListing_20251111.t.sol b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/AaveV3Ethereum_EthenaPTFEBListing_20251111.t.sol new file mode 100644 index 000000000..33c044abe --- /dev/null +++ b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/AaveV3Ethereum_EthenaPTFEBListing_20251111.t.sol @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {GovV3Helpers} from 'aave-helpers/src/GovV3Helpers.sol'; +import {AaveV3Ethereum} from 'aave-address-book/AaveV3Ethereum.sol'; +import {IERC20} from 'openzeppelin-contracts/contracts/token/ERC20/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 {AaveV3Ethereum_EthenaPTFEBListing_20251111} from './AaveV3Ethereum_EthenaPTFEBListing_20251111.sol'; + +/** + * @dev Test for AaveV3Ethereum_EthenaPTFEBListing_20251111 + * command: FOUNDRY_PROFILE=test forge test --match-path=src/20251111_AaveV3Ethereum_EthenaPTFEBListing/AaveV3Ethereum_EthenaPTFEBListing_20251111.t.sol -vv + */ +contract AaveV3Ethereum_EthenaPTFEBListing_20251111_Test is ProtocolV3TestBase { + AaveV3Ethereum_EthenaPTFEBListing_20251111 internal proposal; + + function setUp() public { + vm.createSelectFork(vm.rpcUrl('mainnet'), 23790560); + proposal = new AaveV3Ethereum_EthenaPTFEBListing_20251111(); + } + + /** + * @dev executes the generic test suite including e2e and config snapshots + */ + function test_defaultProposalExecution() public { + defaultTest( + 'AaveV3Ethereum_EthenaPTFEBListing_20251111', + AaveV3Ethereum.POOL, + address(proposal) + ); + } + + function test_dustBinHasPT_USDE_5FEB_2026Funds() public { + GovV3Helpers.executePayload(vm, address(proposal)); + address aTokenAddress = AaveV3Ethereum.POOL.getReserveAToken(proposal.PT_USDE_5FEB_2026()); + assertGe(IERC20(aTokenAddress).balanceOf(address(AaveV3Ethereum.DUST_BIN)), 10 ** 18); + } + + function test_PT_USDE_5FEB_2026Admin() public { + GovV3Helpers.executePayload(vm, address(proposal)); + address aPT_USDE_5FEB_2026 = AaveV3Ethereum.POOL.getReserveAToken(proposal.PT_USDE_5FEB_2026()); + assertEq( + IEmissionManager(AaveV3Ethereum.EMISSION_MANAGER).getEmissionAdmin( + proposal.PT_USDE_5FEB_2026() + ), + proposal.PT_USDE_5FEB_2026_LM_ADMIN() + ); + assertEq( + IEmissionManager(AaveV3Ethereum.EMISSION_MANAGER).getEmissionAdmin(aPT_USDE_5FEB_2026), + proposal.PT_USDE_5FEB_2026_LM_ADMIN() + ); + } + + function test_dustBinHasPT_sUSDe_5FEB_2026Funds() public { + GovV3Helpers.executePayload(vm, address(proposal)); + address aTokenAddress = AaveV3Ethereum.POOL.getReserveAToken(proposal.PT_sUSDe_5FEB_2026()); + assertGe(IERC20(aTokenAddress).balanceOf(address(AaveV3Ethereum.DUST_BIN)), 10 ** 18); + } + + function test_PT_sUSDe_5FEB_2026Admin() public { + GovV3Helpers.executePayload(vm, address(proposal)); + address aPT_sUSDe_5FEB_2026 = AaveV3Ethereum.POOL.getReserveAToken( + proposal.PT_sUSDe_5FEB_2026() + ); + assertEq( + IEmissionManager(AaveV3Ethereum.EMISSION_MANAGER).getEmissionAdmin( + proposal.PT_sUSDe_5FEB_2026() + ), + proposal.PT_sUSDe_5FEB_2026_LM_ADMIN() + ); + assertEq( + IEmissionManager(AaveV3Ethereum.EMISSION_MANAGER).getEmissionAdmin(aPT_sUSDe_5FEB_2026), + proposal.PT_sUSDe_5FEB_2026_LM_ADMIN() + ); + } +} diff --git a/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/EthenaPTFEBListing.md b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/EthenaPTFEBListing.md new file mode 100644 index 000000000..1c9e86eec --- /dev/null +++ b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/EthenaPTFEBListing.md @@ -0,0 +1,139 @@ +--- +title: "Ethena PT FEB Listing" +author: "ACI" +discussions: "https://governance.aave.com/t/direct-to-aip-onboard-usde-susde-february-expiry-pt-tokens-on-aave-v3-core-instance/23358" +snapshot: Direct to AIP +--- + +## Simple Summary + +This AIP proposes to onboard USDe and sUSDe February expiry PT tokens on Aave V3 Core Instance. + +This proposal is Direct to AIP. + +## Motivation + +The previous USDe and sUSDe PT tokens that were onboarded have brought significant inflows to Aave, in preparation for the expiry and rollover we propose to onboard the next expiry of this PT token. We expect at a minimum that deposits will match those in the current expiry PT token, with potentially some sidelined demand. + +## Specification + +PT-sUSDE-5FEB2026: https://etherscan.io/address/0xe8483517077afa11a9b07f849cee2552f040d7b2 + +PT-USDe-5FEB2026: https://etherscan.io/address/0x1f84a51296691320478c98b8d77f2bbd17d34350 + +| **Parameter** | **Value** | **Value** | +| ------------------------ | --------------------------------- | ----------------------------------- | +| Asset | PT-USDe-5FEB2026 | PT-sUSDe-5FEB2026 | +| Isolation Mode | No | No | +| Borrowable | No | No | +| Collateral Enabled | Yes | Yes | +| Supply Cap | 30,000,000 | 30,000,000 | +| Borrow Cap | - | - | +| Debt Ceiling | - | - | +| LTV | 0.05% | 0.05% | +| LT | 0.1% | 0.1% | +| Liquidation Penalty | 7.50% | 7.50% | +| Liquidation Protocol Fee | 10.00% | 10.00% | +| E-Mode Category | PT-USDe Stablecoins, PT-USDe USDe | PT-sUSDe Stablecoins, PT-sUSDe USDe | + +### PT-USDe-5FEB2026 + +**Initial E-mode Risk Oracle** + +| **Parameter** | **Value** | **Value** | +| ------------- | ----------- | --------- | +| E-Mode | Stablecoins | USDe | +| LTV | 88.5% | 89.3% | +| LT | 90.5% | 91.3% | +| LB | 4.1% | 3.1% | + +**Linear Discount Rate Oracle** + +| **Parameter** | **Value** | +| ---------------------- | --------- | +| discountRatePerYear | 5.5266% | +| maxDiscountRatePerYear | 27.1629% | + +**PT-USDe Stablecoins E-mode** + +| **Asset** | **PT-USDe-5FEB2026** | **PT-USDe-27NOV2026** | **USDC** | **USDT** | **USDe** | **USDtb** | +| ----------------- | ---------------------- | ---------------------- | -------- | -------- | -------- | --------- | +| Collateral | Yes | Yes | No | No | No | No | +| Borrowable | No | No | Yes | Yes | Yes | Yes | +| LTV | Subject to Risk Oracle | Subject to Risk Oracle | - | - | - | | +| LT | Subject to Risk Oracle | Subject to Risk Oracle | - | - | - | | +| Liquidation Bonus | Subject to Risk Oracle | Subject to Risk Oracle | - | - | - | | + +**PT-USDe USDe E-mode** + +| **Asset** | **PT-USDe-5FEB2026** | **PT-USDe-27NOV2026** | **USDe** | +| ----------------- | ---------------------- | ---------------------- | -------- | +| Collateral | Yes | Yes | No | +| Borrowable | No | No | Yes | +| LTV | Subject to Risk Oracle | Subject to Risk Oracle | - | +| LT | Subject to Risk Oracle | Subject to Risk Oracle | - | +| Liquidation Bonus | Subject to Risk Oracle | Subject to Risk Oracle | - | + +### PT-sUSDe-5FEB2026 + +**Initial E-mode Risk Oracle** + +| **Parameter** | **Value** | **Value** | +| ------------- | ----------- | --------- | +| E-Mode | Stablecoins | USDe | +| LTV | 87.6% | 88.5% | +| LT | 89.6% | 90.5% | +| LB | 5.1% | 4.1% | + +**Linear Discount Rate Oracle** + +| **Parameter** | **Value** | +| ----------------------------- | --------- | +| discountRatePerYear (Initial) | 6.1953% | +| maxDiscountRatePerYear | 27.1629% | + +**PT-sUSDe Stablecoins E-mode** + +| **Asset** | **PT-sUSDe-5FEB2026** | **PT-sUSDe-27NOV2026** | **USDC** | **USDT** | **USDe** | **USDtb** | +| ----------------- | ---------------------- | ---------------------- | -------- | -------- | -------- | --------- | +| Collateral | Yes | Yes | No | No | No | No | +| Borrowable | No | No | Yes | Yes | Yes | Yes | +| LTV | Subject to Risk Oracle | Subject to Risk Oracle | - | - | - | | +| LT | Subject to Risk Oracle | Subject to Risk Oracle | - | - | - | | +| Liquidation Bonus | Subject to Risk Oracle | Subject to Risk Oracle | - | - | - | | + +**PT-sUSDe USDe E-mode** + +| **Asset** | **PT-sUSDe-5FEB2026** | **PT-sUSDe-27NOV2026** | **USDe** | +| ----------------- | ---------------------- | ---------------------- | -------- | +| Collateral | Yes | Yes | No | +| Borrowable | No | No | Yes | +| LTV | Subject to Risk Oracle | Subject to Risk Oracle | - | +| LT | Subject to Risk Oracle | Subject to Risk Oracle | - | +| Liquidation Bonus | Subject to Risk Oracle | Subject to Risk Oracle | - | + +Additionally [0xac140648435d03f784879cd789130F22Ef588Fcd](https://etherscan.io/address/0xac140648435d03f784879cd789130F22Ef588Fcd) has been set as the emission admin for PT_sUSDe_5FEB_2026 , PT_USDe_5FEB_2026 and their corresponding aTokens. + +## Capo adapters + +- PT USDe 5FEB: [0xc35d319fa5fec2bbe0eb4d0a826465b60f821f81](https://etherscan.io/address/0xc35d319fa5fec2bbe0eb4d0a826465b60f821f81) + +- PT sUSDe 5FEB: [0x4e89f87f24c13819bbddb56f99b38746c91677d8](https://etherscan.io/address/0x4e89f87f24c13819bbddb56f99b38746c91677d8) + +### Useful Links + +https://docs.pendle.finance/ProtocolMechanics/YieldTokenization/PT + +## References + +- Implementation: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/AaveV3Ethereum_EthenaPTFEBListing_20251111.sol) +- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/AaveV3Ethereum_EthenaPTFEBListing_20251111.t.sol) +- [Discussion](https://governance.aave.com/t/direct-to-aip-onboard-usde-susde-february-expiry-pt-tokens-on-aave-v3-core-instance/23358) + +## Disclaimer + +ACI is not directly affiliated with Pendle and did not receive compensation for the creation of this proposal. Some ACI employees may hold Pendle tokens. + +## Copyright + +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). diff --git a/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/EthenaPTFEBListing_20251111.s.sol b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/EthenaPTFEBListing_20251111.s.sol new file mode 100644 index 000000000..47f740db1 --- /dev/null +++ b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/EthenaPTFEBListing_20251111.s.sol @@ -0,0 +1,63 @@ +// 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} from 'solidity-utils/contracts/utils/ScriptUtils.sol'; +import {AaveV3Ethereum_EthenaPTFEBListing_20251111} from './AaveV3Ethereum_EthenaPTFEBListing_20251111.sol'; + +/** + * @dev Deploy Ethereum + * deploy-command: make deploy-ledger contract=src/20251111_AaveV3Ethereum_EthenaPTFEBListing/EthenaPTFEBListing_20251111.s.sol:DeployEthereum chain=mainnet + * verify-command: FOUNDRY_PROFILE=deploy npx catapulta-verify -b broadcast/EthenaPTFEBListing_20251111.s.sol/1/run-latest.json + */ +contract DeployEthereum is EthereumScript { + function run() external broadcast { + // deploy payloads + address payload0 = GovV3Helpers.deployDeterministic( + type(AaveV3Ethereum_EthenaPTFEBListing_20251111).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/20251111_AaveV3Ethereum_EthenaPTFEBListing/EthenaPTFEBListing_20251111.s.sol:CreateProposal chain=mainnet + */ +contract CreateProposal is EthereumScript { + function run() external { + // create payloads + PayloadsControllerUtils.Payload[] memory payloads = new PayloadsControllerUtils.Payload[](1); + + // compose actions for validation + { + IPayloadsControllerCore.ExecutionAction[] + memory actionsEthereum = new IPayloadsControllerCore.ExecutionAction[](1); + actionsEthereum[0] = GovV3Helpers.buildAction( + type(AaveV3Ethereum_EthenaPTFEBListing_20251111).creationCode + ); + payloads[0] = GovV3Helpers.buildMainnetPayload(vm, actionsEthereum); + } + + // create proposal + vm.startBroadcast(); + GovV3Helpers.createProposal( + vm, + payloads, + GovernanceV3Ethereum.VOTING_PORTAL_ETH_AVAX, + GovV3Helpers.ipfsHashFile( + vm, + 'src/20251111_AaveV3Ethereum_EthenaPTFEBListing/EthenaPTFEBListing.md' + ) + ); + } +} diff --git a/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/config.ts b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/config.ts new file mode 100644 index 000000000..76eabca99 --- /dev/null +++ b/src/20251111_AaveV3Ethereum_EthenaPTFEBListing/config.ts @@ -0,0 +1,107 @@ +import {ConfigFile} from '../../generator/types'; +export const config: ConfigFile = { + rootOptions: { + pools: ['AaveV3Ethereum'], + title: 'Ethena PT FEB Listing', + shortName: 'EthenaPTFEBListing', + date: '20251111', + author: 'ACI', + discussion: + 'https://governance.aave.com/t/direct-to-aip-onboard-usde-susde-february-expiry-pt-tokens-on-aave-v3-core-instance/23358', + snapshot: 'Direct to AIP', + votingNetwork: 'AVALANCHE', + }, + poolOptions: { + AaveV3Ethereum: { + configs: { + EMODES_CREATION: [ + { + ltv: '88.5', + liqThreshold: '90.5', + liqBonus: '4.1', + label: 'PTUSDe5FEB/Stablecoins', + collateralAssets: ['PT_USDe_5FEB_2026', 'PT_USDe_27NOV2025'], + borrowableAssets: ['USDC', 'USDT', 'USDe', 'USDtb'], + }, + { + ltv: '89.3', + liqThreshold: '91.3', + liqBonus: '3.1', + label: 'PTUSDe5FEB/USDe', + collateralAssets: ['PT_USDe_5FEB_2026', 'PT_USDe_27NOV2025'], + borrowableAssets: ['USDe'], + }, + { + ltv: '87.6', + liqThreshold: '89.6', + liqBonus: '5.1', + label: 'PTsUSDe5FEB/Stablecoins', + collateralAssets: ['PT_sUSDe_5FEB_2026', 'PT_sUSDE_27NOV2025'], + borrowableAssets: ['USDC', 'USDT', 'USDe', 'USDtb'], + }, + { + ltv: '88.5', + liqThreshold: '90.5', + liqBonus: '4.1', + label: 'PTsUSDe5FEB/USDe', + collateralAssets: ['PT_sUSDe_5FEB_2026', 'PT_sUSDE_27NOV2025'], + borrowableAssets: ['USDe'], + }, + ], + ASSET_LISTING: [ + { + assetSymbol: 'PT_USDE_5FEB_2026', + decimals: 18, + priceFeed: '0xc35D319FA5FEc2BBE0eB4d0a826465b60f821F81', + ltv: '0.05', + liqThreshold: '0.10', + liqBonus: '7.5', + debtCeiling: '0', + liqProtocolFee: '10', + enabledToBorrow: 'DISABLED', + flashloanable: 'ENABLED', + borrowableInIsolation: 'DISABLED', + withSiloedBorrowing: 'DISABLED', + reserveFactor: '45', + supplyCap: '30000000', + borrowCap: '1', + rateStrategyParams: { + optimalUtilizationRate: '45', + baseVariableBorrowRate: '0', + variableRateSlope1: '10', + variableRateSlope2: '300', + }, + asset: '0x1F84a51296691320478c98b8d77f2Bbd17D34350', + admin: '0xac140648435d03f784879cd789130F22Ef588Fcd', + }, + { + assetSymbol: 'PT_sUSDe_5FEB_2026', + decimals: 18, + priceFeed: '0x4e89f87F24C13819bBDDb56f99b38746C91677D8', + ltv: '0.05', + liqThreshold: '0.1', + liqBonus: '7.5', + debtCeiling: '0', + liqProtocolFee: '10', + enabledToBorrow: 'DISABLED', + flashloanable: 'ENABLED', + borrowableInIsolation: 'DISABLED', + withSiloedBorrowing: 'DISABLED', + reserveFactor: '45', + supplyCap: '30000000', + borrowCap: '1', + rateStrategyParams: { + optimalUtilizationRate: '45', + baseVariableBorrowRate: '0', + variableRateSlope1: '10', + variableRateSlope2: '300', + }, + asset: '0xE8483517077afa11A9B07f849cee2552f040d7b2', + admin: '0xac140648435d03f784879cd789130F22Ef588Fcd', + }, + ], + }, + cache: {blockNumber: 23790560}, + }, + }, +};