From b1afbb10a0a2f2be4f328e83abe517b6fd48191f Mon Sep 17 00:00:00 2001 From: devopsbo3 <69951731+devopsbo3@users.noreply.github.com> Date: Fri, 10 Nov 2023 12:31:54 -0600 Subject: [PATCH] Revert "eth/tracers: add `txHash` field on txTraceResult (#27183)" This reverts commit c2057f0d2ce41242ab7d27c4772ee710a76009de. --- eth/tracers/api.go | 11 +++++------ eth/tracers/api_test.go | 23 ++++++++++------------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/eth/tracers/api.go b/eth/tracers/api.go index 5e90180df8d5..34f4199a8364 100644 --- a/eth/tracers/api.go +++ b/eth/tracers/api.go @@ -176,7 +176,6 @@ type StdTraceConfig struct { // txTraceResult is the result of a single transaction trace. type txTraceResult struct { - TxHash common.Hash `json:"txHash"` // transaction hash Result interface{} `json:"result,omitempty"` // Trace results produced by the tracer Error string `json:"error,omitempty"` // Trace failure produced by the tracer } @@ -279,13 +278,13 @@ func (api *API) traceChain(start, end *types.Block, config *TraceConfig, closed } res, err := api.traceTx(ctx, msg, txctx, blockCtx, task.statedb, config) if err != nil { - task.results[i] = &txTraceResult{TxHash: tx.Hash(), Error: err.Error()} + task.results[i] = &txTraceResult{Error: err.Error()} log.Warn("Tracing failed", "hash", tx.Hash(), "block", task.block.NumberU64(), "err", err) break } // Only delete empty objects if EIP158/161 (a.k.a Spurious Dragon) is in effect task.statedb.Finalise(api.backend.ChainConfig().IsEIP158(task.block.Number())) - task.results[i] = &txTraceResult{TxHash: tx.Hash(), Result: res} + task.results[i] = &txTraceResult{Result: res} } // Tracing state is used up, queue it for de-referencing. Note the // state is the parent state of trace block, use block.number-1 as @@ -616,7 +615,7 @@ func (api *API) traceBlock(ctx context.Context, block *types.Block, config *Trac if err != nil { return nil, err } - results[i] = &txTraceResult{TxHash: tx.Hash(), Result: res} + results[i] = &txTraceResult{Result: res} // Finalize the state so any modifications are written to the trie // Only delete empty objects if EIP158/161 (a.k.a Spurious Dragon) is in effect statedb.Finalise(is158) @@ -657,10 +656,10 @@ func (api *API) traceBlockParallel(ctx context.Context, block *types.Block, stat } res, err := api.traceTx(ctx, msg, txctx, blockCtx, task.statedb, config) if err != nil { - results[task.index] = &txTraceResult{TxHash: txs[task.index].Hash(), Error: err.Error()} + results[task.index] = &txTraceResult{Error: err.Error()} continue } - results[task.index] = &txTraceResult{TxHash: txs[task.index].Hash(), Result: res} + results[task.index] = &txTraceResult{Result: res} } }() } diff --git a/eth/tracers/api_test.go b/eth/tracers/api_test.go index fdb02b18950e..8f4f88b00319 100644 --- a/eth/tracers/api_test.go +++ b/eth/tracers/api_test.go @@ -384,14 +384,12 @@ func TestTraceBlock(t *testing.T) { } genBlocks := 10 signer := types.HomesteadSigner{} - var txHash common.Hash backend := newTestBackend(t, genBlocks, genesis, func(i int, b *core.BlockGen) { // Transfer from account[0] to account[1] // value: 1000 wei // fee: 0 wei tx, _ := types.SignTx(types.NewTransaction(uint64(i), accounts[1].addr, big.NewInt(1000), params.TxGas, b.BaseFee(), nil), signer, accounts[0].key) b.AddTx(tx) - txHash = tx.Hash() }) defer backend.chain.Stop() api := NewAPI(backend) @@ -410,7 +408,7 @@ func TestTraceBlock(t *testing.T) { // Trace head block { blockNumber: rpc.BlockNumber(genBlocks), - want: fmt.Sprintf(`[{"txHash":"%v","result":{"gas":21000,"failed":false,"returnValue":"","structLogs":[]}}]`, txHash), + want: `[{"result":{"gas":21000,"failed":false,"returnValue":"","structLogs":[]}}]`, }, // Trace non-existent block { @@ -420,12 +418,12 @@ func TestTraceBlock(t *testing.T) { // Trace latest block { blockNumber: rpc.LatestBlockNumber, - want: fmt.Sprintf(`[{"txHash":"%v","result":{"gas":21000,"failed":false,"returnValue":"","structLogs":[]}}]`, txHash), + want: `[{"result":{"gas":21000,"failed":false,"returnValue":"","structLogs":[]}}]`, }, // Trace pending block { blockNumber: rpc.PendingBlockNumber, - want: fmt.Sprintf(`[{"txHash":"%v","result":{"gas":21000,"failed":false,"returnValue":"","structLogs":[]}}]`, txHash), + want: `[{"result":{"gas":21000,"failed":false,"returnValue":"","structLogs":[]}}]`, }, } for i, tc := range testSuite { @@ -855,7 +853,7 @@ func TestTraceChain(t *testing.T) { backend.relHook = func() { rel.Add(1) } api := NewAPI(backend) - single := `{"txHash":"0x0000000000000000000000000000000000000000000000000000000000000000","result":{"gas":21000,"failed":false,"returnValue":"","structLogs":[]}}` + single := `{"result":{"gas":21000,"failed":false,"returnValue":"","structLogs":[]}}` var cases = []struct { start uint64 end uint64 @@ -874,17 +872,16 @@ func TestTraceChain(t *testing.T) { next := c.start + 1 for result := range resCh { - if have, want := uint64(result.Block), next; have != want { - t.Fatalf("unexpected tracing block, have %d want %d", have, want) + if next != uint64(result.Block) { + t.Error("Unexpected tracing block") } - if have, want := len(result.Traces), int(next); have != want { - t.Fatalf("unexpected result length, have %d want %d", have, want) + if len(result.Traces) != int(next) { + t.Error("Unexpected tracing result") } for _, trace := range result.Traces { - trace.TxHash = common.Hash{} blob, _ := json.Marshal(trace) - if have, want := string(blob), single; have != want { - t.Fatalf("unexpected tracing result, have\n%v\nwant:\n%v", have, want) + if string(blob) != single { + t.Error("Unexpected tracing result") } } next += 1