Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
use flake

# Admin account
export GS_ADMIN_ADDRESS=0xA487AACa83dc0261Ec6ecC049DEc1a114Be09633
export GS_ADMIN_PRIVATE_KEY=0x9813ae9317088a52c5a339bb68840ebbf1dcfe9a8286146b95c81ed66fbd177a

# Batcher account
export GS_BATCHER_ADDRESS=0x30Cc02A155051F7709585c8734369bF7ff8697E1
export GS_BATCHER_PRIVATE_KEY=0x4458a596f1b03081ae02f0be4d89aff4ee4f5a0d0b1f30a225547040aabe0134

# Proposer account
export GS_PROPOSER_ADDRESS=0x31Cb20A9eFEa1e857f7D53510eaf0012B4A67FC9
export GS_PROPOSER_PRIVATE_KEY=0x85d9c71976a3f0ecf00e320909e9b0e392c2b68388d36721ce5a2978253b1988

# Sequencer account
export GS_SEQUENCER_ADDRESS=0xc30Bd3Dd52Ba3804110bE713856aE6ff97eB4d80
export GS_SEQUENCER_PRIVATE_KEY=0x1e536548463714a79154ab682bafc73382d4021768f645d850baf586c4aad989

export L1_RPC_URL="https://eth-holesky.g.alchemy.com/v2/DvJycB1yIoYFD34g6ezRt_n4rG1hAyn2"
export L1_BLOCK_TIME=12
export L1_CHAIN_ID=17000

export L2_CHAIN_ID=42069
export L2_BLOCK_TIME=2

export ADDRESS=0x35Ec8a72D8e218C252EaE18044b0cBb97c1e57bF
export PRIVATE_KEY=0xe6fd96073c41d6a2a6d3e03ca7a59ed5846c6b1c3bec47d53f8a7d4770a16ff0

export DEPLOYMENT_OUTFILE=deployments/artifact.json
export DEPLOY_CONFIG_PATH=deploy-config/holesky.json

export FOUNDRY_DISABLE_NIGHTLY_WARNING=true

export IMPL_SALT=$(openssl rand -hex 32)
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ packages/contracts-bedrock/deployments/anvil

.secrets
.env
.env*
!.env.example
!.envrc.example
*.log
Expand All @@ -46,3 +45,5 @@ __pycache__

# Ignore echidna artifacts
crytic-export

.direnv
11 changes: 11 additions & 0 deletions docker-bake.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,17 @@ target "proofs-tools" {
tags = [for tag in split(",", IMAGE_TAGS) : "${REGISTRY}/${REPOSITORY}/proofs-tools:${tag}"]
}

target "holocene-deployer" {
dockerfile = "./packages/contracts-bedrock/scripts/upgrades/holocene/upgrade.dockerfile"
context = "./packages/contracts-bedrock/scripts/upgrades/holocene"
args = {
REV = "op-contracts/v1.8.0-rc.1"
}
target="holocene-deployer"
platforms = split(",", PLATFORMS)
tags = [for tag in split(",", IMAGE_TAGS) : "${REGISTRY}/${REPOSITORY}/holocene-deployer:${tag}"]
}

target "ci-builder" {
dockerfile = "./ops/docker/ci-builder/Dockerfile"
context = "."
Expand Down
148 changes: 148 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

58 changes: 58 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
description = "";
inputs = {
devshell = {
url = "github:numtide/devshell";
inputs.systems.follows = "systems";
};
nixpkgs = {
url = "github:NixOS/nixpkgs/nixos-unstable";
};
systems.url = "github:nix-systems/default";
treefmt-nix = {
url = "github:numtide/treefmt-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
foundry.url = "github:shazow/foundry.nix";
};

outputs =
{
self,
nixpkgs,
systems,
foundry,
...
}@inputs:
let
eachSystem =
f:
nixpkgs.lib.genAttrs (import systems) (
system:
f (
import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
overlays = [ foundry.overlay ];
}
)
);
in
{
devShells = eachSystem (pkgs: {
default = pkgs.mkShell {
buildInputs = [ pkgs.foundry-bin ];
packages = [
pkgs.go
pkgs.goda
pkgs.gopls
pkgs.gops
pkgs.goreman
pkgs.just
];
};
});
};
}
2 changes: 1 addition & 1 deletion ops/scripts/ci-docker-tag-op-stack-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ DOCKER_REPO=$1
GIT_TAG=$2
GIT_SHA=$3

