From de7219d7f2eb1aa8a0ad8af478141d0d21d62a77 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Mon, 16 Dec 2024 12:26:44 +0000 Subject: [PATCH] Move Poseidon primitive into `halo2_poseidon` --- Cargo.lock | 7 +++++++ halo2_gadgets/Cargo.toml | 2 ++ halo2_gadgets/src/poseidon.rs | 2 +- halo2_poseidon/Cargo.toml | 7 +++++++ .../src/poseidon/primitives => halo2_poseidon/src}/fp.rs | 0 .../src/poseidon/primitives => halo2_poseidon/src}/fq.rs | 0 .../poseidon/primitives => halo2_poseidon/src}/grain.rs | 0 .../poseidon/primitives.rs => halo2_poseidon/src/lib.rs | 0 .../src/poseidon/primitives => halo2_poseidon/src}/mds.rs | 0 .../primitives => halo2_poseidon/src}/p128pow5t3.rs | 0 .../primitives => halo2_poseidon/src}/test_vectors.rs | 0 11 files changed, 17 insertions(+), 1 deletion(-) rename {halo2_gadgets/src/poseidon/primitives => halo2_poseidon/src}/fp.rs (100%) rename {halo2_gadgets/src/poseidon/primitives => halo2_poseidon/src}/fq.rs (100%) rename {halo2_gadgets/src/poseidon/primitives => halo2_poseidon/src}/grain.rs (100%) rename halo2_gadgets/src/poseidon/primitives.rs => halo2_poseidon/src/lib.rs (100%) rename {halo2_gadgets/src/poseidon/primitives => halo2_poseidon/src}/mds.rs (100%) rename {halo2_gadgets/src/poseidon/primitives => halo2_poseidon/src}/p128pow5t3.rs (100%) rename {halo2_gadgets/src/poseidon/primitives => halo2_poseidon/src}/test_vectors.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index 05ade28361..2ea08d91e3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -852,6 +852,7 @@ dependencies = [ "criterion", "ff", "group", + "halo2_poseidon", "halo2_proofs", "inferno", "lazy_static", @@ -874,6 +875,12 @@ checksum = "47716fe1ae67969c5e0b2ef826f32db8c3be72be325e1aa3c1951d06b5575ec5" [[package]] name = "halo2_poseidon" version = "0.0.0" +dependencies = [ + "bitvec", + "ff", + "group", + "pasta_curves", +] [[package]] name = "halo2_proofs" diff --git a/halo2_gadgets/Cargo.toml b/halo2_gadgets/Cargo.toml index b22e3e693e..3367b53bc4 100644 --- a/halo2_gadgets/Cargo.toml +++ b/halo2_gadgets/Cargo.toml @@ -26,6 +26,7 @@ arrayvec = "0.7.0" bitvec = "1" ff = "0.13" group = "0.13" +halo2_poseidon = { version = "0.0", path = "../halo2_poseidon", default-features = false } halo2_proofs = { version = "0.3", path = "../halo2_proofs", default-features = false } lazy_static = "1" pasta_curves = "0.5" @@ -40,6 +41,7 @@ plotters = { version = "0.3.0", default-features = false, optional = true } [dev-dependencies] criterion = "0.3" +halo2_poseidon = { version = "0.0", path = "../halo2_poseidon", default-features = false, features = ["test-dependencies"] } proptest = "1.0.0" sinsemilla = { version = "0.1", features = ["test-dependencies"] } diff --git a/halo2_gadgets/src/poseidon.rs b/halo2_gadgets/src/poseidon.rs index 77736c8677..07ba0df0af 100644 --- a/halo2_gadgets/src/poseidon.rs +++ b/halo2_gadgets/src/poseidon.rs @@ -13,7 +13,7 @@ use halo2_proofs::{ mod pow5; pub use pow5::{Pow5Chip, Pow5Config, StateWord}; -pub mod primitives; +pub use ::halo2_poseidon as primitives; use primitives::{Absorbing, ConstantLength, Domain, Spec, SpongeMode, Squeezing, State}; /// A word from the padded input to a Poseidon sponge. diff --git a/halo2_poseidon/Cargo.toml b/halo2_poseidon/Cargo.toml index c975ae4839..2831342e1b 100644 --- a/halo2_poseidon/Cargo.toml +++ b/halo2_poseidon/Cargo.toml @@ -15,3 +15,10 @@ readme = "README.md" categories = ["cryptography"] [dependencies] +bitvec = "1" +ff = "0.13" +group = "0.13" +pasta_curves = "0.5" + +[features] +test-dependencies = [] diff --git a/halo2_gadgets/src/poseidon/primitives/fp.rs b/halo2_poseidon/src/fp.rs similarity index 100% rename from halo2_gadgets/src/poseidon/primitives/fp.rs rename to halo2_poseidon/src/fp.rs diff --git a/halo2_gadgets/src/poseidon/primitives/fq.rs b/halo2_poseidon/src/fq.rs similarity index 100% rename from halo2_gadgets/src/poseidon/primitives/fq.rs rename to halo2_poseidon/src/fq.rs diff --git a/halo2_gadgets/src/poseidon/primitives/grain.rs b/halo2_poseidon/src/grain.rs similarity index 100% rename from halo2_gadgets/src/poseidon/primitives/grain.rs rename to halo2_poseidon/src/grain.rs diff --git a/halo2_gadgets/src/poseidon/primitives.rs b/halo2_poseidon/src/lib.rs similarity index 100% rename from halo2_gadgets/src/poseidon/primitives.rs rename to halo2_poseidon/src/lib.rs diff --git a/halo2_gadgets/src/poseidon/primitives/mds.rs b/halo2_poseidon/src/mds.rs similarity index 100% rename from halo2_gadgets/src/poseidon/primitives/mds.rs rename to halo2_poseidon/src/mds.rs diff --git a/halo2_gadgets/src/poseidon/primitives/p128pow5t3.rs b/halo2_poseidon/src/p128pow5t3.rs similarity index 100% rename from halo2_gadgets/src/poseidon/primitives/p128pow5t3.rs rename to halo2_poseidon/src/p128pow5t3.rs diff --git a/halo2_gadgets/src/poseidon/primitives/test_vectors.rs b/halo2_poseidon/src/test_vectors.rs similarity index 100% rename from halo2_gadgets/src/poseidon/primitives/test_vectors.rs rename to halo2_poseidon/src/test_vectors.rs