Skip to content

xatu: integrate execution-processor in embedded mode#1

Open
Savid wants to merge 5 commits intomainfrom
feature/xatu-execution-processor-embedded
Open

xatu: integrate execution-processor in embedded mode#1
Savid wants to merge 5 commits intomainfrom
feature/xatu-execution-processor-embedded

Conversation

@Savid
Copy link
Copy Markdown
Owner

@Savid Savid commented Jan 22, 2026

related: ethpandaops/execution-processor#44

Build with: go build -tags embedded ./cmd/erigon

use execution processor inside erigon

Savid and others added 5 commits January 22, 2026 13:36
Refactor the xatu package to use execution-processor library in embedded
mode, implementing the DataSource interface to provide direct data access
without JSON-RPC overhead.

Changes:
- Replace --xatu.redis.dsn and --xatu.clickhouse.dsn flags with single
  --xatu.config flag pointing to execution-processor config file
- Implement execution.DataSource interface for embedded node integration
- Add type adapters (Block, Transaction, Receipt) to bridge Erigon types
  to execution-processor interfaces
- Add StructLog tracer for transaction tracing
- Require -tags embedded build flag to avoid CGO secp256k1 conflicts

Build with: go build -tags embedded ./cmd/erigon
- Replace full stack capture with targeted CallToAddress extraction
- Add pre-computed opcodeStrings array for O(1) lookup
- Remove unused math import
- Add comprehensive benchmarks to verify 17x speedup
Replace the execution-processor post-processing step with inline
GasUsed calculation during tracing. Track the last log index per
call depth and compute GasUsed as the gas difference between
consecutive opcodes at the same depth. This eliminates the need
for a second pass and reduces overall processing time.
…-embedded

perf(tracer): optimize opcode tracing for embedded mode
@mattevans
Copy link
Copy Markdown

Moved to ethpandaops/erigone#2 @Savid

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants