This issue will be used to plan the implementation of the StateCommitment implementation. The StateCommitment will be used to provide an abstraction over the types associated with the state commitment. This will allow reth to be used with different state representations configured by the user. Initial POC implemented here.
Plan
We will implement the StateCommitment via the following units of work:
[x] Introduce StateCommitment trait, integrate with NodeTypes and provide MPT implementation. - #11842
[ ] Introduce StateCommitment types within providers. - #11867
[ ] Introduce HashedPostStateProvider and refactor methods on HashedPostState and PrefixSetLoader to be generic over the KeyHasher -#11872 , #11874
Refactor codebase to leverage StateCommitment types for all operations:
Describe the feature
Overview
This issue will be used to plan the implementation of the
StateCommitment
implementation. TheStateCommitment
will be used to provide an abstraction over the types associated with the state commitment. This will allow reth to be used with different state representations configured by the user. Initial POC implemented here.Plan
We will implement the
StateCommitment
via the following units of work:StateCommitment
trait, integrate withNodeTypes
and provide MPT implementation. - #11842StateCommitment
types within providers. - #11867HashedPostStateProvider
and refactor methods onHashedPostState
andPrefixSetLoader
to be generic over theKeyHasher
-#11872 , #11874Refactor codebase to leverage
StateCommitment
types for all operations:Additional context
https://github.com/paradigmxyz/reth/pull/11786