mirror of
https://github.com/logos-storage/nim-poseidon2.git
synced 2026-04-21 02:33:41 +00:00
bumps constantine, updates curves
This commit is contained in:
parent
8a54c69032
commit
e173dd817b
@ -16,5 +16,5 @@ export elements
|
|||||||
export types
|
export types
|
||||||
|
|
||||||
# workaround for "undeclared identifier: 'getCurveOrder'"
|
# workaround for "undeclared identifier: 'getCurveOrder'"
|
||||||
import constantine/math/config/curves
|
import constantine/named/algebras
|
||||||
export curves
|
export algebras
|
||||||
|
|||||||
@ -3,4 +3,4 @@ author = "nim-poseidon2 authors"
|
|||||||
description = "Poseidon2 hash function"
|
description = "Poseidon2 hash function"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
||||||
requires "https://github.com/mratsim/constantine#ab6fa6ae1bbbd1b10071a92ec209b381b5d82511"
|
requires "https://github.com/mratsim/constantine#1e34ec22929eaba7bcf1681350ec21aed8f370f7"
|
||||||
|
|||||||
@ -2,10 +2,10 @@ import std/options
|
|||||||
import constantine/math/arithmetic
|
import constantine/math/arithmetic
|
||||||
import constantine/math/io/io_bigints
|
import constantine/math/io/io_bigints
|
||||||
import constantine/math/io/io_fields
|
import constantine/math/io/io_fields
|
||||||
import constantine/math/config/curves
|
import constantine/named/algebras
|
||||||
import ./types
|
import ./types
|
||||||
|
|
||||||
export curves
|
export algebras
|
||||||
|
|
||||||
func fromOpenArray(_: type F, bytes: openArray[byte]): F =
|
func fromOpenArray(_: type F, bytes: openArray[byte]): F =
|
||||||
F.fromBig(B.unmarshal(bytes, littleEndian))
|
F.fromBig(B.unmarshal(bytes, littleEndian))
|
||||||
@ -19,7 +19,7 @@ func fromBytes*(_: type F, bytes: array[32, byte]): Option[F] =
|
|||||||
## Converts bytes into a field element. The byte array is interpreted as a
|
## Converts bytes into a field element. The byte array is interpreted as a
|
||||||
## canonical little-endian big integer.
|
## canonical little-endian big integer.
|
||||||
let big = B.unmarshal(bytes, littleEndian)
|
let big = B.unmarshal(bytes, littleEndian)
|
||||||
if bool(big < F.fieldMod()):
|
if bool(big < F.getModulus()):
|
||||||
return some(F.fromBig(big))
|
return some(F.fromBig(big))
|
||||||
|
|
||||||
func toBytes*(element: F): array[32, byte] =
|
func toBytes*(element: F): array[32, byte] =
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import
|
import
|
||||||
constantine/math/arithmetic,
|
constantine/math/arithmetic,
|
||||||
constantine/math/config/curves
|
constantine/named/algebras
|
||||||
|
|
||||||
import ./types
|
import ./types
|
||||||
import ./roundconst
|
import ./roundconst
|
||||||
|
|||||||
@ -3,12 +3,12 @@ import
|
|||||||
constantine/math/arithmetic,
|
constantine/math/arithmetic,
|
||||||
constantine/math/io/io_fields,
|
constantine/math/io/io_fields,
|
||||||
constantine/math/io/io_bigints,
|
constantine/math/io/io_bigints,
|
||||||
constantine/math/config/curves
|
constantine/named/algebras
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|
||||||
type B* = BigInt[254]
|
type B* = BigInt[254]
|
||||||
type F* = Fr[BN254Snarks]
|
type F* = Fr[BN254_Snarks]
|
||||||
type S* = (F,F,F)
|
type S* = (F,F,F)
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user