-
Notifications
You must be signed in to change notification settings - Fork 13
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
move proof building before root computation #527
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
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:
Proof
part where the proof is build, which is called beforeIntermediateRoot
In 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.