diff --git a/diffs/pre_gnosis_caps_increase_20240401_post_gnosis_caps_increase_20240401.md b/diffs/pre_gnosis_caps_increase_20240401_post_gnosis_caps_increase_20240401.md new file mode 100644 index 0000000..d66be42 --- /dev/null +++ b/diffs/pre_gnosis_caps_increase_20240401_post_gnosis_caps_increase_20240401.md @@ -0,0 +1,92 @@ +## Reserve changes + +### Reserve altered + +#### GNO ([0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb](https://gnosisscan.io/address/0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb)) + +| description | value before | value after | +| --- | --- | --- | +| supplyCap | 40,000 GNO | 60,000 GNO | + + +#### USDC ([0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83](https://gnosisscan.io/address/0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83)) + +| description | value before | value after | +| --- | --- | --- | +| supplyCap | 7,400,000 USDC | 11,000,000 USDC | +| borrowCap | 7,400,000 USDC | 11,000,000 USDC | + + +#### sDAI ([0xaf204776c7245bF4147c2612BF6e5972Ee483701](https://gnosisscan.io/address/0xaf204776c7245bF4147c2612BF6e5972Ee483701)) + +| description | value before | value after | +| --- | --- | --- | +| supplyCap | 40,000,000 sDAI | 48,000,000 sDAI | + + +#### EURe ([0xcB444e90D8198415266c6a2724b7900fb12FC56E](https://gnosisscan.io/address/0xcB444e90D8198415266c6a2724b7900fb12FC56E)) + +| description | value before | value after | +| --- | --- | --- | +| supplyCap | 1,500,000 EURe | 3,000,000 EURe | +| borrowCap | 1,400,000 EURe | 2,800,000 EURe | + + +#### WXDAI ([0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d](https://gnosisscan.io/address/0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d)) + +| description | value before | value after | +| --- | --- | --- | +| supplyCap | 18,000,000 WXDAI | 36,000,000 WXDAI | +| borrowCap | 18,000,000 WXDAI | 36,000,000 WXDAI | + + +## Raw diff + +```json +{ + "reserves": { + "0x9C58BAcC331c9aa871AFD802DB6379a98e80CEdb": { + "supplyCap": { + "from": 40000, + "to": 60000 + } + }, + "0xDDAfbb505ad214D7b80b1f830fcCc89B60fb7A83": { + "borrowCap": { + "from": 7400000, + "to": 11000000 + }, + "supplyCap": { + "from": 7400000, + "to": 11000000 + } + }, + "0xaf204776c7245bF4147c2612BF6e5972Ee483701": { + "supplyCap": { + "from": 40000000, + "to": 48000000 + } + }, + "0xcB444e90D8198415266c6a2724b7900fb12FC56E": { + "borrowCap": { + "from": 1400000, + "to": 2800000 + }, + "supplyCap": { + "from": 1500000, + "to": 3000000 + } + }, + "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d": { + "borrowCap": { + "from": 18000000, + "to": 36000000 + }, + "supplyCap": { + "from": 18000000, + "to": 36000000 + } + } + } +} +``` \ No newline at end of file diff --git a/src/GnosisCapsIncrease_20240401.s.sol b/src/GnosisCapsIncrease_20240401.s.sol new file mode 100644 index 0000000..ceeb6fc --- /dev/null +++ b/src/GnosisCapsIncrease_20240401.s.sol @@ -0,0 +1,60 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {AaveV3GnosisAssets} from 'aave-address-book/AaveV3Gnosis.sol'; +import {IAaveV3ConfigEngine} from 'aave-helpers/v3-config-engine/IAaveV3ConfigEngine.sol'; +import {EngineFlags} from 'aave-helpers/v3-config-engine/EngineFlags.sol'; +import {CapsPlusRiskStewardGnosis} from '../scripts/CapsPlusRiskStewardGnosis.s.sol'; + +/** + * @title Update Caps on Gnosis V3 + * @author Chaos Labs + * - Discussion: https://governance.aave.com/t/arfc-chaos-labs-risk-stewards-increase-supply-and-borrow-cap-on-v3-gnosis-04-01-2024/17201 + */ +contract GnosisCapsIncrease_20240401 is CapsPlusRiskStewardGnosis { + /** + * @return string name identifier used for the diff + */ + function name() internal pure override returns (string memory) { + return 'gnosis_caps_increase_20240401'; + } + + /** + * @return IAaveV3ConfigEngine.CapsUpdate[] capUpdates to be performed + */ + function capsUpdates() internal pure override returns (IAaveV3ConfigEngine.CapsUpdate[] memory) { + IAaveV3ConfigEngine.CapsUpdate[] memory capUpdates = new IAaveV3ConfigEngine.CapsUpdate[](5); + + capUpdates[0] = IAaveV3ConfigEngine.CapsUpdate( + AaveV3GnosisAssets.GNO_UNDERLYING, + 60_000, + EngineFlags.KEEP_CURRENT + ); + + capUpdates[1] = IAaveV3ConfigEngine.CapsUpdate( + AaveV3GnosisAssets.EURe_UNDERLYING, + 3_000_000, + 2_800_000 + ); + + capUpdates[2] = IAaveV3ConfigEngine.CapsUpdate( + AaveV3GnosisAssets.sDAI_UNDERLYING, + 48_000_000, + EngineFlags.KEEP_CURRENT + ); + + capUpdates[3] = IAaveV3ConfigEngine.CapsUpdate( + AaveV3GnosisAssets.USDC_UNDERLYING, + 11_000_000, + 11_000_000 + ); + + capUpdates[4] = IAaveV3ConfigEngine.CapsUpdate( + AaveV3GnosisAssets.WXDAI_UNDERLYING, + 36_000_000, + 36_000_000 + ); + + return capUpdates; + } +}