From da662bfa258a68ad00b23a54e4b262bd3c56ce7b Mon Sep 17 00:00:00 2001 From: Justin Traglia Date: Fri, 30 Aug 2024 12:39:36 -0500 Subject: [PATCH 1/2] From to_string from Scalar::__int__ method --- examples/scalar.py | 1 + src/wrapper.rs | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/scalar.py b/examples/scalar.py index fcd7cc0..308ec86 100644 --- a/examples/scalar.py +++ b/examples/scalar.py @@ -41,4 +41,5 @@ assert scalar == deserialised_scalar # Conversion to int +assert int(Scalar(0)) == 0 assert int(Scalar(12345)) == 12345 \ No newline at end of file diff --git a/src/wrapper.rs b/src/wrapper.rs index 2024da7..2bb145b 100644 --- a/src/wrapper.rs +++ b/src/wrapper.rs @@ -1,7 +1,7 @@ use ark_bls12_381::{G1Affine, G1Projective, G2Affine, G2Projective}; use ark_ec::pairing::{Pairing, PairingOutput}; use ark_ec::{AffineRepr, Group, ScalarMul, VariableBaseMSM}; -use ark_ff::One; +use ark_ff::{One, PrimeField}; use ark_serialize::{CanonicalDeserialize, CanonicalSerialize, SerializationError}; use num_bigint::BigUint; use num_traits::identities::Zero; @@ -231,8 +231,7 @@ impl Scalar { } } fn __int__(&self) -> BigUint { - // Bug, Fr::to_string will print nothing if the value is zero - BigUint::from_str(&*self.0.to_string()).unwrap_or(BigUint::ZERO) + BigUint::from(self.0.into_bigint()) } fn pow(&self, exp: Scalar) -> PyResult { From 4872051cb7b484d907257d56fe115d844857bf20 Mon Sep 17 00:00:00 2001 From: kevaundray Date: Fri, 30 Aug 2024 19:01:37 +0100 Subject: [PATCH 2/2] Update src/wrapper.rs --- src/wrapper.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/wrapper.rs b/src/wrapper.rs index f1dd696..1bb9ded 100644 --- a/src/wrapper.rs +++ b/src/wrapper.rs @@ -1,7 +1,7 @@ use ark_bls12_381::{G1Affine, G1Projective, G2Affine, G2Projective}; use ark_ec::pairing::{Pairing, PairingOutput}; use ark_ec::{AffineRepr, Group, ScalarMul, VariableBaseMSM}; -use ark_ff::{One, PrimeField}; +use ark_ff::{Field, One, PrimeField}; use ark_serialize::{CanonicalDeserialize, CanonicalSerialize, SerializationError}; use num_bigint::BigUint; use num_traits::identities::Zero;