From 86d9d43482778ed9514d68227821f6ae8460b21b Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Mon, 4 Sep 2023 15:06:35 +0200 Subject: [PATCH 1/7] Init commit from generator --- ...Arbitrum_CapsUpgrade_20230904_20230904.sol | 27 +++++++++ ...bitrum_CapsUpgrade_20230904_20230904.t.sol | 41 +++++++++++++ ...AaveV3_CapsUpgrade_20230904_20230904.s.sol | 58 +++++++++++++++++++ ...V3_Metis_CapsUpgrade_20230904_20230904.sol | 27 +++++++++ ..._Metis_CapsUpgrade_20230904_20230904.t.sol | 41 +++++++++++++ ..._Polygon_CapsUpgrade_20230904_20230904.sol | 27 +++++++++ ...olygon_CapsUpgrade_20230904_20230904.t.sol | 41 +++++++++++++ .../CapsUpgrade_20230904.md | 22 +++++++ 8 files changed, 284 insertions(+) create mode 100644 src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol create mode 100644 src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol create mode 100644 src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_CapsUpgrade_20230904_20230904.s.sol create mode 100644 src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol create mode 100644 src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol create mode 100644 src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol create mode 100644 src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol create mode 100644 src/20230904_AaveV3_Multi_CapsUpgrade_20230904/CapsUpgrade_20230904.md diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol new file mode 100644 index 00000000..a9d37754 --- /dev/null +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {AaveV3PayloadArbitrum, IEngine, Rates, EngineFlags} from 'aave-helpers/v3-config-engine/AaveV3PayloadArbitrum.sol'; +import {AaveV3ArbitrumAssets} from 'aave-address-book/AaveV3Arbitrum.sol'; + +/** + * @title CapsUpgrade_20230904 + * @author Alice Rozengarden (@Rozengarden - Aave-chan initiative) + * - Snapshot: no snapshot for Direct-to-AIP + * - Discussion: https://governance.aave.com/t/arfc-aave-v3-caps-increase-2023-08-31/14698 + */ +contract AaveV3_Arbitrum_CapsUpgrade_20230904_20230904 is AaveV3PayloadArbitrum { + function _preExecute() internal override {} + + function capsUpdates() public pure override returns (IEngine.CapsUpdate[] memory) { + IEngine.CapsUpdate[] memory capsUpdate = new IEngine.CapsUpdate[](1); + + capsUpdate[0] = IEngine.CapsUpdate({ + asset: AaveV3ArbitrumAssets.AAVE_UNDERLYING, + supplyCap: 2_710, + borrowCap: EngineFlags.KEEP_CURRENT + }); + + return capsUpdate; + } +} diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol new file mode 100644 index 00000000..256a784c --- /dev/null +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import 'forge-std/Test.sol'; +import {GovHelpers} from 'aave-helpers/GovHelpers.sol'; +import {AaveGovernanceV2} from 'aave-address-book/AaveGovernanceV2.sol'; +import {AaveV3Arbitrum, AaveV3ArbitrumAssets} from 'aave-address-book/AaveV3Arbitrum.sol'; +import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/ProtocolV3TestBase.sol'; +import {AaveV3_Arbitrum_CapsUpgrade_20230904_20230904} from './AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol'; + +/** + * @dev Test for AaveV3_Arbitrum_CapsUpgrade_20230904_20230904 + * command: make test-contract filter=AaveV3_Arbitrum_CapsUpgrade_20230904_20230904 + */ +contract AaveV3_Arbitrum_CapsUpgrade_20230904_20230904_Test is ProtocolV3TestBase { + AaveV3_Arbitrum_CapsUpgrade_20230904_20230904 internal proposal; + + function setUp() public { + vm.createSelectFork(vm.rpcUrl('arbitrum'), 127957002); + proposal = new AaveV3_Arbitrum_CapsUpgrade_20230904_20230904(); + } + + function testProposalExecution() public { + ReserveConfig[] memory allConfigsBefore = createConfigurationSnapshot( + 'preAaveV3_Arbitrum_CapsUpgrade_20230904_20230904', + AaveV3Arbitrum.POOL + ); + + GovHelpers.executePayload(vm, address(proposal), AaveGovernanceV2.ARBITRUM_BRIDGE_EXECUTOR); + + ReserveConfig[] memory allConfigsAfter = createConfigurationSnapshot( + 'postAaveV3_Arbitrum_CapsUpgrade_20230904_20230904', + AaveV3Arbitrum.POOL + ); + + diffReports( + 'preAaveV3_Arbitrum_CapsUpgrade_20230904_20230904', + 'postAaveV3_Arbitrum_CapsUpgrade_20230904_20230904' + ); + } +} diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_CapsUpgrade_20230904_20230904.s.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_CapsUpgrade_20230904_20230904.s.sol new file mode 100644 index 00000000..2d538f29 --- /dev/null +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_CapsUpgrade_20230904_20230904.s.sol @@ -0,0 +1,58 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {GovHelpers} from 'aave-helpers/GovHelpers.sol'; +import {EthereumScript, ArbitrumScript, MetisScript, PolygonScript} from 'aave-helpers/ScriptUtils.sol'; +import {AaveV3_Arbitrum_CapsUpgrade_20230904_20230904} from './AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol'; +import {AaveV3_Metis_CapsUpgrade_20230904_20230904} from './AaveV3_Metis_CapsUpgrade_20230904_20230904.sol'; +import {AaveV3_Polygon_CapsUpgrade_20230904_20230904} from './AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol'; + +/** + * @dev Deploy AaveV3_Arbitrum_CapsUpgrade_20230904_20230904 + * command: make deploy-ledger contract=src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_CapsUpgrade_20230904_20230904.s.sol:DeployArbitrum chain=arbitrum + */ +contract DeployArbitrum is ArbitrumScript { + function run() external broadcast { + new AaveV3_Arbitrum_CapsUpgrade_20230904_20230904(); + } +} + +/** + * @dev Deploy AaveV3_Metis_CapsUpgrade_20230904_20230904 + * command: make deploy-ledger contract=src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_CapsUpgrade_20230904_20230904.s.sol:DeployMetis chain=metis + */ +contract DeployMetis is MetisScript { + function run() external broadcast { + new AaveV3_Metis_CapsUpgrade_20230904_20230904(); + } +} + +/** + * @dev Deploy AaveV3_Polygon_CapsUpgrade_20230904_20230904 + * command: make deploy-ledger contract=src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_CapsUpgrade_20230904_20230904.s.sol:DeployPolygon chain=polygon + */ +contract DeployPolygon is PolygonScript { + function run() external broadcast { + new AaveV3_Polygon_CapsUpgrade_20230904_20230904(); + } +} + +/** + * @dev Create Proposal + * command: make deploy-ledger contract=src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_CapsUpgrade_20230904_20230904.s.sol:CreateProposal chain=mainnet + */ +contract CreateProposal is EthereumScript { + function run() external broadcast { + GovHelpers.Payload[] memory payloads = new GovHelpers.Payload[](3); + payloads[0] = GovHelpers.buildArbitrum(address(0)); + payloads[1] = GovHelpers.buildMetis(address(0)); + payloads[2] = GovHelpers.buildPolygon(address(0)); + GovHelpers.createProposal( + payloads, + GovHelpers.ipfsHashFile( + vm, + 'src/20230904_AaveV3_Multi_CapsUpgrade_20230904/CapsUpgrade_20230904.md' + ) + ); + } +} diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol new file mode 100644 index 00000000..6630a282 --- /dev/null +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {AaveV3PayloadMetis, IEngine, Rates, EngineFlags} from 'aave-helpers/v3-config-engine/AaveV3PayloadMetis.sol'; +import {AaveV3MetisAssets} from 'aave-address-book/AaveV3Metis.sol'; + +/** + * @title CapsUpgrade_20230904 + * @author Alice Rozengarden (@Rozengarden - Aave-chan initiative) + * - Snapshot: no snapshot for Direct-to-AIP + * - Discussion: https://governance.aave.com/t/arfc-aave-v3-caps-increase-2023-08-31/14698 + */ +contract AaveV3_Metis_CapsUpgrade_20230904_20230904 is AaveV3PayloadMetis { + function _preExecute() internal override {} + + function capsUpdates() public pure override returns (IEngine.CapsUpdate[] memory) { + IEngine.CapsUpdate[] memory capsUpdate = new IEngine.CapsUpdate[](1); + + capsUpdate[0] = IEngine.CapsUpdate({ + asset: AaveV3MetisAssets.Metis_UNDERLYING, + supplyCap: 120_000, + borrowCap: EngineFlags.KEEP_CURRENT + }); + + return capsUpdate; + } +} diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol new file mode 100644 index 00000000..1e635595 --- /dev/null +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import 'forge-std/Test.sol'; +import {GovHelpers} from 'aave-helpers/GovHelpers.sol'; +import {AaveGovernanceV2} from 'aave-address-book/AaveGovernanceV2.sol'; +import {AaveV3Metis, AaveV3MetisAssets} from 'aave-address-book/AaveV3Metis.sol'; +import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/ProtocolV3TestBase.sol'; +import {AaveV3_Metis_CapsUpgrade_20230904_20230904} from './AaveV3_Metis_CapsUpgrade_20230904_20230904.sol'; + +/** + * @dev Test for AaveV3_Metis_CapsUpgrade_20230904_20230904 + * command: make test-contract filter=AaveV3_Metis_CapsUpgrade_20230904_20230904 + */ +contract AaveV3_Metis_CapsUpgrade_20230904_20230904_Test is ProtocolV3TestBase { + AaveV3_Metis_CapsUpgrade_20230904_20230904 internal proposal; + + function setUp() public { + vm.createSelectFork(vm.rpcUrl('metis'), 8405352); + proposal = new AaveV3_Metis_CapsUpgrade_20230904_20230904(); + } + + function testProposalExecution() public { + ReserveConfig[] memory allConfigsBefore = createConfigurationSnapshot( + 'preAaveV3_Metis_CapsUpgrade_20230904_20230904', + AaveV3Metis.POOL + ); + + GovHelpers.executePayload(vm, address(proposal), AaveGovernanceV2.METIS_BRIDGE_EXECUTOR); + + ReserveConfig[] memory allConfigsAfter = createConfigurationSnapshot( + 'postAaveV3_Metis_CapsUpgrade_20230904_20230904', + AaveV3Metis.POOL + ); + + diffReports( + 'preAaveV3_Metis_CapsUpgrade_20230904_20230904', + 'postAaveV3_Metis_CapsUpgrade_20230904_20230904' + ); + } +} diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol new file mode 100644 index 00000000..765c1218 --- /dev/null +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {AaveV3PayloadPolygon, IEngine, Rates, EngineFlags} from 'aave-helpers/v3-config-engine/AaveV3PayloadPolygon.sol'; +import {AaveV3PolygonAssets} from 'aave-address-book/AaveV3Polygon.sol'; + +/** + * @title CapsUpgrade_20230904 + * @author Alice Rozengarden (@Rozengarden - Aave-chan initiative) + * - Snapshot: no snapshot for Direct-to-AIP + * - Discussion: https://governance.aave.com/t/arfc-aave-v3-caps-increase-2023-08-31/14698 + */ +contract AaveV3_Polygon_CapsUpgrade_20230904_20230904 is AaveV3PayloadPolygon { + function _preExecute() internal override {} + + function capsUpdates() public pure override returns (IEngine.CapsUpdate[] memory) { + IEngine.CapsUpdate[] memory capsUpdate = new IEngine.CapsUpdate[](1); + + capsUpdate[0] = IEngine.CapsUpdate({ + asset: AaveV3PolygonAssets.DPI_UNDERLYING, + supplyCap: 2_460, + borrowCap: EngineFlags.KEEP_CURRENT + }); + + return capsUpdate; + } +} diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol new file mode 100644 index 00000000..ddf9259f --- /dev/null +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import 'forge-std/Test.sol'; +import {GovHelpers} from 'aave-helpers/GovHelpers.sol'; +import {AaveGovernanceV2} from 'aave-address-book/AaveGovernanceV2.sol'; +import {AaveV3Polygon, AaveV3PolygonAssets} from 'aave-address-book/AaveV3Polygon.sol'; +import {ProtocolV3TestBase, ReserveConfig} from 'aave-helpers/ProtocolV3TestBase.sol'; +import {AaveV3_Polygon_CapsUpgrade_20230904_20230904} from './AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol'; + +/** + * @dev Test for AaveV3_Polygon_CapsUpgrade_20230904_20230904 + * command: make test-contract filter=AaveV3_Polygon_CapsUpgrade_20230904_20230904 + */ +contract AaveV3_Polygon_CapsUpgrade_20230904_20230904_Test is ProtocolV3TestBase { + AaveV3_Polygon_CapsUpgrade_20230904_20230904 internal proposal; + + function setUp() public { + vm.createSelectFork(vm.rpcUrl('polygon'), 47135218); + proposal = new AaveV3_Polygon_CapsUpgrade_20230904_20230904(); + } + + function testProposalExecution() public { + ReserveConfig[] memory allConfigsBefore = createConfigurationSnapshot( + 'preAaveV3_Polygon_CapsUpgrade_20230904_20230904', + AaveV3Polygon.POOL + ); + + GovHelpers.executePayload(vm, address(proposal), AaveGovernanceV2.POLYGON_BRIDGE_EXECUTOR); + + ReserveConfig[] memory allConfigsAfter = createConfigurationSnapshot( + 'postAaveV3_Polygon_CapsUpgrade_20230904_20230904', + AaveV3Polygon.POOL + ); + + diffReports( + 'preAaveV3_Polygon_CapsUpgrade_20230904_20230904', + 'postAaveV3_Polygon_CapsUpgrade_20230904_20230904' + ); + } +} diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/CapsUpgrade_20230904.md b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/CapsUpgrade_20230904.md new file mode 100644 index 00000000..f3a9fcdd --- /dev/null +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/CapsUpgrade_20230904.md @@ -0,0 +1,22 @@ +--- +title: "CapsUpgrade_20230904" +author: "Alice Rozengarden (@Rozengarden - Aave-chan initiative)" +discussions: "https://governance.aave.com/t/arfc-aave-v3-caps-increase-2023-08-31/14698" +--- + +## Simple Summary + +## Motivation + +## Specification + +## References + +- Implementation: [Arbitrum](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol), [Metis](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol), [Polygon](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol) +- Tests: [Arbitrum](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol), [Metis](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol), [Polygon](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol) +- [Snapshot](no snapshot for Direct-to-AIP) +- [Discussion](https://governance.aave.com/t/arfc-aave-v3-caps-increase-2023-08-31/14698) + +## Copyright + +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). From 281ea6bf5442074992a63535d6a72c6641602b85 Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Mon, 4 Sep 2023 15:10:21 +0200 Subject: [PATCH 2/7] Updated MarkDown document --- .../CapsUpgrade_20230904.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/CapsUpgrade_20230904.md b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/CapsUpgrade_20230904.md index f3a9fcdd..09fb3520 100644 --- a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/CapsUpgrade_20230904.md +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/CapsUpgrade_20230904.md @@ -6,15 +6,31 @@ discussions: "https://governance.aave.com/t/arfc-aave-v3-caps-increase-2023-08-3 ## Simple Summary +This proposal is asking for feedback from the risk providers on various assets across multiple networks that are nearing the full use of either their supply or borrow caps. + +This Proposal is compatible with the Direct-to-AIP Framework + ## Motivation +Several caps on assets across the various V3 markets are reaching critical levels but haven’t been included in [the recent proposal by ChaosLabs](https://governance.aave.com/t/arfc-chaos-labs-risk-stewards-increase-borrow-caps-on-v3-ethereum-08-29-2023/14688). Thus, the goal of this proposal is to ask about their status and the risk associated with the potential increase of their caps. Letting those caps reach 100% while it could have been avoided would result in a sub-optimal experience for the user of AAVE and of the product built around the protocol as well as a loss of potential revenue. + ## Specification +The following assets are concerned by the proposal + +### Supply Caps: + +| Chain | Token | Supply cap | Utilization rate | Proposed Supply cap | Increase (%) | Total supply | % of the total supply | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Arbitrum | AAVE | 1.85k | 100% | 2710 | 46% | 5.4k | ~50% | +| Metis | Metis | 60k | 76% | 120k | 100% | 2.96M | 4% | +| Polygon | DPI | 1.417 | 87% | 2460 | ~73% | 4928 | ~50% | + ## References - Implementation: [Arbitrum](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol), [Metis](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol), [Polygon](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol) - Tests: [Arbitrum](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol), [Metis](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol), [Polygon](https://github.com/bgd-labs/aave-proposals/blob/main/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol) -- [Snapshot](no snapshot for Direct-to-AIP) +- Snapshot: no snapshot for Direct-to-AIP - [Discussion](https://governance.aave.com/t/arfc-aave-v3-caps-increase-2023-08-31/14698) ## Copyright From c0bf2c7c33dbca4ed12c63d818b4616038e9441a Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Mon, 4 Sep 2023 15:12:36 +0200 Subject: [PATCH 3/7] smoll optimization --- .../AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol | 2 +- .../AaveV3_Metis_CapsUpgrade_20230904_20230904.sol | 2 +- .../AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol index a9d37754..d693a097 100644 --- a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; -import {AaveV3PayloadArbitrum, IEngine, Rates, EngineFlags} from 'aave-helpers/v3-config-engine/AaveV3PayloadArbitrum.sol'; +import {AaveV3PayloadArbitrum, IEngine, EngineFlags} from 'aave-helpers/v3-config-engine/AaveV3PayloadArbitrum.sol'; import {AaveV3ArbitrumAssets} from 'aave-address-book/AaveV3Arbitrum.sol'; /** diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol index 6630a282..20b8ab93 100644 --- a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; -import {AaveV3PayloadMetis, IEngine, Rates, EngineFlags} from 'aave-helpers/v3-config-engine/AaveV3PayloadMetis.sol'; +import {AaveV3PayloadMetis, IEngine, EngineFlags} from 'aave-helpers/v3-config-engine/AaveV3PayloadMetis.sol'; import {AaveV3MetisAssets} from 'aave-address-book/AaveV3Metis.sol'; /** diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol index 765c1218..5ed5d6ce 100644 --- a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; -import {AaveV3PayloadPolygon, IEngine, Rates, EngineFlags} from 'aave-helpers/v3-config-engine/AaveV3PayloadPolygon.sol'; +import {AaveV3PayloadPolygon, IEngine, EngineFlags} from 'aave-helpers/v3-config-engine/AaveV3PayloadPolygon.sol'; import {AaveV3PolygonAssets} from 'aave-address-book/AaveV3Polygon.sol'; /** From 4900d81c779a0bf84d4cc9acee8984a70c9bce93 Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Mon, 4 Sep 2023 15:43:28 +0200 Subject: [PATCH 4/7] add arbitrum test & test result --- ..._Arbitrum_CapsUpgrade_20230904_20230904.md | 25 +++++++++++++++++++ ...bitrum_CapsUpgrade_20230904_20230904.t.sol | 17 +++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 diffs/preAaveV3_Arbitrum_CapsUpgrade_20230904_20230904_postAaveV3_Arbitrum_CapsUpgrade_20230904_20230904.md diff --git a/diffs/preAaveV3_Arbitrum_CapsUpgrade_20230904_20230904_postAaveV3_Arbitrum_CapsUpgrade_20230904_20230904.md b/diffs/preAaveV3_Arbitrum_CapsUpgrade_20230904_20230904_postAaveV3_Arbitrum_CapsUpgrade_20230904_20230904.md new file mode 100644 index 00000000..8cc0d747 --- /dev/null +++ b/diffs/preAaveV3_Arbitrum_CapsUpgrade_20230904_20230904_postAaveV3_Arbitrum_CapsUpgrade_20230904_20230904.md @@ -0,0 +1,25 @@ +## Reserve changes + +### Reserves altered + +#### AAVE ([0xba5DdD1f9d7F570dc94a51479a000E3BCE967196](https://arbiscan.io/address/0xba5DdD1f9d7F570dc94a51479a000E3BCE967196)) + +| description | value before | value after | +| --- | --- | --- | +| supplyCap | 1,850 AAVE | 2,710 AAVE | + + +## Raw diff + +```json +{ + "reserves": { + "0xba5DdD1f9d7F570dc94a51479a000E3BCE967196": { + "supplyCap": { + "from": 1850, + "to": 2710 + } + } + } +} +``` \ No newline at end of file diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol index 256a784c..a72e0b8f 100644 --- a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Arbitrum_CapsUpgrade_20230904_20230904.t.sol @@ -33,6 +33,23 @@ contract AaveV3_Arbitrum_CapsUpgrade_20230904_20230904_Test is ProtocolV3TestBas AaveV3Arbitrum.POOL ); + address[] memory assetsChanged = new address[](1); + assetsChanged[0] = AaveV3ArbitrumAssets.AAVE_UNDERLYING; + _noReservesConfigsChangesApartFrom(allConfigsBefore, allConfigsAfter, assetsChanged); + + ReserveConfig memory AAVE = _findReserveConfig( + allConfigsBefore, + AaveV3ArbitrumAssets.AAVE_UNDERLYING + ); + AAVE.supplyCap = 2_710; + _validateReserveConfig(AAVE, allConfigsAfter); + + e2eTestAsset( + AaveV3Arbitrum.POOL, + _findReserveConfig(allConfigsAfter, AaveV3ArbitrumAssets.WETH_UNDERLYING), + _findReserveConfig(allConfigsAfter, AaveV3ArbitrumAssets.AAVE_UNDERLYING) + ); + diffReports( 'preAaveV3_Arbitrum_CapsUpgrade_20230904_20230904', 'postAaveV3_Arbitrum_CapsUpgrade_20230904_20230904' From 6754f414dbbcc1a43e621ad9242b255aa9626a8e Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Mon, 4 Sep 2023 15:53:06 +0200 Subject: [PATCH 5/7] Add test & test result for metis --- ...eV3_Metis_CapsUpgrade_20230904_20230904.md | 25 +++++++++++++++++++ ..._Metis_CapsUpgrade_20230904_20230904.t.sol | 17 +++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 diffs/preAaveV3_Metis_CapsUpgrade_20230904_20230904_postAaveV3_Metis_CapsUpgrade_20230904_20230904.md diff --git a/diffs/preAaveV3_Metis_CapsUpgrade_20230904_20230904_postAaveV3_Metis_CapsUpgrade_20230904_20230904.md b/diffs/preAaveV3_Metis_CapsUpgrade_20230904_20230904_postAaveV3_Metis_CapsUpgrade_20230904_20230904.md new file mode 100644 index 00000000..8bdbd7d9 --- /dev/null +++ b/diffs/preAaveV3_Metis_CapsUpgrade_20230904_20230904_postAaveV3_Metis_CapsUpgrade_20230904_20230904.md @@ -0,0 +1,25 @@ +## Reserve changes + +### Reserves altered + +#### Metis ([0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000](https://andromeda-explorer.metis.io/address/0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000)) + +| description | value before | value after | +| --- | --- | --- | +| supplyCap | 60,000 Metis | 120,000 Metis | + + +## Raw diff + +```json +{ + "reserves": { + "0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000": { + "supplyCap": { + "from": 60000, + "to": 120000 + } + } + } +} +``` \ No newline at end of file diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol index 1e635595..31e39ce3 100644 --- a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Metis_CapsUpgrade_20230904_20230904.t.sol @@ -33,6 +33,23 @@ contract AaveV3_Metis_CapsUpgrade_20230904_20230904_Test is ProtocolV3TestBase { AaveV3Metis.POOL ); + address[] memory assetsChanged = new address[](1); + assetsChanged[0] = AaveV3MetisAssets.Metis_UNDERLYING; + _noReservesConfigsChangesApartFrom(allConfigsBefore, allConfigsAfter, assetsChanged); + + ReserveConfig memory Metis = _findReserveConfig( + allConfigsBefore, + AaveV3MetisAssets.Metis_UNDERLYING + ); + Metis.supplyCap = 120_000; + _validateReserveConfig(Metis, allConfigsAfter); + + e2eTestAsset( + AaveV3Metis.POOL, + _findReserveConfig(allConfigsAfter, AaveV3MetisAssets.WETH_UNDERLYING), + _findReserveConfig(allConfigsAfter, AaveV3MetisAssets.Metis_UNDERLYING) + ); + diffReports( 'preAaveV3_Metis_CapsUpgrade_20230904_20230904', 'postAaveV3_Metis_CapsUpgrade_20230904_20230904' From c8729474a51555e04c579abf9d1a06a24cabb144 Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Mon, 4 Sep 2023 16:16:48 +0200 Subject: [PATCH 6/7] added test & test result for polygon e2easset failing at _repay() for allConfigAfter and allConfigBefore with DPI as borrowed (other supply/borrow pair worked) --- ...3_Polygon_CapsUpgrade_20230904_20230904.md | 25 +++++++++++++++++++ ...olygon_CapsUpgrade_20230904_20230904.t.sol | 17 +++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 diffs/preAaveV3_Polygon_CapsUpgrade_20230904_20230904_postAaveV3_Polygon_CapsUpgrade_20230904_20230904.md diff --git a/diffs/preAaveV3_Polygon_CapsUpgrade_20230904_20230904_postAaveV3_Polygon_CapsUpgrade_20230904_20230904.md b/diffs/preAaveV3_Polygon_CapsUpgrade_20230904_20230904_postAaveV3_Polygon_CapsUpgrade_20230904_20230904.md new file mode 100644 index 00000000..8a5db6e2 --- /dev/null +++ b/diffs/preAaveV3_Polygon_CapsUpgrade_20230904_20230904_postAaveV3_Polygon_CapsUpgrade_20230904_20230904.md @@ -0,0 +1,25 @@ +## Reserve changes + +### Reserves altered + +#### DPI ([0x85955046DF4668e1DD369D2DE9f3AEB98DD2A369](https://polygonscan.com/address/0x85955046DF4668e1DD369D2DE9f3AEB98DD2A369)) + +| description | value before | value after | +| --- | --- | --- | +| supplyCap | 1,417 DPI | 2,460 DPI | + + +## Raw diff + +```json +{ + "reserves": { + "0x85955046DF4668e1DD369D2DE9f3AEB98DD2A369": { + "supplyCap": { + "from": 1417, + "to": 2460 + } + } + } +} +``` \ No newline at end of file diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol index ddf9259f..82aea28d 100644 --- a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol @@ -33,6 +33,23 @@ contract AaveV3_Polygon_CapsUpgrade_20230904_20230904_Test is ProtocolV3TestBase AaveV3Polygon.POOL ); + address[] memory assetsChanged = new address[](1); + assetsChanged[0] = AaveV3PolygonAssets.DPI_UNDERLYING; + _noReservesConfigsChangesApartFrom(allConfigsBefore, allConfigsAfter, assetsChanged); + + ReserveConfig memory DPI = _findReserveConfig( + allConfigsBefore, + AaveV3PolygonAssets.DPI_UNDERLYING + ); + DPI.supplyCap = 2_460; + _validateReserveConfig(DPI, allConfigsAfter); + +// e2eTestAsset( +// AaveV3Polygon.POOL, +// _findReserveConfig(allConfigsAfter, AaveV3PolygonAssets.WMATIC_UNDERLYING), +// _findReserveConfig(allConfigsAfter, AaveV3PolygonAssets.DPI_UNDERLYING) +// ); + diffReports( 'preAaveV3_Polygon_CapsUpgrade_20230904_20230904', 'postAaveV3_Polygon_CapsUpgrade_20230904_20230904' From 1c234cbdfce228788fb8e72c25201ae21c28cc5c Mon Sep 17 00:00:00 2001 From: Rozengarden Date: Tue, 5 Sep 2023 12:45:21 +0200 Subject: [PATCH 7/7] Polygon test but with e2e test passing --- .../AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol index 82aea28d..78c613b5 100644 --- a/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol +++ b/src/20230904_AaveV3_Multi_CapsUpgrade_20230904/AaveV3_Polygon_CapsUpgrade_20230904_20230904.t.sol @@ -44,11 +44,11 @@ contract AaveV3_Polygon_CapsUpgrade_20230904_20230904_Test is ProtocolV3TestBase DPI.supplyCap = 2_460; _validateReserveConfig(DPI, allConfigsAfter); -// e2eTestAsset( -// AaveV3Polygon.POOL, -// _findReserveConfig(allConfigsAfter, AaveV3PolygonAssets.WMATIC_UNDERLYING), -// _findReserveConfig(allConfigsAfter, AaveV3PolygonAssets.DPI_UNDERLYING) -// ); + e2eTestAsset( + AaveV3Polygon.POOL, + _findReserveConfig(allConfigsAfter, AaveV3PolygonAssets.WMATIC_UNDERLYING), + _findReserveConfig(allConfigsAfter, AaveV3PolygonAssets.DPI_UNDERLYING) + ); diffReports( 'preAaveV3_Polygon_CapsUpgrade_20230904_20230904',