-
Notifications
You must be signed in to change notification settings - Fork 14
move proof building before root computation #527
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
base: kaustinen-with-shapella
Are you sure you want to change the base?
move proof building before root computation #527
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.
Makes sense, but note the CI is failing.
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.
Copilot reviewed 4 out of 4 changed files in this pull request and generated no suggestions.
Comments skipped due to low confidence (2)
cmd/evm/internal/t8ntool/execution.go:374
- [nitpick] The function name 'Proof' is not very descriptive. Consider renaming it to 'GenerateProof'.
proof, err := trie.Proof(vtrpre, proofTrie, keys, vtrpre.FlatdbNodeResolver)
cmd/evm/internal/t8ntool/execution.go:378
- [nitpick] The error message 'error adding post values to proof' could be more descriptive. Consider including more context about what went wrong.
err = trie.AddPostValuesToProof(keys, proofTrie, proof)
Signed-off-by: Guillaume Ballet <[email protected]>
Signed-off-by: Guillaume Ballet <[email protected]>
Signed-off-by: Guillaume Ballet <[email protected]>
b7c13cd to
b408f09
Compare
Signed-off-by: Guillaume Ballet <[email protected]>
Signed-off-by: Guillaume Ballet <[email protected]>
Signed-off-by: Guillaume Ballet <[email protected]>
9dbe4d4 to
fbb80c4
Compare
Signed-off-by: Guillaume Ballet <[email protected]>
This is a rewrite of #517. It generates the proof against the prestate, before the post state is inserted. This avoids reloading the prestate from disk.
TLDR: Break the proving into two parts:
Proofpart where the proof is build, which is called beforeIntermediateRootIn the case of the execusion spec test, the pre tree is saved before execution, so there is no need to move things around, just use the new API.