-
Notifications
You must be signed in to change notification settings - Fork 135
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
Efficient scalar mul and other Scalar improvements #1530
Merged
Merged
Changes from 41 commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
5008583
simplify internal repr of scalar
mitschabaude 5420cb2
expose scale_fast_unpack
mitschabaude b8c19b9
first attempt at efficient scale gadget
mitschabaude a00a15a
wip debugging
mitschabaude 57de1f4
fix accessing ml curve point
mitschabaude 2eb6354
improve efficiency by using incomplete additions
mitschabaude d659493
rename gadget file
mitschabaude 43a0637
refactor 3 statements to loop
mitschabaude dcc58ee
move addition gadget to gadget file
mitschabaude 2192f29
remove cyclic dependency on group
mitschabaude bb0716c
simplify witness generation code
mitschabaude ddbec87
change scalar type to shifted 5 / 250 representation
mitschabaude 011d6a8
bring back fromBits, remove unused shifting methods
mitschabaude bc9b4ae
add scale from field element to test
mitschabaude b508437
bindings
mitschabaude 0f93cc2
dump vks
mitschabaude 04f8648
switch to repr with 1 low bit
mitschabaude 9f11f0c
but scaling with 0 or 1 doesn't work now
mitschabaude 32fd2b3
0 doesn't work anyway
mitschabaude 7ce21a7
vk regression
mitschabaude 5bc9543
fix
mitschabaude 4c06ce1
Revert "switch to repr with 1 low bit"
mitschabaude 6886184
add missing range checks, document more assumptions, add comments
mitschabaude 8fbfe9b
remove scalar limitations from group unit test
mitschabaude 5107a95
dump vks
mitschabaude d8fb076
move isOdd gadget to reuse it
mitschabaude 51ee9f5
dedicated gadget of 130 rows for scaling by Field
mitschabaude f88222d
use 1, 254 split and handle edge cases
mitschabaude 00680ed
reduce constraints
mitschabaude 0aad84e
tighten fromBits gadget
mitschabaude 37534df
remove unused split5 gadgets
mitschabaude ad7e7a3
dump vks
mitschabaude 8d5d338
renaming and test utils
mitschabaude 494e627
test utils
mitschabaude a8fea23
minor
mitschabaude fddead2
Merge branch 'main' into feature/no-shifted-scale
mitschabaude 35eb475
changelog
mitschabaude 7bcc84b
remove shifting stuff from foreign field unit test
mitschabaude e21fa33
comment
mitschabaude 9c799ed
add nullifier to vk-regression
mitschabaude 9e9ca06
mina
mitschabaude 4b4787e
Merge branch 'main' into feature/no-shifted-scale
mitschabaude 224b95c
fix changelog
mitschabaude dab6eb3
dump vks
mitschabaude 0877e26
Merge branch 'main' into feature/no-shifted-scale
mitschabaude 523330a
fixes and tweaks to scaling gadgets
mitschabaude 45837fc
remove redundant constraint
mitschabaude 9822654
dump vks
mitschabaude File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Submodule bindings
updated
7 files
+1 −1 | MINA_COMMIT | |
+90,039 −90,068 | compiled/node_bindings/o1js_node.bc.cjs | |
+1 −1 | compiled/node_bindings/o1js_node.bc.map | |
+20 −20 | compiled/web_bindings/o1js_web.bc.js | |
+12 −0 | crypto/elliptic-curve.ts | |
+5 −4 | ocaml/lib/snarky_bindings.ml | |
+6 −5 | ocaml/lib/snarky_bindings.mli |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,7 +7,6 @@ import { | |
State, | ||
method, | ||
MerkleMap, | ||
Circuit, | ||
MerkleMapWitness, | ||
Mina, | ||
AccountUpdate, | ||
|
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
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 moved this gadget into
gadgets/comparison.ts
to reuse it forscaleField()