diff --git a/cmd/keeper/getpayload_wasm.go b/cmd/keeper/getpayload_wasm.go
new file mode 100644
index 0000000000..b912678825
--- /dev/null
+++ b/cmd/keeper/getpayload_wasm.go
@@ -0,0 +1,36 @@
+// Copyright 2026 The go-ethereum Authors
+// This file is part of the go-ethereum library.
+//
+// The go-ethereum library is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Lesser General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// The go-ethereum library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public License
+// along with the go-ethereum library. If not, see .
+
+//go:build wasm
+// +build wasm
+
+package main
+
+import (
+ "unsafe"
+)
+
+//go:wasmimport geth_io len
+func hintLen() uint32
+
+//go:wasmimport geth_io read
+func hintRead(data unsafe.Pointer)
+
+func getInput() []byte {
+ data := make([]byte, hintLen())
+ hintRead(unsafe.Pointer(&data[0]))
+ return data
+}
diff --git a/cmd/keeper/stubs.go b/cmd/keeper/stubs.go
index 04a3bc735b..407a21a145 100644
--- a/cmd/keeper/stubs.go
+++ b/cmd/keeper/stubs.go
@@ -14,7 +14,8 @@
// You should have received a copy of the GNU Lesser General Public License
// along with the go-ethereum library. If not, see .
-//go:build !example && !ziren
+//go:build !example && !ziren && !wasm
+// +build !example,!ziren,!wasm
package main
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 2ad2e0b356..7eec3bdcda 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -692,7 +692,7 @@ var (
}
LogSlowBlockFlag = &cli.DurationFlag{
Name: "debug.logslowblock",
- Usage: "Block execution time threshold beyond which detailed statistics will be logged (0 means disable)",
+ Usage: "Block execution time threshold beyond which detailed statistics will be logged (0 logs all blocks, negative means disable)",
Value: ethconfig.Defaults.SlowBlockThreshold,
Category: flags.LoggingCategory,
}
@@ -2351,8 +2351,12 @@ func MakeChain(ctx *cli.Context, stack *node.Node, readonly bool) (*core.BlockCh
// Enable state size tracking if enabled
StateSizeTracking: ctx.Bool(StateSizeTrackingFlag.Name),
- // Configure the slow block statistic logger
- SlowBlockThreshold: ctx.Duration(LogSlowBlockFlag.Name),
+ // Configure the slow block statistic logger (disabled by default)
+ SlowBlockThreshold: ethconfig.Defaults.SlowBlockThreshold,
+ }
+ // Only enable slow block logging if the flag was explicitly set
+ if ctx.IsSet(LogSlowBlockFlag.Name) {
+ options.SlowBlockThreshold = ctx.Duration(LogSlowBlockFlag.Name)
}
if options.ArchiveMode && !options.Preimages {
options.Preimages = true
diff --git a/core/blockchain.go b/core/blockchain.go
index db3f71c44d..6f1db96463 100644
--- a/core/blockchain.go
+++ b/core/blockchain.go
@@ -214,7 +214,8 @@ type BlockChainConfig struct {
StateSizeTracking bool
// SlowBlockThreshold is the block execution time threshold beyond which
- // detailed statistics will be logged.
+ // detailed statistics will be logged. Negative value means disabled (default),
+ // zero logs all blocks, positive value filters blocks by execution time.
SlowBlockThreshold time.Duration
}
@@ -2106,24 +2107,11 @@ func (bc *BlockChain) ProcessBlock(parentRoot common.Hash, block *types.Block, s
}
// Upload the statistics of reader at the end
defer func() {
- pStat := prefetch.GetStats()
- accountCacheHitPrefetchMeter.Mark(pStat.AccountCacheHit)
- accountCacheMissPrefetchMeter.Mark(pStat.AccountCacheMiss)
- storageCacheHitPrefetchMeter.Mark(pStat.StorageCacheHit)
- storageCacheMissPrefetchMeter.Mark(pStat.StorageCacheMiss)
-
- rStat := process.GetStats()
- accountCacheHitMeter.Mark(rStat.AccountCacheHit)
- accountCacheMissMeter.Mark(rStat.AccountCacheMiss)
- storageCacheHitMeter.Mark(rStat.StorageCacheHit)
- storageCacheMissMeter.Mark(rStat.StorageCacheMiss)
-
if result != nil {
- result.stats.StatePrefetchCacheStats = pStat
- result.stats.StateReadCacheStats = rStat
+ result.stats.StatePrefetchCacheStats = prefetch.GetStats()
+ result.stats.StateReadCacheStats = process.GetStats()
}
}()
-
go func(start time.Time, throwaway *state.StateDB, block *types.Block) {
// Disable tracing for prefetcher executions.
vmCfg := bc.cfg.VmConfig
@@ -2238,8 +2226,11 @@ func (bc *BlockChain) ProcessBlock(parentRoot common.Hash, block *types.Block, s
stats.StorageLoaded = statedb.StorageLoaded
stats.StorageUpdated = int(statedb.StorageUpdated.Load())
stats.StorageDeleted = int(statedb.StorageDeleted.Load())
+
stats.CodeLoaded = statedb.CodeLoaded
stats.CodeLoadBytes = statedb.CodeLoadBytes
+ stats.CodeUpdated = statedb.CodeUpdated
+ stats.CodeUpdateBytes = statedb.CodeUpdateBytes
stats.Execution = ptime - (statedb.AccountReads + statedb.StorageReads + statedb.CodeReads) // The time spent on EVM processing
stats.Validation = vtime - (statedb.AccountHashes + statedb.AccountUpdates + statedb.StorageUpdates) // The time spent on block validation
diff --git a/core/blockchain_stats.go b/core/blockchain_stats.go
index e8c5860294..adc66266c4 100644
--- a/core/blockchain_stats.go
+++ b/core/blockchain_stats.go
@@ -17,8 +17,7 @@
package core
import (
- "fmt"
- "strings"
+ "encoding/json"
"time"
"github.com/ethereum/go-ethereum/common"
@@ -39,14 +38,16 @@ type ExecuteStats struct {
StorageCommits time.Duration // Time spent on the storage trie commit
CodeReads time.Duration // Time spent on the contract code read
- AccountLoaded int // Number of accounts loaded
- AccountUpdated int // Number of accounts updated
- AccountDeleted int // Number of accounts deleted
- StorageLoaded int // Number of storage slots loaded
- StorageUpdated int // Number of storage slots updated
- StorageDeleted int // Number of storage slots deleted
- CodeLoaded int // Number of contract code loaded
- CodeLoadBytes int // Number of bytes read from contract code
+ AccountLoaded int // Number of accounts loaded
+ AccountUpdated int // Number of accounts updated
+ AccountDeleted int // Number of accounts deleted
+ StorageLoaded int // Number of storage slots loaded
+ StorageUpdated int // Number of storage slots updated
+ StorageDeleted int // Number of storage slots deleted
+ CodeLoaded int // Number of contract code loaded
+ CodeLoadBytes int // Number of bytes read from contract code
+ CodeUpdated int // Number of contract code written (CREATE/CREATE2 + EIP-7702)
+ CodeUpdateBytes int // Total bytes of code written
Execution time.Duration // Time spent on the EVM execution
Validation time.Duration // Time spent on the block validation
@@ -104,64 +105,161 @@ func (s *ExecuteStats) reportMetrics() {
storageCacheMissMeter.Mark(s.StateReadCacheStats.StorageCacheMiss)
}
-// logSlow prints the detailed execution statistics if the block is regarded as slow.
-func (s *ExecuteStats) logSlow(block *types.Block, slowBlockThreshold time.Duration) {
- if slowBlockThreshold == 0 {
- return
- }
- if s.TotalTime < slowBlockThreshold {
- return
- }
- msg := fmt.Sprintf(`
-########## SLOW BLOCK #########
-Block: %v (%#x) txs: %d, mgasps: %.2f, elapsed: %v
-
-EVM execution: %v
-
-Validation: %v
- Account hash: %v
- Storage hash: %v
-
-State read: %v
- Account read: %v(%d)
- Storage read: %v(%d)
- Code read: %v(%d %v)
-
-State write: %v
- Trie commit: %v
- State write: %v
- Block write: %v
-
-%s
-##############################
-`, block.Number(), block.Hash(), len(block.Transactions()), s.MgasPerSecond, common.PrettyDuration(s.TotalTime),
- // EVM execution
- common.PrettyDuration(s.Execution),
-
- // Block validation
- common.PrettyDuration(s.Validation+s.CrossValidation+s.AccountHashes+s.AccountUpdates+s.StorageUpdates),
- common.PrettyDuration(s.AccountHashes+s.AccountUpdates),
- common.PrettyDuration(s.StorageUpdates),
-
- // State read
- common.PrettyDuration(s.AccountReads+s.StorageReads+s.CodeReads),
- common.PrettyDuration(s.AccountReads), s.AccountLoaded,
- common.PrettyDuration(s.StorageReads), s.StorageLoaded,
- common.PrettyDuration(s.CodeReads), s.CodeLoaded, common.StorageSize(s.CodeLoadBytes),
-
- // State write
- common.PrettyDuration(max(s.AccountCommits, s.StorageCommits)+s.TrieDBCommit+s.SnapshotCommit+s.BlockWrite),
- common.PrettyDuration(max(s.AccountCommits, s.StorageCommits)),
- common.PrettyDuration(s.TrieDBCommit+s.SnapshotCommit),
- common.PrettyDuration(s.BlockWrite),
-
- // cache statistics
- s.StateReadCacheStats,
- )
- for _, line := range strings.Split(msg, "\n") {
- if line == "" {
- continue
- }
- log.Info(line)
- }
+// slowBlockLog represents the JSON structure for slow block logging.
+// This format is designed for cross-client compatibility with other
+// Ethereum execution clients (reth, Besu, Nethermind).
+type slowBlockLog struct {
+ Level string `json:"level"`
+ Msg string `json:"msg"`
+ Block slowBlockInfo `json:"block"`
+ Timing slowBlockTime `json:"timing"`
+ Throughput slowBlockThru `json:"throughput"`
+ StateReads slowBlockReads `json:"state_reads"`
+ StateWrites slowBlockWrites `json:"state_writes"`
+ Cache slowBlockCache `json:"cache"`
+}
+
+type slowBlockInfo struct {
+ Number uint64 `json:"number"`
+ Hash common.Hash `json:"hash"`
+ GasUsed uint64 `json:"gas_used"`
+ TxCount int `json:"tx_count"`
+}
+
+type slowBlockTime struct {
+ ExecutionMs float64 `json:"execution_ms"`
+ StateReadMs float64 `json:"state_read_ms"`
+ StateHashMs float64 `json:"state_hash_ms"`
+ CommitMs float64 `json:"commit_ms"`
+ TotalMs float64 `json:"total_ms"`
+}
+
+type slowBlockThru struct {
+ MgasPerSec float64 `json:"mgas_per_sec"`
+}
+
+type slowBlockReads struct {
+ Accounts int `json:"accounts"`
+ StorageSlots int `json:"storage_slots"`
+ Code int `json:"code"`
+ CodeBytes int `json:"code_bytes"`
+}
+
+type slowBlockWrites struct {
+ Accounts int `json:"accounts"`
+ AccountsDeleted int `json:"accounts_deleted"`
+ StorageSlots int `json:"storage_slots"`
+ StorageSlotsDeleted int `json:"storage_slots_deleted"`
+ Code int `json:"code"`
+ CodeBytes int `json:"code_bytes"`
+}
+
+// slowBlockCache represents cache hit/miss statistics for cross-client analysis.
+type slowBlockCache struct {
+ Account slowBlockCacheEntry `json:"account"`
+ Storage slowBlockCacheEntry `json:"storage"`
+ Code slowBlockCodeCacheEntry `json:"code"`
+}
+
+// slowBlockCacheEntry represents cache statistics for account/storage caches.
+type slowBlockCacheEntry struct {
+ Hits int64 `json:"hits"`
+ Misses int64 `json:"misses"`
+ HitRate float64 `json:"hit_rate"`
+}
+
+// slowBlockCodeCacheEntry represents cache statistics for code cache with byte-level granularity.
+type slowBlockCodeCacheEntry struct {
+ Hits int64 `json:"hits"`
+ Misses int64 `json:"misses"`
+ HitRate float64 `json:"hit_rate"`
+ HitBytes int64 `json:"hit_bytes"`
+ MissBytes int64 `json:"miss_bytes"`
+}
+
+// calculateHitRate computes the cache hit rate as a percentage (0-100).
+func calculateHitRate(hits, misses int64) float64 {
+ if total := hits + misses; total > 0 {
+ return float64(hits) / float64(total) * 100.0
+ }
+ return 0.0
+}
+
+// durationToMs converts a time.Duration to milliseconds as a float64
+// with sub-millisecond precision for accurate cross-client metrics.
+func durationToMs(d time.Duration) float64 {
+ return float64(d.Nanoseconds()) / 1e6
+}
+
+// logSlow prints the detailed execution statistics in JSON format if the block
+// is regarded as slow. The JSON format is designed for cross-client compatibility
+// with other Ethereum execution clients.
+func (s *ExecuteStats) logSlow(block *types.Block, slowBlockThreshold time.Duration) {
+ // Negative threshold means disabled (default when flag not set)
+ if slowBlockThreshold < 0 {
+ return
+ }
+ // Threshold of 0 logs all blocks; positive threshold filters
+ if slowBlockThreshold > 0 && s.TotalTime < slowBlockThreshold {
+ return
+ }
+ logEntry := slowBlockLog{
+ Level: "warn",
+ Msg: "Slow block",
+ Block: slowBlockInfo{
+ Number: block.NumberU64(),
+ Hash: block.Hash(),
+ GasUsed: block.GasUsed(),
+ TxCount: len(block.Transactions()),
+ },
+ Timing: slowBlockTime{
+ ExecutionMs: durationToMs(s.Execution),
+ StateReadMs: durationToMs(s.AccountReads + s.StorageReads + s.CodeReads),
+ StateHashMs: durationToMs(s.AccountHashes + s.AccountUpdates + s.StorageUpdates),
+ CommitMs: durationToMs(max(s.AccountCommits, s.StorageCommits) + s.TrieDBCommit + s.SnapshotCommit + s.BlockWrite),
+ TotalMs: durationToMs(s.TotalTime),
+ },
+ Throughput: slowBlockThru{
+ MgasPerSec: s.MgasPerSecond,
+ },
+ StateReads: slowBlockReads{
+ Accounts: s.AccountLoaded,
+ StorageSlots: s.StorageLoaded,
+ Code: s.CodeLoaded,
+ CodeBytes: s.CodeLoadBytes,
+ },
+ StateWrites: slowBlockWrites{
+ Accounts: s.AccountUpdated,
+ AccountsDeleted: s.AccountDeleted,
+ StorageSlots: s.StorageUpdated,
+ StorageSlotsDeleted: s.StorageDeleted,
+ Code: s.CodeUpdated,
+ CodeBytes: s.CodeUpdateBytes,
+ },
+ Cache: slowBlockCache{
+ Account: slowBlockCacheEntry{
+ Hits: s.StateReadCacheStats.AccountCacheHit,
+ Misses: s.StateReadCacheStats.AccountCacheMiss,
+ HitRate: calculateHitRate(s.StateReadCacheStats.AccountCacheHit, s.StateReadCacheStats.AccountCacheMiss),
+ },
+ Storage: slowBlockCacheEntry{
+ Hits: s.StateReadCacheStats.StorageCacheHit,
+ Misses: s.StateReadCacheStats.StorageCacheMiss,
+ HitRate: calculateHitRate(s.StateReadCacheStats.StorageCacheHit, s.StateReadCacheStats.StorageCacheMiss),
+ },
+ Code: slowBlockCodeCacheEntry{
+ Hits: s.StateReadCacheStats.CodeStats.CacheHit,
+ Misses: s.StateReadCacheStats.CodeStats.CacheMiss,
+ HitRate: calculateHitRate(s.StateReadCacheStats.CodeStats.CacheHit, s.StateReadCacheStats.CodeStats.CacheMiss),
+ HitBytes: s.StateReadCacheStats.CodeStats.CacheHitBytes,
+ MissBytes: s.StateReadCacheStats.CodeStats.CacheMissBytes,
+ },
+ },
+ }
+ jsonBytes, err := json.Marshal(logEntry)
+ if err != nil {
+ log.Error("Failed to marshal slow block log", "error", err)
+ return
+ }
+ log.Warn(string(jsonBytes))
}
diff --git a/core/genesis_test.go b/core/genesis_test.go
index 821c71feb9..ba00581b06 100644
--- a/core/genesis_test.go
+++ b/core/genesis_test.go
@@ -308,7 +308,7 @@ func TestVerkleGenesisCommit(t *testing.T) {
},
}
- expected := common.FromHex("19056b480530799a4fdaa9fd9407043b965a3a5c37b4d2a1a9a4f3395a327561")
+ expected := common.FromHex("b94812c1674dcf4f2bc98f4503d15f4cc674265135bcf3be6e4417b60881042a")
got := genesis.ToBlock().Root().Bytes()
if !bytes.Equal(got, expected) {
t.Fatalf("invalid genesis state root, expected %x, got %x", expected, got)
diff --git a/core/rawdb/chain_iterator.go b/core/rawdb/chain_iterator.go
index 713c3d8ae2..f846d4d16c 100644
--- a/core/rawdb/chain_iterator.go
+++ b/core/rawdb/chain_iterator.go
@@ -153,9 +153,9 @@ func iterateTransactions(db ethdb.Database, from uint64, to uint64, reverse bool
err: err,
}
} else {
- var hashes []common.Hash
- for _, tx := range body.Transactions {
- hashes = append(hashes, tx.Hash())
+ hashes := make([]common.Hash, len(body.Transactions))
+ for i, tx := range body.Transactions {
+ hashes[i] = tx.Hash()
}
result = &blockTxHashes{
hashes: hashes,
diff --git a/core/state/statedb.go b/core/state/statedb.go
index 610e7173cf..3d329bab64 100644
--- a/core/state/statedb.go
+++ b/core/state/statedb.go
@@ -158,13 +158,15 @@ type StateDB struct {
StorageLoaded int // Number of storage slots retrieved from the database during the state transition
StorageUpdated atomic.Int64 // Number of storage slots updated during the state transition
StorageDeleted atomic.Int64 // Number of storage slots deleted during the state transition
- CodeLoaded int // Number of contract code loaded during the state transition
// CodeLoadBytes is the total number of bytes read from contract code.
// This value may be smaller than the actual number of bytes read, since
// some APIs (e.g. CodeSize) may load the entire code from either the
// cache or the database when the size is not available in the cache.
- CodeLoadBytes int
+ CodeLoaded int // Number of contract code loaded during the state transition
+ CodeLoadBytes int // Total bytes of resolved code
+ CodeUpdated int // Number of contracts with code changes that persisted
+ CodeUpdateBytes int // Total bytes of persisted code written
}
// New creates a new state from a given trie.
@@ -941,8 +943,15 @@ func (s *StateDB) IntermediateRoot(deleteEmptyObjects bool) common.Hash {
if op.isDelete() {
deletedAddrs = append(deletedAddrs, addr)
} else {
- s.updateStateObject(s.stateObjects[addr])
+ obj := s.stateObjects[addr]
+ s.updateStateObject(obj)
s.AccountUpdated += 1
+
+ // Count code writes post-Finalise so reverted CREATEs are excluded.
+ if obj.dirtyCode {
+ s.CodeUpdated += 1
+ s.CodeUpdateBytes += len(obj.code)
+ }
}
usedAddrs = append(usedAddrs, addr) // Copy needed for closure
}
diff --git a/eth/ethconfig/config.go b/eth/ethconfig/config.go
index cc4eeb74ca..a7b6b19a47 100644
--- a/eth/ethconfig/config.go
+++ b/eth/ethconfig/config.go
@@ -72,10 +72,10 @@ var Defaults = Config{
RPCGasCap: 50000000,
RPCEVMTimeout: 5 * time.Second,
GPO: FullNodeGPO,
- RPCTxFeeCap: 1, // 1 ether
+ RPCTxFeeCap: 1, // 1 ether
TxSyncDefaultTimeout: uint64(20000), // 20 seconds in milliseconds
TxSyncMaxTimeout: uint64(60000), // 1 minute in milliseconds
- SlowBlockThreshold: time.Second * 2,
+ SlowBlockThreshold: -1, // Disabled by default; set via --debug.logslowblock flag
RangeLimit: 0,
}
@@ -130,8 +130,9 @@ type Config struct {
// presence of these blocks for every new peer connection.
RequiredBlocks map[uint64]common.Hash `toml:"-"`
- // SlowBlockThreshold is the block execution speed threshold (Mgas/s)
- // below which detailed statistics are logged.
+ // SlowBlockThreshold is the block execution time threshold beyond which
+ // detailed statistics are logged. Negative means disabled (default), zero
+ // logs all blocks, positive filters by execution time.
SlowBlockThreshold time.Duration `toml:",omitempty"`
// Database options
diff --git a/eth/tracers/internal/tracetest/calltrace_test.go b/eth/tracers/internal/tracetest/calltrace_test.go
index ba0706c598..08bdafd91f 100644
--- a/eth/tracers/internal/tracetest/calltrace_test.go
+++ b/eth/tracers/internal/tracetest/calltrace_test.go
@@ -43,6 +43,7 @@ type callLog struct {
Address common.Address `json:"address"`
Topics []common.Hash `json:"topics"`
Data hexutil.Bytes `json:"data"`
+ Index hexutil.Uint `json:"index"`
Position hexutil.Uint `json:"position"`
}
@@ -300,7 +301,7 @@ func TestInternals(t *testing.T) {
byte(vm.LOG0),
},
tracer: mkTracer("callTracer", json.RawMessage(`{ "withLog": true }`)),
- want: fmt.Sprintf(`{"from":"%s","gas":"0x13880","gasUsed":"0x5b9e","to":"0x00000000000000000000000000000000deadbeef","input":"0x","logs":[{"address":"0x00000000000000000000000000000000deadbeef","topics":[],"data":"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","position":"0x0"}],"value":"0x0","type":"CALL"}`, originHex),
+ want: fmt.Sprintf(`{"from":"%s","gas":"0x13880","gasUsed":"0x5b9e","to":"0x00000000000000000000000000000000deadbeef","input":"0x","logs":[{"address":"0x00000000000000000000000000000000deadbeef","topics":[],"data":"0x000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","index":"0x0","position":"0x0"}],"value":"0x0","type":"CALL"}`, originHex),
},
{
// Leads to OOM on the prestate tracer
diff --git a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/calldata.json b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/calldata.json
index 30991edafb..8542524703 100644
--- a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/calldata.json
+++ b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/calldata.json
@@ -94,7 +94,8 @@
"0xe1c52dc63b719ade82e8bea94cc41a0d5d28e4aaf536adb5e9cccc9ff8c1aeda"
],
"data": "0x0000000000000000000000004f5777744b500616697cb655dcb02ee6cd51deb5be96016bb57376da7a6d296e0a405ee1501778227dfa604df0a81cb1ae018598",
- "position": "0x0"
+ "position": "0x0",
+ "index": "0x0"
},
{
"address": "0x200edd17f30485a8735878661960cd7a9a95733f",
@@ -102,7 +103,8 @@
"0xacbdb084c721332ac59f9b8e392196c9eb0e4932862da8eb9beaf0dad4f550da"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000000",
- "position": "0x0"
+ "position": "0x0",
+ "index": "0x1"
}
],
"value": "0x8ac7230489e80000",
@@ -112,4 +114,4 @@
"value": "0x8ac7230489e80000",
"type": "CALL"
}
-}
+}
\ No newline at end of file
diff --git a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/delegatecall.json b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/delegatecall.json
index cdb0dda5f8..8e991f2ba2 100644
--- a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/delegatecall.json
+++ b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/delegatecall.json
@@ -256,6 +256,7 @@
"0x0000000000000000000000006ca7f214ab2ddbb9a8e1a1e2c8550e3164e9dba5"
],
"data": "0x00000000000000000000000000000000000000000000000080d29fa5cccfadac",
+ "index": "0x0",
"position": "0x0"
}
],
@@ -278,6 +279,7 @@
"0x0000000000000000000000005aae5c59d642e5fd45b427df6ed478b49d55fefd"
],
"data": "0x00000000000000000000000000000000000000000000000080d29fa5cccfadac",
+ "index": "0x1",
"position": "0x0"
}
],
@@ -308,6 +310,7 @@
"0x0000000000000000000000005aae5c59d642e5fd45b427df6ed478b49d55fefd"
],
"data": "0x00000000000000000000000000000000000000000000000080d29fa5cccfadac",
+ "index": "0x2",
"position": "0x0"
}
],
@@ -330,6 +333,7 @@
"0x000000000000000000000000950ca4a06c78934a148b7a3ff3ea8fc366f77a06"
],
"data": "0x0000000000000000000000000000000000000000000000000041f50e27d56848",
+ "index": "0x3",
"position": "0x0"
}
],
@@ -394,6 +398,7 @@
"0x0000000000000000000000003de712784baf97260455ae25fb74f574ec9c1add"
],
"data": "0x000000000000000000000000000000000000000000000000de0b6b3a76400000",
+ "index": "0x4",
"position": "0x0"
}
],
@@ -408,4 +413,4 @@
"value": "0x0",
"type": "CALL"
}
-}
+}
\ No newline at end of file
diff --git a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/multi_contracts.json b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/multi_contracts.json
index 43d6be2be9..32a267fed0 100644
--- a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/multi_contracts.json
+++ b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/multi_contracts.json
@@ -356,6 +356,7 @@
"0x0000000000000000000000004fd27b205895e698fa350f7ea57cec8a21927fcd"
],
"data": "0x00000000000000000000000000000000000000000001819451f999d617dafa93",
+ "index": "0x0",
"position": "0x0"
}
],
@@ -370,6 +371,7 @@
"0x69ca02dd4edd7bf0a4abb9ed3b7af3f14778db5d61921c7dc7cd545266326de2"
],
"data": "0x0000000000000000000000004fd27b205895e698fa350f7ea57cec8a21927fcd00000000000000000000000000000000000000000001819451f999d617dafa93",
+ "index": "0x1",
"position": "0x1"
}
],
@@ -492,6 +494,7 @@
"0x0000000000000000000000004fd27b205895e698fa350f7ea57cec8a21927fcd"
],
"data": "0x00000000000000000000000000000000000000000001819451f999d617dafa76",
+ "index": "0x2",
"position": "0x0"
}
],
@@ -506,6 +509,7 @@
"0x69ca02dd4edd7bf0a4abb9ed3b7af3f14778db5d61921c7dc7cd545266326de2"
],
"data": "0x0000000000000000000000004fd27b205895e698fa350f7ea57cec8a21927fcd00000000000000000000000000000000000000000001819451f999d617dafa76",
+ "index": "0x3",
"position": "0x1"
}
],
@@ -695,6 +699,7 @@
"0x0000000000000000000000006e715ab4f598eacf0016b9b35ef33e4141844ccc"
],
"data": "0x0000000000000000000000000000000000000000000181a7ae53ea2f0bef8ccd",
+ "index": "0x5",
"position": "0x0"
}
],
@@ -878,6 +883,7 @@
"0x0000000000000000000000004fd27b205895e698fa350f7ea57cec8a21927fcd"
],
"data": "0x0000000000000000000000000000000000000000000181a7ae53ea2f0bef8ccc",
+ "index": "0x7",
"position": "0x0"
}
],
@@ -897,6 +903,7 @@
"0x0000000000000000000000006e715ab4f598eacf0016b9b35ef33e4141844ccc"
],
"data": "0x0000000000000000000000000000000000000000000000022b1c8c12279fffff",
+ "index": "0x8",
"position": "0x1"
}
],
@@ -920,6 +927,7 @@
"0x0000000000000000000000006e715ab4f598eacf0016b9b35ef33e4141844ccc"
],
"data": "0x0000000000000000000000000000000000000000000000022b1c8c12279fffff",
+ "index": "0x9",
"position": "0x1"
}
],
@@ -946,6 +954,7 @@
"0x0000000000000000000000006dbfc63479ffc031f23e94dc91befa38bec2c25f"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000001",
+ "index": "0xa",
"position": "0x0"
}
],
@@ -960,6 +969,7 @@
"0x07cf7e805770612a8b2ee8e0bcbba8aa908df5f85fbc4f9e2ef384cf75315038"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x4",
"position": "0x6"
},
{
@@ -968,6 +978,7 @@
"0x7027eecbd2a688fc1fa281702b311ed7168571514adfd17014a55d828cb43382"
],
"data": "0x000000000000000000000000000000000000000000000004563918244f400000",
+ "index": "0x6",
"position": "0x8"
}
],
@@ -1045,6 +1056,7 @@
"0x0000000000000000000000006dbfc63479ffc031f23e94dc91befa38bec2c25f"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000063",
+ "index": "0xb",
"position": "0x0"
}
],
@@ -1173,6 +1185,7 @@
"0x000000000000000000000000da4a4626d3e16e094de3225a751aab7128e96526"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000064",
+ "index": "0xe",
"position": "0x0"
}
],
@@ -1187,6 +1200,7 @@
"0x4b0bc4f25f8d0b92d2e12b686ba96cd75e4e69325e6cf7b1f3119d14eaf2cbdf"
],
"data": "0x000000000000000000000000da4a4626d3e16e094de3225a751aab7128e96526",
+ "index": "0xc",
"position": "0x6"
},
{
@@ -1195,6 +1209,7 @@
"0xf340c079d598119636d42046c6a2d2faf7a68c04aecee516f0e0b8a9e79b8666"
],
"data": "0x000000000000000000000000da4a4626d3e16e094de3225a751aab7128e9652600000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0xd",
"position": "0x9"
}
],
@@ -1245,6 +1260,7 @@
"0x0000000000000000000000007498bb5749c9801f1f7e490baf5f966dbfe4e97b"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000001",
+ "index": "0xf",
"position": "0x0"
}
],
@@ -1339,6 +1355,7 @@
"0x0000000000000000000000000000000000000000000000000000000000000001"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x10",
"position": "0x2"
}
],
@@ -1433,6 +1450,7 @@
"0x0000000000000000000000000000000000000000000000000000000000000002"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x11",
"position": "0x2"
}
],
@@ -1527,6 +1545,7 @@
"0x0000000000000000000000000000000000000000000000000000000000000003"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x12",
"position": "0x2"
}
],
@@ -1621,6 +1640,7 @@
"0x0000000000000000000000000000000000000000000000000000000000000004"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x13",
"position": "0x2"
}
],
@@ -1715,6 +1735,7 @@
"0x0000000000000000000000000000000000000000000000000000000000000005"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x14",
"position": "0x2"
}
],
@@ -1809,6 +1830,7 @@
"0x0000000000000000000000000000000000000000000000000000000000000006"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x15",
"position": "0x2"
}
],
@@ -1903,6 +1925,7 @@
"0x0000000000000000000000000000000000000000000000000000000000000007"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x16",
"position": "0x2"
}
],
@@ -1997,6 +2020,7 @@
"0x0000000000000000000000000000000000000000000000000000000000000008"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x17",
"position": "0x2"
}
],
@@ -2091,6 +2115,7 @@
"0x0000000000000000000000000000000000000000000000000000000000000009"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x18",
"position": "0x2"
}
],
@@ -2185,6 +2210,7 @@
"0x000000000000000000000000000000000000000000000000000000000000000a"
],
"data": "0x000000000000000000000000be3ae5cb97c253dda67181c6e34e43f5c275e08b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000",
+ "index": "0x19",
"position": "0x2"
}
],
@@ -2238,6 +2264,7 @@
"0x0000000000000000000000007ccbc69292c7a6d7b538c91f3b283de97906cf30"
],
"data": "0x00000000000000000000000000000000000000000001010d8bfbbbe40fe7518c",
+ "index": "0x1a",
"position": "0x0"
}
],
@@ -2260,6 +2287,7 @@
"0x0000000000000000000000001b9ec8ba24630b75a7a958153ffff56dd6d4b6a2"
],
"data": "0x00000000000000000000000000000000000000000001010d8bfbbbe40fe7518c",
+ "index": "0x1c",
"position": "0x0"
}
],
@@ -2282,6 +2310,7 @@
"0x000000000000000000000000c3a2c744ad1f5253c736875b93bacce5b01b060b"
],
"data": "0x00000000000000000000000000000000000000000001010d8bfbbbe40fe7518c",
+ "index": "0x1e",
"position": "0x0"
}
],
@@ -2296,6 +2325,7 @@
"0xc6d8c0af6d21f291e7c359603aa97e0ed500f04db6e983b9fce75a91c6b8da6b"
],
"data": "0x00000000000000000000000000000000000000000001010d8bfbbbe40fe7518c",
+ "index": "0x1b",
"position": "0x2"
},
{
@@ -2304,6 +2334,7 @@
"0xc6d8c0af6d21f291e7c359603aa97e0ed500f04db6e983b9fce75a91c6b8da6b"
],
"data": "0x00000000000000000000000000000000000000000001010d8bfbbbe40fe7518c",
+ "index": "0x1d",
"position": "0x3"
},
{
@@ -2312,6 +2343,7 @@
"0xc6d8c0af6d21f291e7c359603aa97e0ed500f04db6e983b9fce75a91c6b8da6b"
],
"data": "0x00000000000000000000000000000000000000000001010d8bfbbbe40fe7518c",
+ "index": "0x1f",
"position": "0x4"
}
],
@@ -2322,4 +2354,4 @@
"value": "0x0",
"type": "CALL"
}
-}
+}
\ No newline at end of file
diff --git a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/multilogs.json b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/multilogs.json
index 3434dd3103..721e300774 100644
--- a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/multilogs.json
+++ b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/multilogs.json
@@ -177,6 +177,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x0",
"position": "0x0"
},
{
@@ -185,6 +186,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfd0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x1",
"position": "0x0"
},
{
@@ -193,6 +195,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebebeb0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x2",
"position": "0x0"
},
{
@@ -201,6 +204,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8888880000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x3",
"position": "0x0"
},
{
@@ -209,6 +213,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000341000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb3b3b30000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x4",
"position": "0x0"
},
{
@@ -217,6 +222,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff00000000000000000000000000000000000000000000000000000000000000350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfcfc0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x5",
"position": "0x0"
},
{
@@ -225,6 +231,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000000350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x6",
"position": "0x0"
},
{
@@ -233,6 +240,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff000000000000000000000000000000000000000000000000000000000000003b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe3e3e30000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x7",
"position": "0x0"
},
{
@@ -241,6 +249,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000341000000000000000000000000000000000000000000000000000000000000003b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3e3e3e0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x8",
"position": "0x0"
},
{
@@ -249,6 +258,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff00000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x9",
"position": "0x0"
},
{
@@ -257,6 +267,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0xa",
"position": "0x0"
},
{
@@ -265,6 +276,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0xb",
"position": "0x0"
},
{
@@ -273,6 +285,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000341000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdbdbdb0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0xc",
"position": "0x0"
},
{
@@ -281,6 +294,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff00000000000000000000000000000000000000000000000000000000000000330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0xd",
"position": "0x0"
},
{
@@ -289,6 +303,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000000330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4f4f40000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0xe",
"position": "0x0"
},
{
@@ -297,6 +312,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff000000000000000000000000000000000000000000000000000000000000003d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0xf",
"position": "0x0"
},
{
@@ -305,6 +321,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000341000000000000000000000000000000000000000000000000000000000000003d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x10",
"position": "0x0"
},
{
@@ -313,6 +330,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x11",
"position": "0x0"
},
{
@@ -321,6 +339,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034100000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfbfb0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x12",
"position": "0x0"
},
{
@@ -329,6 +348,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002ff000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x13",
"position": "0x0"
},
{
@@ -337,6 +357,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000341000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x14",
"position": "0x0"
},
{
@@ -345,6 +366,7 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe00000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0b0b00000000000000000000000000000000000000000000000000011c37937e08000",
+ "index": "0x15",
"position": "0x0"
},
{
@@ -353,7 +375,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034200000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x16",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -361,7 +384,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe00000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0a0a00000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x17",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -369,7 +393,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034200000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff5b5b5b0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x18",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -377,7 +402,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe00000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbababa0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x19",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -385,7 +411,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034200000000000000000000000000000000000000000000000000000000000000390000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x1a",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -393,7 +420,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe00000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaeaea0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x1b",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -401,7 +429,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034200000000000000000000000000000000000000000000000000000000000000360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa9a9a90000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x1c",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -409,7 +438,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb9b9b90000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x1d",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -417,7 +447,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000342000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbfbfb0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x1e",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -425,7 +456,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe00000000000000000000000000000000000000000000000000000000000000350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x1f",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -433,7 +465,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034200000000000000000000000000000000000000000000000000000000000000350000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefefe0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x20",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -441,7 +474,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000003b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbababa0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x21",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -449,7 +483,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000342000000000000000000000000000000000000000000000000000000000000003b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6363630000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x22",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -457,7 +492,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe00000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x23",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -465,7 +501,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034200000000000000000000000000000000000000000000000000000000000000340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9f9f90000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x24",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -473,7 +510,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeaeaea0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x25",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -481,7 +519,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000342000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c9c9c0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x26",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -489,7 +528,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe00000000000000000000000000000000000000000000000000000000000000330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8f8f80000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x27",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -497,7 +537,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034200000000000000000000000000000000000000000000000000000000000000330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x28",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -505,7 +546,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000003d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfd0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x29",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -513,7 +555,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000342000000000000000000000000000000000000000000000000000000000000003d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x2a",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -521,7 +564,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe00000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x2b",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -529,7 +573,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034200000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfcfc0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x2c",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -537,7 +582,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fe000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdfdfd0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x2d",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -545,7 +591,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000000342000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x2e",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -553,7 +600,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fd00000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4d4e530000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x2f",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -561,7 +609,8 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x000000000000000000000000000000000000000000000000000000000000034300000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x30",
+ "position": "0x0"
},
{
"address": "0x350e0ffc780a6a75b44cc52e1ff9092870668945",
@@ -569,10 +618,11 @@
"0xcacb62d8acea4678658eb5dc4aaa889b34d893b967c96a5f8c066e6549fa3f42"
],
"data": "0x00000000000000000000000000000000000000000000000000000000000002fd00000000000000000000000000000000000000000000000000000000000000370000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fcb0342353c541e210013aaddc2e740b9a33d08ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4f494b0000000000000000000000000000000000000000000000000011c37937e08000",
- "position": "0x0"
+ "index": "0x31",
+ "position": "0x0"
}
],
"value": "0x3782dace9d90000",
"type": "CALL"
}
-}
+}
\ No newline at end of file
diff --git a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/notopic.json b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/notopic.json
index 814189dc6b..13f286b7ca 100644
--- a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/notopic.json
+++ b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/notopic.json
@@ -265,6 +265,7 @@
"0xaf30e4d66b2f1f23e63ef4591058a897f67e6867233e33ca3508b982dcc4129b"
],
"data": "0x00000000000000000000000050739060a2c32dc076e507ae1a893aab28ecfe68d1b13c1538a940417bf0e73b2498634436753c854c7fb971224d971bd2ae3e8800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001e000000000000000000000000000000000000000000000000000000000000249f011000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000355524c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000436a736f6e2868747470733a2f2f6170692e72616e646f6d2e6f72672f6a736f6e2d7270632f312f696e766f6b65292e726573756c742e72616e646f6d2e646174612e300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012c4244584a68725670424a35336f3243786c4a526c51745a4a4b5a714c5974354951652b37335944533448744e6a5335486f64624942337476666f773755717579416b303835566b4c6e4c3945704b67777157517a375a4c64477673516c526432734b78496f6c4e673944626e6650737047714c684c62625953566e4e38437776736a7041586353536f33632b34634e774339307946346f4e69626b764433797461706f5a37676f5453796f5559546677536a6e773374692b484a5648374e332b633069774f43715a6a4464734751556358336d33532f494857624f4f5151356f734f344c626a33476730783155644e7466557a5943465937396e7a596757495145464375524249306e364e42764251573732372b4f73445259304a2f392f676a74387563696248576963303d0000000000000000000000000000000000000000",
+ "index": "0x1",
"position": "0x4"
}
],
@@ -277,10 +278,11 @@
"address": "0x50739060a2c32dc076e507ae1a893aab28ecfe68",
"topics": [],
"data": "0x62616e6b726f6c6c5f6d69736d61746368",
+ "index": "0x0",
"position": "0x2"
}
],
"value": "0x429d069189e0000",
"type": "CALL"
}
-}
+}
\ No newline at end of file
diff --git a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/simple.json b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/simple.json
index c00f083159..c9de111a2c 100644
--- a/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/simple.json
+++ b/eth/tracers/internal/tracetest/testdata/call_tracer_withLog/simple.json
@@ -74,10 +74,11 @@
"0x000000000000000000000000dbf03b407c01e7cd3cbea99509d93f8dddc8c6fb"
],
"data": "0x0000000000000000000000000000000000000000000000000000000000989680",
+ "index": "0x0",
"position": "0x0"
}
],
"value": "0x0",
"type": "CALL"
}
-}
+}
\ No newline at end of file
diff --git a/eth/tracers/native/call.go b/eth/tracers/native/call.go
index c2247d1ce4..06220da84d 100644
--- a/eth/tracers/native/call.go
+++ b/eth/tracers/native/call.go
@@ -42,6 +42,7 @@ type callLog struct {
Address common.Address `json:"address"`
Topics []common.Hash `json:"topics"`
Data hexutil.Bytes `json:"data"`
+ Index hexutil.Uint `json:"index"`
// Position of the log relative to subcalls within the same trace
// See https://github.com/ethereum/go-ethereum/pull/28389 for details
Position hexutil.Uint `json:"position"`
@@ -250,6 +251,7 @@ func (t *callTracer) OnLog(log *types.Log) {
Address: log.Address,
Topics: log.Topics,
Data: log.Data,
+ Index: hexutil.Uint(log.Index),
Position: hexutil.Uint(len(t.callstack[len(t.callstack)-1].Calls)),
}
t.callstack[len(t.callstack)-1].Logs = append(t.callstack[len(t.callstack)-1].Logs, l)
diff --git a/trie/bintrie/key_encoding.go b/trie/bintrie/key_encoding.go
index 5a93fcde9a..94a22d52d0 100644
--- a/trie/bintrie/key_encoding.go
+++ b/trie/bintrie/key_encoding.go
@@ -51,6 +51,7 @@ func GetBinaryTreeKey(addr common.Address, key []byte) []byte {
hasher.Write(zeroHash[:12])
hasher.Write(addr[:])
hasher.Write(key[:31])
+ hasher.Write([]byte{0})
k := hasher.Sum(nil)
k[31] = key[31]
return k