Skip to content

Commit a9ebc0b

Browse files
committed
deploy Vetoer1of2
1 parent 6a00b84 commit a9ebc0b

File tree

5 files changed

+91
-0
lines changed

5 files changed

+91
-0
lines changed
+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
OP_COMMIT=08f3dbed90faccb36135fc4bd1d40bfa8ed4066f
2+
BASE_CONTRACTS_COMMIT=a0f86fcf67e61f08ba7d7a8b26256963379b8a60
3+
4+
# L1 configuration
5+
L1_PROXY_ADMIN=0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E
6+
L1_BASE_SAFE=0x9855054731540A48b28990B63DcF4f33d8AE46A1
7+
L1_OP_SAFE=0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A
8+
L1_SECURITY_COUNCIL_SAFE=0xc2819DC788505Aac350142A7A707BF9D03E3Bd03
9+
L1_VERIFIER_URL=https://api.etherscan.io/api
10+
L1_ETHERSCAN_API_KEY=SET-ME
11+
12+
# L2 configuration
13+
L2_PROXY_ADMIN=0x4200000000000000000000000000000000000018
14+
L2_BASE_SAFE=0xd94E416cf2c7167608B2515B7e4102B41efff94f
15+
L2_OP_SAFE=0x28EDB11394eb271212ED66c08f2b7893C04C5D65
16+
L2_SECURITY_COUNCIL_SAFE=TBD
17+
L2_VERIFIER_URL=https://api-sepolia.basescan.org/api
18+
L2_ETHERSCAN_API_KEY=SET-ME
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
include ../../Makefile
2+
include ../.env
3+
include .env
4+
5+
##
6+
# Deploy command
7+
##
8+
.PHONY: deploy-l1
9+
deploy-l1:
10+
forge script --rpc-url $(L1_RPC_URL) DeployVetoer1of2 --sig "deployL1()" --broadcast -i 1 \
11+
--verify --verifier-url $(L1_VERIFIER_URL) --chain-id $(L1_CHAIN_ID) --etherscan-api-key $(L1_ETHERSCAN_API_KEY)
12+
13+
.PHONY: deploy-l2
14+
deploy-l2:
15+
forge script --rpc-url $(L2_RPC_URL) DeployVetoer1of2 --sig "deployL2()" --broadcast -i 1 \
16+
--verify --verifier-url $(L2_VERIFIER_URL) --chain-id $(L2_CHAIN_ID) --etherscan-api-key $(L2_ETHERSCAN_API_KEY)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
[profile.default]
2+
src = 'src'
3+
out = 'out'
4+
libs = ['lib']
5+
broadcast = 'records'
6+
fs_permissions = [{ access = "read-write", path = "./" }]
7+
optimizer = true
8+
optimizer_runs = 999999
9+
solc_version = "0.8.15"
10+
remappings = [
11+
'@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',
12+
'@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',
13+
'@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',
14+
'@base-contracts/=lib/base-contracts',
15+
'solady/=lib/solady/src/',
16+
]
17+
18+
# See more config options https://github.com/foundry-rs/foundry/tree/master/config
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
// SPDX-License-Identifier: MIT
2+
pragma solidity 0.8.15;
3+
4+
import "forge-std/Script.sol";
5+
6+
import {Vetoer1of2} from "@base-contracts/src/Vetoer1of2.sol";
7+
8+
contract DeployVetoer1of2 is Script {
9+
function deployL2() public {
10+
address opSafe = vm.envAddress("L2_OP_SAFE");
11+
address baseSafe = vm.envAddress("L2_BASE_SAFE");
12+
address initiator = vm.envAddress("L2_SECURITY_COUNCIL_SAFE");
13+
address proxyAdmin = vm.envAddress("L2_PROXY_ADMIN");
14+
15+
_deployVetoer1of2({opSafe: opSafe, baseSafe: baseSafe, initiator: initiator, proxyAdmin: proxyAdmin});
16+
}
17+
18+
function deployL1() public {
19+
address opSafe = vm.envAddress("L1_OP_SAFE");
20+
address baseSafe = vm.envAddress("L1_BASE_SAFE");
21+
address initiator = vm.envAddress("L1_SECURITY_COUNCIL_SAFE");
22+
address proxyAdmin = vm.envAddress("L1_PROXY_ADMIN");
23+
24+
_deployVetoer1of2({opSafe: opSafe, baseSafe: baseSafe, initiator: initiator, proxyAdmin: proxyAdmin});
25+
}
26+
27+
function _deployVetoer1of2(address opSafe, address baseSafe, address initiator, address proxyAdmin) private {
28+
vm.startBroadcast();
29+
30+
Vetoer1of2 vetoer1of2 =
31+
new Vetoer1of2({opSigner_: opSafe, otherSigner_: baseSafe, initiator: initiator, target: proxyAdmin});
32+
33+
vm.stopBroadcast();
34+
35+
console.log("Vetoer1of2 deployed at", address(vetoer1of2));
36+
console.log("DelayedVetoable deployed at", vetoer1of2.delayedVetoable());
37+
}
38+
}

0 commit comments

Comments
 (0)