mirror of
https://github.com/serai-dex/serai.git
synced 2025-12-08 20:29:23 +00:00
ff 0.13 (#269)
* Partial move to ff 0.13 It turns out the newly released k256 0.12 isn't on ff 0.13, preventing further work at this time. * Update all crates to work on ff 0.13 The provided curves still need to be expanded to fit the new API. * Finish adding dalek-ff-group ff 0.13 constants * Correct FieldElement::product definition Also stops exporting macros. * Test most new parts of ff 0.13 * Additionally test ff-group-tests with BLS12-381 and the pasta curves We only tested curves from RustCrypto. Now we test a curve offered by zk-crypto, the group behind ff/group, and the pasta curves, which is by Zcash (though Zcash developers are also behind zk-crypto). * Finish Ed448 Fully specifies all constants, passes all tests in ff-group-tests, and finishes moving to ff-0.13. * Add RustCrypto/elliptic-curves to allowed git repos Needed due to k256/p256 incorrectly defining product. * Finish writing ff 0.13 tests * Add additional comments to dalek * Further comments * Update ethereum-serai to ff 0.13
This commit is contained in:
@@ -47,7 +47,7 @@ where
|
||||
) {
|
||||
// Define a unique scalar factor for this set of variables so individual items can't overlap
|
||||
let u = if self.0.is_empty() {
|
||||
G::Scalar::one()
|
||||
G::Scalar::ONE
|
||||
} else {
|
||||
let mut weight;
|
||||
while {
|
||||
|
||||
@@ -34,14 +34,13 @@ where
|
||||
valid(batch);
|
||||
|
||||
// Test a batch with one set of statements
|
||||
let valid_statements =
|
||||
vec![(-G::Scalar::one(), G::generator()), (G::Scalar::one(), G::generator())];
|
||||
let valid_statements = vec![(-G::Scalar::ONE, G::generator()), (G::Scalar::ONE, G::generator())];
|
||||
let mut batch = BatchVerifier::new(1);
|
||||
batch.queue(&mut OsRng, 0, valid_statements.clone());
|
||||
valid(batch);
|
||||
|
||||
// Test a batch with an invalid set of statements fails properly
|
||||
let invalid_statements = vec![(-G::Scalar::one(), G::generator())];
|
||||
let invalid_statements = vec![(-G::Scalar::ONE, G::generator())];
|
||||
let mut batch = BatchVerifier::new(1);
|
||||
batch.queue(&mut OsRng, 0, invalid_statements.clone());
|
||||
invalid(batch, 0);
|
||||
|
||||
@@ -110,8 +110,8 @@ where
|
||||
test(&[], G::identity());
|
||||
|
||||
// Test an multiexp of identity/zero elements is identity
|
||||
test(&[(G::Scalar::zero(), G::generator())], G::identity());
|
||||
test(&[(G::Scalar::one(), G::identity())], G::identity());
|
||||
test(&[(G::Scalar::ZERO, G::generator())], G::identity());
|
||||
test(&[(G::Scalar::ONE, G::identity())], G::identity());
|
||||
|
||||
// Test a variety of multiexp sizes
|
||||
let mut pairs = Vec::with_capacity(1000);
|
||||
|
||||
Reference in New Issue
Block a user