mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-19 11:20:45 +00:00
Merge branch 'master' into milan/feat/fix-ethSendRawTransactionSync
This commit is contained in:
commit
d95d1a1185
18 changed files with 374 additions and 138 deletions
36
cmd/keeper/getpayload_wasm.go
Normal file
36
cmd/keeper/getpayload_wasm.go
Normal file
|
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
//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
|
||||
}
|
||||
|
|
@ -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 <http://www.gnu.org/licenses/>.
|
||||
|
||||
//go:build !example && !ziren
|
||||
//go:build !example && !ziren && !wasm
|
||||
// +build !example,!ziren,!wasm
|
||||
|
||||
package main
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -74,10 +74,11 @@
|
|||
"0x000000000000000000000000dbf03b407c01e7cd3cbea99509d93f8dddc8c6fb"
|
||||
],
|
||||
"data": "0x0000000000000000000000000000000000000000000000000000000000989680",
|
||||
"index": "0x0",
|
||||
"position": "0x0"
|
||||
}
|
||||
],
|
||||
"value": "0x0",
|
||||
"type": "CALL"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue