From 2618a114e55f808e3165e630d3a20e990dfcd1eb Mon Sep 17 00:00:00 2001 From: Sammy Rosso <15244892+saolyn@users.noreply.github.com> Date: Mon, 3 Apr 2023 10:13:51 -0500 Subject: [PATCH] Testnet: override Eth1Data for genesisState from input JSON (#12231) Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com> --- cmd/prysmctl/testnet/generate_genesis.go | 30 ++++++++++++++---------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/cmd/prysmctl/testnet/generate_genesis.go b/cmd/prysmctl/testnet/generate_genesis.go index 88a330eaba..cc530d5665 100644 --- a/cmd/prysmctl/testnet/generate_genesis.go +++ b/cmd/prysmctl/testnet/generate_genesis.go @@ -251,7 +251,7 @@ func setGlobalParams() error { return params.SetActive(cfg.Copy()) } -func generateGenesis(ctx context.Context) (*ethpb.BeaconState, error) { +func generateGenesis(ctx context.Context) (genesisState *ethpb.BeaconState, err error) { genesisTime := generateGenesisStateFlags.GenesisTime numValidators := generateGenesisStateFlags.NumValidators depositJsonFile := generateGenesisStateFlags.DepositJsonFile @@ -266,22 +266,26 @@ func generateGenesis(ctx context.Context) (*ethpb.BeaconState, error) { return nil, err } defer func() { - if err := inputJSON.Close(); err != nil { + if err = inputJSON.Close(); err != nil { log.WithError(err).Printf("Could not close file %s", depositJsonFile) } }() log.Printf("Generating genesis state from input JSON deposit data %s", depositJsonFile) - return genesisStateFromJSONValidators(ctx, inputJSON, genesisTime) - } - if numValidators == 0 { - return nil, fmt.Errorf( - "expected --num-validators > 0 to have been provided", - ) - } - // If no JSON input is specified, we create the state deterministically from interop keys. - genesisState, _, err := interop.GenerateGenesisState(ctx, genesisTime, numValidators) - if err != nil { - return nil, err + genesisState, err = genesisStateFromJSONValidators(ctx, inputJSON, genesisTime) + if err != nil { + return nil, err + } + } else { + if numValidators == 0 { + return nil, fmt.Errorf( + "expected --num-validators > 0 to have been provided", + ) + } + // If no JSON input is specified, we create the state deterministically from interop keys. + genesisState, _, err = interop.GenerateGenesisState(ctx, genesisTime, numValidators) + if err != nil { + return nil, err + } } if overrideEth1Data { log.Print("Overriding Eth1Data with data from execution client")