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.
Description
This PR provides a new
StorageOverrideHandler
type like oldOverrideHandle
to support different ethereum schema and a fallback (runtime API) implementation.But it will automatically determine the ethereum schema version of the runtime based on
block_hash
, and then call the methods ofStorageOverride
implementation corresponding to the schema version.Before :
After:
Addition
This PR uses
Option::<EthereumStorageSchema>::None
instead ofEthereumStorageSchema::Undefined
.IMO, this is more consistent with the current semantics: use the storage override corresponding to the schema version as the preference. If there is no ethereum schema in the state, use the runtime api as the fallback implementation, like: