Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deploy Vetoer1of2 #161

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 10 additions & 0 deletions mainnet/2024-04-23-deploy-vetoer1of2/.env
@@ -0,0 +1,10 @@
OP_COMMIT=08f3dbed90faccb36135fc4bd1d40bfa8ed4066f
BASE_CONTRACTS_COMMIT=a0f86fcf67e61f08ba7d7a8b26256963379b8a60

# L1 configuration
L1_PROXY_ADMIN=0x0475cBCAebd9CE8AfA5025828d5b98DFb67E059E
L1_BASE_SAFE=0x9855054731540A48b28990B63DcF4f33d8AE46A1
L1_OP_SAFE=0x9BA6e03D8B90dE867373Db8cF1A58d2F7F006b3A
L1_SECURITY_COUNCIL_SAFE=0xc2819DC788505Aac350142A7A707BF9D03E3Bd03
L1_VERIFIER_URL=https://api.etherscan.io/api
L1_ETHERSCAN_API_KEY=SET-ME
11 changes: 11 additions & 0 deletions mainnet/2024-04-23-deploy-vetoer1of2/Makefile
@@ -0,0 +1,11 @@
include ../../Makefile
include ../.env
include .env

##
# Deploy command
##
.PHONY: deploy-l1
deploy-l1:
forge script --rpc-url $(L1_RPC_URL) DeployVetoer1of2 --sig "deployL1()" --broadcast -i 1 \
--verify --verifier-url $(L1_VERIFIER_URL) --chain-id $(L1_CHAIN_ID) --etherscan-api-key $(L1_ETHERSCAN_API_KEY)
@@ -0,0 +1 @@
{}
18 changes: 18 additions & 0 deletions mainnet/2024-04-23-deploy-vetoer1of2/foundry.toml
@@ -0,0 +1,18 @@
[profile.default]
src = 'src'
out = 'out'
libs = ['lib']
broadcast = 'records'
fs_permissions = [{ access = "read-write", path = "./" }]
optimizer = true
optimizer_runs = 999999
solc_version = "0.8.15"
remappings = [
'@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/',
'@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts',
'@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts',
'@base-contracts/=lib/base-contracts',
'solady/=lib/solady/src/',
]

# See more config options https://github.com/foundry-rs/foundry/tree/master/config
29 changes: 29 additions & 0 deletions mainnet/2024-04-23-deploy-vetoer1of2/script/DeployVetoer1of2.s.sol
@@ -0,0 +1,29 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import "forge-std/Script.sol";

import {Vetoer1of2} from "@base-contracts/src/Vetoer1of2.sol";

contract DeployVetoer1of2 is Script {
function deployL1() public {
address opSafe = vm.envAddress("L1_OP_SAFE");
address baseSafe = vm.envAddress("L1_BASE_SAFE");
address initiator = vm.envAddress("L1_SECURITY_COUNCIL_SAFE");
address proxyAdmin = vm.envAddress("L1_PROXY_ADMIN");

_deployVetoer1of2({opSafe: opSafe, baseSafe: baseSafe, initiator: initiator, proxyAdmin: proxyAdmin});
}

function _deployVetoer1of2(address opSafe, address baseSafe, address initiator, address proxyAdmin) private {
vm.startBroadcast();

Vetoer1of2 vetoer1of2 =
new Vetoer1of2({opSigner_: opSafe, otherSigner_: baseSafe, initiator: initiator, target: proxyAdmin});

vm.stopBroadcast();

console.log("Vetoer1of2 deployed at", address(vetoer1of2));
console.log("DelayedVetoable deployed at", vetoer1of2.delayedVetoable());
}
}