Skip to content
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

Use storage overrides in debug and tracing modules #1270

Merged
merged 4 commits into from
Feb 9, 2022

Conversation

tgmichel
Copy link
Contributor

@tgmichel tgmichel commented Feb 9, 2022

What does it do?

Use frontier storage overrides instead runtime api for getting block data in the debug and trace modules.

When using the overrides we rely on the known key :ethereum_schema value, which is always updated on runtime upgrade and thus we are aligned with sensible pallet_ethereum storage changes. The goal is to guarantee proper decoding without relying on RuntimeApi version metadata.

What important points reviewers should know?

Note that we don't use override fallback - which is the runtime api access - and instead we just Err. This fallback is only meant for projects that don't want to use storage overrides, which is not the case for us.

Is there something left for follow-up PRs?

What alternative implementations were considered?

#1269

Are there relevant PRs or issues in other repositories (Substrate, Polkadot, Frontier, Cumulus)?

What value does it bring to the blockchain users?

@tgmichel tgmichel added A3-inprogress Pull request is in progress. No review needed at this stage. A10-evmtracing Pull request includes evm tracing functionality labels Feb 9, 2022
@tgmichel tgmichel added A0-pleasereview Pull request needs code review. and removed A3-inprogress Pull request is in progress. No review needed at this stage. labels Feb 9, 2022
@tgmichel tgmichel added the B5-clientnoteworthy Changes should be mentioned in any downstream projects' release notes label Feb 9, 2022
@tgmichel tgmichel changed the base branch from master to perm-client-v0.19.2 February 9, 2022 13:56
@librelois librelois mentioned this pull request Feb 9, 2022
12 tasks
@tgmichel tgmichel merged commit 05543d3 into perm-client-v0.19.2 Feb 9, 2022
@tgmichel tgmichel deleted the tgm-debug-namespace-overrides branch February 9, 2022 14:18
librelois added a commit that referenced this pull request Feb 9, 2022
* Use storage overrides in debug and tracing modules (#1270)

* Fixes package-lock dependencies (#1267)

* Use storage overrides in debug and tracing modules

* Get trace api version using parent BlockId

* Proper `eth_traceBlockByNumber/Hash` empty traces

Co-authored-by: Alan Sapede <[email protected]>

* Update frontier `32b7cf4` (#1265)

* Update frontier `32b7cf4`

* Fixes package-lock dependencies (#1267)

Co-authored-by: Alan Sapede <[email protected]>

* v0.19.2

* update Cargo.lock

Co-authored-by: tgmichel <[email protected]>
Co-authored-by: Alan Sapede <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A0-pleasereview Pull request needs code review. A10-evmtracing Pull request includes evm tracing functionality B5-clientnoteworthy Changes should be mentioned in any downstream projects' release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants