private static BlockBody buildBody(final GenesisConfig config) {
    final Optional<List<Withdrawal>> withdrawals =
        isShanghaiAtGenesis(config) ? Optional.of(emptyList()) : Optional.empty();

    return new BlockBody(emptyList(), emptyList(), withdrawals);
  }
Construct a {@link GenesisState} from a JSON object.

@param genesisStateRoot The root of the genesis state.
@param genesisConfig A {@link GenesisConfig} describing the genesis block.
@param protocolSchedule A protocol Schedule associated with
@return A new {@link GenesisState}.
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/chain/GenesisState.java