-
Notifications
You must be signed in to change notification settings - Fork 26
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
refactor(verification): implement VerificationDependencies and VerificationModel [part 7/12] #1022
Open
glevco
wants to merge
1
commit into
feat/multiv/async-on-new-vertex-6
Choose a base branch
from
refactor/verification-dependencies-7
base: feat/multiv/async-on-new-vertex-6
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
refactor(verification): implement VerificationDependencies and VerificationModel [part 7/12] #1022
glevco
wants to merge
1
commit into
feat/multiv/async-on-new-vertex-6
from
refactor/verification-dependencies-7
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 task
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## feat/multiv/async-on-new-vertex-6 #1022 +/- ##
====================================================================
Coverage ? 84.25%
====================================================================
Files ? 320
Lines ? 24356
Branches ? 3713
====================================================================
Hits ? 20521
Misses ? 3113
Partials ? 722 ☔ View full report in Codecov by Sentry. |
This was referenced May 7, 2024
1 task
glevco
force-pushed
the
feat/multiv/async-on-new-vertex-6
branch
from
May 8, 2024 03:05
9535b77
to
4b6a318
Compare
glevco
force-pushed
the
refactor/verification-dependencies-7
branch
from
May 8, 2024 03:06
42f7cbf
to
7a6d76d
Compare
glevco
force-pushed
the
feat/multiv/async-on-new-vertex-6
branch
from
May 10, 2024 02:16
4b6a318
to
552dc05
Compare
glevco
force-pushed
the
refactor/verification-dependencies-7
branch
from
May 10, 2024 02:28
7a6d76d
to
e799dce
Compare
glevco
force-pushed
the
feat/multiv/async-on-new-vertex-6
branch
from
May 10, 2024 02:50
552dc05
to
2cdd9b3
Compare
glevco
force-pushed
the
refactor/verification-dependencies-7
branch
2 times, most recently
from
May 10, 2024 02:51
1782d6b
to
3d4fb3e
Compare
glevco
force-pushed
the
feat/multiv/async-on-new-vertex-6
branch
from
May 13, 2024 14:26
2cdd9b3
to
264da11
Compare
glevco
force-pushed
the
refactor/verification-dependencies-7
branch
from
May 13, 2024 14:31
3d4fb3e
to
10e8be8
Compare
glevco
changed the title
refactor(verification): implement VerificationDependencies and VerificationModel [part 7]
refactor(verification): implement VerificationDependencies and VerificationModel [part 7/12]
May 13, 2024
glevco
force-pushed
the
feat/multiv/async-on-new-vertex-6
branch
from
August 23, 2024 21:47
264da11
to
3529d4a
Compare
glevco
force-pushed
the
refactor/verification-dependencies-7
branch
3 times, most recently
from
August 26, 2024 17:20
5f3632f
to
5222dfe
Compare
glevco
force-pushed
the
feat/multiv/async-on-new-vertex-6
branch
from
September 18, 2024 18:06
3529d4a
to
054a739
Compare
glevco
force-pushed
the
refactor/verification-dependencies-7
branch
from
September 18, 2024 18:07
5222dfe
to
e65288f
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Depends on #1019
Motivation
This PR introduces the concept of Verification Dependencies and Model dataclasses. Before, to perform vertex verification, it was necessary to retrieve data from the vertex itself and also from multiple other sources, for example from the
TransactionStorage
.Now, instead of doing this dependency retrieval one by one interspersed in the whole verification process, a single point retrieves all necessary dependencies and everything is verified from the vertex data plus those pre-calculated dependencies. This prevents unnecessary duplicate calculations, and will be necessary for the Multiprocess Verification project.
In previous cancelled PRs, we were going to use a class abstraction over the
TransactionStorage
, aSimpleMemoryStorage
, but this was becoming convoluted in later PRs, considering Sync-V2 agents will also have their own local memory storages. The abstraction had to include several methods to comply with all callers, however each caller only used a few of them. Therefore, we cancelled that approach and went with a functional abstraction instead: methods that calculate verification dependencies and that rely on a storage (for example, the DAA methods), are now higher-order functions, accepting functional parameters to perform their calculations.Note: in this PR, not all ad-hoc dependencies have been moved yet. This will be completed in the next PR, by using this functional approach for all necessary calculations.
Acceptance Criteria
SimpleMemoryStorage
.VertexVerifier
.Checklist
master
, confirm this code is production-ready and can be included in future releases as soon as it gets merged