Browse Source

convert nonnative constant to little endian (#127)

avoid_assigned_value
Chris Sosnin 1 year ago
committed by GitHub
parent
commit
2ca3bd7d97
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 2 deletions
  1. +1
    -0
      CHANGELOG.md
  2. +2
    -2
      src/fields/nonnative/field_var.rs

+ 1
- 0
CHANGELOG.md

@ -3,6 +3,7 @@
## Pending ## Pending
- [\#117](https://github.com/arkworks-rs/r1cs-std/pull/117) Fix result of `precomputed_base_scalar_mul_le` to not discard previous value. - [\#117](https://github.com/arkworks-rs/r1cs-std/pull/117) Fix result of `precomputed_base_scalar_mul_le` to not discard previous value.
- [\#124](https://github.com/arkworks-rs/r1cs-std/pull/124) Fix `scalar_mul_le` constraints unsatisfiability when short Weierstrass point is zero. - [\#124](https://github.com/arkworks-rs/r1cs-std/pull/124) Fix `scalar_mul_le` constraints unsatisfiability when short Weierstrass point is zero.
- [\#127](https://github.com/arkworks-rs/r1cs-std/pull/127) Convert `NonNativeFieldVar` constants to little-endian bytes instead of big-endian (`ToBytesGadget`).
### Breaking changes ### Breaking changes

+ 2
- 2
src/fields/nonnative/field_var.rs

@ -313,7 +313,7 @@ impl ToBytesGadget
fn to_bytes(&self) -> R1CSResult<Vec<UInt8<BaseField>>> { fn to_bytes(&self) -> R1CSResult<Vec<UInt8<BaseField>>> {
match self { match self {
Self::Constant(c) => Ok(UInt8::constant_vec( Self::Constant(c) => Ok(UInt8::constant_vec(
c.into_bigint().to_bytes_be().as_slice(),
c.into_bigint().to_bytes_le().as_slice(),
)), )),
Self::Var(v) => v.to_bytes(), Self::Var(v) => v.to_bytes(),
@ -324,7 +324,7 @@ impl ToBytesGadget
fn to_non_unique_bytes(&self) -> R1CSResult<Vec<UInt8<BaseField>>> { fn to_non_unique_bytes(&self) -> R1CSResult<Vec<UInt8<BaseField>>> {
match self { match self {
Self::Constant(c) => Ok(UInt8::constant_vec( Self::Constant(c) => Ok(UInt8::constant_vec(
c.into_bigint().to_bytes_be().as_slice(),
c.into_bigint().to_bytes_le().as_slice(),
)), )),
Self::Var(v) => v.to_non_unique_bytes(), Self::Var(v) => v.to_non_unique_bytes(),
} }

Loading…
Cancel
Save