Closed mitschabaude closed 1 month ago
@Trivo25 can you get me the necessary reviewers for this?
Thanks for the review @Geometer1729! I also need one here and then I need you to merge both PRs since I don't have permission to
Oh and @Trivo25 I also need admin review for changing the bindings commit
@mitschabaude Can you run npm run build:update-bindings
and push the changes that creates in o1js-bindings
? I think the bindings not having been recompiled may be why CI is failing.
@mitschabaude Can you run
npm run build:update-bindings
and push the changes that creates ino1js-bindings
? I think the bindings not having been recompiled may be why CI is failing.
no @Geometer1729, I didn't change anything that needs compiling. also, CI isn't failing, just the benchmark job is, and that one always fails on forks
updating the bindings is just needed when you need to recompile ocaml or rust sources
Oh, I thought it was also affected by some of the content of o1js-bindings. Fair enough sorry about that.
Amazing work! Florian has final approval, but it LGTM
the test is failing because we're still running node 18 in CI, where the web crypto API is missing 😬
do you mind if I change it to node 20?
need workflow approval again 😢 @Trivo25
and again @Trivo25!
@nicc @mrmr1993 that's why I need write access to the repo ^^ https://github.com/o1-labs/o1js/pull/1885#issuecomment-2436878827 https://github.com/o1-labs/o1js/pull/1885#issuecomment-2437116301
CI is green, ready to approve & merge 🚀
EDIT: and the bindings PR!
@hattyhattington17 can we get your eyes on this too?
@mitschabaude fyi I will get this merged before the next release
closes https://github.com/o1-labs/o1js/issues/1724
this adds ECDSA (and general) support for the curve secp256r1, also known as P-256, which is the standard curve used in ECDSA outside the crypto world, due to its recommendation by NIST; see P-256 in this document
Most changes are in https://github.com/o1-labs/o1js-bindings/pull/310
changes here:
a
in EC addition and doubling methodsEfficiency
Sadly, secp256r1 doesn't support the endomorphism we have implemented, because that endomorphism crucially relies on the
a = 0
property. Therefore, in our ECDSA circuit the GLV method is not used, which means significant constraint savings get lost: