Skip to content

Commit

Permalink
Register Scroll adapter on a.DI (#176)
Browse files Browse the repository at this point in the history
* [WIP]: Register Scroll adapter on a.DI

* fix: fixed tests. Added readme

* Update src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/AaveV3Ethereum_RegisterADIScrollAdapter_20240122.sol

Co-authored-by: Ernesto Boado <[email protected]>

* Update src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/RegisterADIScrollAdapter.md

Co-authored-by: Ernesto Boado <[email protected]>

* Update src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/RegisterADIScrollAdapter.md

Co-authored-by: Ernesto Boado <[email protected]>

* Update src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/RegisterADIScrollAdapter.md

Co-authored-by: Ernesto Boado <[email protected]>

* Update src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/RegisterADIScrollAdapter.md

Co-authored-by: Ernesto Boado <[email protected]>

* Update src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/RegisterADIScrollAdapter.md

Co-authored-by: Ernesto Boado <[email protected]>

* fix: use address book libs

* fix: added extra scroll ccc test

---------

Co-authored-by: Ernesto Boado <[email protected]>
  • Loading branch information
sendra and eboadom authored Jan 24, 2024
1 parent 9ab28a9 commit f700e63
Show file tree
Hide file tree
Showing 6 changed files with 216 additions and 0 deletions.
2 changes: 2 additions & 0 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ base = "${RPC_BASE}"
zkevm = "${RPC_ZKEVM}"
gnosis = "${RPC_GNOSIS}"
bnb = "${RPC_BNB}"
scroll="${RPC_SCROLL}"

[etherscan]
mainnet = { key="${ETHERSCAN_API_KEY_MAINNET}", chainId=1 }
Expand All @@ -36,5 +37,6 @@ base = { key="${ETHERSCAN_API_KEY_BASE}", chainId=8453 }
zkevm = { key="${ETHERSCAN_API_KEY_ZKEVM}", chainId=1101 }
gnosis = { key="${ETHERSCAN_API_KEY_GNOSIS}", chainId=100 }
bnb = { key="${ETHERSCAN_API_KEY_BNB}", chainId=56 }
scroll={key="${ETHERSCAN_API_KEY_SCROLL}",chainId=534352}

# See more config options https://github.com/gakonst/foundry/tree/master/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {IProposalGenericExecutor} from 'aave-helpers/interfaces/IProposalGenericExecutor.sol';
import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol';
import {ChainIds} from 'aave-helpers/ChainIds.sol';
import {ICrossChainForwarder} from 'aave-address-book/common/ICrossChainController.sol';

/**
* @title Register a.DI Scroll adapter
* @author BGD Labs @bgdlabs
* - Snapshot: N/A (Technical maintenance proposal)
* - Forum: https://governance.aave.com/t/bgd-technical-maintenance-proposals/15274/15
*/
contract AaveV3Ethereum_RegisterADIScrollAdapter_20240122 is IProposalGenericExecutor {
address public constant SCROLL_ADAPTER_ETHEREUM = 0xb29F03cbCc646201eC83E9F2C164747beA84b162;
address public constant SCROLL_ADAPTER_SCROLL = 0x118DFD5418890c0332042ab05173Db4A2C1d283c;
uint256 public constant SCROLL_CHAIN_ID = ChainIds.SCROLL;

function execute() external {
ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[]
memory bridgeAdaptersToEnable = new ICrossChainForwarder.ForwarderBridgeAdapterConfigInput[](
1
);

bridgeAdaptersToEnable[0] = ICrossChainForwarder.ForwarderBridgeAdapterConfigInput({
currentChainBridgeAdapter: SCROLL_ADAPTER_ETHEREUM,
destinationBridgeAdapter: SCROLL_ADAPTER_SCROLL,
destinationChainId: SCROLL_CHAIN_ID
});

ICrossChainForwarder(GovernanceV3Ethereum.CROSS_CHAIN_CONTROLLER).enableBridgeAdapters(
bridgeAdaptersToEnable
);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import 'forge-std/Test.sol';
import {ProtocolV3TestBase} from 'aave-helpers/ProtocolV3TestBase.sol';
import {AaveV3Ethereum_RegisterADIScrollAdapter_20240122, ICrossChainForwarder} from './AaveV3Ethereum_RegisterADIScrollAdapter_20240122.sol';
import {GovernanceV3Scroll} from 'aave-address-book/GovernanceV3Scroll.sol';
import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol';
import {ChainIds} from 'aave-helpers/ChainIds.sol';
import {ICrossChainReceiver} from 'aave-address-book/common/ICrossChainController.sol';

interface IBaseAdapter {
/**
* @notice method to get the trusted remote address from a specified chain id
* @param chainId id of the chain from where to get the trusted remote
* @return address of the trusted remote
*/
function getTrustedRemoteByChainId(uint256 chainId) external view returns (address);
}

/**
* @dev Test for AaveV3Ethereum_RegisterADIScrollAdapter_20240122
* command: make test-contract filter=AaveV3Ethereum_RegisterADIScrollAdapter_20240122
*/
contract AaveV3Ethereum_RegisterADIScrollAdapter_20240122_Test is ProtocolV3TestBase {
AaveV3Ethereum_RegisterADIScrollAdapter_20240122 internal proposal;

uint256 public ethFork;
uint256 public scrollFork;

function setUp() public {
ethFork = vm.createFork(vm.rpcUrl('mainnet'), 19062921);
scrollFork = vm.createFork(vm.rpcUrl('scroll'), 2679843);

vm.selectFork(ethFork);
proposal = new AaveV3Ethereum_RegisterADIScrollAdapter_20240122();
}

/**
* @dev executes the generic test suite including e2e and config snapshots
*/
function test_defaultProposalExecution() public {
address scroll_adapter_ethereum = proposal.SCROLL_ADAPTER_ETHEREUM();
address scroll_adapter_scroll = proposal.SCROLL_ADAPTER_SCROLL();

executePayload(vm, address(proposal));

ICrossChainForwarder.ChainIdBridgeConfig[] memory ethConfig = ICrossChainForwarder(
GovernanceV3Ethereum.CROSS_CHAIN_CONTROLLER
).getForwarderBridgeAdaptersByChain(ChainIds.SCROLL);

assertEq(ethConfig.length, 1);
assertEq(ethConfig[0].destinationBridgeAdapter, scroll_adapter_scroll);
assertEq(ethConfig[0].currentChainBridgeAdapter, scroll_adapter_ethereum);

vm.selectFork(scrollFork);
address[] memory scrollConfig = ICrossChainReceiver(GovernanceV3Scroll.CROSS_CHAIN_CONTROLLER)
.getReceiverBridgeAdaptersByChain(ChainIds.MAINNET);

assertEq(scrollConfig.length, 1);
assertEq(scrollConfig[0], scroll_adapter_scroll);

assertEq(
IBaseAdapter(scroll_adapter_scroll).getTrustedRemoteByChainId(ChainIds.MAINNET),
GovernanceV3Ethereum.CROSS_CHAIN_CONTROLLER
);

ICrossChainReceiver.ReceiverConfiguration memory config = ICrossChainReceiver(
GovernanceV3Scroll.CROSS_CHAIN_CONTROLLER
).getConfigurationByChain(ChainIds.MAINNET);

assertEq(config.requiredConfirmation, uint8(1));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
---
title: "Register a.DI Ethereum -> Scroll adapter"
author: "BGD Labs @bgdlabs"
discussions: "https://governance.aave.com/t/bgd-technical-maintenance-proposals/15274/15"
---

## Simple Summary

Proposal to register the Scroll adapter on Ethereum a.DI, a technical requirement for an activation vote of Aave v3 Scroll.

## Motivation

In order to be able to pass messages from Ethereum to Scroll via a.DI (Aave Delivery Infrastructure), it is necessary to at least have one valid adapter Ethereum -> Scroll smart contract enabled in the system.

The first case of message passing Ethereum -> Scroll is the activation proposal for an Aave v3 Scroll pool and consequently, to be able to execute on the Scroll side the payload, the Aave governance should approve in advance the a.DI adapter smart contract.

This procedure was not required on previous activations like BNB, given that their adapter were pre-configured on the initial a.DI release, but will be needed going forward.

## Specification

The proposal payload simply registers a pre-deployed Scroll adapter (with the necessary configurations to communicate with the Scroll a.DI) on the Ethereum a.DI instance.

This is done by calling the `enableBridgeAdapters()` function on the Ethereum Cross-chain Controller smart contract.

## References

- Implementation: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/AaveV3Ethereum_RegisterADIScrollAdapter_20240122.sol)
- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/AaveV3Ethereum_RegisterADIScrollAdapter_20240122.t.sol)
- [Discussion](https://governance.aave.com/t/arfc-aave-v3-deployment-on-scroll-mainnet/16126/)

## Copyright

Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/).
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import {GovV3Helpers, IPayloadsControllerCore, PayloadsControllerUtils} from 'aave-helpers/GovV3Helpers.sol';
import {EthereumScript} from 'aave-helpers/ScriptUtils.sol';
import {AaveV3Ethereum_RegisterADIScrollAdapter_20240122} from './AaveV3Ethereum_RegisterADIScrollAdapter_20240122.sol';

/**
* @dev Deploy Ethereum
* deploy-command: make deploy-ledger contract=src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/RegisterADIScrollAdapter_20240122.s.sol:DeployEthereum chain=mainnet
* verify-command: npx catapulta-verify -b broadcast/RegisterADIScrollAdapter_20240122.s.sol/1/run-latest.json
*/
contract DeployEthereum is EthereumScript {
function run() external broadcast {
// deploy payloads
address payload0 = GovV3Helpers.deployDeterministic(
type(AaveV3Ethereum_RegisterADIScrollAdapter_20240122).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/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/RegisterADIScrollAdapter_20240122.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_RegisterADIScrollAdapter_20240122).creationCode
);
payloads[0] = GovV3Helpers.buildMainnetPayload(vm, actionsEthereum);

// create proposal
vm.startBroadcast();
GovV3Helpers.createProposal(
vm,
payloads,
GovV3Helpers.ipfsHashFile(
vm,
'src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/RegisterADIScrollAdapter.md'
)
);
}
}
13 changes: 13 additions & 0 deletions src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import {ConfigFile} from '../../generator/types';
export const config: ConfigFile = {
rootOptions: {
author: 'BGD Labs @bgdlabs',
pools: ['AaveV3Ethereum'],
title: 'Register a.DI Scroll adapter',
shortName: 'RegisterADIScrollAdapter',
date: '20240122',
discussion: '',
snapshot: '',
},
poolOptions: {AaveV3Ethereum: {configs: {OTHERS: {}}, cache: {blockNumber: 19062723}}},
};

1 comment on commit f700e63

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Foundry report

forge 0.2.0 (3344e2c 2024-01-24T00:22:47.027946475Z)
Build log
Compiling 435 files with 0.8.19
Solc 0.8.19 finished in 298.78s
Compiler run successful with warnings:
Warning (5667): Unused function parameter. Remove or comment out the variable name to silence this warning.
   --> lib/aave-helpers/src/GovV3Helpers.sol:879:5:
    |
879 |     address votingPortal
    |     ^^^^^^^^^^^^^^^^^^^^

Warning (2072): Unused local variable.
  --> src/20231122_AaveV3Harmony_FreezePriceFeedsOnV3Harmony/FreezePriceFeedsOnV3Harmony_20231122.s.sol:16:5:
   |
16 |     AaveV3Harmony_FreezePriceFeedsOnV3Harmony_20231122 payload0 = new AaveV3Harmony_FreezePriceFeedsOnV3Harmony_20231122(
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Warning (2018): Function state mutability can be restricted to pure
   --> lib/aave-helpers/src/GovV3Helpers.sol:591:3:
    |
591 |   function build2_5Payload(
    |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20231208_Multi_TreasuryManagementPolygonV2ToV3Migration/AaveV2Polygon_TreasuryManagementPolygonV2ToV3Migration_20231208.sol:12:3:
   |
12 |   function getUnderlyingAddresses() internal view returns (address[8] memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20231208_Multi_TreasuryManagementPolygonV2ToV3Migration/AaveV2Polygon_TreasuryManagementPolygonV2ToV3Migration_20231208.sol:25:3:
   |
25 |   function getV2ATokenAddresses() internal view returns (address[8] memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:32:3:
   |
32 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:43:3:
   |
43 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:54:3:
   |
54 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:65:3:
   |
65 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:76:3:
   |
76 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:87:3:
   |
87 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

Warning (2018): Function state mutability can be restricted to pure
  --> src/20240104_Multi_Patch/Patch_20240104.s.sol:98:3:
   |
98 |   function _getPayload() internal override returns (bytes memory) {
   |   ^ (Relevant source part starts here and spans across multiple lines).

| Contract                                                                                | Size (kB) | Margin (kB) |
|-----------------------------------------------------------------------------------------|-----------|-------------|
| AaveGovernanceV2                                                                        | 0.086     | 24.49       |
| AaveSafetyModule                                                                        | 0.086     | 24.49       |
| AaveSwapper                                                                             | 5.613     | 18.963      |
| AaveV1Ethereum_FixedREPPriceFeed_20231031                                               | 0.706     | 23.87       |
| AaveV2Avalanche                                                                         | 0.086     | 24.49       |
| AaveV2AvalancheAssets                                                                   | 0.086     | 24.49       |
| AaveV2Avalanche_ChaosLabsRiskParameterUpdatesWBTCEOnV2AndV3Avalanche_20231221           | 0.377     | 24.199      |
| AaveV2Avalanche_IncreaseStablecoinOptimalBorrowRates_20231113                           | 1.899     | 22.677      |
| AaveV2Avalanche_StablecoinIRCurvesUpdates_20231221                                      | 1.899     | 22.677      |
| AaveV2Ethereum                                                                          | 0.086     | 24.49       |
| AaveV2EthereumAMM                                                                       | 0.086     | 24.49       |
| AaveV2EthereumAMMAssets                                                                 | 0.086     | 24.49       |
| AaveV2EthereumAMM_SyncEmergencyAdminOnV2AMM_20231207                                    | 0.227     | 24.349      |
| AaveV2EthereumAssets                                                                    | 0.086     | 24.49       |
| AaveV2Ethereum_AaveV2EthereumLTReduction_20231030                                       | 3.023     | 21.553      |
| AaveV2Ethereum_ChaosLabsRFAndIRUpdatesAaveV2Ethereum_20231203                           | 2.851     | 21.725      |
| AaveV2Ethereum_ChaosLabsV2EthereumAndPolygonLTReductions_20231205                       | 2.641     | 21.935      |
| AaveV2Ethereum_Disable_Stable_Borrows_20231104                                          | 2.519     | 22.057      |
| AaveV2Ethereum_IncreaseStablecoinOptimalBorrowRates_20231113                            | 3.078     | 21.498      |
| AaveV2Ethereum_RedeemCRVFromAaveV2EthereumAndTransferToGLC_20231123                     | 1.322     | 23.254      |
| AaveV2Ethereum_StablecoinIRCurvesUpdates_20231221                                       | 2.88      | 21.696      |
| AaveV2Ethereum_V2DeprecationPlan20231120_20231121                                       | 2.003     | 22.573      |
| AaveV2Ethereum_V2DeprecationPlan20240102_20240103                                       | 0.968     | 23.608      |
| AaveV2Polygon                                                                           | 0.086     | 24.49       |
| AaveV2PolygonAssets                                                                     | 0.086     | 24.49       |
| AaveV2Polygon_AaveFundingUpdates_20231102                                               | 1.627     | 22.949      |
| AaveV2Polygon_ChaosLabsV2EthereumAndPolygonLTReductions_20231205                        | 1.853     | 22.723      |
| AaveV2Polygon_IncreaseStablecoinOptimalBorrowRates_20231113                             | 1.899     | 22.677      |
| AaveV2Polygon_ReserveFactorUpdatesJan152024_20240108                                    | 1.175     | 23.401      |
| AaveV2Polygon_ReserveFactorUpdatesPolygonAaveV2_20231103                                | 1.01      | 23.566      |
| AaveV2Polygon_ReserveFactorUpdatesPolygonAaveV2_20231124                                | 1.01      | 23.566      |
| AaveV2Polygon_ReserveFactorUpdates_20231208                                             | 1.036     | 23.54       |
| AaveV2Polygon_ReserveFactorUpdates_20240102                                             | 1.036     | 23.54       |
| AaveV2Polygon_StablecoinIRCurvesUpdates_20231221                                        | 1.899     | 22.677      |
| AaveV2Polygon_TreasuryManagementPolygonV2ToV3Migration_20231208                         | 3.046     | 21.53       |
| AaveV3Arbitrum                                                                          | 0.086     | 24.49       |
| AaveV3ArbitrumAssets                                                                    | 0.086     | 24.49       |
| AaveV3ArbitrumEModes                                                                    | 0.086     | 24.49       |
| AaveV3Arbitrum_Disable_Stable_Borrows_20231104                                          | 4.14      | 20.436      |
| AaveV3Arbitrum_IncreaseStablecoinOptimalBorrowRates_20231113                            | 5.167     | 19.409      |
| AaveV3Arbitrum_MAIMIMATICDeprecation20231031_20231031                                   | 4.227     | 20.349      |
| AaveV3Arbitrum_OnboardNativeUSDCToAaveV3Markets_20231205                                | 4.554     | 20.022      |
| AaveV3Arbitrum_Patch_20240104                                                           | 0.52      | 24.056      |
| AaveV3Arbitrum_StablecoinIRCurvesUpdates_20231221                                       | 4.919     | 19.657      |
| AaveV3Arbitrum_UpdatePriceOracleSentinel_20231125                                       | 0.291     | 24.285      |
| AaveV3Avalanche                                                                         | 0.086     | 24.49       |
| AaveV3AvalancheAssets                                                                   | 0.086     | 24.49       |
| AaveV3AvalancheEModes                                                                   | 0.086     | 24.49       |
| AaveV3Avalanche_ChaosLabsRiskParameterUpdatesWBTCEOnV2AndV3Avalanche_20231221           | 3.554     | 21.022      |
| AaveV3Avalanche_Disable_Stable_Borrows_20231104                                         | 3.471     | 21.105      |
| AaveV3Avalanche_IncreaseStablecoinOptimalBorrowRates_20231113                           | 4.665     | 19.911      |
| AaveV3Avalanche_MAIMIMATICDeprecation20231031_20231031                                  | 4.364     | 20.212      |
| AaveV3Avalanche_Patch_20240104                                                          | 0.52      | 24.056      |
| AaveV3Avalanche_StablecoinIRCurvesUpdates_20231221                                      | 4.669     | 19.907      |
| AaveV3BNB                                                                               | 0.086     | 24.49       |
| AaveV3BNBAssets                                                                         | 0.086     | 24.49       |
| AaveV3BNBEModes                                                                         | 0.086     | 24.49       |
| AaveV3Base                                                                              | 0.086     | 24.49       |
| AaveV3BaseAssets                                                                        | 0.086     | 24.49       |
| AaveV3BaseEModes                                                                        | 0.086     | 24.49       |
| AaveV3Base_IncreaseStablecoinOptimalBorrowRates_20231113                                | 3.667     | 20.909      |
| AaveV3Base_OnboardNativeUSDCToAaveV3Markets_20231205                                    | 5.854     | 18.722      |
| AaveV3Base_OnboardingWstETHToAaveV3OnBaseNetwork_20231127                               | 5.044     | 19.532      |
| AaveV3Base_Patch_20240104                                                               | 0.52      | 24.056      |
| AaveV3Base_StablecoinIRCurvesUpdates_20231221                                           | 3.659     | 20.917      |
| AaveV3Base_UpdatePriceOracleSentinel_20231125                                           | 0.291     | 24.285      |
| AaveV3Bnb_AaveV3BNBActivation_20231122                                                  | 8.203     | 16.373      |
| AaveV3Ethereum                                                                          | 0.086     | 24.49       |
| AaveV3EthereumAssets                                                                    | 0.086     | 24.49       |
| AaveV3EthereumEModes                                                                    | 0.086     | 24.49       |
| AaveV3Ethereum_ACIPhaseII_20231029                                                      | 0.682     | 23.894      |
| AaveV3Ethereum_AaveFundingUpdates_20231102                                              | 5.809     | 18.767      |
| AaveV3Ethereum_AaveFundingUpdates_20231106                                              | 3.838     | 20.738      |
| AaveV3Ethereum_AddFXSToEthereumV3_20231108                                              | 4.996     | 19.58       |
| AaveV3Ethereum_AmendSafetyModuleAAVEEmissions_20231104                                  | 1.938     | 22.638      |
| AaveV3Ethereum_CRVUSDOnboardingOnAaveV3Ethereum_20231116                                | 4.996     | 19.58       |
| AaveV3Ethereum_ChaosLabsRiskManagementRenewal_20231101                                  | 1.014     | 23.562      |
| AaveV3Ethereum_ChaosLabsRiskParameterUpdatesIncreaseMKRDebtCeilingOnV3Ethereum_20231116 | 3.418     | 21.158      |
| AaveV3Ethereum_ContinuousSecurityProposalAaveCertoraPart1_20231212                      | 0.686     | 23.89       |
| AaveV3Ethereum_ContinuousSecurityProposalAaveCertoraPart2_20231212                      | 0.716     | 23.86       |
| AaveV3Ethereum_GHOIncreaseBorrowRate_20231108                                           | 0.326     | 24.25       |
| AaveV3Ethereum_GHO_Incident_Report_20231122                                             | 0.385     | 24.191      |
| AaveV3Ethereum_GauntletAaveRenewal2023_20231128                                         | 1.232     | 23.344      |
| AaveV3Ethereum_GauntletRecommendationToReactivateCRVBorrowingOnV3_20231127              | 3.882     | 20.694      |
| AaveV3Ethereum_GhoIncidentReport_20231113                                               | 1.098     | 23.478      |
| AaveV3Ethereum_IncreaseGHOBorrowRate100BpsTo635OnAaveV3_20231205                        | 0.324     | 24.252      |
| AaveV3Ethereum_IncreaseGHOBorrowRate_20231121                                           | 0.326     | 24.25       |
| AaveV3Ethereum_IncreaseStablecoinOptimalBorrowRates_20231113                            | 4.417     | 20.159      |
| AaveV3Ethereum_Patch_20240104                                                           | 0.52      | 24.056      |
| AaveV3Ethereum_RegisterADIScrollAdapter_20240122                                        | 0.671     | 23.905      |
| AaveV3Ethereum_RequestForBountyPayoutDecember2023_20231213                              | 0.891     | 23.685      |
| AaveV3Ethereum_SecurityBudgetDec2023_20231218                                           | 0.714     | 23.862      |
| AaveV3Ethereum_StablecoinIRCurvesUpdates_20231221                                       | 4.668     | 19.908      |
| AaveV3Ethereum_StkGHOActivation_20240119                                                | 1.156     | 23.42       |
| AaveV3Ethereum_TokenLogicFunding_20231114                                               | 0.423     | 24.153      |
| AaveV3Ethereum_TokenLogicKarpatkeyServiceProviderPartnership_20231207                   | 1.243     | 23.333      |
| AaveV3Ethereum_TransferAURAToGLCSafe_20231123                                           | 0.514     | 24.062      |
| AaveV3Ethereum_TreasuryManagementAddToRETHHoldingResubmission_20231123                  | 0.946     | 23.63       |
| AaveV3Ethereum_TreasuryManagementAddToRETHHolding_20231103                              | 1.928     | 22.648      |
| AaveV3Ethereum_UpgradeAaveV3ETHPooolWETHParameters_20231031                             | 3.671     | 20.905      |
| AaveV3Fantom                                                                            | 0.086     | 24.49       |
| AaveV3FantomAssets                                                                      | 0.086     | 24.49       |
| AaveV3FantomEModes                                                                      | 0.086     | 24.49       |
| AaveV3GenericPatch_20240104                                                             | 0.52      | 24.056      |
| AaveV3Gnosis                                                                            | 0.086     | 24.49       |
| AaveV3GnosisAssets                                                                      | 0.086     | 24.49       |
| AaveV3GnosisEModes                                                                      | 0.086     | 24.49       |
| AaveV3Gnosis_AaveV3GnosisActivation_20231026                                            | 8.802     | 15.774      |
| AaveV3Gnosis_Patch_20240104                                                             | 0.52      | 24.056      |
| AaveV3Gnosis_StablecoinIRCurvesUpdates_20231221                                         | 3.911     | 20.665      |
| AaveV3Gnosis_UpdateGNORiskParametersOnAaveV3GnosisPool_20231213                         | 4.097     | 20.479      |
| AaveV3Harmony                                                                           | 0.086     | 24.49       |
| AaveV3HarmonyAssets                                                                     | 0.086     | 24.49       |
| AaveV3HarmonyEModes                                                                     | 0.086     | 24.49       |
| AaveV3Harmony_FreezePriceFeedsOnV3Harmony_20231122                                      | 3.097     | 21.479      |
| AaveV3Metis                                                                             | 0.086     | 24.49       |
| AaveV3MetisAssets                                                                       | 0.086     | 24.49       |
| AaveV3MetisEModes                                                                       | 0.086     | 24.49       |
| AaveV3Metis_IncreaseStablecoinOptimalBorrowRates_20231113                               | 3.914     | 20.662      |
| AaveV3Metis_StablecoinIRCurvesUpdates_20231221                                          | 3.91      | 20.666      |
| AaveV3Metis_UpdatePriceOracleSentinel_20231125                                          | 0.291     | 24.285      |
| AaveV3Optimism                                                                          | 0.086     | 24.49       |
| AaveV3OptimismAssets                                                                    | 0.086     | 24.49       |
| AaveV3OptimismEModes                                                                    | 0.086     | 24.49       |
| AaveV3Optimism_Disable_Stable_Borrows_20231104                                          | 3.851     | 20.725      |
| AaveV3Optimism_IncreaseStablecoinOptimalBorrowRates_20231113                            | 4.919     | 19.657      |
| AaveV3Optimism_MAIMIMATICDeprecation20231031_20231031                                   | 4.228     | 20.348      |
| AaveV3Optimism_OnboardNativeUSDCToAaveV3Markets_20231205                                | 4.658     | 19.918      |
| AaveV3Optimism_OnboardNativeUSDCToAaveV3Optimism_20231122                               | 5.551     | 19.025      |
| AaveV3Optimism_Patch_20240104                                                           | 0.52      | 24.056      |
| AaveV3Optimism_StablecoinIRCurvesUpdates_20231221                                       | 4.919     | 19.657      |
| AaveV3Optimism_UpdatePriceOracleSentinel_20231125                                       | 0.291     | 24.285      |
| AaveV3Polygon                                                                           | 0.086     | 24.49       |
| AaveV3PolygonAssets                                                                     | 0.086     | 24.49       |
| AaveV3PolygonEModes                                                                     | 0.086     | 24.49       |
| AaveV3Polygon_ChaosLabsCRVAaveV3PolygonLTReduction_20231106                             | 3.416     | 21.16       |
| AaveV3Polygon_Disable_Stable_Borrows_20231104                                           | 4.139     | 20.437      |
| AaveV3Polygon_GauntletCapRecommendationsForPolygonV3_20231120                           | 3.392     | 21.184      |
| AaveV3Polygon_GauntletRecommendationToLowerStMATICMaticXNonEmodeLTPt2_20231117          | 3.571     | 21.005      |
| AaveV3Polygon_GauntletRecommendationToReactivateCRVBorrowingOnV3_20231127               | 3.615     | 20.961      |
| AaveV3Polygon_IncreaseStablecoinOptimalBorrowRates_20231113                             | 4.416     | 20.16       |
| AaveV3Polygon_IncreaseSupplyAndBorrowCapsAt100UtilizationDecember2023_20231205          | 3.333     | 21.243      |
| AaveV3Polygon_MAIMIMATICDeprecation20231031_20231031                                    | 4.226     | 20.35       |
| AaveV3Polygon_OnboardNativeUSDCToAaveV3Markets_20231205                                 | 6.129     | 18.447      |
| AaveV3Polygon_Patch_20240104                                                            | 0.52      | 24.056      |
| AaveV3Polygon_StablecoinIRCurvesUpdates_20231221                                        | 4.416     | 20.16       |
| AaveV3Polygon_WMATICInterestRateUpdate_20231112                                         | 3.662     | 20.914      |
| Address                                                                                 | 0.086     | 24.49       |
| AddressesToMigrate                                                                      | 0.086     | 24.49       |
| CertoraProposalDeployer                                                                 | 0.086     | 24.49       |
| ChainHelpers                                                                            | 0.086     | 24.49       |
| ChainIds                                                                                | 0.086     | 24.49       |
| ConfiguratorInputTypes                                                                  | 0.086     | 24.49       |
| Create2Utils                                                                            | 0.164     | 24.412      |
| DataTypes                                                                               | 0.086     | 24.49       |
| DeploymentHelper                                                                        | 0.086     | 24.49       |
| EngineFlags                                                                             | 0.086     | 24.49       |
| EnumerableSet                                                                           | 0.086     | 24.49       |
| EnvelopeUtils                                                                           | 0.086     | 24.49       |
| Errors                                                                                  | 4.714     | 19.862      |
| GovHelpers                                                                              | 0.086     | 24.49       |
| GovV3Helpers                                                                            | 2.622     | 21.954      |
| GovV3StorageHelpers                                                                     | 0.086     | 24.49       |
| GovernanceV3Arbitrum                                                                    | 0.086     | 24.49       |
| GovernanceV3Avalanche                                                                   | 0.086     | 24.49       |
| GovernanceV3BNB                                                                         | 0.086     | 24.49       |
| GovernanceV3Base                                                                        | 0.086     | 24.49       |
| GovernanceV3Ethereum                                                                    | 0.086     | 24.49       |
| GovernanceV3Gnosis                                                                      | 0.086     | 24.49       |
| GovernanceV3Metis                                                                       | 0.086     | 24.49       |
| GovernanceV3Optimism                                                                    | 0.086     | 24.49       |
| GovernanceV3Polygon                                                                     | 0.086     | 24.49       |
| GovernanceV3PolygonZkEvm                                                                | 0.086     | 24.49       |
| GovernanceV3Scroll                                                                      | 0.086     | 24.49       |
| HelperStructs                                                                           | 0.086     | 24.49       |
| IpfsUtils                                                                               | 0.086     | 24.49       |
| MiscBNB                                                                                 | 0.086     | 24.49       |
| MiscEthereum                                                                            | 0.086     | 24.49       |
| MiscPolygon                                                                             | 0.086     | 24.49       |
| MockERC20                                                                               | 3.687     | 20.889      |
| MockERC721                                                                              | 3.825     | 20.751      |
| MockExecutor                                                                            | 0.437     | 24.139      |
| PayloadsControllerUtils                                                                 | 0.086     | 24.49       |
| PoolAddresses                                                                           | 0.357     | 24.219      |
| ProxyHelpers                                                                            | 0.086     | 24.49       |
| ReserveConfiguration                                                                    | 0.171     | 24.405      |
| SafeERC20                                                                               | 0.086     | 24.49       |
| StdStyle                                                                                | 0.086     | 24.49       |
| StorageHelpers                                                                          | 0.086     | 24.49       |
| TransactionUtils                                                                        | 0.086     | 24.49       |
| WadRayMath                                                                              | 0.086     | 24.49       |
| console                                                                                 | 0.086     | 24.49       |
| console2                                                                                | 0.086     | 24.49       |
| mock_proposal                                                                           | 3.653     | 20.923      |
| safeconsole                                                                             | 0.086     | 24.49       |
| stdError                                                                                | 0.591     | 23.985      |
| stdJson                                                                                 | 0.086     | 24.49       |
| stdMath                                                                                 | 0.086     | 24.49       |
| stdStorage                                                                              | 0.086     | 24.49       |
| stdStorageSafe                                                                          | 0.086     | 24.49       |
Test success 🌈
No files changed, compilation skipped

Running 1 test for src/20240122_AaveV3Ethereum_RegisterADIScrollAdapter/AaveV3Ethereum_RegisterADIScrollAdapter_20240122.t.sol:AaveV3Ethereum_RegisterADIScrollAdapter_20240122_Test
[PASS] test_defaultProposalExecution() (gas: 195784)
Test result: ok. 1 passed; 0 failed; 0 skipped; finished in 5.58s
 
Ran 1 test suites: 1 tests passed, 0 failed, 0 skipped (1 total tests)

Please sign in to comment.