diff --git a/besu/src/main/java/org/hyperledger/besu/cli/config/EthNetworkConfig.java b/besu/src/main/java/org/hyperledger/besu/cli/config/EthNetworkConfig.java index 3f95522e317..7cddfd35dbc 100644 --- a/besu/src/main/java/org/hyperledger/besu/cli/config/EthNetworkConfig.java +++ b/besu/src/main/java/org/hyperledger/besu/cli/config/EthNetworkConfig.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.math.BigInteger; -import java.net.URISyntaxException; import java.net.URL; import java.nio.charset.StandardCharsets; import java.util.Collections; @@ -168,8 +167,7 @@ private static URL jsonConfigSource(final String resourceName) { */ public static String jsonConfig(final NetworkName network) { try { - return Resources.toString( - network.getGenesisFileResource(), StandardCharsets.UTF_8); + return Resources.toString(network.getGenesisFileResource(), StandardCharsets.UTF_8); } catch (IOException e) { throw new RuntimeException(e); } diff --git a/config/src/main/java/org/hyperledger/besu/config/GenesisReader.java b/config/src/main/java/org/hyperledger/besu/config/GenesisReader.java index c0b96b8da0d..edf1503e8b4 100644 --- a/config/src/main/java/org/hyperledger/besu/config/GenesisReader.java +++ b/config/src/main/java/org/hyperledger/besu/config/GenesisReader.java @@ -163,6 +163,7 @@ public GenesisAccount next() { Bytes code = null; Map storage = Map.of(); Bytes32 privateKey = null; + parser.nextToken(); // consume start object while (parser.nextToken() != JsonToken.END_OBJECT) { switch (normalizeKey(parser.currentName())) { case "nonce": @@ -192,6 +193,10 @@ public GenesisAccount next() { } break; } + if (parser.currentToken() == JsonToken.START_OBJECT) { + // ignore any unknown nested object + parser.skipChildren(); + } } parser.nextToken(); return new GenesisAccount(address, nonce, balance, code, storage, privateKey);