-
Notifications
You must be signed in to change notification settings - Fork 62
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
Feat/multi dict prover #553
base: main
Are you sure you want to change the base?
Conversation
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #553 +/- ##
============================================
- Coverage 68.75% 68.53% -0.22%
+ Complexity 1166 1125 -41
============================================
Files 326 320 -6
Lines 13039 12720 -319
Branches 1312 1268 -44
============================================
- Hits 8965 8718 -247
+ Misses 3526 3472 -54
+ Partials 548 530 -18
*This pull request uses carry forward flags. Click here to find out more. |
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.
lgtm
@@ -302,31 +302,30 @@ func (bm *BlobMaker) Equals(other *BlobMaker) bool { | |||
} | |||
|
|||
// DecompressBlob decompresses a blob and returns the header and the blocks as they were compressed. |
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.
I think this could use an updated comment on what this function do in a bit more details;
i.e. DecompressBlob
will parse the header, get a dict checksum, attempt to find the corresponding dict from the store, etc... landed here when trying to follow through the usage of this method with many returns from somewhere else it was not clear :)
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.
Would it be better to bundle all the non-error return values into a response struct?
@@ -32,7 +33,8 @@ import ( | |||
type SetupArgs struct { | |||
Force bool | |||
Circuits string | |||
DictPath string | |||
DictPath string // to be deprecated; only used for compiling v0 blob decompression circuit |
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.
call it DictPathV0Deprecated
?
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.
The thing is, it is technically not deprecated since it still has a legitimate use-case that the new alternative doesn't cover (v0 circuits).
5581dfb
to
711e2e1
Compare
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.
This file is 64KB - 60 B long and cannot be used as is. After three 20-byte addresses are appended to it, we can rename it to 25-01-15.bin
This PR enables the prover to support multiple compression dictionaries at once.
Note that blob submission would still operate with a single dictionary and is thus not affected.
BREAKING CHANGE:
As shown in prover/config/config-sepolia-full.toml, the name of the property
dict_path
under[blob_decompression]
has changed todict_paths
and its value is an array of strings, instead of a single string.