-
Notifications
You must be signed in to change notification settings - Fork 222
feature(trie): create rawDB trieDB engine
#3282
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3282 +/- ##
==========================================
- Coverage 76.20% 76.17% -0.03%
==========================================
Files 338 340 +2
Lines 32575 32611 +36
==========================================
+ Hits 24823 24842 +19
- Misses 5958 5970 +12
- Partials 1794 1799 +5 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
rodrodros
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good overall
EgeCaner
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Some nitpicks
373032d to
4a7808a
Compare
rodrodros
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just realized that the code has no tests. If it is something that was done before, it's ok, but we should change it starting from this PR
EgeCaner
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor comments, rest looks good to me!
infrmtcs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I finished my first round, please ping me after you address the comments, thanks
225d960 to
2168fca
Compare
It introduces rawDB engine for the
trie2, which is used by the new state. In this PR:pathdbandhashdbboth in structure and interfaces.Contract,ClassandContract Storagesare written directly to the pebbleDB and read directly from it. The writing is done in theUpdate()method, which takes the nodesets generated bytrie2.Commit(), flattens them and writes them to the DB. For reading, thereadNode()method was introduced.rawdbas atriedbengineNext PR to review: #3283