erigontech / erigontech/erigon
consolidate `Accumulator`, `StateDiff`, `commitment.Updates` in-memory representation - no reason to store similar things twice in ram.
Open
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
Assessment
This issue has not been assessed yet.