From c7f03f5ebfee7dda4b4870ab8ec5427b71715caa Mon Sep 17 00:00:00 2001 From: Balazs Komuves Date: Wed, 21 Jan 2026 20:10:05 +0100 Subject: [PATCH] try to improve the code organization (nim's namespace management is... peculiar) --- bench/bench_griffin.nim | 4 +--- bench/bench_perm.nim | 4 +--- griffin.nim | 18 ++++++++++++++++++ griffin/compress.nim | 3 ++- poseidon2.nim | 1 + 5 files changed, 23 insertions(+), 7 deletions(-) create mode 100644 griffin.nim diff --git a/bench/bench_griffin.nim b/bench/bench_griffin.nim index e97e0ca..7fa747d 100644 --- a/bench/bench_griffin.nim +++ b/bench/bench_griffin.nim @@ -10,10 +10,8 @@ import constantine/math/arithmetic import constantine/math/io/io_fields import constantine/math/io/io_bigints -import poseidon2/types -import poseidon2/io +import griffin import griffin/permutation - import ./shared #------------------------------------------------------------------------------- diff --git a/bench/bench_perm.nim b/bench/bench_perm.nim index 2ee4332..071e9c8 100644 --- a/bench/bench_perm.nim +++ b/bench/bench_perm.nim @@ -10,10 +10,8 @@ import constantine/math/arithmetic import constantine/math/io/io_fields import constantine/math/io/io_bigints -import poseidon2/types -import poseidon2/io +import poseidon2 import poseidon2/permutation - import ./shared #------------------------------------------------------------------------------- diff --git a/griffin.nim b/griffin.nim new file mode 100644 index 0000000..d64c365 --- /dev/null +++ b/griffin.nim @@ -0,0 +1,18 @@ +import poseidon2/types +import poseidon2/io +import griffin/permutation +import griffin/compress + +export compress +export perm +export permInPlace + +export fromBytes +export toBytes +export toF +export elements +export types + +# workaround for "undeclared identifier: 'getCurveOrder'" +import constantine/named/algebras +export algebras diff --git a/griffin/compress.nim b/griffin/compress.nim index 5fc9dd0..c7eedb3 100644 --- a/griffin/compress.nim +++ b/griffin/compress.nim @@ -1,4 +1,5 @@ -import ./types + +import ../poseidon2/types import ./permutation # 2-to-1 compression diff --git a/poseidon2.nim b/poseidon2.nim index 68792f5..ad1c3af 100644 --- a/poseidon2.nim +++ b/poseidon2.nim @@ -9,6 +9,7 @@ export sponge export compress export merkle export spongemerkle + export fromBytes export toBytes export toF