feat: add optimized accountsdb crate#14
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Free Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
bcb5ccd to
726ddf7
Compare
c9feec4 to
bb19e9a
Compare
013aa2e to
cd1401e
Compare
5f3b4fb to
c301271
Compare
46eb345 to
76b9bbf
Compare
0c537a0 to
4dc2864
Compare
4ecfd50 to
b4e46c8
Compare
0e5d509 to
9d2303c
Compare
814c690 to
a6754d6
Compare

What changed
Added the
accountsdbcrate with persisted and volatile stores, routing logic, snapshot support, and mmap/LMDB-backed storage.Why
The engine needs one account database that routes mutable and immutable accounts to the correct backend and removes stale copies when an account changes mode.
Closes #6.
Impact
AccountsDB, loaders, iterators, snapshots, backups, and error handling.StorageUnitand converts to bytes only at mmap/file boundaries.Reviewer notes
Snapshot creation requires exclusive write access. The persisted layout and storage-unit arithmetic are the sharp edges to review closely.
Follow-up
ledgerandkeeperconsume this API upstack.