forked from marczeller/aave-proposals
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCreateMainnetProposals.s.sol
64 lines (60 loc) · 2.23 KB
/
CreateMainnetProposals.s.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
// SPDX-License-Identifier: MIT
// ################ EXAMPLE ################
// PLEASE COPY THE FILE & ADJUST ACCORDINGLY
// WE WILL REMOVE SCRIPTS PERIODICALLY
// #########################################
pragma solidity ^0.8.0;
import {WithChainIdValidation} from './WithChainIdValidation.sol';
import {GovHelpers} from 'aave-helpers/GovHelpers.sol';
contract CreateMainnetProposal is WithChainIdValidation {
constructor() WithChainIdValidation(1) {}
}
// Example proposal creation script for a single payload
contract SinglePayloadProposal is CreateMainnetProposal {
function run() external {
GovHelpers.Payload[] memory payloads = new GovHelpers.Payload[](1);
payloads[0] = GovHelpers.buildMainnet(
0xd91d1331db4F436DaF47Ec9Dd86deCb8EEF946B4 // deployed cbETH payload
);
vm.startBroadcast();
GovHelpers.createProposal(
payloads,
0x05097b8a0818a75c1db7d54dfd0299581cac0218a058017acb4726f7cc49657e // TODO: Replace with actual hash
);
vm.stopBroadcast();
}
}
// Example proposal creation script for a single payload emitting the creation calldata
contract SafeSinglePayloadProposal is CreateMainnetProposal {
function run() external {
GovHelpers.Payload[] memory payloads = new GovHelpers.Payload[](1);
payloads[0] = GovHelpers.buildMainnet(
0xd91d1331db4F436DaF47Ec9Dd86deCb8EEF946B4 // deployed cbETH payload
);
vm.startBroadcast();
GovHelpers.createProposal(
payloads,
0x05097b8a0818a75c1db7d54dfd0299581cac0218a058017acb4726f7cc49657e, // TODO: Replace with actual hash
true
);
vm.stopBroadcast();
}
}
// Example proposal creation script for a multiple payloads payload
contract MultiPayloadProposal is CreateMainnetProposal {
function run() external {
GovHelpers.Payload[] memory payloads = new GovHelpers.Payload[](2);
payloads[0] = GovHelpers.buildMainnet(
0xd91d1331db4F436DaF47Ec9Dd86deCb8EEF946B4 // deployed cbETH payload
);
payloads[1] = GovHelpers.buildPolygon(
0xd91d1331db4F436DaF47Ec9Dd86deCb8EEF946B4 // deployed cbETH payload
);
vm.startBroadcast();
GovHelpers.createProposal(
payloads,
0x05097b8a0818a75c1db7d54dfd0299581cac0218a058017acb4726f7cc49657e
);
vm.stopBroadcast();
}
}