IMAGE_NAME=$(echo "$GIT_TAG" | grep -Eow '^(ci-builder(-rust)?|da-server|proofs-tools|cannon|ufm-[a-z0-9\-]*|op-[a-z0-9\-]*)' || true)
IMAGE_NAME=$(echo "$GIT_TAG" | grep -Eow '^(ci-builder(-rust)?|da-server|proofs-tools|holocene-deployer|cannon|ufm-[a-z0-9\-]*|op-[a-z0-9\-]*)' || true)
if [ -z "$IMAGE_NAME" ]; then
echo "image name could not be parsed from git tag '$GIT_TAG'"
exit 1
Expand Down
79 changes: 79 additions & 0 deletions packages/contracts-bedrock/deploy-config/holesky.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{

"l1StartingBlockTag": "0xf599a193ef3b9e7cca7211828c2ee6bcb6a7b683e4dd95a2b40876033381f05e",

"l1ChainID": 17000,
"l2ChainID": 42069,
"l2BlockTime": 2,
"l1BlockTime": 12,

"maxSequencerDrift": 600,
"sequencerWindowSize": 3600,
"channelTimeout": 300,

"p2pSequencerAddress": "0xc30Bd3Dd52Ba3804110bE713856aE6ff97eB4d80",
"batchInboxAddress": "0xff00000000000000000000000000000000042069",
"batchSenderAddress": "0x30Cc02A155051F7709585c8734369bF7ff8697E1",

"l2OutputOracleSubmissionInterval": 120,
"l2OutputOracleStartingBlockNumber": 0,
"l2OutputOracleStartingTimestamp": 1739539128,

"l2OutputOracleProposer": "0x31Cb20A9eFEa1e857f7D53510eaf0012B4A67FC9",
"l2OutputOracleChallenger": "0xA487AACa83dc0261Ec6ecC049DEc1a114Be09633",

"finalizationPeriodSeconds": 12,

"proxyAdminOwner": "0xA487AACa83dc0261Ec6ecC049DEc1a114Be09633",
"baseFeeVaultRecipient": "0xA487AACa83dc0261Ec6ecC049DEc1a114Be09633",
"l1FeeVaultRecipient": "0xA487AACa83dc0261Ec6ecC049DEc1a114Be09633",
"sequencerFeeVaultRecipient": "0xA487AACa83dc0261Ec6ecC049DEc1a114Be09633",
"finalSystemOwner": "0xA487AACa83dc0261Ec6ecC049DEc1a114Be09633",
"superchainConfigGuardian": "0xA487AACa83dc0261Ec6ecC049DEc1a114Be09633",

"baseFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"l1FeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"sequencerFeeVaultMinimumWithdrawalAmount": "0x8ac7230489e80000",
"baseFeeVaultWithdrawalNetwork": 0,
"l1FeeVaultWithdrawalNetwork": 0,
"sequencerFeeVaultWithdrawalNetwork": 0,

"gasPriceOracleOverhead": 0,
"gasPriceOracleScalar": 1000000,

"enableGovernance": true,
"governanceTokenSymbol": "OP",
"governanceTokenName": "Optimism",
"governanceTokenOwner": "0xA487AACa83dc0261Ec6ecC049DEc1a114Be09633",

"l2GenesisBlockGasLimit": "0x1c9c380",
"l2GenesisBlockBaseFeePerGas": "0x3b9aca00",

"eip1559Denominator": 50,
"eip1559DenominatorCanyon": 250,
"eip1559Elasticity": 6,
"l2GenesisFjordTimeOffset": "0x0",
"l2GenesisRegolithTimeOffset": "0x0",
"l2GenesisEcotoneTimeOffset": "0x0",
"l2GenesisDeltaTimeOffset": "0x0",
"l2GenesisCanyonTimeOffset": "0x0",
"systemConfigStartBlock": 0,

"requiredProtocolVersion": "0x0000000000000000000000000000000000000009000000000000000000000000",
"recommendedProtocolVersion": "0x0000000000000000000000000000000000000009000000000000000000000000",

"faultGameAbsolutePrestate": "0x03c7ae758795765c6664a5d39bf63841c71ff191e9189522bad8ebff5d4eca98",
"faultGameMaxDepth": 44,
"faultGameClockExtension": 0,
"faultGameMaxClockDuration": 1200,
"faultGameGenesisBlock": 0,
"faultGameGenesisOutputRoot": "0x0000000000000000000000000000000000000000000000000000000000000000",
"faultGameSplitDepth": 14,
"faultGameWithdrawalDelay": 600,

"preimageOracleMinProposalSize": 1800000,
"preimageOracleChallengePeriod": 300,

"proofMaturityDelaySeconds": 604800,
"disputeGameFinalityDelaySeconds": 302400
}
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@
"eip1559Denominator": 250,
"eip1559DenominatorCanyon": 250,
"systemConfigStartBlock": 4071248,
"faultGameAbsolutePrestate": "0x0385c3f8ee78491001d92b90b07d0cf387b7b52ab9b83b4d87c994e92cf823ba",
"faultGameAbsolutePrestate": "0x03925193e3e89f87835bbdf3a813f60b2aa818a36bbe71cd5d8fd7e79f5e8afe",
"faultGameMaxDepth": 73,
"faultGameClockExtension": 3600,
"faultGameMaxClockDuration": 14400,
Expand Down
21 changes: 21 additions & 0 deletions packages/contracts-bedrock/deployments/artifact.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"DelayedWETH": "0xA45784AdF095e44548291e44015691544F83Ed40",
"DisputeGameFactory": "0x1C4d36E34DdC0B7fB402Be75D779659BD5DD2130",
"L1CrossDomainMessenger": "0xf3F7c4F5f5d3C2E681F541d5258706788AB15Ca9",
"L1ERC721Bridge": "0x084c7A6951Da96331ac36e5FF34E106bED8A9877",
"L1StandardBridge": "0xE762e8A993377f0C3EEd2DE8558EC423b8d9E06c",
"L2OutputOracle": "0x299234a263A8fc8e2f1f0663436C1F96e050808E",
"Mips": "0x778A687a289dF0d07D80C12AA66D89Ad3440B3e9",
"OPContractsManager": "0x9E035C59EDB7Ae2b18E7743ddF8acc354ba44795",
"OPContractsManagerProxy": "0x897712Bf97AedC30efbb0d7745DEd6feE4176D3f",
"OptimismMintableERC20Factory": "0x8d428bdF2EE9a258faE8f0C97A48c74f774a556C",
"OptimismPortal": "0x2b06a099EbEc56B14a35fBb49dBB5e5987F413f8",
"OptimismPortal2": "0x461D688868755997f0127Ceba7D7411A75A8446A",
"PreimageOracle": "0xe0d9712F49C104889B2f5b5ac4132b404324f4c1",
"ProtocolVersions": "0x61d390288303E4cb6236A480CCe3e7a2a161b551",
"ProtocolVersionsProxy": "0xC9ad849Ea59981dd92F67F301153c1648629d0dd",
"SuperchainConfig": "0x03A7EB4EDc3E7A7867a48c340dBd356e2e8Da7d6",
"SuperchainConfigProxy": "0x87F67eba4958038cdDd08144A739882e05f478B7",
"SuperchainProxyAdmin": "0xa998ee6e2a795bB2126F6fFddcc3aee4233efF9C",
"SystemConfig": "0x7BC7c31B78Aa02ce8019C9DDEe6374fFC8fab5aE"
}
Loading