generated from bgd-labs/bgd-forge-template
-
Notifications
You must be signed in to change notification settings - Fork 31
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: Add CCC update and new Bridge adapters for aDI
- Loading branch information
Showing
23 changed files
with
1,366 additions
and
0 deletions.
There are no files selected for viewing
22 changes: 22 additions & 0 deletions
22
src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
--- | ||
title: "aDI and bridge adapters update" | ||
author: "BGD Labs @bgdlabs" | ||
discussions: "" | ||
--- | ||
|
||
## Simple Summary | ||
|
||
## Motivation | ||
|
||
## Specification | ||
|
||
## References | ||
|
||
- Implementation: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Ethereum_ADIAndBridgeAdaptersUpdate_20240305.sol), [AaveV3Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Polygon_ADIAndBridgeAdaptersUpdate_20240305.sol), [AaveV3Avalanche](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Avalanche_ADIAndBridgeAdaptersUpdate_20240305.sol), [AaveV3Optimism](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Optimism_ADIAndBridgeAdaptersUpdate_20240305.sol), [AaveV3Arbitrum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Arbitrum_ADIAndBridgeAdaptersUpdate_20240305.sol), [AaveV3Metis](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Metis_ADIAndBridgeAdaptersUpdate_20240305.sol), [AaveV3Base](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Base_ADIAndBridgeAdaptersUpdate_20240305.sol), [AaveV3Gnosis](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Gnosis_ADIAndBridgeAdaptersUpdate_20240305.sol), [AaveV3Scroll](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Scroll_ADIAndBridgeAdaptersUpdate_20240305.sol), [AaveV3BNB](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3BNB_ADIAndBridgeAdaptersUpdate_20240305.sol) | ||
- Tests: [AaveV3Ethereum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Ethereum_ADIAndBridgeAdaptersUpdate_20240305.t.sol), [AaveV3Polygon](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Polygon_ADIAndBridgeAdaptersUpdate_20240305.t.sol), [AaveV3Avalanche](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Avalanche_ADIAndBridgeAdaptersUpdate_20240305.t.sol), [AaveV3Optimism](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Optimism_ADIAndBridgeAdaptersUpdate_20240305.t.sol), [AaveV3Arbitrum](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Arbitrum_ADIAndBridgeAdaptersUpdate_20240305.t.sol), [AaveV3Metis](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Metis_ADIAndBridgeAdaptersUpdate_20240305.t.sol), [AaveV3Base](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Base_ADIAndBridgeAdaptersUpdate_20240305.t.sol), [AaveV3Gnosis](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Gnosis_ADIAndBridgeAdaptersUpdate_20240305.t.sol), [AaveV3Scroll](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3Scroll_ADIAndBridgeAdaptersUpdate_20240305.t.sol), [AaveV3BNB](https://github.com/bgd-labs/aave-proposals-v3/blob/main/src/20240305_Multi_ADIAndBridgeAdaptersUpdate/AaveV3BNB_ADIAndBridgeAdaptersUpdate_20240305.t.sol) | ||
- [Snapshot](TODO) | ||
- [Discussion](TODO) | ||
|
||
## Copyright | ||
|
||
Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). |
328 changes: 328 additions & 0 deletions
328
src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,328 @@ | ||
// SPDX-License-Identifier: MIT | ||
pragma solidity ^0.8.0; | ||
|
||
import {GovV3Helpers, IPayloadsControllerCore, PayloadsControllerUtils} from 'aave-helpers/GovV3Helpers.sol'; | ||
import {EthereumScript, PolygonScript, AvalancheScript, OptimismScript, ArbitrumScript, MetisScript, BaseScript, GnosisScript, ScrollScript, BNBScript} from 'aave-helpers/ScriptUtils.sol'; | ||
import {AaveV3Ethereum_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3Ethereum_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
import {AaveV3Polygon_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3Polygon_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
import {AaveV3Avalanche_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3Avalanche_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
import {AaveV3Optimism_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3Optimism_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
import {AaveV3Arbitrum_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3Arbitrum_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
import {AaveV3Metis_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3Metis_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
import {AaveV3Base_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3Base_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
import {AaveV3Gnosis_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3Gnosis_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
import {AaveV3Scroll_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3Scroll_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
import {AaveV3BNB_ADIAndBridgeAdaptersUpdate_20240305} from './AaveV3BNB_ADIAndBridgeAdaptersUpdate_20240305.sol'; | ||
|
||
/** | ||
* @dev Deploy Ethereum | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployEthereum chain=mainnet | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/1/run-latest.json | ||
*/ | ||
contract DeployEthereum is EthereumScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Ethereum_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Deploy Polygon | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployPolygon chain=polygon | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/137/run-latest.json | ||
*/ | ||
contract DeployPolygon is PolygonScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Polygon_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Deploy Avalanche | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployAvalanche chain=avalanche | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/43114/run-latest.json | ||
*/ | ||
contract DeployAvalanche is AvalancheScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Avalanche_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Deploy Optimism | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployOptimism chain=optimism | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/10/run-latest.json | ||
*/ | ||
contract DeployOptimism is OptimismScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Optimism_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Deploy Arbitrum | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployArbitrum chain=arbitrum | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/42161/run-latest.json | ||
*/ | ||
contract DeployArbitrum is ArbitrumScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Arbitrum_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Deploy Metis | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployMetis chain=metis | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/1088/run-latest.json | ||
*/ | ||
contract DeployMetis is MetisScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Metis_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Deploy Base | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployBase chain=base | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/8453/run-latest.json | ||
*/ | ||
contract DeployBase is BaseScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Base_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Deploy Gnosis | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployGnosis chain=gnosis | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/100/run-latest.json | ||
*/ | ||
contract DeployGnosis is GnosisScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Gnosis_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Deploy Scroll | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployScroll chain=scroll | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/534352/run-latest.json | ||
*/ | ||
contract DeployScroll is ScrollScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3Scroll_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
|
||
// compose action | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actions = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actions[0] = GovV3Helpers.buildAction(payload0); | ||
|
||
// register action at payloadsController | ||
GovV3Helpers.createPayload(actions); | ||
} | ||
} | ||
|
||
/** | ||
* @dev Deploy BNB | ||
* deploy-command: make deploy-ledger contract=src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:DeployBNB chain=bnb | ||
* verify-command: npx catapulta-verify -b broadcast/ADIAndBridgeAdaptersUpdate_20240305.s.sol/56/run-latest.json | ||
*/ | ||
contract DeployBNB is BNBScript { | ||
function run() external broadcast { | ||
// deploy payloads | ||
address payload0 = GovV3Helpers.deployDeterministic( | ||
type(AaveV3BNB_ADIAndBridgeAdaptersUpdate_20240305).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/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate_20240305.s.sol:CreateProposal chain=mainnet | ||
*/ | ||
contract CreateProposal is EthereumScript { | ||
function run() external { | ||
// create payloads | ||
PayloadsControllerUtils.Payload[] memory payloads = new PayloadsControllerUtils.Payload[](10); | ||
|
||
// compose actions for validation | ||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsEthereum = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsEthereum[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Ethereum_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[0] = GovV3Helpers.buildMainnetPayload(vm, actionsEthereum); | ||
|
||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsPolygon = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsPolygon[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Polygon_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[1] = GovV3Helpers.buildPolygonPayload(vm, actionsPolygon); | ||
|
||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsAvalanche = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsAvalanche[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Avalanche_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[2] = GovV3Helpers.buildAvalanchePayload(vm, actionsAvalanche); | ||
|
||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsOptimism = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsOptimism[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Optimism_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[3] = GovV3Helpers.buildOptimismPayload(vm, actionsOptimism); | ||
|
||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsArbitrum = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsArbitrum[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Arbitrum_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[4] = GovV3Helpers.buildArbitrumPayload(vm, actionsArbitrum); | ||
|
||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsMetis = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsMetis[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Metis_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[5] = GovV3Helpers.buildMetisPayload(vm, actionsMetis); | ||
|
||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsBase = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsBase[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Base_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[6] = GovV3Helpers.buildBasePayload(vm, actionsBase); | ||
|
||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsGnosis = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsGnosis[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Gnosis_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[7] = GovV3Helpers.buildGnosisPayload(vm, actionsGnosis); | ||
|
||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsScroll = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsScroll[0] = GovV3Helpers.buildAction( | ||
type(AaveV3Scroll_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[8] = GovV3Helpers.buildScrollPayload(vm, actionsScroll); | ||
|
||
IPayloadsControllerCore.ExecutionAction[] | ||
memory actionsBNB = new IPayloadsControllerCore.ExecutionAction[](1); | ||
actionsBNB[0] = GovV3Helpers.buildAction( | ||
type(AaveV3BNB_ADIAndBridgeAdaptersUpdate_20240305).creationCode | ||
); | ||
payloads[9] = GovV3Helpers.buildBNBPayload(vm, actionsBNB); | ||
|
||
// create proposal | ||
vm.startBroadcast(); | ||
GovV3Helpers.createProposal( | ||
vm, | ||
payloads, | ||
GovV3Helpers.ipfsHashFile( | ||
vm, | ||
'src/20240305_Multi_ADIAndBridgeAdaptersUpdate/ADIAndBridgeAdaptersUpdate.md' | ||
) | ||
); | ||
} | ||
} |
Oops, something went wrong.