erigontech / erigontech/erigon

consolidate `Accumulator`, `StateDiff`, `commitment.Updates` in-memory representation - no reason to store similar things twice in ram.

Open
#12,944 1 comment 1 reaction 0 assignees View on GitHub
tech debt reduction
Dominant language
Go
Stars
3.6k
Forks
1.5k
Avg merge
1d 16h
Merged PRs (30d)
455

Description

StateStream: it must use Erigon3 primitives (domains).

Seems it's time to introduce `StateChanges` type for given `tx` exec. Reasons:
- `doCallMany` using `stateCache.Clone()` trick to produce `StateDiff` type
- `Accumulator` and `StateStream` do have own format of `StateChanges`
- `StateChangeSet` - which we using for Domain unwind - using own format.
- Silkwarm (EVMOne) also producing txn-granularity state diffs.

New type - maybe must use `E3` primitives (like "Domain"). I'm not sure - because maybe it must be Ethereum-specific instead of Erigon3-specific.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.