From c79ed11e6e602aa489d4fe76d5c1b1cd2fc351c0 Mon Sep 17 00:00:00 2001 From: Zach Howard Date: Tue, 7 Jan 2025 17:15:42 -0600 Subject: [PATCH] feat: Allow passing of absolute prestate to op-deployer --- src/contracts/contract_deployer.star | 19 +++++++++++++++++++ src/package_io/input_parser.star | 14 ++++++++++++-- src/package_io/sanity_check.star | 9 +++++++++ static_files/prestates/prestate-proof.json | 8 -------- 4 files changed, 40 insertions(+), 10 deletions(-) delete mode 100755 static_files/prestates/prestate-proof.json diff --git a/src/contracts/contract_deployer.star b/src/contracts/contract_deployer.star index 61be674b..90a8be18 100644 --- a/src/contracts/contract_deployer.star +++ b/src/contracts/contract_deployer.star @@ -124,6 +124,25 @@ def deploy_contracts(plan, priv_key, l1_config_env_vars, optimism_args, l1_netwo "superchainRoles.proxyAdminOwner", "l1ProxyAdmin", l2_chain_ids_list[0] ), ] + if optimism_args.op_contract_deployer_params.global_deploy_overrides[ + "faultGameAbsolutePrestate" + ]: + intent_updates.extend( + [ + ( + "bool", + "globalDeployOverrides.dangerouslyAllowCustomDisputeParameters", + "true", + ), + ( + "string", + "globalDeployOverrides.faultGameAbsolutePrestate", + optimism_args.op_contract_deployer_params.global_deploy_overrides[ + "faultGameAbsolutePrestate" + ], + ), + ] + ) intent_updates.extend( [ ( diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index 4a09d054..f4a046ea 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -161,6 +161,9 @@ def input_parser(plan, input_args): l2_artifacts_locator=results["op_contract_deployer_params"][ "l2_artifacts_locator" ], + global_deploy_overrides=results["op_contract_deployer_params"][ + "global_deploy_overrides" + ], ), global_log_level=results["global_log_level"], global_node_selectors=results["global_node_selectors"], @@ -373,8 +376,8 @@ def default_challenger_params(): return { "image": "", "extra_params": [], - "cannon_prestate_path": "../../../static_files/prestates", - "cannon_prestates_url": "", + "cannon_prestate_path": "", + "cannon_prestates_url": "https://storage.googleapis.com/oplabs-network-data/proofs/op-program/cannon", } @@ -423,11 +426,18 @@ def default_participant(): } +def default_op_contract_deployer_global_deploy_overrides(): + return { + "faultGameAbsolutePrestate": "", + } + + def default_op_contract_deployer_params(): return { "image": "us-docker.pkg.dev/oplabs-tools-artifacts/images/op-deployer:v0.0.8", "l1_artifacts_locator": "https://storage.googleapis.com/oplabs-contract-artifacts/artifacts-v1-c193a1863182092bc6cb723e523e8313a0f4b6e9c9636513927f1db74c047c15.tar.gz", "l2_artifacts_locator": "https://storage.googleapis.com/oplabs-contract-artifacts/artifacts-v1-c193a1863182092bc6cb723e523e8313a0f4b6e9c9636513927f1db74c047c15.tar.gz", + "global_deploy_overrides": default_op_contract_deployer_global_deploy_overrides(), } diff --git a/src/package_io/sanity_check.star b/src/package_io/sanity_check.star index 5a57bff1..8e5b6ea2 100644 --- a/src/package_io/sanity_check.star +++ b/src/package_io/sanity_check.star @@ -73,8 +73,11 @@ OP_CONTRACT_DEPLOYER_PARAMS = [ "image", "l1_artifacts_locator", "l2_artifacts_locator", + "global_deploy_overrides", ] +OP_CONTRACT_DEPLOYER_GLOBAL_DEPLOY_OVERRIDES = ["faultGameAbsolutePrestate"] + ADDITIONAL_SERVICES_PARAMS = [ "blockscout", "rollup-boost", @@ -198,6 +201,12 @@ def sanity_check(plan, optimism_config): "op_contract_deployer_params", OP_CONTRACT_DEPLOYER_PARAMS, ) + validate_params( + plan, + optimism_config["op_contract_deployer_params"], + "global_deploy_overrides", + OP_CONTRACT_DEPLOYER_GLOBAL_DEPLOY_OVERRIDES, + ) plan.print("Sanity check for OP package passed") diff --git a/static_files/prestates/prestate-proof.json b/static_files/prestates/prestate-proof.json deleted file mode 100755 index 23871f68..00000000 --- a/static_files/prestates/prestate-proof.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "step": 0, - "pre": "0x03ce1018d75e7f6fbd5e815d64376e1e82a1334456d5a50be0afabeb17a8a421", - "post": "0x0315e881131ef96baffee5184c11c953c7fdfd9285c718cb1ac54a6283c0ea5f", - "state-data": "0x7918ea9554d1b92c840422beadbbd557fa73e66054bc7e06e4c3100367d1e07e000000000000000000000000000000000000000000000000000000000000000000000000000b8e60000b8e640000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffd0000000000000000000", - "proof-data": "0x0802e3940000000000000000000000003c01000b2421617c00200008000000008fb7000023bd00f802e00008000000008fa4000023a500040802e39c00000000e6e13ab33c13b7c5ab8dd2460d69d876b824fabf1a061c1de6b52b5059932274db9f30f7255f6be0c6bb974735e3723b3aa819e698556497dbbced9276dc5711652054894e3720fc284b59fc2cab41b8719ad830df29b1c60f393b52d10b98dcedb7e9ffde946fd94f6b2c10b8501ef0193f796656df23aefe537e9a28ffb3ea1ff0a7b9c78670b358b4a0876b2a64ad9006f281facecfec6f4d19c95f4a9ff1d9ddf4224339581003567680d0425facaa73fc6c558ce7767f7ce7451b6aeb801a931a0f0cb866780afd50d61ecd99f52099cefe1ac83f0f3f59c93ce559dd164dc2bc151618c363f38bbfe60a194bd7f239da7eead37fc9271d9a3fd26be85e3db62c86327a8ac8a238265089d931e8ce786881bfe13017c2765b39830875e7ab2a7aedc8d01896c7f7298f10dc8ea15e7ab41750bc7dd6ababfaa8112667b94ed7d7eb2f10bd66bc811505e4728e327ee428e1d89314cac1b6c6a5056504ed6f90a88d44ed0eed9cc7cf9ffec8a44d2e2047a80a260560a95a1906b8e93fa116d2321217e50c05cc0cf5bd69778766cfc63a79cac154b653e9e54177ac4d063edba23c9e364396c62106276860881d8b417d8c16254b5554da28f1e17355f5322b1acc8bea58f0ee9d21f1ff415cacd3460159067ec583ef505f5c2cf1b847b832e5e82e32a2e92ad0a79a9742c465b1383b0f19547b0c308e0b6a637bd531ed482dabb189dbdf9909c82569c822b07a8ed5110418c133764d43785a8fa75b69f138bc4002ffc97516bad2ebfabe121735495387b5072e67a640b0ca8ccb0114224cfa7c0cf3009790ac96e2f7689df915a0ae88b82e238668aefdb3478ab2ffc1e3dd17153f19fe95d2af10a51a85cf0f09b72ee1d6a118be2be1d35845b9f4418588ed35a2458cffeb39b93d26f18d2ab13bdce6aee58e7b99359ec2dfd95a9c16dc00d6ef18b7933a6f8dc65ccb55667138776f7dea101070dc8796e3774df84f40ae0c8229d0d6069e5c8f39a7c299677a09d367fc7b05e3bc380ee652cdc72595f74c7b1043d0e1ffbab734648c838dfb0527d971b602bc216c9619ef595531c28e98ea6e36fe4ab6cace6caf693027a8539fe6ee29c3deafe1b70ec5b8cd74046ff337f0a7bf2c8e03e10f642c1886798d71806ab1e888d9e5ee87d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" -} -