erigontech / erigontech/erigon

move referencing/dereferencing logic of commitment outside of DB into app layer

Open
#17,773 3 comments 0 reactions 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

Currently there is special handing for CommitmentDomain across DomainRoTx (GetAsOf and mergeFiles) and AggregatorRoTx (GetAsOf, replaceShortenedKeysInBranch and mergeFiles) for referencing/dereferencing of plainKeys in branch data.

Ideally this logic should be moved outside of the DB and applied at the app layer when we decode/encode the cell data.

This way we wouldn't have to rely on an AggregatorRoTx for GetAsOf - instead we can rely directly on TemporalTx GetAsOf.

Additionally the AggregatorRoTx would not have to worry about this when operating on file merges - instead a Domain can register its own ValueTransform function (what the aggregator ro tx is doing now, but configurable per domain either in the domain schema or maybe elsewhere as part of Domain registration/initialisation).

This is more of a code simplification and code organisational improvement that we can do at some point later on when we have bandwidth.

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.