diff --git a/README.md b/README.md index eab8a870d..ebf83ebd1 100644 --- a/README.md +++ b/README.md @@ -533,18 +533,32 @@ 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 devnet_repo: ethpandaops + # A number of prefunded accounts to be created + # Defaults to no prefunded accounts + # Example: + # 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 # 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..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,4 +129,5 @@ def new_env_file_for_el_cl_genesis_data( "AdditionalPreloadedContracts": json.encode( network_params.additional_preloaded_contracts ), + "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 a828605f8..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,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 }}