From 72472b31a14235cb8b3493a13c3c8597406f37ec Mon Sep 17 00:00:00 2001 From: logicalmechanism Date: Mon, 16 Sep 2024 13:20:59 -0700 Subject: [PATCH 1/5] some hashes are larger than the field prime thus do a modulo the field prime --- aiken.lock | 2 +- lib/aiken/crypto/bls12_381/scalar.ak | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/aiken.lock b/aiken.lock index 49b9d66..718f8fd 100644 --- a/aiken.lock +++ b/aiken.lock @@ -13,4 +13,4 @@ requirements = [] source = "github" [etags] -"aiken-lang/fuzz@v2" = [{ secs_since_epoch = 1726332025, nanos_since_epoch = 14944000 }, "34ffec10cce786bf823c7505589a3b5e0663792ef8efd31f870d7bcc37e0f593"] +"aiken-lang/fuzz@v2" = [{ secs_since_epoch = 1726517783, nanos_since_epoch = 284785036 }, "34ffec10cce786bf823c7505589a3b5e0663792ef8efd31f870d7bcc37e0f593"] diff --git a/lib/aiken/crypto/bls12_381/scalar.ak b/lib/aiken/crypto/bls12_381/scalar.ak index cf028ad..6bdb870 100644 --- a/lib/aiken/crypto/bls12_381/scalar.ak +++ b/lib/aiken/crypto/bls12_381/scalar.ak @@ -40,6 +40,8 @@ pub opaque type Scalar { pub fn new(n: Int) -> Option { if n >= 0 && n < field_prime { Some(Scalar(n)) + } else if n >= field_prime { + Some(Scalar(n % field_prime)) } else { None } @@ -48,11 +50,17 @@ pub fn new(n: Int) -> Option { test new_1() { and { new(-1) == None, - new(field_prime) == None, + new(field_prime) == Some(zero), new(834884848) == Some(Scalar(834884848)), } } +test new_2() { + new(field_prime + 398234892374892374928374) == Some( + Scalar(398234892374892374928374), + ) +} + /// Constructs a new `Scalar` element from a Big-Endian (most-significant bits first) `ByteArray`. pub fn from_bytearray_big_endian(bytes: ByteArray) -> Option { new(builtin.bytearray_to_integer(True, bytes)) From 509c64dd990ce65042fb22f97c19fee585dff9fa Mon Sep 17 00:00:00 2001 From: logicalmechanism Date: Mon, 16 Sep 2024 13:32:41 -0700 Subject: [PATCH 2/5] attempting to remove my lock file from the pr --- aiken.lock | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 aiken.lock diff --git a/aiken.lock b/aiken.lock deleted file mode 100644 index 718f8fd..0000000 --- a/aiken.lock +++ /dev/null @@ -1,16 +0,0 @@ -# This file was generated by Aiken -# You typically do not need to edit this file - -[[requirements]] -name = "aiken-lang/fuzz" -version = "v2" -source = "github" - -[[packages]] -name = "aiken-lang/fuzz" -version = "v2" -requirements = [] -source = "github" - -[etags] -"aiken-lang/fuzz@v2" = [{ secs_since_epoch = 1726517783, nanos_since_epoch = 284785036 }, "34ffec10cce786bf823c7505589a3b5e0663792ef8efd31f870d7bcc37e0f593"] From 31a3110779168dcc44ae6ea6b40a15245115fa6a Mon Sep 17 00:00:00 2001 From: logicalmechanism Date: Mon, 16 Sep 2024 13:33:36 -0700 Subject: [PATCH 3/5] attempting to remove my lock file from the pr --- aiken.lock | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 aiken.lock diff --git a/aiken.lock b/aiken.lock new file mode 100644 index 0000000..49b9d66 --- /dev/null +++ b/aiken.lock @@ -0,0 +1,16 @@ +# This file was generated by Aiken +# You typically do not need to edit this file + +[[requirements]] +name = "aiken-lang/fuzz" +version = "v2" +source = "github" + +[[packages]] +name = "aiken-lang/fuzz" +version = "v2" +requirements = [] +source = "github" + +[etags] +"aiken-lang/fuzz@v2" = [{ secs_since_epoch = 1726332025, nanos_since_epoch = 14944000 }, "34ffec10cce786bf823c7505589a3b5e0663792ef8efd31f870d7bcc37e0f593"] From bc469924e7b4a7c9a4c71a9fb369e2f83965e122 Mon Sep 17 00:00:00 2001 From: logicalmechanism Date: Mon, 16 Sep 2024 16:08:25 -0700 Subject: [PATCH 4/5] attempted to fix format --- aiken.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aiken.lock b/aiken.lock index 49b9d66..f70a6d0 100644 --- a/aiken.lock +++ b/aiken.lock @@ -13,4 +13,4 @@ requirements = [] source = "github" [etags] -"aiken-lang/fuzz@v2" = [{ secs_since_epoch = 1726332025, nanos_since_epoch = 14944000 }, "34ffec10cce786bf823c7505589a3b5e0663792ef8efd31f870d7bcc37e0f593"] +"aiken-lang/fuzz@v2" = [{ secs_since_epoch = 1726519136, nanos_since_epoch = 311978929 }, "34ffec10cce786bf823c7505589a3b5e0663792ef8efd31f870d7bcc37e0f593"] From d9359174545707c5c7ad2b313123b961bfad655c Mon Sep 17 00:00:00 2001 From: logicalmechanism Date: Mon, 16 Sep 2024 16:29:32 -0700 Subject: [PATCH 5/5] I will be able to get this right --- aiken.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aiken.lock b/aiken.lock index f70a6d0..444bd34 100644 --- a/aiken.lock +++ b/aiken.lock @@ -13,4 +13,4 @@ requirements = [] source = "github" [etags] -"aiken-lang/fuzz@v2" = [{ secs_since_epoch = 1726519136, nanos_since_epoch = 311978929 }, "34ffec10cce786bf823c7505589a3b5e0663792ef8efd31f870d7bcc37e0f593"] +"aiken-lang/fuzz@v2" = [{ secs_since_epoch = 1726529265, nanos_since_epoch = 528667332 }, "34ffec10cce786bf823c7505589a3b5e0663792ef8efd31f870d7bcc37e0f593"]