Repository navigation
fix(debank): source live world-state diff from IAVL - #4
Merged
Merged
Conversation
Signed-off-by: lihe <he.li@debank.com>
Contributor
Author
|
SRE rollout artifact (production writer is Tag for traceability: Rollout gate: change the co-located ETL from |
Signed-off-by: lihe <he.li@debank.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
trace_debankBlockderives world-state changes from transaction replay and a limited address set. Cronos upgrades and module writes can modify committed state outside that path, so live output can miss account, code, balance, and storage changes.Solution
Pin the merged Chaintable/ethermint-cronos#9 fix at
918f0e711b5d.The emitter now derives
NewAccounts,DeletedAccounts,NewCodes, andStorageDifffrom committedacc,bank, andevmIAVL changesets. It seeds touched account and balance keys from version N-1, applies version N changes, and fails closed when required roots are unavailable.BlockFile, traces, events, and
StorageContractskeep their existing behavior. The IAVL source is enabled only with the JSON-RPCtracenamespace.Historical repair remains a separate rewriter workflow.
Validation
go mod verifygo test -count=1 ./app ./cmd/cronosdmake buildgomod2nix.tomlwith the repository-pinned gomod2nix revisiongo vet, andgit diff --checkRollout requirement
The ETL must run with
--process-tip-lag=1before or together with this node image. Record the first correctly emitted block height for the archive repair boundary.Signed-off-by: lihe he.li@debank.com