-
Notifications
You must be signed in to change notification settings - Fork 466
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
Refactor/isolate worldstate #7976
Conversation
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.
No input from my end. INodeStorage
is still in the api, which in my understanding should be a subject of a further refactor when another storage (like Paprika) is used. Appreciate the removal of the TrieStore
though.
Yea, it still there. I was thinking of just something like |
@asdacap formatting |
ITrieStore
andIWorldState
outside ofINethermindApi
. These should not be used directly as it will make swapping state layout very hard.ISnapServer
fromNethermind.Synchronization
toNethermind.State
, exposing them fromIWorldStateManager
. These usesITrieStore
so, to hideITrieStore
, it need to be inIWorldStateManager
. Also, paprika probably need to have a completely different snap server implementation.PruningTrieStateFactory
. This should make it easier to be used in tests and make it clear, which part of the initialization is for the pruning trie store and hopefully prevent future exposure of trie store specific interface.Types of changes
What types of changes does your code introduce?
Testing
Requires testing
If yes, did you write tests?
Notes on testing