diff --git a/diffs/pre_mainnet_gho_borrow_cap_increase_20240328_post_mainnet_gho_borrow_cap_increase_20240328.md b/diffs/pre_mainnet_gho_borrow_cap_increase_20240328_post_mainnet_gho_borrow_cap_increase_20240328.md new file mode 100644 index 0000000..f3a1829 --- /dev/null +++ b/diffs/pre_mainnet_gho_borrow_cap_increase_20240328_post_mainnet_gho_borrow_cap_increase_20240328.md @@ -0,0 +1,25 @@ +## Reserve changes + +### Reserves altered + +#### GHO ([0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f](https://etherscan.io/address/0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f)) + +| description | value before | value after | +| --- | --- | --- | +| borrowCap | 40,000,000 GHO | 42,000,000 GHO | + + +## Raw diff + +```json +{ + "reserves": { + "0x40D16FC0246aD3160Ccc09B8D0D3A2cD28aE6C2f": { + "borrowCap": { + "from": 40000000, + "to": 42000000 + } + } + } +} +``` \ No newline at end of file diff --git a/src/MainnetGHOBorrowCapIncrease_20240328.s.sol b/src/MainnetGHOBorrowCapIncrease_20240328.s.sol new file mode 100644 index 0000000..6e4ad1d --- /dev/null +++ b/src/MainnetGHOBorrowCapIncrease_20240328.s.sol @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {IAaveV3ConfigEngine} from 'aave-helpers/v3-config-engine/IAaveV3ConfigEngine.sol'; +import {EngineFlags} from 'aave-helpers/v3-config-engine/EngineFlags.sol'; +import {CapsPlusRiskStewardMainnet} from '../scripts/CapsPlusRiskStewardMainnet.s.sol'; +import {AaveV3EthereumAssets} from 'aave-address-book/AaveV3Ethereum.sol'; + +/** + * @title Update GHO Borrow Cap on Mainnet V3 + * @author Chaos Labs - eyalovadya + * Discussion: https://governance.aave.com/t/arfc-chaos-labs-risk-steward-increase-gho-minting-cap-03-28-24/17150 + */ +contract MainnetGHOBorrowCapIncrease_20240328 is CapsPlusRiskStewardMainnet { + /** + * @return string name identifier used for the diff + */ + function name() internal pure override returns (string memory) { + return 'mainnet_gho_borrow_cap_increase_20240328'; + } + + /** + * @return IAaveV3ConfigEngine.CapsUpdate[] capUpdates to be performed + */ + function capsUpdates() internal pure override returns (IAaveV3ConfigEngine.CapsUpdate[] memory) { + IAaveV3ConfigEngine.CapsUpdate[] memory capUpdates = new IAaveV3ConfigEngine.CapsUpdate[](1); + + capUpdates[0] = IAaveV3ConfigEngine.CapsUpdate( + AaveV3EthereumAssets.GHO_UNDERLYING, + EngineFlags.KEEP_CURRENT, + 42_000_000 + ); + + return capUpdates; + } +}