From f652decb9dee0c8f772bdc24617de65620cca1bc Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Mon, 26 Aug 2024 15:28:44 +0200 Subject: [PATCH 1/3] feat: add prefunded accounts --- README.md | 7 +++++++ network_params.yaml | 1 + src/package_io/input_parser.star | 3 +++ src/package_io/sanity_check.star | 1 + .../el_cl_genesis/el_cl_genesis_generator.star | 1 + .../genesis-generation-config/el-cl/values.env.tmpl | 1 + 6 files changed, 14 insertions(+) diff --git a/README.md b/README.md index eab8a870d..964dd3f92 100644 --- a/README.md +++ b/README.md @@ -545,6 +545,13 @@ network_params: # Default: ethpandaops devnet_repo: ethpandaops + # A number of prefunded accounts to be created + # Defaults to no prefunded accounts + # Example: + # prefunded_accounts: { "0x25941dC771bB64514Fc8abBce970307Fb9d477e9": "100" } + # 100ETh to the account 0x25941dC771bB64514Fc8abBce970307Fb9d477e9 + prefunded_accounts: {} + # Global parameters for the network # By default includes diff --git a/network_params.yaml b/network_params.yaml index e112bd869..99f32f748 100644 --- a/network_params.yaml +++ b/network_params.yaml @@ -85,6 +85,7 @@ network_params: max_blobs_per_block: 6 additional_preloaded_contracts: {} devnet_repo: ethpandaops + prefunded_accounts: {} additional_services: [] dora_params: image: "" diff --git a/src/package_io/input_parser.star b/src/package_io/input_parser.star index 99aa46882..34dcd665f 100644 --- a/src/package_io/input_parser.star +++ b/src/package_io/input_parser.star @@ -289,6 +289,7 @@ def input_parser(plan, input_args): "additional_preloaded_contracts" ], devnet_repo=result["network_params"]["devnet_repo"], + prefunded_accounts=result["network_params"]["prefunded_accounts"], ), mev_params=struct( mev_relay_image=result["mev_params"]["mev_relay_image"], @@ -811,6 +812,7 @@ def default_network_params(): "preset": "mainnet", "additional_preloaded_contracts": {}, "devnet_repo": "ethpandaops", + "prefunded_accounts": {}, } @@ -844,6 +846,7 @@ def default_minimal_network_params(): "preset": "minimal", "additional_preloaded_contracts": {}, "devnet_repo": "ethpandaops", + "prefunded_accounts": {}, } diff --git a/src/package_io/sanity_check.star b/src/package_io/sanity_check.star index 9e6ba934b..5286fdfc2 100644 --- a/src/package_io/sanity_check.star +++ b/src/package_io/sanity_check.star @@ -142,6 +142,7 @@ SUBCATEGORY_PARAMS = { "preset", "additional_preloaded_contracts", "devnet_repo", + "prefunded_accounts", ], "dora_params": [ "image", diff --git a/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star b/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star index bfe07bce1..55f4bc413 100644 --- a/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star +++ b/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star @@ -129,4 +129,5 @@ def new_env_file_for_el_cl_genesis_data( "AdditionalPreloadedContracts": json.encode( network_params.additional_preloaded_contracts ), + "PrefundedAccounts": network_params.prefunded_accounts, } diff --git a/static_files/genesis-generation-config/el-cl/values.env.tmpl b/static_files/genesis-generation-config/el-cl/values.env.tmpl index a828605f8..8f8d39f99 100644 --- a/static_files/genesis-generation-config/el-cl/values.env.tmpl +++ b/static_files/genesis-generation-config/el-cl/values.env.tmpl @@ -34,3 +34,4 @@ export SAMPLES_PER_SLOT={{ .SamplesPerSlot }} export CUSTODY_REQUIREMENT={{ .CustodyRequirement }} export MAX_BLOBS_PER_BLOCK={{ .MaxBlobsPerBlock }} export ADDITIONAL_PRELOADED_CONTRACTS={{ .AdditionalPreloadedContracts }} +export EL_PREMINE_ADDRS='{{ .PrefundedAccounts }}' From 37d22bcb429b357b87906cf26f620df71e90f196 Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Mon, 26 Aug 2024 15:30:10 +0200 Subject: [PATCH 2/3] fix readme --- README.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 964dd3f92..ea227d2b8 100644 --- a/README.md +++ b/README.md @@ -548,8 +548,11 @@ network_params: # A number of prefunded accounts to be created # Defaults to no prefunded accounts # Example: - # prefunded_accounts: { "0x25941dC771bB64514Fc8abBce970307Fb9d477e9": "100" } - # 100ETh to the account 0x25941dC771bB64514Fc8abBce970307Fb9d477e9 + # prefunded_accounts: '{"0x25941dC771bB64514Fc8abBce970307Fb9d477e9": {"balance": "10ETH"}}' + # 10ETH to the account 0x25941dC771bB64514Fc8abBce970307Fb9d477e9 + # To prefund multiple accounts, separate them with a comma + # + # prefunded_accounts: '{"0x25941dC771bB64514Fc8abBce970307Fb9d477e9": {"balance": "10ETH"}, "0x4107be99052d895e3ee461C685b042Aa975ab5c0": {"balance": "1ETH"}}' prefunded_accounts: {} # Global parameters for the network From 1ae4819e7202ba779d93de7e18554fc2c15da21b Mon Sep 17 00:00:00 2001 From: Barnabas Busa Date: Mon, 26 Aug 2024 15:43:37 +0200 Subject: [PATCH 3/3] fix readme --- README.md | 16 ++++++++++------ .../el_cl_genesis/el_cl_genesis_generator.star | 2 +- .../el-cl/values.env.tmpl | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ea227d2b8..ebf83ebd1 100644 --- a/README.md +++ b/README.md @@ -533,13 +533,17 @@ network_params: # Preloaded contracts for the chain additional_preloaded_contracts: {} - # example: To set a contract code at a certain address: + # Example: + # additional_preloaded_contracts: '{ # "0x123463a4B065722E99115D6c222f267d9cABb524": - # balance: "1ETH" - # code: "0x1234" - # storage: {} - # nonce: 0 - # secretKey: "0x" + # { + # balance: "1ETH", + # code: "0x1234", + # storage: {}, + # nonce: 0, + # secretKey: "0x", + # } + # }' # Repository override for devnet networks # Default: ethpandaops diff --git a/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star b/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star index 55f4bc413..705c1ac8e 100644 --- a/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star +++ b/src/prelaunch_data_generator/el_cl_genesis/el_cl_genesis_generator.star @@ -129,5 +129,5 @@ def new_env_file_for_el_cl_genesis_data( "AdditionalPreloadedContracts": json.encode( network_params.additional_preloaded_contracts ), - "PrefundedAccounts": network_params.prefunded_accounts, + "PrefundedAccounts": json.encode(network_params.prefunded_accounts), } diff --git a/static_files/genesis-generation-config/el-cl/values.env.tmpl b/static_files/genesis-generation-config/el-cl/values.env.tmpl index 8f8d39f99..32227b036 100644 --- a/static_files/genesis-generation-config/el-cl/values.env.tmpl +++ b/static_files/genesis-generation-config/el-cl/values.env.tmpl @@ -34,4 +34,4 @@ export SAMPLES_PER_SLOT={{ .SamplesPerSlot }} export CUSTODY_REQUIREMENT={{ .CustodyRequirement }} export MAX_BLOBS_PER_BLOCK={{ .MaxBlobsPerBlock }} export ADDITIONAL_PRELOADED_CONTRACTS={{ .AdditionalPreloadedContracts }} -export EL_PREMINE_ADDRS='{{ .PrefundedAccounts }}' +export EL_PREMINE_ADDRS={{ .PrefundedAccounts }}