From cc698453f8a2b50e1c6bca892b9d2433195a552c Mon Sep 17 00:00:00 2001 From: Matthieu Vachon Date: Fri, 21 Feb 2025 20:36:32 -0500 Subject: [PATCH] Backward compatibility now stops at Prague hard-fork --- eth/tracers/firehose.go | 78 ++- eth/tracers/firehose_test.go | 2 +- .../tracetest/firehose/firehose_test.go | 64 ++- .../tracetest/firehose/helpers_test.go | 10 +- .../{ => fh2.3}/block.1.golden.json | 0 .../{ => fh2.3}/block.2.golden.json | 0 .../{ => fh2.3}/block.3.golden.json | 0 .../TestEIP7702/fh3.0/block.1.golden.json | 390 +++++++++++++++ .../TestEIP7702/fh3.0/block.2.golden.json | 305 ++++++++++++ .../TestEIP7702/fh3.0/block.3.golden.json | 261 ++++++++++ .../{ => fh2.3}/block.207938.golden.json | 0 .../fh3.0/block.207938.golden.json | 450 ++++++++++++++++++ .../{ => fh2.3}/block.3727495.golden.json | 0 .../fh3.0/block.3727495.golden.json | 164 +++++++ .../{ => fh2.3}/block.3733424.golden.json | 0 .../fh3.0/block.3733424.golden.json | 229 +++++++++ .../{ => fh2.3}/block.1550267.golden.json | 0 .../fh3.0/block.1550267.golden.json | 391 +++++++++++++++ .../{ => fh2.3}/block.1.golden.json | 0 .../TestSystemCalls/fh3.0/block.1.golden.json | 119 +++++ 20 files changed, 2420 insertions(+), 43 deletions(-) rename eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/{ => fh2.3}/block.1.golden.json (100%) rename eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/{ => fh2.3}/block.2.golden.json (100%) rename eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/{ => fh2.3}/block.3.golden.json (100%) create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.1.golden.json create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.2.golden.json create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.3.golden.json rename eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/{ => fh2.3}/block.207938.golden.json (100%) create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/fh3.0/block.207938.golden.json rename eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded/{ => fh2.3}/block.3727495.golden.json (100%) create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded/fh3.0/block.3727495.golden.json rename eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_wrong_diff/{ => fh2.3}/block.3733424.golden.json (100%) create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_wrong_diff/fh3.0/block.3733424.golden.json rename eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/{ => fh2.3}/block.1550267.golden.json (100%) create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/fh3.0/block.1550267.golden.json rename eth/tracers/internal/tracetest/firehose/testdata/TestSystemCalls/{ => fh2.3}/block.1.golden.json (100%) create mode 100644 eth/tracers/internal/tracetest/firehose/testdata/TestSystemCalls/fh3.0/block.1.golden.json diff --git a/eth/tracers/firehose.go b/eth/tracers/firehose.go index a9c2ea6583..9d30c30f21 100644 --- a/eth/tracers/firehose.go +++ b/eth/tracers/firehose.go @@ -114,8 +114,9 @@ type FirehoseConfig struct { } type privateFirehoseConfig struct { - FlushToTestBuffer bool `json:"flushToTestBuffer"` - IgnoreGenesisBlock bool `json:"ignoreGenesisBlock"` + FlushToTestBuffer bool `json:"flushToTestBuffer"` + IgnoreGenesisBlock bool `json:"ignoreGenesisBlock"` + ForcedBackwardCompatibility bool `json:"forcedBackwardCompatibility"` } // LogKeValues returns a list of key-values to be logged when the config is printed. @@ -130,10 +131,19 @@ func (c *FirehoseConfig) LogKeyValues() []any { } } +func (c *FirehoseConfig) ForcedBackwardCompatibility() bool { + if c.private != nil { + return c.private.ForcedBackwardCompatibility + } + + return false +} + type Firehose struct { // Global state outputBuffer *bytes.Buffer initSent *atomic.Bool + config *FirehoseConfig chainConfig *params.ChainConfig hasher crypto.KeccakState // Keccak256 hasher instance shared across tracer needs (non-concurrent safe) hasherBuf common.Hash // Keccak256 hasher result array shared across tracer needs (non-concurrent safe) @@ -194,7 +204,7 @@ func NewFirehoseFromRawJSON(cfg json.RawMessage) (*Firehose, error) { var privateConfig privateConfigRoot if err := json.Unmarshal(cfg, &privateConfig); err != nil { - log.Info("Firehose failed to parse private config, ignoring", "error", err) + log.Error("Firehose failed to parse private config, ignoring", "error", err) } else { config.private = privateConfig.Private } @@ -210,6 +220,7 @@ func NewFirehose(config *FirehoseConfig) *Firehose { // Global state outputBuffer: bytes.NewBuffer(make([]byte, 0, 100*1024*1024)), initSent: new(atomic.Bool), + config: config, chainConfig: nil, hasher: crypto.NewKeccakState(), tracerID: "global", @@ -245,6 +256,7 @@ func (f *Firehose) newIsolatedTransactionTracer(tracerID string) *Firehose { return &Firehose{ // Global state initSent: f.initSent, + config: f.config, chainConfig: f.chainConfig, hasher: crypto.NewKeccakState(), hasherBuf: common.Hash{}, @@ -307,16 +319,36 @@ func (f *Firehose) OnBlockchainInit(chainConfig *params.ChainConfig) { f.panicInvalidState("The OnBlockchainInit callback was called more than once", 0) } + applyBackwardCompatibilityLogSuffix := "" if f.applyBackwardCompatibility == nil { - f.applyBackwardCompatibility = ptr(chainNeedsLegacyBackwardCompatibility(chainConfig.ChainID)) + if f.config.ForcedBackwardCompatibility() { + f.applyBackwardCompatibility = ptr(true) + applyBackwardCompatibilityLogSuffix = " (forced by private config)" + } else if chainNeedsLegacyBackwardCompatibility(chainConfig.ChainID) { + f.applyBackwardCompatibility = ptr(true) + applyBackwardCompatibilityLogSuffix = " (inferred, up to Prague hard-fork)" + } else { + f.applyBackwardCompatibility = ptr(false) + applyBackwardCompatibilityLogSuffix = " (inferred, disabled)" + } + } else if *f.applyBackwardCompatibility { + applyBackwardCompatibilityLogSuffix = " (forced, up to Prague hard-fork)" + if f.config.ForcedBackwardCompatibility() { + applyBackwardCompatibilityLogSuffix = " (forced by private config)" + } + } else { + applyBackwardCompatibilityLogSuffix = " (disabled)" } - log.Info("Firehose tracer initialized", "chain_id", chainConfig.ChainID, "apply_backward_compatibility", *f.applyBackwardCompatibility, "protocol_version", FirehoseProtocolVersion) + log.Info("Firehose tracer initialized", + "chain_id", chainConfig.ChainID, + "apply_backward_compatibility", fmt.Sprintf("%t%s", *f.applyBackwardCompatibility, applyBackwardCompatibilityLogSuffix), + "protocol_version", FirehoseProtocolVersion, + ) } var gethDevChainID = big.NewInt(1337) var mainnetChainID = big.NewInt(1) -var goerliChainID = big.NewInt(5) var sepoliaChainID = big.NewInt(11155111) var holeskyChainID = big.NewInt(17000) var polygonMainnetChainID = big.NewInt(137) @@ -328,7 +360,6 @@ var bscTestnetChainID = big.NewInt(97) func chainNeedsLegacyBackwardCompatibility(id *big.Int) bool { return isChainIDOneOf(id, mainnetChainID, - goerliChainID, sepoliaChainID, holeskyChainID, polygonMainnetChainID, @@ -340,23 +371,44 @@ func chainNeedsLegacyBackwardCompatibility(id *big.Int) bool { } func (f *Firehose) OnBlockStart(event tracing.BlockEvent) { + f.ensureBlockChainInit() + // Hash is usually pre-computed within `event.Block`, so it's better to take from there block := event.Block hash := block.Hash() + // FIXME: Avoid calling 'Header()', it makes a copy while accessing event.Block getters directly avoids it header := event.Block.Header() - firehoseInfo("block start (number=%d hash=%s)", block.NumberU64(), hash) + // There was a lot of "over time" bugs introduced in Firehose 2.x, e.g. bugs that were fixed or + // introduced in a version without even knowing it. This means that for example, reprocessing + // a chain with latest Firehose 2.x would not produce the same output as the original Firehose 2.x + // making the final dataset indeterministic. + // + // In the optic and with the switch to a new tracer Firehose 3.0 that as a backward compatibility + // mode, we decided that from Prague and onwards, we would stop doing the backward compatibility + // mode and simply switch to the new mode right away. + // + // This will not be worst for the users because the Firehose 2.x is already not deterministic and + // the Firehose 3.x will be deterministic (hopefully). + // + // Also, it means it limits our needed back processing up to Prague only, stopping the "contagion" + // at some point. + blockRules := f.chainConfig.Rules(header.Number, blockIsMerge(event.Block), block.Time()) - f.ensureBlockChainInit() + // If are applying backward compatibility and the block is now Prague, stop applying backward compatibility + if *f.applyBackwardCompatibility && blockRules.IsPrague && !f.config.ForcedBackwardCompatibility() { + *f.applyBackwardCompatibility = false + } - f.blockRules = f.chainConfig.Rules(header.Number, blockIsMerge(event.Block), block.Time()) + firehoseInfo("block start (number=%d hash=%s, backward_compatibility=%t)", block.NumberU64(), hash, *f.applyBackwardCompatibility) + + f.blockRules = blockRules f.blockIsPrecompiledAddr = getActivePrecompilesChecker(f.blockRules) f.block = &pbeth.Block{ Hash: hash.Bytes(), Number: block.NumberU64(), - // FIXME: Avoid calling 'Header()', it makes a copy while accessing event.Block getters directly avoids it - Header: newBlockHeaderFromChainHeader(hash, block.Header()), + Header: newBlockHeaderFromChainHeader(hash, header), Ver: 4, // FIXME: 'block.Size()' is a relatively heavy operation, could we do it async? @@ -387,7 +439,7 @@ func (f *Firehose) OnSkippedBlock(event tracing.BlockEvent) { // It happened in the past, on Polygon if I recall right, that we missed block because some block // went in this code path. // - // See https: //github.com/streamingfast/go-ethereum/blob/a46903cf0cad829479ded66b369017914bf82314/core/blockchain.go#L1797-L1814 + // See https://github.com/streamingfast/go-ethereum/blob/a46903cf0cad829479ded66b369017914bf82314/core/blockchain.go#L1797-L1814 if event.Block.Transactions().Len() > 0 { panic(fmt.Sprintf("The tracer received an `OnSkippedBlock` block #%d (%s) with %d transactions, this according to core/blockchain.go should never happen and is an error", event.Block.NumberU64(), diff --git a/eth/tracers/firehose_test.go b/eth/tracers/firehose_test.go index 9c00ed6636..eeff3d333e 100644 --- a/eth/tracers/firehose_test.go +++ b/eth/tracers/firehose_test.go @@ -445,7 +445,7 @@ func TestFirehose_reorderIsolatedTransactionsAndOrdinals(t *testing.T) { ordinals := maps.Keys(seenOrdinals) slices.Sort(ordinals) - // All ordinals should be in stricly increasing order + // All ordinals should be in strictly increasing order prev := -1 for _, ordinal := range ordinals { if prev != -1 { diff --git a/eth/tracers/internal/tracetest/firehose/firehose_test.go b/eth/tracers/internal/tracetest/firehose/firehose_test.go index 624fdfa5cc..b226241996 100644 --- a/eth/tracers/internal/tracetest/firehose/firehose_test.go +++ b/eth/tracers/internal/tracetest/firehose/firehose_test.go @@ -21,6 +21,15 @@ import ( "github.com/stretchr/testify/require" ) +type tracingModel string + +const ( + tracingModelFirehose2_3 tracingModel = "fh2.3" + tracingModelFirehose3_0 tracingModel = "fh3.0" +) + +var tracingModels = []tracingModel{tracingModelFirehose2_3, tracingModelFirehose3_0} + func TestFirehosePrestate(t *testing.T) { testFolders := []string{ "./testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded", @@ -32,17 +41,20 @@ func TestFirehosePrestate(t *testing.T) { for _, folder := range testFolders { name := filepath.Base(folder) - t.Run(name, func(t *testing.T) { - tracer, tracingHooks, onClose := newFirehoseTestTracer(t) - defer onClose() + for _, model := range tracingModels { + t.Run(string(model)+"/"+name, func(t *testing.T) { + tracer, tracingHooks, onClose := newFirehoseTestTracer(t, model) + defer onClose() - runPrestateBlock(t, filepath.Join(folder, "prestate.json"), tracingHooks) + runPrestateBlock(t, filepath.Join(folder, "prestate.json"), tracingHooks) + + genesisLine, blockLines, unknownLines := readTracerFirehoseLines(t, tracer) + require.Len(t, unknownLines, 0, "Lines:\n%s", strings.Join(slicesMap(unknownLines, func(l unknownLine) string { return "- '" + string(l) + "'" }), "\n")) + require.NotNil(t, genesisLine) + blockLines.assertOnlyBlockEquals(t, filepath.Join(folder, string(model)), 1) + }) + } - genesisLine, blockLines, unknownLines := readTracerFirehoseLines(t, tracer) - require.Len(t, unknownLines, 0, "Lines:\n%s", strings.Join(slicesMap(unknownLines, func(l unknownLine) string { return "- '" + string(l) + "'" }), "\n")) - require.NotNil(t, genesisLine) - blockLines.assertOnlyBlockEquals(t, folder, 1) - }) } } @@ -157,7 +169,7 @@ func TestFirehose_EIP7702(t *testing.T) { } }) - assertBlockTracesCorrectly(t, gspec, engine, blocks, "TestEIP7702") + testBlockTracesCorrectly(t, gspec, engine, blocks, "TestEIP7702") } func TestFirehose_SystemCalls(t *testing.T) { @@ -168,26 +180,30 @@ func TestFirehose_SystemCalls(t *testing.T) { engine := beacon.New(ethash.NewFaker()) _, blocks, _ := core.GenerateChainWithGenesis(gspec, engine, 1, func(i int, b *core.BlockGen) {}) - assertBlockTracesCorrectly(t, gspec, engine, blocks, "TestSystemCalls") + testBlockTracesCorrectly(t, gspec, engine, blocks, "TestSystemCalls") } -func assertBlockTracesCorrectly(t *testing.T, genesisSpec *core.Genesis, engine consensus.Engine, blocks []*types.Block, goldenDir string) { +func testBlockTracesCorrectly(t *testing.T, genesisSpec *core.Genesis, engine consensus.Engine, blocks []*types.Block, goldenDir string) { t.Helper() - tracer, tracingHooks, onClose := newFirehoseTestTracer(t) - defer onClose() + for _, model := range tracingModels { + t.Run(string(model), func(t *testing.T) { + tracer, tracingHooks, onClose := newFirehoseTestTracer(t, model) + defer onClose() - chain, err := core.NewBlockChain(rawdb.NewMemoryDatabase(), nil, genesisSpec, nil, engine, vm.Config{Tracer: tracingHooks}, nil) - require.NoError(t, err, "failed to create tester chain") + chain, err := core.NewBlockChain(rawdb.NewMemoryDatabase(), nil, genesisSpec, nil, engine, vm.Config{Tracer: tracingHooks}, nil) + require.NoError(t, err, "failed to create tester chain") - chain.SetBlockValidatorAndProcessorForTesting( - ignoreValidateStateValidator{core.NewBlockValidator(genesisSpec.Config, chain)}, - core.NewStateProcessor(genesisSpec.Config, chain.HeaderChain()), - ) + chain.SetBlockValidatorAndProcessorForTesting( + ignoreValidateStateValidator{core.NewBlockValidator(genesisSpec.Config, chain)}, + core.NewStateProcessor(genesisSpec.Config, chain.HeaderChain()), + ) - defer chain.Stop() - n, err := chain.InsertChain(blocks) - require.NoError(t, err, "failed to insert chain block %d", n) + defer chain.Stop() + n, err := chain.InsertChain(blocks) + require.NoError(t, err, "failed to insert chain block %d", n) - assertBlockEquals(t, tracer, filepath.Join("testdata", goldenDir), len(blocks)) + assertBlockEquals(t, tracer, filepath.Join("testdata", goldenDir, string(model)), len(blocks)) + }) + } } diff --git a/eth/tracers/internal/tracetest/firehose/helpers_test.go b/eth/tracers/internal/tracetest/firehose/helpers_test.go index 24bf3a3ecd..98d6cbba90 100644 --- a/eth/tracers/internal/tracetest/firehose/helpers_test.go +++ b/eth/tracers/internal/tracetest/firehose/helpers_test.go @@ -29,16 +29,16 @@ type firehoseInitLine struct { type firehoseBlockLines []firehoseBlockLine -func newFirehoseTestTracer(t *testing.T) (*tracers.Firehose, *tracing.Hooks, func()) { +func newFirehoseTestTracer(t *testing.T, model tracingModel) (*tracers.Firehose, *tracing.Hooks, func()) { t.Helper() - tracer, err := tracers.NewFirehoseFromRawJSON([]byte(`{ - "applyBackwardsCompatibility": true, + tracer, err := tracers.NewFirehoseFromRawJSON([]byte(fmt.Sprintf(`{ "_private": { "flushToTestBuffer": true, - "ignoreGenesisBlock": true + "ignoreGenesisBlock": true, + "forcedBackwardCompatibility": %t } - }`)) + }`, model == tracingModelFirehose2_3))) require.NoError(t, err) hooks := tracers.NewTracingHooksFromFirehose(tracer) diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/block.1.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh2.3/block.1.golden.json similarity index 100% rename from eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/block.1.golden.json rename to eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh2.3/block.1.golden.json diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/block.2.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh2.3/block.2.golden.json similarity index 100% rename from eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/block.2.golden.json rename to eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh2.3/block.2.golden.json diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/block.3.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh2.3/block.3.golden.json similarity index 100% rename from eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/block.3.golden.json rename to eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh2.3/block.3.golden.json diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.1.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.1.golden.json new file mode 100644 index 0000000000..a1105d231c --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.1.golden.json @@ -0,0 +1,390 @@ +{ + "hash": "tNKSM8SZPvaEgBA4yUj9YayXYYuXnLCuHx5oWJwVOhw=", + "header": { + "baseFeePerGas": { + "bytes": "NCdwwA==" + }, + "blobGasUsed": "0", + "coinbase": "AAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "difficulty": { + "bytes": "AA==" + }, + "excessBlobGas": "0", + "gasLimit": "4712388", + "gasUsed": "142021", + "hash": "tNKSM8SZPvaEgBA4yUj9YayXYYuXnLCuHx5oWJwVOhw=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "number": "1", + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "parentHash": "pWIUj7qpHz/G8tLNdaLNz8Jr1TmoyDxTXP9TdFcxi1w=", + "receiptRoot": "6LQ+xgZZXKAlBStw088D6A2kWiz7g+TtQlAALnPMSi4=", + "requestsHash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "stateRoot": "wFieFJlWOhntuAXVWTxqg5Uur7kaXrFRERwFB8+qscc=", + "timestamp": "1970-01-01T00:00:10Z", + "transactionsRoot": "L6HG4v+Zoguv352C8ZdQGQ4tE5BJdzCJVbfWBHMquN0=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=", + "withdrawalsRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=" + }, + "number": "1", + "size": "1190", + "systemCalls": [ + { + "address": "AA899tcygH7xMZ+3uLuFItC+rAI=", + "beginOrdinal": "1", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "4", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "2", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "3", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1, + "input": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + }, + { + "address": "AAD5CCfxxToQy3oCM1sXUyAAKTU=", + "beginOrdinal": "5", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "8", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "6", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "7", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1, + "input": "pWIUj7qpHz/G8tLNdaLNz8Jr1TmoyDxTXP9TdFcxi1w=" + }, + { + "address": "AAAJYe9IDrVegNGa2DV5pkwAcAI=", + "beginOrdinal": "39", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "42", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "40", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "41", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1 + }, + { + "address": "AAC73cfOSIZC+1efiwDzpZAAclE=", + "beginOrdinal": "43", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "46", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "44", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "45", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1 + } + ], + "transactionTraces": [ + { + "beginOrdinal": "9", + "calls": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "addressDelegatesTo": "AAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "balanceChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": { + "bytes": "Dd8ozD895cA=" + }, + "oldValue": { + "bytes": "DeC2s6dkAAA=" + }, + "ordinal": "11", + "reason": "REASON_GAS_BUY" + }, + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": { + "bytes": "DeBFrisGZrU=" + }, + "oldValue": { + "bytes": "Dd8ozD895b8=" + }, + "ordinal": "35", + "reason": "REASON_GAS_REFUND" + }, + { + "address": "AAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "newValue": { + "bytes": "BFWK" + }, + "ordinal": "37", + "reason": "REASON_REWARD_TRANSACTION_FEE" + } + ], + "beginOrdinal": "20", + "callType": "CALL", + "caller": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "codeChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newCode": "7wEAAAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "newHash": "6BOVhfT5ksAf8bXRTf8FXcJyKhFA0Cb18MtIsAn1Z9o=", + "oldHash": "xdJGAYb3IzySfn2y3McDwOUAtlPKgic7e/rYBF2FpHA=", + "ordinal": "15" + }, + { + "address": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "newCode": "7wEAAAAAAAAAAAAAAAAAAAAAAAAAzMw=", + "newHash": "2nRj6FdgztYMKwAqS2x5e7pQdCMd4bTSeffx8pbIFmU=", + "oldHash": "xdJGAYb3IzySfn2y3McDwOUAtlPKgic7e/rYBF2FpHA=", + "ordinal": "17" + }, + { + "address": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "newCode": "7wEAAAAAAAAAAAAAAAAAAAAAAAAAu7s=", + "newHash": "0mhxQ0BYDv3haWHrT7NIuLWUSlfUHjFwuLM/8Jt1SXA=", + "oldCode": "7wEAAAAAAAAAAAAAAAAAAAAAAAAAzMw=", + "oldHash": "2nRj6FdgztYMKwAqS2x5e7pQdCMd4bTSeffx8pbIFmU=", + "ordinal": "19" + } + ], + "endOrdinal": "33", + "executedCode": true, + "gasChanges": [ + { + "newValue": "500000", + "ordinal": "10", + "reason": "REASON_TX_INITIAL_BALANCE" + }, + { + "newValue": "354000", + "oldValue": "500000", + "ordinal": "12", + "reason": "REASON_INTRINSIC_GAS" + }, + { + "newValue": "354000", + "ordinal": "21", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "newValue": "351280", + "oldValue": "353880", + "ordinal": "22", + "reason": "REASON_STATE_COLD_ACCESS" + }, + { + "newValue": "5348", + "oldValue": "353980", + "ordinal": "23", + "reason": "REASON_CALL" + }, + { + "newValue": "322474", + "oldValue": "5348", + "ordinal": "31", + "reason": "REASON_REFUND_AFTER_EXECUTION" + }, + { + "oldValue": "322474", + "ordinal": "32", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + }, + { + "newValue": "357979", + "oldValue": "322474", + "ordinal": "34", + "reason": "REASON_TX_REFUNDS" + }, + { + "oldValue": "357979", + "ordinal": "36", + "reason": "REASON_TX_LEFT_OVER_RETURNED" + } + ], + "gasConsumed": "31526", + "gasLimit": "354000", + "index": 1, + "nonceChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": "1", + "ordinal": "13" + }, + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": "2", + "oldValue": "1", + "ordinal": "14" + }, + { + "address": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "newValue": "1", + "ordinal": "16" + }, + { + "address": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "newValue": "2", + "oldValue": "1", + "ordinal": "18" + } + ] + }, + { + "address": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "addressDelegatesTo": "AAAAAAAAAAAAAAAAAAAAAAAAu7s=", + "balanceChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": { + "bytes": "Dd8ozD895b8=" + }, + "oldValue": { + "bytes": "Dd8ozD895cA=" + }, + "ordinal": "26", + "reason": "REASON_TRANSFER" + }, + { + "address": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "newValue": { + "bytes": "DeC2s6dkAAE=" + }, + "oldValue": { + "bytes": "DeC2s6dkAAA=" + }, + "ordinal": "27", + "reason": "REASON_TRANSFER" + } + ], + "beginOrdinal": "24", + "callType": "CALL", + "caller": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "depth": 1, + "endOrdinal": "30", + "executedCode": true, + "gasChanges": [ + { + "newValue": "339232", + "ordinal": "25", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "317126", + "ordinal": "29", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasConsumed": "22106", + "gasLimit": "339232", + "index": 2, + "parentIndex": 1, + "storageChanges": [ + { + "address": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEI=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEI=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "28" + } + ], + "value": { + "bytes": "AQ==" + } + } + ], + "endOrdinal": "38", + "from": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "gasLimit": "500000", + "gasPrice": { + "bytes": "NCdwwg==" + }, + "gasUsed": "142021", + "hash": "alLg5Yk4t0M/5q97S3ye+D/U/jP60tAc1kNI8q4G+G0=", + "maxFeePerGas": { + "bytes": "ASoF8gA=" + }, + "maxPriorityFeePerGas": { + "bytes": "Ag==" + }, + "r": "E2l+Qpz16QzQhLJM+8gu8vd/lpMS1JAC0/hIlSNzFeg=", + "receipt": { + "cumulativeGasUsed": "142021", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + }, + "s": "N9pmx9wBwi0vXsT283fImtj6D4zPzYK3ZFXwBhYmbBA=", + "setCodeAuthorizations": [ + { + "authority": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "chainId": "AQ==", + "nonce": "1", + "r": "9+Pll/wJfnHtbCaxSyXlOVvIUQ1YuRNq9DnhJxXy1yE=", + "s": "bPfD15Ob/beENz7/wOuwvXVJaRpRPzlePNq/hgJySYc=", + "v": 1 + }, + { + "authority": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "r": "2uP1vwtGC/qSZin0z+PZ2kBZ/xY3445BRUpUUwr4UOc=", + "s": "HhA+a0fj/u82ZZyD9gMoHso5vGditId+wkZrJcpo4UM=" + }, + { + "discarded": true, + "r": "2uP1vwtGC/qSZin0z+PZ2kBZ/xY3445BRUpUUwr4UOc=", + "s": "HhA+a0fj/u82ZZyD9gMoHso5vGditId+wkZrJcpo4UM=", + "v": 4 + }, + { + "authority": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "nonce": "1", + "r": "aZRYP4l48gpWJSypjCxSptjK/kDFXmphIXOrnH6LlKs=", + "s": "HLb0WRaaPuzez2ZbtK39Ch9vZGXNjm5AYg2i8X5MMwg=" + }, + { + "authority": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "discarded": true, + "nonce": "1", + "r": "aZRYP4l48gpWJSypjCxSptjK/kDFXmphIXOrnH6LlKs=", + "s": "HLb0WRaaPuzez2ZbtK39Ch9vZGXNjm5AYg2i8X5MMwg=" + } + ], + "status": "SUCCEEDED", + "to": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "type": "TRX_TYPE_SET_CODE" + } + ], + "ver": 4 +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.2.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.2.golden.json new file mode 100644 index 0000000000..120c92863a --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.2.golden.json @@ -0,0 +1,305 @@ +{ + "hash": "Hlau1KLprrOkaDe4TNZdPEoXeJ4UGEL1PwUY/qq+/rk=", + "header": { + "baseFeePerGas": { + "bytes": "LgcbLA==" + }, + "blobGasUsed": "0", + "coinbase": "AAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "difficulty": { + "bytes": "AA==" + }, + "excessBlobGas": "0", + "gasLimit": "4712388", + "gasUsed": "35126", + "hash": "Hlau1KLprrOkaDe4TNZdPEoXeJ4UGEL1PwUY/qq+/rk=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "number": "2", + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "parentHash": "tNKSM8SZPvaEgBA4yUj9YayXYYuXnLCuHx5oWJwVOhw=", + "receiptRoot": "TaaZwIwiwzd65OYkLzazOIYrFN0/DnyXzNqaA/dY3pQ=", + "requestsHash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "stateRoot": "C/zDETYPAXEFuq3RDENkXppoaNjfcWKHhIQqZGC0D5c=", + "timestamp": "1970-01-01T00:00:20Z", + "transactionsRoot": "5SXnkgZs4gKgt8t4GTnSeoV1i17zHn3xbZXSln9fd2E=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=", + "withdrawalsRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=" + }, + "number": "2", + "size": "717", + "systemCalls": [ + { + "address": "AA899tcygH7xMZ+3uLuFItC+rAI=", + "beginOrdinal": "1", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "4", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "2", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "3", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1, + "input": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + }, + { + "address": "AAD5CCfxxToQy3oCM1sXUyAAKTU=", + "beginOrdinal": "5", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "8", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "6", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "7", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1, + "input": "tNKSM8SZPvaEgBA4yUj9YayXYYuXnLCuHx5oWJwVOhw=" + }, + { + "address": "AAAJYe9IDrVegNGa2DV5pkwAcAI=", + "beginOrdinal": "32", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "35", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "33", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "34", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1 + }, + { + "address": "AAC73cfOSIZC+1efiwDzpZAAclE=", + "beginOrdinal": "36", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "39", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "37", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "38", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1 + } + ], + "transactionTraces": [ + { + "beginOrdinal": "9", + "calls": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "addressDelegatesTo": "AAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "balanceChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": { + "bytes": "CmgYAUEtZrU=" + }, + "oldValue": { + "bytes": "DeBFrisGZrU=" + }, + "ordinal": "11", + "reason": "REASON_GAS_BUY" + }, + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": { + "bytes": "DaHgOZLVtrQ=" + }, + "oldValue": { + "bytes": "CmgYAUEtZrQ=" + }, + "ordinal": "28", + "reason": "REASON_GAS_REFUND" + }, + { + "address": "AAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "newValue": { + "bytes": "PkzJFSq+Qg==" + }, + "oldValue": { + "bytes": "BFWK" + }, + "ordinal": "30", + "reason": "REASON_REWARD_TRANSACTION_FEE" + } + ], + "beginOrdinal": "14", + "callType": "CALL", + "caller": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "endOrdinal": "27", + "executedCode": true, + "gasChanges": [ + { + "newValue": "500000", + "ordinal": "10", + "reason": "REASON_TX_INITIAL_BALANCE" + }, + { + "newValue": "479000", + "oldValue": "500000", + "ordinal": "12", + "reason": "REASON_INTRINSIC_GAS" + }, + { + "newValue": "479000", + "ordinal": "15", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "newValue": "476380", + "oldValue": "478880", + "ordinal": "16", + "reason": "REASON_STATE_COLD_ACCESS" + }, + { + "newValue": "473780", + "oldValue": "476380", + "ordinal": "17", + "reason": "REASON_STATE_COLD_ACCESS" + }, + { + "newValue": "7262", + "oldValue": "478980", + "ordinal": "18", + "reason": "REASON_CALL" + }, + { + "newValue": "464874", + "oldValue": "7262", + "ordinal": "25", + "reason": "REASON_REFUND_AFTER_EXECUTION" + }, + { + "oldValue": "464874", + "ordinal": "26", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + }, + { + "oldValue": "464874", + "ordinal": "29", + "reason": "REASON_TX_LEFT_OVER_RETURNED" + } + ], + "gasConsumed": "14126", + "gasLimit": "479000", + "index": 1, + "nonceChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": "3", + "oldValue": "2", + "ordinal": "13" + } + ] + }, + { + "address": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "addressDelegatesTo": "AAAAAAAAAAAAAAAAAAAAAAAAu7s=", + "balanceChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": { + "bytes": "CmgYAUEtZrQ=" + }, + "oldValue": { + "bytes": "CmgYAUEtZrU=" + }, + "ordinal": "21", + "reason": "REASON_TRANSFER" + }, + { + "address": "cDxLK9cMFp9XFxAcruVDKZ/JRsc=", + "newValue": { + "bytes": "DeC2s6dkAAI=" + }, + "oldValue": { + "bytes": "DeC2s6dkAAE=" + }, + "ordinal": "22", + "reason": "REASON_TRANSFER" + } + ], + "beginOrdinal": "19", + "callType": "CALL", + "caller": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "depth": 1, + "endOrdinal": "24", + "executedCode": true, + "gasChanges": [ + { + "newValue": "459818", + "ordinal": "20", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "457612", + "ordinal": "23", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasConsumed": "2206", + "gasLimit": "459818", + "index": 2, + "parentIndex": 1, + "value": { + "bytes": "AQ==" + } + } + ], + "endOrdinal": "31", + "from": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "gasLimit": "500000", + "gasPrice": { + "bytes": "dGpSiAA=" + }, + "gasUsed": "35126", + "hash": "TNmQOfjPE0jeas0eba+xGMaitDgyCOKmvNIBapciCiE=", + "nonce": "2", + "r": "llnySTXnLA5URm+RriiJTQ4gvkdUifLtVOIyBCpDFTw=", + "receipt": { + "cumulativeGasUsed": "35126", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + }, + "s": "SsqOfVDTp1cpwvz0g4nLhIzrWRGwh0Jgz4l9GK/UHbE=", + "status": "SUCCEEDED", + "to": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "v": "JQ==" + } + ], + "ver": 4 +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.3.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.3.golden.json new file mode 100644 index 0000000000..58744dcbc2 --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestEIP7702/fh3.0/block.3.golden.json @@ -0,0 +1,261 @@ +{ + "hash": "nM0MjYrd54p5L0zQNGpHV7fxetFL1VCejCvGELDLop8=", + "header": { + "baseFeePerGas": { + "bytes": "KFws9Q==" + }, + "blobGasUsed": "0", + "coinbase": "AAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "difficulty": { + "bytes": "AA==" + }, + "excessBlobGas": "0", + "gasLimit": "4712388", + "gasUsed": "36800", + "hash": "nM0MjYrd54p5L0zQNGpHV7fxetFL1VCejCvGELDLop8=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "number": "3", + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "parentHash": "Hlau1KLprrOkaDe4TNZdPEoXeJ4UGEL1PwUY/qq+/rk=", + "receiptRoot": "A2x9IEIO284ktQYhSLzoBWO0j9RTL7HAaLLJalMRcBk=", + "requestsHash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "stateRoot": "vWvMYC8Hck2r4d77C3bO7nRWmEtpytSHv092DGpMjeI=", + "timestamp": "1970-01-01T00:00:30Z", + "transactionsRoot": "Bpo3ARUhIUuu9hH3yrkUNF2s22VFnHRDwdWxzM0pb5U=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=", + "withdrawalsRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=" + }, + "number": "3", + "size": "817", + "systemCalls": [ + { + "address": "AA899tcygH7xMZ+3uLuFItC+rAI=", + "beginOrdinal": "1", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "4", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "2", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "3", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1, + "input": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + }, + { + "address": "AAD5CCfxxToQy3oCM1sXUyAAKTU=", + "beginOrdinal": "5", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "8", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "6", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "7", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1, + "input": "Hlau1KLprrOkaDe4TNZdPEoXeJ4UGEL1PwUY/qq+/rk=" + }, + { + "address": "AAAJYe9IDrVegNGa2DV5pkwAcAI=", + "beginOrdinal": "25", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "28", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "26", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "27", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1 + }, + { + "address": "AAC73cfOSIZC+1efiwDzpZAAclE=", + "beginOrdinal": "29", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "32", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "30", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "31", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1 + } + ], + "transactionTraces": [ + { + "beginOrdinal": "9", + "calls": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "balanceChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": { + "bytes": "DaCsTVRHwNQ=" + }, + "oldValue": { + "bytes": "DaHgOZLVtrQ=" + }, + "ordinal": "11", + "reason": "REASON_GAS_BUY" + }, + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": { + "bytes": "DaHJj9CWBHQ=" + }, + "oldValue": { + "bytes": "DaCsTVRHwNQ=" + }, + "ordinal": "21", + "reason": "REASON_GAS_REFUND" + }, + { + "address": "AAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "newValue": { + "bytes": "PkzJFSvdwg==" + }, + "oldValue": { + "bytes": "PkzJFSq+Qg==" + }, + "ordinal": "23", + "reason": "REASON_REWARD_TRANSACTION_FEE" + } + ], + "beginOrdinal": "16", + "callType": "CALL", + "caller": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "codeChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newHash": "xdJGAYb3IzySfn2y3McDwOUAtlPKgic7e/rYBF2FpHA=", + "oldCode": "7wEAAAAAAAAAAAAAAAAAAAAAAAAAqqo=", + "oldHash": "6BOVhfT5ksAf8bXRTf8FXcJyKhFA0Cb18MtIsAn1Z9o=", + "ordinal": "15" + } + ], + "endOrdinal": "19", + "gasChanges": [ + { + "newValue": "500000", + "ordinal": "10", + "reason": "REASON_TX_INITIAL_BALANCE" + }, + { + "newValue": "454000", + "oldValue": "500000", + "ordinal": "12", + "reason": "REASON_INTRINSIC_GAS" + }, + { + "newValue": "454000", + "ordinal": "17", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "454000", + "ordinal": "18", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + }, + { + "newValue": "463200", + "oldValue": "454000", + "ordinal": "20", + "reason": "REASON_TX_REFUNDS" + }, + { + "oldValue": "463200", + "ordinal": "22", + "reason": "REASON_TX_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "454000", + "index": 1, + "nonceChanges": [ + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": "4", + "oldValue": "3", + "ordinal": "13" + }, + { + "address": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "newValue": "5", + "oldValue": "4", + "ordinal": "14" + } + ] + } + ], + "endOrdinal": "24", + "from": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "gasLimit": "500000", + "gasPrice": { + "bytes": "KFws9w==" + }, + "gasUsed": "36800", + "hash": "vj4lUeVR72WjVf2OYUmz3Um0SH4d6qCao7cZRbBiaCI=", + "maxFeePerGas": { + "bytes": "ASoF8gA=" + }, + "maxPriorityFeePerGas": { + "bytes": "Ag==" + }, + "nonce": "3", + "r": "3+bIOst9jVy0xdYLs7dP1KfP1XrtsXepmpY0W3XBKII=", + "receipt": { + "cumulativeGasUsed": "36800", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + }, + "s": "UGXb+KJ8dparEBn0Wb2lX5fh1gB2+AiHfowzzmJWOkE=", + "setCodeAuthorizations": [ + { + "authority": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "chainId": "AQ==", + "nonce": "4", + "r": "8RpcvObxuhW9b2SyJDTKMBtrqfyaAJlzS37bOLPTKIo=", + "s": "NMkyzSai5xkwNV4ttrTli9jZHXeB7hUwej28frcnTDw=" + } + ], + "status": "SUCCEEDED", + "to": "cVYrcZmYc9tbKG35V68ZnslGF/c=", + "type": "TRX_TYPE_SET_CODE" + } + ], + "ver": 4 +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/block.207938.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/fh2.3/block.207938.golden.json similarity index 100% rename from eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/block.207938.golden.json rename to eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/fh2.3/block.207938.golden.json diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/fh3.0/block.207938.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/fh3.0/block.207938.golden.json new file mode 100644 index 0000000000..9dde4eb9cf --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/extra_account_creations/fh3.0/block.207938.golden.json @@ -0,0 +1,450 @@ +{ + "hash": "pmFJOXlO1smEJbK4oUBqjZ0iFBpYsTq50dyNbEiZ+Mw=", + "header": { + "baseFeePerGas": { + "bytes": "Bw==" + }, + "coinbase": "RV5aoYRpvGzO9JWUZFZmxYejpxs=", + "difficulty": { + "bytes": "AA==" + }, + "gasLimit": "30000000", + "hash": "pmFJOXlO1smEJbK4oUBqjZ0iFBpYsTq50dyNbEiZ+Mw=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "number": "207938", + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "parentHash": "nHyKL2uLMm9sBbmXgBbS0IWWvNldDJ8aquJBacj/BYg=", + "receiptRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=", + "stateRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "timestamp": "2023-10-29T10:11:12Z", + "transactionsRoot": "0yEw5Z71BzpX25P3pM6JtJzwwAKrFMgJGulCMo+tLw8=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=" + }, + "number": "207938", + "size": "2807", + "transactionTraces": [ + { + "beginOrdinal": "1", + "calls": [ + { + "address": "X/E31LD9zUncowx89X5XigJtJ4k=", + "balanceChanges": [ + { + "address": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "newValue": { + "bytes": "BBz5LMZCX1A=" + }, + "oldValue": { + "bytes": "BCJNar1sH1A=" + }, + "ordinal": "2", + "reason": "REASON_GAS_BUY" + }, + { + "address": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "newValue": { + "bytes": "BB7HvUaRnVA=" + }, + "oldValue": { + "bytes": "BBz5LMZCX1A=" + }, + "ordinal": "52", + "reason": "REASON_GAS_REFUND" + }, + { + "address": "RV5aoYRpvGzO9JWUZFZmxYejpxs=", + "newValue": { + "bytes": "0c8D1KMdnac=" + }, + "oldValue": { + "bytes": "0ct+JyxYSWY=" + }, + "ordinal": "53", + "reason": "REASON_REWARD_TRANSACTION_FEE" + } + ], + "callType": "CALL", + "caller": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "endOrdinal": "51", + "executedCode": true, + "failureReason": "execution reverted", + "gasChanges": [ + { + "newValue": "263880", + "oldValue": "300000", + "ordinal": "3", + "reason": "REASON_INTRINSIC_GAS" + }, + { + "newValue": "255906", + "oldValue": "255927", + "ordinal": "7", + "reason": "REASON_CALL_DATA_COPY" + }, + { + "newValue": "255616", + "oldValue": "255659", + "ordinal": "8", + "reason": "REASON_CALL_DATA_COPY" + }, + { + "newValue": "255327", + "oldValue": "255336", + "ordinal": "9", + "reason": "REASON_CALL_DATA_COPY" + }, + { + "newValue": "251104", + "oldValue": "251122", + "ordinal": "10", + "reason": "REASON_CALL_DATA_COPY" + }, + { + "newValue": "248417", + "oldValue": "250917", + "ordinal": "11", + "reason": "REASON_STATE_COLD_ACCESS" + }, + { + "newValue": "98417", + "oldValue": "251017", + "ordinal": "12", + "reason": "REASON_CALL" + }, + { + "newValue": "102178", + "oldValue": "98417", + "ordinal": "50", + "reason": "REASON_REFUND_AFTER_EXECUTION" + } + ], + "gasConsumed": "162161", + "gasLimit": "263880", + "index": 1, + "input": "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", + "keccakPreimages": { + "28d9e8e57be8527d0679250d50e4fae027ae189be41776c0a4a2a0a42c2218da": "a16ebae5813bd19aa03287aa905d783611ff8b419ce30428f2da9457d9aa27630000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d27890000000000000000000000000000000000000000000000000000000000004268", + "58ce8202536a0e9871f92a2e42a02c92ee563a7817d29ae23b734f34e7ddda6c": "b98cb1da4f9bd640879f0bbcb30a541c841634067d773af3d29743442dc991c168c434d99836a723", + "a16ebae5813bd19aa03287aa905d783611ff8b419ce30428f2da9457d9aa2763": "000000000000000000000000023b8381813a7d98d973ef70cfe3b6fd3eb5af8f0000000000000000000000000000000000000000000000000000000000000000fe7e16dbeb61a0da1615b2a5b44efb2dc9288a102d97b83968a814c67dcb8b08d525d4a8e0332b956f801a3fc3094f9edf480fcda1a4ea641e7c51240fd0b2da000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000249f000000000000000000000000000000000000000000000000000000000000052080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b9aca0058ce8202536a0e9871f92a2e42a02c92ee563a7817d29ae23b734f34e7ddda6c", + "d525d4a8e0332b956f801a3fc3094f9edf480fcda1a4ea641e7c51240fd0b2da": "b61d27f60000000000000000000000007d773af3d29743442dc991c168c434d99836a723000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000044095ea7b3000000000000000000000000b98cb1da4f9bd640879f0bbcb30a541c84163406ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000", + "fe7e16dbeb61a0da1615b2a5b44efb2dc9288a102d97b83968a814c67dcb8b08": "9406cc6185a346906296840746125a0e449764545fbfb9cf000000000000000000000000762bae358067d954c3d5fd2221c8df850b7d2dea0000000000000000000000000000000000000000000000000000000000000000" + }, + "nonceChanges": [ + { + "address": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "newValue": "5", + "oldValue": "4", + "ordinal": "4" + } + ], + "returnData": "IgJmtgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG0FBMTMgaW5pdENvZGUgZmFpbGVkIG9yIE9PRwAAAAAA", + "stateReverted": true, + "statusFailed": true, + "statusReverted": true, + "storageChanges": [ + { + "address": "X/E31LD9zUncowx89X5XigJtJ4k=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "ordinal": "6" + } + ] + }, + { + "address": "f8mEMOrtu2Bws1s515hyUEkIg0g=", + "beginOrdinal": "13", + "callType": "CALL", + "caller": "X/E31LD9zUncowx89X5XigJtJ4k=", + "depth": 1, + "endOrdinal": "49", + "executedCode": true, + "gasChanges": [ + { + "newValue": "149459", + "oldValue": "149480", + "ordinal": "14", + "reason": "REASON_CALL_DATA_COPY" + }, + { + "newValue": "146827", + "oldValue": "149327", + "ordinal": "15", + "reason": "REASON_STATE_COLD_ACCESS" + }, + { + "newValue": "2294", + "oldValue": "149427", + "ordinal": "16", + "reason": "REASON_CALL" + }, + { + "newValue": "3867", + "oldValue": "2294", + "ordinal": "48", + "reason": "REASON_REFUND_AFTER_EXECUTION" + } + ], + "gasConsumed": "146239", + "gasLimit": "150000", + "index": 2, + "input": "Vw4aNgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFiUBsxhhaNGkGKWhAdGEloORJdkVF+/uc8AAAAAAAAAAAAAAAB2K641gGfZVMPV/SIhyN+FC30t6gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "parentIndex": 1, + "returnData": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "stateReverted": true + }, + { + "address": "lAbMYYWjRpBiloQHRhJaDkSXZFQ=", + "beginOrdinal": "17", + "callType": "CALL", + "caller": "f8mEMOrtu2Bws1s515hyUEkIg0g=", + "depth": 2, + "endOrdinal": "47", + "executedCode": true, + "failureReason": "execution reverted", + "gasChanges": [ + { + "newValue": "143783", + "oldValue": "144179", + "ordinal": "18", + "reason": "REASON_CODE_COPY" + }, + { + "newValue": "136634", + "oldValue": "137052", + "ordinal": "19", + "reason": "REASON_CODE_COPY" + }, + { + "newValue": "103642", + "oldValue": "136186", + "ordinal": "20", + "reason": "REASON_CONTRACT_CREATION2" + }, + { + "newValue": "1619", + "oldValue": "103642", + "ordinal": "21", + "reason": "REASON_CONTRACT_CREATION2" + }, + { + "newValue": "1578", + "oldValue": "1581", + "ordinal": "46", + "reason": "REASON_RETURN_DATA_COPY" + } + ], + "gasConsumed": "142960", + "gasLimit": "144533", + "index": 3, + "input": "X7+5zwAAAAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "keccakPreimages": { + "b20e9a365b254be6244c7505a127ea9cd797608e023ebff1d696fef26de7ed6c": "60806040526040516107c13803806107c183398101604081905261002291610321565b61002e82826000610035565b505061043e565b61003e8361006b565b60008251118061004b5750805b156100665761006483836100ab60201b6100291760201c565b505b505050565b610074816100d7565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100d0838360405180606001604052806027815260200161079a602791396101a9565b9392505050565b6100ea8161022260201b6100551760201c565b6101515760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b806101887f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b61023160201b6100711760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080856001600160a01b0316856040516101c691906103ef565b600060405180830381855af49150503d8060008114610201576040519150601f19603f3d011682016040523d82523d6000602084013e610206565b606091505b50909250905061021886838387610234565b9695505050505050565b6001600160a01b03163b151590565b90565b606083156102a357825160000361029c576001600160a01b0385163b61029c5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610148565b50816102ad565b6102ad83836102b5565b949350505050565b8151156102c55781518083602001fd5b8060405162461bcd60e51b8152600401610148919061040b565b634e487b7160e01b600052604160045260246000fd5b60005b838110156103105781810151838201526020016102f8565b838111156100645750506000910152565b6000806040838503121561033457600080fd5b82516001600160a01b038116811461034b57600080fd5b60208401519092506001600160401b038082111561036857600080fd5b818501915085601f83011261037c57600080fd5b81518181111561038e5761038e6102df565b604051601f8201601f19908116603f011681019083821181831017156103b6576103b66102df565b816040528281528860208487010111156103cf57600080fd5b6103e08360208301602088016102f5565b80955050505050509250929050565b600082516104018184602087016102f5565b9190910192915050565b602081526000825180602084015261042a8160408501602087016102f5565b601f01601f19169190910160400192915050565b61034d8061044d6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610074565b6100b9565b565b606061004e83836040518060600160405280602781526020016102f1602791396100dd565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b90565b60006100b47f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3660008037600080366000845af43d6000803e8080156100d8573d6000f35b3d6000fd5b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516101079190610283565b600060405180830381855af49150503d8060008114610142576040519150601f19603f3d011682016040523d82523d6000602084013e610147565b606091505b509150915061015886838387610162565b9695505050505050565b606083156101fd5782516000036101f65773ffffffffffffffffffffffffffffffffffffffff85163b6101f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064015b60405180910390fd5b5081610207565b610207838361020f565b949350505050565b81511561021f5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101ed919061029f565b60005b8381101561026e578181015183820152602001610256565b8381111561027d576000848401525b50505050565b60008251610295818460208701610253565b9190910192915050565b60208152600082518060208401526102be816040850160208701610253565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016919091016040019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212201cd78ab6a31213989661cff2d7d05fc9b9c38b1a848e8249e2e398659a9eb7e364736f6c634300080f0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65640000000000000000000000008abb13360b87be5eeb1b98647a016add927a136c00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000024c4d66de8000000000000000000000000762bae358067d954c3d5fd2221c8df850b7d2dea00000000000000000000000000000000000000000000000000000000", + "c295fa357a42b337dcef09d6023b8381813a7d98d973ef70cfe3b6fd3eb5af8f": "ff9406cc6185a346906296840746125a0e449764540000000000000000000000000000000000000000000000000000000000000000b20e9a365b254be6244c7505a127ea9cd797608e023ebff1d696fef26de7ed6c" + }, + "parentIndex": 2, + "stateReverted": true, + "statusFailed": true, + "statusReverted": true + }, + { + "accountCreations": [ + { + "account": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "ordinal": "24" + } + ], + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "beginOrdinal": "22", + "callType": "CREATE", + "caller": "lAbMYYWjRpBiloQHRhJaDkSXZFQ=", + "depth": 3, + "endOrdinal": "45", + "failureReason": "contract creation code storage out of gas", + "gasChanges": [ + { + "newValue": "101946", + "oldValue": "101982", + "ordinal": "26", + "reason": "REASON_CODE_COPY" + }, + { + "newValue": "75098", + "oldValue": "76223", + "ordinal": "28", + "reason": "REASON_EVENT_LOG" + }, + { + "newValue": "74928", + "oldValue": "74943", + "ordinal": "30", + "reason": "REASON_CODE_COPY" + }, + { + "newValue": "1163", + "oldValue": "74537", + "ordinal": "31", + "reason": "REASON_DELEGATE_CALL" + }, + { + "newValue": "48323", + "oldValue": "1163", + "ordinal": "42", + "reason": "REASON_REFUND_AFTER_EXECUTION" + }, + { + "newValue": "47809", + "oldValue": "47921", + "ordinal": "43", + "reason": "REASON_CODE_COPY" + }, + { + "oldValue": "47806", + "ordinal": "44", + "reason": "REASON_FAILED_EXECUTION" + } + ], + "gasConsumed": "102023", + "gasLimit": "102023", + "index": 4, + "logs": [ + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "ordinal": "29", + "topics": [ + "vHzXWiDuJ/2a3rqzIEH3VSFNvGv/qQzAIls52i5cLTs=", + "AAAAAAAAAAAAAAAAirsTNguHvl7rG5hkegFq3ZJ6E2w=" + ] + } + ], + "nonceChanges": [ + { + "address": "lAbMYYWjRpBiloQHRhJaDkSXZFQ=", + "newValue": "3", + "oldValue": "2", + "ordinal": "23" + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "newValue": "1", + "ordinal": "25" + } + ], + "parentIndex": 3, + "stateReverted": true, + "statusFailed": true, + "storageChanges": [ + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "NgiUoTuhoyEGZ8goSS25jco+IHbMNzWpIKPKUF04K7w=", + "newValue": "AAAAAAAAAAAAAAAAirsTNguHvl7rG5hkegFq3ZJ6E2w=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "27" + } + ] + }, + { + "address": "irsTNguHvl7rG5hkegFq3ZJ6E2w=", + "beginOrdinal": "32", + "callType": "DELEGATE", + "caller": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "depth": 4, + "endOrdinal": "41", + "executedCode": true, + "gasChanges": [ + { + "newValue": "48475", + "oldValue": "49975", + "ordinal": "36", + "reason": "REASON_EVENT_LOG" + }, + { + "newValue": "47173", + "oldValue": "48179", + "ordinal": "39", + "reason": "REASON_EVENT_LOG" + } + ], + "gasConsumed": "26114", + "gasLimit": "73274", + "index": 5, + "input": "xNZt6AAAAAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3q", + "logs": [ + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "index": 1, + "ordinal": "37", + "topics": [ + "R+Vcduem8f2JlqHagAjB6ilpnMo157zQV/LewxO25d4=", + "AAAAAAAAAAAAAAAAX/E31LD9zUncowx89X5XigJtJ4k=", + "AAAAAAAAAAAAAAAAdiuuNYBn2VTD1f0iIcjfhQt9Leo=" + ] + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "data": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "index": 2, + "ordinal": "40", + "topics": [ + "fya4P/luHytqaC8TOFL2eYoJxGXalZIUYM77OEdAJJg=" + ] + } + ], + "parentIndex": 4, + "stateReverted": true, + "storageChanges": [ + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "33" + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQE=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "ordinal": "34" + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3qAQE=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQE=", + "ordinal": "35" + }, + { + "address": "AjuDgYE6fZjZc+9wz+O2/T61r48=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3qAAE=", + "oldValue": "AAAAAAAAAAAAAHYrrjWAZ9lUw9X9IiHI34ULfS3qAQE=", + "ordinal": "38" + } + ] + } + ], + "endOrdinal": "54", + "from": "diuuNYBn2VTD1f0iIcjfhQt9Leo=", + "gasLimit": "300000", + "gasPrice": { + "bytes": "ASoF8gA=" + }, + "gasUsed": "198281", + "hash": "4t4kgzDQkJ+jBDUJgCn1J0QkxepFeDbojFN7R4lupdY=", + "input": "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", + "nonce": "4", + "r": "SDMAY2eUIzuof42iuJbp7ICVqnBmYRZTwaymE2ozrcA=", + "receipt": { + "cumulativeGasUsed": "198281", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + }, + "s": "bk+EAD3UiLUfxRzH3Bbv5y8N7rhKESSMRwXu3bqryaQ=", + "status": "REVERTED", + "to": "X/E31LD9zUncowx89X5XigJtJ4k=", + "v": "hPM=" + } + ], + "ver": 3 +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded/block.3727495.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded/fh2.3/block.3727495.golden.json similarity index 100% rename from eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded/block.3727495.golden.json rename to eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded/fh2.3/block.3727495.golden.json diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded/fh3.0/block.3727495.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded/fh3.0/block.3727495.golden.json new file mode 100644 index 0000000000..9bb93e5187 --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_too_few_memory_bytes_get_padded/fh3.0/block.3727495.golden.json @@ -0,0 +1,164 @@ +{ + "hash": "SKLPDUOjSrOGLDSmQ92rvI79Tx7rbpi+MnMdw1ta0jQ=", + "header": { + "baseFeePerGas": { + "bytes": "DQ==" + }, + "coinbase": "AAAAaRaoe4IzP0JFBGYjsjeUxlw=", + "difficulty": { + "bytes": "AA==" + }, + "gasLimit": "30000000", + "hash": "SKLPDUOjSrOGLDSmQ92rvI79Tx7rbpi+MnMdw1ta0jQ=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "number": "3727495", + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "parentHash": "aYf8zdg87hj7kTMGYReWUn8vvkT0i92fQ04NAsNDcDc=", + "receiptRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=", + "stateRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "timestamp": "2023-06-19T23:23:48Z", + "transactionsRoot": "bDCtoar4SKuDMt3K7Ay0vDV8FJj/S9YTAtfuy7yJYL0=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=" + }, + "number": "3727495", + "size": "723", + "transactionTraces": [ + { + "beginOrdinal": "1", + "calls": [ + { + "address": "3Z+V4sEFOnYIm1AXgpuyMwy2rkc=", + "balanceChanges": [ + { + "address": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "newValue": { + "bytes": "B5sluWAKJ10=" + }, + "oldValue": { + "bytes": "B5sluWe3fF0=" + }, + "ordinal": "2", + "reason": "REASON_GAS_BUY" + }, + { + "address": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "newValue": { + "bytes": "B5sluWUI8jk=" + }, + "oldValue": { + "bytes": "B5sluWAKJ10=" + }, + "ordinal": "11", + "reason": "REASON_GAS_REFUND" + }, + { + "address": "AAAAaRaoe4IzP0JFBGYjsjeUxlw=", + "newValue": { + "bytes": "AecopRVH6f5hufY=" + }, + "oldValue": { + "bytes": "AecopRVH6fvBC6c=" + }, + "ordinal": "12", + "reason": "REASON_REWARD_TRANSACTION_FEE" + } + ], + "callType": "CALL", + "caller": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "endOrdinal": "10", + "executedCode": true, + "gasChanges": [ + { + "newValue": "178428", + "oldValue": "200000", + "ordinal": "3", + "reason": "REASON_INTRINSIC_GAS" + }, + { + "newValue": "130141", + "oldValue": "131897", + "ordinal": "8", + "reason": "REASON_EVENT_LOG" + } + ], + "gasConsumed": "48293", + "gasLimit": "178428", + "index": 1, + "input": "QMEPGQAAAAAAAAAAAAAAAOs9PWFvPkPp7TYe3S0OZE0Y0Xm3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPo=", + "keccakPreimages": { + "bb65ff7a03b11b79143b011da0de7c67f6d9bb8f57df2381d88d503cdb07b0b6": "000000000000000000000000eb3d3d616f3e43e9ed361edd2d0e644d18d179b70000000000000000000000000000000000000000000000000000000000000000" + }, + "logs": [ + { + "address": "3Z+V4sEFOnYIm1AXgpuyMwy2rkc=", + "data": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPo=", + "ordinal": "9", + "topics": [ + "3fJSrRviyJtpwrBo/DeNqpUrp/FjxKEWKPVaTfUjs+8=", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "AAAAAAAAAAAAAAAA6z09YW8+Q+ntNh7dLQ5kTRjRebc=" + ] + } + ], + "nonceChanges": [ + { + "address": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "newValue": "6", + "oldValue": "5", + "ordinal": "4" + } + ], + "storageChanges": [ + { + "address": "3Z+V4sEFOnYIm1AXgpuyMwy2rkc=", + "key": "u2X/egOxG3kUOwEdoN58Z/bZu49X3yOB2I1QPNsHsLY=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPo=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "6" + }, + { + "address": "3Z+V4sEFOnYIm1AXgpuyMwy2rkc=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPo=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "7" + } + ] + } + ], + "endOrdinal": "13", + "from": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "gasLimit": "200000", + "gasPrice": { + "bytes": "AoQ=" + }, + "gasUsed": "69865", + "hash": "tF3PNXHZNWA+icLD8DyDTxT8x76iGVd8sDejy7wEQx8=", + "input": "QMEPGQAAAAAAAAAAAAAAAOs9PWFvPkPp7TYe3S0OZE0Y0Xm3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPo=", + "nonce": "5", + "r": "Xww4NKZlcXSDEHF8P5UnXU9PLqL6aBoOU5VFipWpVaM=", + "receipt": { + "cumulativeGasUsed": "69865", + "logs": [ + { + "address": "3Z+V4sEFOnYIm1AXgpuyMwy2rkc=", + "data": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPo=", + "ordinal": "9", + "topics": [ + "3fJSrRviyJtpwrBo/DeNqpUrp/FjxKEWKPVaTfUjs+8=", + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "AAAAAAAAAAAAAAAA6z09YW8+Q+ntNh7dLQ5kTRjRebc=" + ] + } + ], + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAIAACAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAIAAAAAAAAAAAAIAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAA==" + }, + "s": "BOdJVNNAB7fPBAA48slaL2uQd1vOwb423lDacpucotM=", + "status": "SUCCEEDED", + "to": "3Z+V4sEFOnYIm1AXgpuyMwy2rkc=", + "v": "AVRtcg==" + } + ], + "ver": 3 +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_wrong_diff/block.3733424.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_wrong_diff/fh2.3/block.3733424.golden.json similarity index 100% rename from eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_wrong_diff/block.3733424.golden.json rename to eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_wrong_diff/fh2.3/block.3733424.golden.json diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_wrong_diff/fh3.0/block.3733424.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_wrong_diff/fh3.0/block.3733424.golden.json new file mode 100644 index 0000000000..04a7eb4fe2 --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/keccak256_wrong_diff/fh3.0/block.3733424.golden.json @@ -0,0 +1,229 @@ +{ + "hash": "IPNVZgyygE0HzwAtWVr0ghv9lxf+N0C45NHNCWv5Oyg=", + "header": { + "baseFeePerGas": { + "bytes": "Cqc=" + }, + "coinbase": "AAAAaRaoe4IzP0JFBGYjsjeUxlw=", + "difficulty": { + "bytes": "AA==" + }, + "gasLimit": "30000000", + "hash": "IPNVZgyygE0HzwAtWVr0ghv9lxf+N0C45NHNCWv5Oyg=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "number": "3733424", + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "parentHash": "f7pk/8VV6aRiIPz5tngJXJEAkJokLyPKgV4W7ujmnP8=", + "receiptRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=", + "stateRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "timestamp": "2023-06-20T21:02:36Z", + "transactionsRoot": "qGt8M+EeGIjvA3CmiVt41zk8Ap6NokQ0xxIVjv/5oCY=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=" + }, + "number": "3733424", + "size": "673", + "transactionTraces": [ + { + "beginOrdinal": "1", + "calls": [ + { + "address": "VJoy1Xw102gR3mpGJZaXDIPqmyM=", + "balanceChanges": [ + { + "address": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "newValue": { + "bytes": "B5sluJ/kW34=" + }, + "oldValue": { + "bytes": "B5sluMJIrb4=" + }, + "ordinal": "2", + "reason": "REASON_GAS_BUY" + }, + { + "address": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "newValue": { + "bytes": "B5sluLmEBFg=" + }, + "oldValue": { + "bytes": "B5sluJ/kW34=" + }, + "ordinal": "20", + "reason": "REASON_GAS_REFUND" + }, + { + "address": "AAAAaRaoe4IzP0JFBGYjsjeUxlw=", + "newValue": { + "bytes": "Aecpt9WGjDRS35o=" + }, + "oldValue": { + "bytes": "Aecpt9WGjDPX8TY=" + }, + "ordinal": "21", + "reason": "REASON_REWARD_TRANSACTION_FEE" + } + ], + "callType": "CALL", + "caller": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "endOrdinal": "19", + "executedCode": true, + "gasChanges": [ + { + "newValue": "178664", + "oldValue": "200000", + "ordinal": "3", + "reason": "REASON_INTRINSIC_GAS" + }, + { + "newValue": "175937", + "oldValue": "178437", + "ordinal": "6", + "reason": "REASON_STATE_COLD_ACCESS" + }, + { + "newValue": "2748", + "oldValue": "178537", + "ordinal": "7", + "reason": "REASON_CALL" + }, + { + "newValue": "173596", + "oldValue": "2748", + "ordinal": "10", + "reason": "REASON_REFUND_AFTER_EXECUTION" + }, + { + "newValue": "2677", + "oldValue": "171474", + "ordinal": "11", + "reason": "REASON_CALL" + }, + { + "newValue": "144210", + "oldValue": "2677", + "ordinal": "18", + "reason": "REASON_REFUND_AFTER_EXECUTION" + } + ], + "gasConsumed": "34454", + "gasLimit": "178664", + "index": 1, + "input": "ASy2ctjBKKzAgl3Lr2HkOik6WlJ2", + "nonceChanges": [ + { + "address": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "newValue": "28", + "oldValue": "27", + "ordinal": "4" + } + ] + }, + { + "address": "LLZy2MEorMCCXcuvYeQ6KTpaUnY=", + "beginOrdinal": "8", + "callType": "CALL", + "caller": "VJoy1Xw102gR3mpGJZaXDIPqmyM=", + "depth": 1, + "endOrdinal": "9", + "executedCode": true, + "gasConsumed": "2338", + "gasLimit": "173186", + "index": 2, + "input": "cKCCMQAAAAAAAAAAAAAAAFSaMtV8NdNoEd5qRiWWlwyD6psj", + "keccakPreimages": { + "dfecc5e296fad583cf3240a878ef92ffb0955f284f0216e1670f60c2279e53ba": "000000000000000000000000549a32d57c35d36811de6a462596970c83ea9b230000000000000000000000000000000000000000000000000000000000000000" + }, + "parentIndex": 1, + "returnData": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJY=" + }, + { + "address": "LLZy2MEorMCCXcuvYeQ6KTpaUnY=", + "beginOrdinal": "12", + "callType": "CALL", + "caller": "VJoy1Xw102gR3mpGJZaXDIPqmyM=", + "depth": 1, + "endOrdinal": "17", + "executedCode": true, + "gasChanges": [ + { + "newValue": "141533", + "oldValue": "143289", + "ordinal": "15", + "reason": "REASON_EVENT_LOG" + } + ], + "gasConsumed": "27164", + "gasLimit": "168697", + "index": 3, + "input": "qQWcuwAAAAAAAAAAAAAAAOs9PWFvPkPp7TYe3S0OZE0Y0Xm3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJY=", + "keccakPreimages": { + "bb65ff7a03b11b79143b011da0de7c67f6d9bb8f57df2381d88d503cdb07b0b6": "000000000000000000000000eb3d3d616f3e43e9ed361edd2d0e644d18d179b70000000000000000000000000000000000000000000000000000000000000000", + "dfecc5e296fad583cf3240a878ef92ffb0955f284f0216e1670f60c2279e53ba": "000000000000000000000000549a32d57c35d36811de6a462596970c83ea9b230000000000000000000000000000000000000000000000000000000000000000" + }, + "logs": [ + { + "address": "LLZy2MEorMCCXcuvYeQ6KTpaUnY=", + "data": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJY=", + "ordinal": "16", + "topics": [ + "3fJSrRviyJtpwrBo/DeNqpUrp/FjxKEWKPVaTfUjs+8=", + "AAAAAAAAAAAAAAAAVJoy1Xw102gR3mpGJZaXDIPqmyM=", + "AAAAAAAAAAAAAAAA6z09YW8+Q+ntNh7dLQ5kTRjRebc=" + ] + } + ], + "parentIndex": 1, + "storageChanges": [ + { + "address": "LLZy2MEorMCCXcuvYeQ6KTpaUnY=", + "key": "u2X/egOxG3kUOwEdoN58Z/bZu49X3yOB2I1QPNsHsLY=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJY=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "13" + }, + { + "address": "LLZy2MEorMCCXcuvYeQ6KTpaUnY=", + "key": "3+zF4pb61YPPMkCoeO+S/7CVXyhPAhbhZw9gwieeU7o=", + "newValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJY=", + "ordinal": "14" + } + ] + } + ], + "endOrdinal": "22", + "from": "6z09YW8+Q+ntNh7dLQ5kTRjRebc=", + "gasLimit": "200000", + "gasPrice": { + "bytes": "C0U=" + }, + "gasUsed": "50990", + "hash": "E2euJ14Brg/hLbsRFBismbxzpqbwfKtvvBhA1ZB2cD8=", + "input": "ASy2ctjBKKzAgl3Lr2HkOik6WlJ2", + "nonce": "27", + "r": "/n8N4OD9KzN9vfG0/fl6FERX+FAklxcusTRKtuJaaAY=", + "receipt": { + "cumulativeGasUsed": "50990", + "logs": [ + { + "address": "LLZy2MEorMCCXcuvYeQ6KTpaUnY=", + "data": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJY=", + "ordinal": "16", + "topics": [ + "3fJSrRviyJtpwrBo/DeNqpUrp/FjxKEWKPVaTfUjs+8=", + "AAAAAAAAAAAAAAAAVJoy1Xw102gR3mpGJZaXDIPqmyM=", + "AAAAAAAAAAAAAAAA6z09YW8+Q+ntNh7dLQ5kTRjRebc=" + ] + } + ], + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAIAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + }, + "s": "C4wVifsU3LuR1ToPisse4e3pAciXSe4Vv+hsa+7HBS4=", + "status": "SUCCEEDED", + "to": "VJoy1Xw102gR3mpGJZaXDIPqmyM=", + "v": "Gw==" + } + ], + "ver": 3 +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/block.1550267.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/fh2.3/block.1550267.golden.json similarity index 100% rename from eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/block.1550267.golden.json rename to eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/fh2.3/block.1550267.golden.json diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/fh3.0/block.1550267.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/fh3.0/block.1550267.golden.json new file mode 100644 index 0000000000..10bc93d179 --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestFirehosePrestate/suicide_double_withdraw/fh3.0/block.1550267.golden.json @@ -0,0 +1,391 @@ +{ + "hash": "ycVHQ3rBt3mfRIpHGewnuEXRq5LmU9/i+qoNZkx0qew=", + "header": { + "baseFeePerGas": { + "bytes": "kwcfxw==" + }, + "coinbase": "Kx2Hm14QLmAWYgLeeVN7SOLxikI=", + "difficulty": { + "bytes": "AA==" + }, + "gasLimit": "30000000", + "hash": "ycVHQ3rBt3mfRIpHGewnuEXRq5LmU9/i+qoNZkx0qew=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "number": "1550267", + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "parentHash": "Lqnb2KULZPqYeoP7inwY5jwKzNhQQaD6YS01a/i6ZrA=", + "receiptRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=", + "stateRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "timestamp": "2024-05-15T17:12:36Z", + "transactionsRoot": "UGovRwB9IOw9P7ACFl+hfCxFwgTa3lRZNqwqrJ0NJ20=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=" + }, + "number": "1550267", + "size": "4196", + "transactionTraces": [ + { + "beginOrdinal": "1", + "calls": [ + { + "accountCreations": [ + { + "account": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "ordinal": "6" + } + ], + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "balanceChanges": [ + { + "address": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "newValue": { + "bytes": "DbTWtv/L76k=" + }, + "oldValue": { + "bytes": "Dbv1zrT3nx0=" + }, + "ordinal": "2", + "reason": "REASON_GAS_BUY" + }, + { + "address": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "newValue": { + "bytes": "DbTWtoh1IQk=" + }, + "oldValue": { + "bytes": "DbTWtv/L76k=" + }, + "ordinal": "8", + "reason": "REASON_TRANSFER" + }, + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "newValue": { + "bytes": "d1bOoA==" + }, + "ordinal": "9", + "reason": "REASON_TRANSFER" + }, + { + "address": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "newValue": { + "bytes": "DbTnxxILzrM=" + }, + "oldValue": { + "bytes": "DbTWtoh1IQk=" + }, + "ordinal": "44", + "reason": "REASON_GAS_REFUND" + }, + { + "address": "Kx2Hm14QLmAWYgLeeVN7SOLxikI=", + "newValue": { + "bytes": "3mbuD6C1qntp" + }, + "oldValue": { + "bytes": "3mbtxTnosse6" + }, + "ordinal": "45", + "reason": "REASON_REWARD_TRANSACTION_FEE" + } + ], + "callType": "CREATE", + "caller": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "codeChanges": [ + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "newCode": "YIBgQFJgBDYQYQBzV181YOAcgGNN9+PQEWEATVeAY03349AUYQDcV4BjdHf3ABRhAQZXgGN7HYKcFGEBMFeAY886IX4UYQFaV2EAelZbgGMLYc1/FGEAfleAYw2+Zx8UYQCIV4BjHWPiTRRhALJXYQB6Vls2YQB6VwBbX4D9W2EAhmEBcFZbAFs0gBVhAJNXX4D9W1BhAJxhAylWW2BAUWEAqZGQYQSaVltgQFGAkQOQ81s0gBVhAL1XX4D9W1BhAMZhA0xWW2BAUWEA05GQYQTLVltgQFGAkQOQ81s0gBVhAOdXX4D9W1BhAPBhA1JWW2BAUWEA/ZGQYQSaVltgQFGAkQOQ81s0gBVhARFXX4D9W1BhARphA3dWW2BAUWEBJ5GQYQTLVltgQFGAkQOQ81s0gBVhATtXX4D9W1BhAURhA31WW2BAUWEBUZGQYQTLVltgQFGAkQOQ81s0gBVhAWVXX4D9W1BhAW5hA4NWWwBbX3+cIv9fIfC4GxE+Y/fbbalP7e8RshGbQIi4lmT7mjy2WJBQgGBAUWEBoZBhBBNWW4GQYEBRgJEDkF/1kFCAFYAVYQG+Vz1fgD49X/1bUF+AYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQX4BUkGEBAAqQBHP//////////////////////////xZz//////////////////////////8WNGBAUWECQJBhBRFWW19gQFGAgwOBhYda8ZJQUFA9gF+BFGECeldgQFGRUGAfGWA/PQEWggFgQFI9glI9X2AghAE+YQJ/VltgYJFQW1BQUF+AVJBhAQAKkARz//////////////////////////8Wc///////////////////////////FmMPrxAhX4BUkGEBAAqQBHP//////////////////////////xZgQFGCY/////8WYOAbgVJgBAFhAvmRkGEFRVZbX2BAUYCDA4Ffh4A7FYAVYQMQV1+A/VtQWvEVgBVhAyJXPV+APj1f/VtQUFBQUFZbX4BUkGEBAAqQBHP//////////////////////////xaBVltgBVSBVltgAV+QVJBhAQAKkARz//////////////////////////8WgVZbYARUgVZbYAZUgVZbX3+cIv9fIfC4GxE+Y/fbbalP7e8RshGbQIi4lmT7mjy2WJBQgGBAUWEDtJBhBBNWW4GQYEBRgJEDkF/1kFCAFYAVYQPRVz1fgD49X/1bUF+AYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQUFZbYQKKgGEFX4M5AZBWW19z//////////////////////////+CFpBQkZBQVltfgZBQkZBQVltfYQRiYQRdYQRYhGEEIFZbYQQ/VlthBCBWW5BQkZBQVltfYQRzgmEESFZbkFCRkFBWW19hBISCYQRpVluQUJGQUFZbYQSUgWEEelZbglJQUFZbX2AgggGQUGEErV+DAYRhBItWW5KRUFBWW1+BkFCRkFBWW2EExYFhBLNWW4JSUFBWW19gIIIBkFBhBN5fgwGEYQS8VluSkVBQVltfgZBQkpFQUFZbUFZbX2EE/F+DYQTkVluRUGEFB4JhBO5WW1+CAZBQkZBQVltfYQUbgmEE8VZbkVCBkFCRkFBWW19hBS+CYQQgVluQUJGQUFZbYQU/gWEFJVZbglJQUFZbX2AgggGQUGEFWF+DAYRhBTZWW5KRUFBW/mCAYEBSc0MAAAAAAAAAAAAAAAAAAAAAAAAAX4BhAQAKgVSBc///////////////////////////AhkWkINz//////////////////////////8WAheQVVBzeiOPKY1V+NsnuGDv8eAtFSixZYVgAV9hAQAKgVSBc///////////////////////////AhkWkINz//////////////////////////8WAheQVVA0gBVgtVdfgP1bUGEBx4BhAMNfOV/z/mCAYEBSYAQ2EGEAN1dfNWDgHIBjD68QIRRhAEJXgGMdY+JNFGEAXleAY3R39wAUYQCIV2EAPlZbNmEAPlcAW1+A/VthAFxgBIA2A4EBkGEAV5GQYQE1VlthALJWWwBbNIAVYQBpV1+A/VtQYQByYQDLVltgQFFhAH+RkGEBeFZbYEBRgJEDkPNbNIAVYQCTV1+A/VtQYQCcYQDRVltgQFFhAKmRkGEBeFZbYEBRgJEDkPNbgHP//////////////////////////xb/W2ADVIFWW2ACVIFWW1+A/Vtfc///////////////////////////ghaQUJGQUFZbX2EBBIJhANtWW5BQkZBQVlthARSBYQD6VluBFGEBHldfgP1bUFZbX4E1kFBhAS+BYQELVluSkVBQVltfYCCChAMSFWEBSldhAUlhANdWW1tfYQFXhIKFAWEBIVZbkVBQkpFQUFZbX4GQUJGQUFZbYQFygWEBYFZbglJQUFZbX2AgggGQUGEBi1+DAYRhAWlWW5KRUFBW/qJkaXBmc1giEiB4nf69TDoE8FAm15HxiG0PzBM9wtshFgRZSoALW9IyMGRzb2xjQwAIGQAzomRpcGZzWCISIL9Ul2tC0esNcimyvdSOilHtvOnMDOEu4+006a2DuQEVZHNvbGNDAAgZADM=", + "newHash": "SCiyEasTfEh/c8vA9xQ/UVY7EnPvfmQlXKBqXUD/TxU=", + "oldHash": "xdJGAYb3IzySfn2y3McDwOUAtlPKgic7e/rYBF2FpHA=", + "ordinal": "42" + } + ], + "endOrdinal": "43", + "gasChanges": [ + { + "newValue": "671148", + "oldValue": "779146", + "ordinal": "3", + "reason": "REASON_INTRINSIC_GAS" + }, + { + "newValue": "626589", + "oldValue": "626722", + "ordinal": "12", + "reason": "REASON_CODE_COPY" + }, + { + "newValue": "594380", + "oldValue": "626548", + "ordinal": "13", + "reason": "REASON_CONTRACT_CREATION2" + }, + { + "newValue": "9287", + "oldValue": "594380", + "ordinal": "14", + "reason": "REASON_CONTRACT_CREATION2" + }, + { + "newValue": "458909", + "oldValue": "9287", + "ordinal": "25", + "reason": "REASON_REFUND_AFTER_EXECUTION" + }, + { + "newValue": "6675", + "oldValue": "436353", + "ordinal": "27", + "reason": "REASON_CALL" + }, + { + "newValue": "429498", + "oldValue": "6675", + "ordinal": "32", + "reason": "REASON_REFUND_AFTER_EXECUTION" + }, + { + "newValue": "6698", + "oldValue": "428786", + "ordinal": "33", + "reason": "REASON_CALL" + }, + { + "newValue": "423285", + "oldValue": "6698", + "ordinal": "39", + "reason": "REASON_REFUND_AFTER_EXECUTION" + }, + { + "newValue": "422895", + "oldValue": "423220", + "ordinal": "40", + "reason": "REASON_CODE_COPY" + }, + { + "newValue": "7293", + "oldValue": "422893", + "ordinal": "41", + "reason": "REASON_CODE_STORAGE" + } + ], + "gasConsumed": "663855", + "gasLimit": "671148", + "index": 1, + "nonceChanges": [ + { + "address": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "newValue": "9", + "oldValue": "8", + "ordinal": "5" + }, + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "newValue": "1", + "ordinal": "7" + } + ], + "storageChanges": [ + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAI=", + "newValue": "AAAAAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAA=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "10" + }, + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM=", + "newValue": "AAAAAAAAAAAAAAAAeiOPKY1V+NsnuGDv8eAtFSixZYU=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "11" + }, + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAVmsCLVeUvExlb0NlkADTCzuyRWs=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "26" + } + ], + "value": { + "bytes": "d1bOoA==" + } + }, + { + "accountCreations": [ + { + "account": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "ordinal": "17" + } + ], + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "beginOrdinal": "15", + "callType": "CREATE", + "caller": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "codeChanges": [ + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "newCode": "YIBgQFJgBDYQYQA3V181YOAcgGMPrxAhFGEAQleAYx1j4k0UYQBeV4BjdHf3ABRhAIhXYQA+Vls2YQA+VwBbX4D9W2EAXGAEgDYDgQGQYQBXkZBhATVWW2EAslZbAFs0gBVhAGlXX4D9W1BhAHJhAMtWW2BAUWEAf5GQYQF4VltgQFGAkQOQ81s0gBVhAJNXX4D9W1BhAJxhANFWW2BAUWEAqZGQYQF4VltgQFGAkQOQ81uAc///////////////////////////Fv9bYANUgVZbYAJUgVZbX4D9W19z//////////////////////////+CFpBQkZBQVltfYQEEgmEA21ZbkFCRkFBWW2EBFIFhAPpWW4EUYQEeV1+A/VtQVltfgTWQUGEBL4FhAQtWW5KRUFBWW19gIIKEAxIVYQFKV2EBSWEA11ZbW19hAVeEgoUBYQEhVluRUFCSkVBQVltfgZBQkZBQVlthAXKBYQFgVluCUlBQVltfYCCCAZBQYQGLX4MBhGEBaVZbkpFQUFb+omRpcGZzWCISIHid/r1MOgTwUCbXkfGIbQ/MEz3C2yEWBFlKgAtb0jIwZHNvbGNDAAgZADM=", + "newHash": "6CUXyeRMWXwdWTThEgzSUhJR2IxY3DiiPnUZpa1qPpY=", + "oldHash": "xdJGAYb3IzySfn2y3McDwOUAtlPKgic7e/rYBF2FpHA=", + "ordinal": "23" + } + ], + "depth": 1, + "endOrdinal": "24", + "gasChanges": [ + { + "newValue": "540624", + "oldValue": "540708", + "ordinal": "21", + "reason": "REASON_CODE_COPY" + }, + { + "newValue": "449622", + "oldValue": "540622", + "ordinal": "22", + "reason": "REASON_CODE_STORAGE" + } + ], + "gasConsumed": "135471", + "gasLimit": "585093", + "index": 2, + "nonceChanges": [ + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "newValue": "2", + "oldValue": "1", + "ordinal": "16" + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "newValue": "1", + "ordinal": "18" + } + ], + "parentIndex": 1, + "storageChanges": [ + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "newValue": "AAAAAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAA=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "19" + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "key": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE=", + "newValue": "AAAAAAAAAAAAAAAAeiOPKY1V+NsnuGDv8eAtFSixZYU=", + "oldValue": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "ordinal": "20" + } + ] + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "balanceChanges": [ + { + "address": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "oldValue": { + "bytes": "d1bOoA==" + }, + "ordinal": "29", + "reason": "REASON_TRANSFER" + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "newValue": { + "bytes": "d1bOoA==" + }, + "ordinal": "30", + "reason": "REASON_TRANSFER" + } + ], + "beginOrdinal": "28", + "callType": "CALL", + "caller": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "depth": 1, + "endOrdinal": "31", + "gasConsumed": "55", + "gasLimit": "422878", + "index": 3, + "parentIndex": 1, + "value": { + "bytes": "d1bOoA==" + } + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "balanceChanges": [ + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "newValue": { + "bytes": "d1bOoA==" + }, + "ordinal": "36", + "reason": "REASON_SUICIDE_REFUND" + }, + { + "address": "VmsCLVeUvExlb0NlkADTCzuyRWs=", + "oldValue": { + "bytes": "d1bOoA==" + }, + "ordinal": "37", + "reason": "REASON_SUICIDE_WITHDRAW" + } + ], + "beginOrdinal": "34", + "callType": "CALL", + "caller": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "depth": 1, + "endOrdinal": "38", + "executedCode": true, + "gasChanges": [ + { + "newValue": "416587", + "oldValue": "421587", + "ordinal": "35", + "reason": "REASON_SELF_DESTRUCT" + } + ], + "gasConsumed": "5401", + "gasLimit": "421988", + "index": 4, + "input": "D68QIQAAAAAAAAAAAAAAAFZrAi1XlLxMZW9DZZAA0ws7skVr", + "parentIndex": 1, + "suicide": true + } + ], + "endOrdinal": "46", + "from": "eiOPKY1V+NsnuGDv8eAtFSixZYU=", + "gasLimit": "779146", + "gasPrice": { + "bytes": "mVhWcg==" + }, + "gasUsed": "771853", + "hash": "5gTFisgmyZvp3w4jvWMAn6e93CFPnMRbzXnM9NcV2lg=", + "input": "YIBgQFJzQwAAAAAAAAAAAAAAAAAAAAAAAABgAl9hAQAKgVSBc///////////////////////////AhkWkINz//////////////////////////8WAheQVVBzeiOPKY1V+NsnuGDv8eAtFSixZYVgA19hAQAKgVSBc///////////////////////////AhkWkINz//////////////////////////8WAheQVVBhALphAL9gIBtgIBxWW2EDHlZbX3+cIv9fIfC4GxE+Y/fbbalP7e8RshGbQIi4lmT7mjy2WJBQgGBAUWEA8JBhAnhWW4GQYEBRgJEDkF/1kFCAFYAVYQENVz1fgD49X/1bUF+AYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQX4BUkGEBAAqQBHP//////////////////////////xZz//////////////////////////8WNGBAUWEBj5BhArJWW19gQFGAgwOBhYda8ZJQUFA9gF+BFGEByVdgQFGRUGAfGWA/PQEWggFgQFI9glI9X2AghAE+YQHOVltgYJFQW1BQUF+AVJBhAQAKkARz//////////////////////////8Wc///////////////////////////FmMPrxAhX4BUkGEBAAqQBHP//////////////////////////xZgQFGCY/////8WYOAbgVJgBAFhAkiRkGEDBVZbX2BAUYCDA4Ffh4A7FYAVYQJfV1+A/VtQWvEVgBVhAnFXPV+APj1f/VtQUFBQUFZbYQKKgGELSYM5AZBWW1+BkFCSkVBQVltQVltfYQKdX4NhAoVWW5FQYQKogmECj1ZbX4IBkFCRkFBWW19hAryCYQKSVluRUIGQUJGQUFZbX3P//////////////////////////4IWkFCRkFBWW19hAu+CYQLGVluQUJGQUFZbYQL/gWEC5VZbglJQUFZbX2AgggGQUGEDGF+DAYRhAvZWW5KRUFBWW2EIHoBhAytfOV/z/mCAYEBSYAQ2EGEAc1dfNWDgHIBjTffj0BFhAE1XgGNN9+PQFGEA3FeAY3R39wAUYQEGV4Bjex2CnBRhATBXgGPPOiF+FGEBWldhAHpWW4BjC2HNfxRhAH5XgGMNvmcfFGEAiFeAYx1j4k0UYQCyV2EAelZbNmEAelcAW1+A/VthAIZhAXBWWwBbNIAVYQCTV1+A/VtQYQCcYQMpVltgQFFhAKmRkGEEmlZbYEBRgJEDkPNbNIAVYQC9V1+A/VtQYQDGYQNMVltgQFFhANORkGEEy1ZbYEBRgJEDkPNbNIAVYQDnV1+A/VtQYQDwYQNSVltgQFFhAP2RkGEEmlZbYEBRgJEDkPNbNIAVYQERV1+A/VtQYQEaYQN3VltgQFFhASeRkGEEy1ZbYEBRgJEDkPNbNIAVYQE7V1+A/VtQYQFEYQN9VltgQFFhAVGRkGEEy1ZbYEBRgJEDkPNbNIAVYQFlV1+A/VtQYQFuYQODVlsAW19/nCL/XyHwuBsRPmP3222pT+3vEbIRm0CIuJZk+5o8tliQUIBgQFFhAaGQYQQTVluBkGBAUYCRA5Bf9ZBQgBWAFWEBvlc9X4A+PV/9W1BfgGEBAAqBVIFz//////////////////////////8CGRaQg3P//////////////////////////xYCF5BVUF+AVJBhAQAKkARz//////////////////////////8Wc///////////////////////////FjRgQFFhAkCQYQURVltfYEBRgIMDgYWHWvGSUFBQPYBfgRRhAnpXYEBRkVBgHxlgPz0BFoIBYEBSPYJSPV9gIIQBPmECf1ZbYGCRUFtQUFBfgFSQYQEACpAEc///////////////////////////FnP//////////////////////////xZjD68QIV+AVJBhAQAKkARz//////////////////////////8WYEBRgmP/////FmDgG4FSYAQBYQL5kZBhBUVWW19gQFGAgwOBX4eAOxWAFWEDEFdfgP1bUFrxFYAVYQMiVz1fgD49X/1bUFBQUFBWW1+AVJBhAQAKkARz//////////////////////////8WgVZbYAVUgVZbYAFfkFSQYQEACpAEc///////////////////////////FoFWW2AEVIFWW2AGVIFWW19/nCL/XyHwuBsRPmP3222pT+3vEbIRm0CIuJZk+5o8tliQUIBgQFFhA7SQYQQTVluBkGBAUYCRA5Bf9ZBQgBWAFWED0Vc9X4A+PV/9W1BfgGEBAAqBVIFz//////////////////////////8CGRaQg3P//////////////////////////xYCF5BVUFBWW2ECioBhBV+DOQGQVltfc///////////////////////////ghaQUJGQUFZbX4GQUJGQUFZbX2EEYmEEXWEEWIRhBCBWW2EEP1ZbYQQgVluQUJGQUFZbX2EEc4JhBEhWW5BQkZBQVltfYQSEgmEEaVZbkFCRkFBWW2EElIFhBHpWW4JSUFBWW19gIIIBkFBhBK1fgwGEYQSLVluSkVBQVltfgZBQkZBQVlthBMWBYQSzVluCUlBQVltfYCCCAZBQYQTeX4MBhGEEvFZbkpFQUFZbX4GQUJKRUFBWW1BWW19hBPxfg2EE5FZbkVBhBQeCYQTuVltfggGQUJGQUFZbX2EFG4JhBPFWW5FQgZBQkZBQVltfYQUvgmEEIFZbkFCRkFBWW2EFP4FhBSVWW4JSUFBWW19gIIIBkFBhBVhfgwGEYQU2VluSkVBQVv5ggGBAUnNDAAAAAAAAAAAAAAAAAAAAAAAAAF+AYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQc3ojjymNVfjbJ7hg7/HgLRUosWWFYAFfYQEACoFUgXP//////////////////////////wIZFpCDc///////////////////////////FgIXkFVQNIAVYLVXX4D9W1BhAceAYQDDXzlf8/5ggGBAUmAENhBhADdXXzVg4ByAYw+vECEUYQBCV4BjHWPiTRRhAF5XgGN0d/cAFGEAiFdhAD5WWzZhAD5XAFtfgP1bYQBcYASANgOBAZBhAFeRkGEBNVZbYQCyVlsAWzSAFWEAaVdfgP1bUGEAcmEAy1ZbYEBRYQB/kZBhAXhWW2BAUYCRA5DzWzSAFWEAk1dfgP1bUGEAnGEA0VZbYEBRYQCpkZBhAXhWW2BAUYCRA5DzW4Bz//////////////////////////8W/1tgA1SBVltgAlSBVltfgP1bX3P//////////////////////////4IWkFCRkFBWW19hAQSCYQDbVluQUJGQUFZbYQEUgWEA+lZbgRRhAR5XX4D9W1BWW1+BNZBQYQEvgWEBC1ZbkpFQUFZbX2AggoQDEhVhAUpXYQFJYQDXVltbX2EBV4SChQFhASFWW5FQUJKRUFBWW1+BkFCRkFBWW2EBcoFhAWBWW4JSUFBWW19gIIIBkFBhAYtfgwGEYQFpVluSkVBQVv6iZGlwZnNYIhIgeJ3+vUw6BPBQJteR8YhtD8wTPcLbIRYEWUqAC1vSMjBkc29sY0MACBkAM6JkaXBmc1giEiC/VJdrQtHrDXIpsr3UjopR7bzpzAzhLuPtNOmtg7kBFWRzb2xjQwAIGQAzYIBgQFJzQwAAAAAAAAAAAAAAAAAAAAAAAABfgGEBAAqBVIFz//////////////////////////8CGRaQg3P//////////////////////////xYCF5BVUHN6I48pjVX42ye4YO/x4C0VKLFlhWABX2EBAAqBVIFz//////////////////////////8CGRaQg3P//////////////////////////xYCF5BVUDSAFWC1V1+A/VtQYQHHgGEAw185X/P+YIBgQFJgBDYQYQA3V181YOAcgGMPrxAhFGEAQleAYx1j4k0UYQBeV4BjdHf3ABRhAIhXYQA+Vls2YQA+VwBbX4D9W2EAXGAEgDYDgQGQYQBXkZBhATVWW2EAslZbAFs0gBVhAGlXX4D9W1BhAHJhAMtWW2BAUWEAf5GQYQF4VltgQFGAkQOQ81s0gBVhAJNXX4D9W1BhAJxhANFWW2BAUWEAqZGQYQF4VltgQFGAkQOQ81uAc///////////////////////////Fv9bYANUgVZbYAJUgVZbX4D9W19z//////////////////////////+CFpBQkZBQVltfYQEEgmEA21ZbkFCRkFBWW2EBFIFhAPpWW4EUYQEeV1+A/VtQVltfgTWQUGEBL4FhAQtWW5KRUFBWW19gIIKEAxIVYQFKV2EBSWEA11ZbW19hAVeEgoUBYQEhVluRUFCSkVBQVltfgZBQkZBQVlthAXKBYQFgVluCUlBQVltfYCCCAZBQYQGLX4MBhGEBaVZbkpFQUFb+omRpcGZzWCISIHid/r1MOgTwUCbXkfGIbQ/MEz3C2yEWBFlKgAtb0jIwZHNvbGNDAAgZADM=", + "maxFeePerGas": { + "bytes": "yOKYzA==" + }, + "maxPriorityFeePerGas": { + "bytes": "BlE2qw==" + }, + "nonce": "8", + "r": "uEHvjD26MNMUOogGHEac8h8Gyz2aw+Nbzc+mi2kmRS8=", + "receipt": { + "cumulativeGasUsed": "771853", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" + }, + "s": "E8IkJGk6TjnE8pl+DO4Ty/WfNsTFicVgSpPI2ayGblU=", + "status": "SUCCEEDED", + "to": "tmHJ8wNCN1AUM716ZYd4S3AgslQ=", + "type": "TRX_TYPE_DYNAMIC_FEE", + "value": { + "bytes": "d1bOoA==" + } + } + ], + "ver": 3 +} \ No newline at end of file diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestSystemCalls/block.1.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestSystemCalls/fh2.3/block.1.golden.json similarity index 100% rename from eth/tracers/internal/tracetest/firehose/testdata/TestSystemCalls/block.1.golden.json rename to eth/tracers/internal/tracetest/firehose/testdata/TestSystemCalls/fh2.3/block.1.golden.json diff --git a/eth/tracers/internal/tracetest/firehose/testdata/TestSystemCalls/fh3.0/block.1.golden.json b/eth/tracers/internal/tracetest/firehose/testdata/TestSystemCalls/fh3.0/block.1.golden.json new file mode 100644 index 0000000000..1e736ccb0a --- /dev/null +++ b/eth/tracers/internal/tracetest/firehose/testdata/TestSystemCalls/fh3.0/block.1.golden.json @@ -0,0 +1,119 @@ +{ + "hash": "N6zSvR8q4sVWyJKo2vdOcc1KsrHinU95Ki/q4tjYQoc=", + "header": { + "baseFeePerGas": { + "bytes": "NCdwwA==" + }, + "blobGasUsed": "0", + "coinbase": "AAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "difficulty": { + "bytes": "AA==" + }, + "excessBlobGas": "0", + "gasLimit": "4712388", + "hash": "N6zSvR8q4sVWyJKo2vdOcc1KsrHinU95Ki/q4tjYQoc=", + "logsBloom": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "mixHash": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "number": "1", + "parentBeaconRoot": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=", + "parentHash": "MFX8J9a0oI6wcDOg0e51WkspiAhvKKYYnqwbUHUl7rE=", + "receiptRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=", + "requestsHash": "47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=", + "stateRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=", + "timestamp": "1970-01-01T00:00:10Z", + "transactionsRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=", + "uncleHash": "HcxN6N7HXXqrhbVntszUGtMSRRuUinQT8KFC/UDUk0c=", + "withdrawalsRoot": "VugfFxvMVab/g0XmksD4bltI4BuZbK3AAWIvteNjtCE=" + }, + "number": "1", + "size": "611", + "systemCalls": [ + { + "address": "AA899tcygH7xMZ+3uLuFItC+rAI=", + "beginOrdinal": "1", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "4", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "2", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "3", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1, + "input": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=" + }, + { + "address": "AAD5CCfxxToQy3oCM1sXUyAAKTU=", + "beginOrdinal": "5", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "8", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "6", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "7", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1, + "input": "MFX8J9a0oI6wcDOg0e51WkspiAhvKKYYnqwbUHUl7rE=" + }, + { + "address": "AAAJYe9IDrVegNGa2DV5pkwAcAI=", + "beginOrdinal": "9", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "12", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "10", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "11", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1 + }, + { + "address": "AAC73cfOSIZC+1efiwDzpZAAclE=", + "beginOrdinal": "13", + "callType": "CALL", + "caller": "//////////////////////////4=", + "endOrdinal": "16", + "gasChanges": [ + { + "newValue": "30000000", + "ordinal": "14", + "reason": "REASON_CALL_INITIAL_BALANCE" + }, + { + "oldValue": "30000000", + "ordinal": "15", + "reason": "REASON_CALL_LEFT_OVER_RETURNED" + } + ], + "gasLimit": "30000000", + "index": 1 + } + ], + "ver": 4 +} \ No newline at end of file