Skip to content

Commit

Permalink
reference tests fix and a little cleanup
Browse files Browse the repository at this point in the history
Signed-off-by: garyschulte <garyschulte@gmail.com>
  • Loading branch information
garyschulte committed Aug 25, 2023
1 parent d97d425 commit 9c6d247
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ private void traceTestSpecs(final String test, final List<GeneralStateTestCaseEi
}
}
worldStateUpdater.commit();
worldState.freeze();
worldState.persist(blockHeader);

summaryLine.put("output", result.getOutput().toUnprefixedHexString());
final long gasUsed = transaction.getGasLimit() - result.getGasRemaining();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
"post": {
"Shanghai": [
{
"hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"hash": "0xd14c10ed22a1cfb642e374be985ac581c39f3969bd59249e0405aca3beb47a47",
"logs": "0x0000000000000000000000000000000000000000000000000000000000000000",
"indexes": {
"data": 0,
Expand Down Expand Up @@ -101,4 +101,4 @@
{"pc":83,"op":62,"gas":"0x79bc18","gasCost":"0x0","memSize":0,"stack":["0x0","0x1","0x1","0x2","0x2","0xffff","0x1f4","0x78859e5b97166c486532b1595a673e9f9073643f1b519c6f18511b9913","0x2","0x389","0x0","0x0","0x1","0x0","0x3e3d6d5ff042148d326c1898713a76759ca273","0xb94f5374fce5edbc8e2a8697c15331677e6ebf1b"],"depth":1,"refund":0,"opName":"RETURNDATACOPY","error":"Out of bounds"},
{"output":"","gasUsed":"0x7a1200","test":"00000936-mixed-1","fork":"Shanghai","d":0,"g":0,"v":0,"postHash":"0xd14c10ed22a1cfb642e374be985ac581c39f3969bd59249e0405aca3beb47a47","postLogsHash":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","pass":false}
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,10 @@

import org.hyperledger.besu.datatypes.Hash;
import org.hyperledger.besu.ethereum.core.BlockHeader;
import org.hyperledger.besu.ethereum.core.BlockHeaderBuilder;
import org.hyperledger.besu.ethereum.core.BlockHeaderFunctions;
import org.hyperledger.besu.ethereum.core.Transaction;
import org.hyperledger.besu.ethereum.mainnet.MainnetBlockHeaderFunctions;

import java.util.ArrayList;
import java.util.LinkedHashMap;
Expand All @@ -37,6 +40,7 @@
public class GeneralStateTestCaseSpec {

private final Map<String, List<GeneralStateTestCaseEipSpec>> finalStateSpecs;
private static final BlockHeaderFunctions MAINNET_FUNCTIONS = new MainnetBlockHeaderFunctions();

@JsonCreator
public GeneralStateTestCaseSpec(
Expand All @@ -49,7 +53,7 @@ public GeneralStateTestCaseSpec(
}

private Map<String, List<GeneralStateTestCaseEipSpec>> generate(
final BlockHeader blockHeader,
final BlockHeader rawBlockHeader,
final ReferenceTestWorldState initialWorldState,
final Map<String, List<PostSection>> postSections,
final StateTestVersionedTransaction versionedTransaction) {
Expand All @@ -62,6 +66,11 @@ private Map<String, List<GeneralStateTestCaseEipSpec>> generate(
final List<PostSection> post = entry.getValue();
final List<GeneralStateTestCaseEipSpec> specs = new ArrayList<>(post.size());
for (final PostSection p : post) {
final BlockHeader blockHeader =
BlockHeaderBuilder.fromHeader(rawBlockHeader)
.stateRoot(p.rootHash)
.blockHeaderFunctions(MAINNET_FUNCTIONS)
.buildBlockHeader();
final Supplier<Transaction> txSupplier = () -> versionedTransaction.get(p.indexes);
specs.add(
new GeneralStateTestCaseEipSpec(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,10 @@
import org.hyperledger.besu.datatypes.Wei;
import org.hyperledger.besu.ethereum.core.BlockHeader;
import org.hyperledger.besu.ethereum.core.BlockHeaderBuilder;
import org.hyperledger.besu.ethereum.core.BlockHeaderFunctions;
import org.hyperledger.besu.ethereum.core.MutableWorldState;
import org.hyperledger.besu.ethereum.core.Transaction;
import org.hyperledger.besu.ethereum.mainnet.MainnetBlockHeaderFunctions;
import org.hyperledger.besu.ethereum.mainnet.MainnetTransactionProcessor;
import org.hyperledger.besu.ethereum.mainnet.ProtocolSpec;
import org.hyperledger.besu.ethereum.mainnet.TransactionValidationParams;
Expand Down Expand Up @@ -179,6 +181,7 @@ public static void executeTest(final GeneralStateTestCaseEipSpec spec) {
worldStateUpdater.deleteAccount(coinbase.getAddress());
}
worldStateUpdater.commit();
worldState.persist(blockHeader);

// Check the world state root hash.
final Hash expectedRootHash = spec.getExpectedRootHash();
Expand Down

0 comments on commit 9c6d247

Please sign in to comment.