From afd9bafb79d286d8c366406c58fb919447826706 Mon Sep 17 00:00:00 2001 From: Giacomo Pasini Date: Wed, 20 Nov 2024 15:46:35 +0100 Subject: [PATCH] move to zone_layer --- emmarin/cl/cl/src/{ => cl}/balance.rs | 2 +- emmarin/cl/cl/src/{ => cl}/bundle.rs | 2 +- emmarin/cl/cl/src/{ => cl}/crypto.rs | 0 emmarin/cl/cl/src/{ => cl}/error.rs | 0 emmarin/cl/cl/src/{ => cl}/input.rs | 14 +++---- emmarin/cl/cl/src/{ => cl}/merkle.rs | 0 emmarin/cl/cl/src/cl/mod.rs | 21 +++++++++++ emmarin/cl/cl/src/{ => cl}/note.rs | 2 +- emmarin/cl/cl/src/{ => cl}/nullifier.rs | 2 +- emmarin/cl/cl/src/{ => cl}/output.rs | 2 +- emmarin/cl/cl/src/cl/pact.rs | 37 +++++++++++++++++++ emmarin/cl/cl/src/{ => cl}/partial_tx.rs | 10 +++-- emmarin/cl/cl/src/lib.rs | 23 +----------- .../cl/cl/src/{zones.rs => zone_layer/mod.rs} | 36 +----------------- emmarin/cl/ledger/src/bundle.rs | 6 +-- emmarin/cl/ledger/src/constraint.rs | 4 +- emmarin/cl/ledger/src/ledger.rs | 2 +- emmarin/cl/ledger/src/pact.rs | 9 +++-- emmarin/cl/ledger/src/partial_tx.rs | 9 +++-- .../cl/ledger_proof_statements/src/bundle.rs | 2 +- .../ledger_proof_statements/src/constraint.rs | 2 +- .../cl/ledger_proof_statements/src/ledger.rs | 4 +- .../cl/ledger_proof_statements/src/pact.rs | 7 +++- emmarin/cl/ledger_proof_statements/src/ptx.rs | 4 +- emmarin/cl/risc0_proofs/bundle/src/main.rs | 3 +- emmarin/cl/risc0_proofs/pact/src/main.rs | 2 +- emmarin/cl/risc0_proofs/ptx/src/main.rs | 2 +- 27 files changed, 111 insertions(+), 96 deletions(-) rename emmarin/cl/cl/src/{ => cl}/balance.rs (99%) rename emmarin/cl/cl/src/{ => cl}/bundle.rs (98%) rename emmarin/cl/cl/src/{ => cl}/crypto.rs (100%) rename emmarin/cl/cl/src/{ => cl}/error.rs (100%) rename emmarin/cl/cl/src/{ => cl}/input.rs (88%) rename emmarin/cl/cl/src/{ => cl}/merkle.rs (100%) create mode 100644 emmarin/cl/cl/src/cl/mod.rs rename emmarin/cl/cl/src/{ => cl}/note.rs (98%) rename emmarin/cl/cl/src/{ => cl}/nullifier.rs (99%) rename emmarin/cl/cl/src/{ => cl}/output.rs (98%) create mode 100644 emmarin/cl/cl/src/cl/pact.rs rename emmarin/cl/cl/src/{ => cl}/partial_tx.rs (97%) rename emmarin/cl/cl/src/{zones.rs => zone_layer/mod.rs} (63%) diff --git a/emmarin/cl/cl/src/balance.rs b/emmarin/cl/cl/src/cl/balance.rs similarity index 99% rename from emmarin/cl/cl/src/balance.rs rename to emmarin/cl/cl/src/cl/balance.rs index 10db851..1f2cc99 100644 --- a/emmarin/cl/cl/src/balance.rs +++ b/emmarin/cl/cl/src/cl/balance.rs @@ -2,7 +2,7 @@ use rand_core::CryptoRngCore; use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; -use crate::PartialTxWitness; +use crate::cl::PartialTxWitness; pub type Value = u64; pub type Unit = [u8; 32]; diff --git a/emmarin/cl/cl/src/bundle.rs b/emmarin/cl/cl/src/cl/bundle.rs similarity index 98% rename from emmarin/cl/cl/src/bundle.rs rename to emmarin/cl/cl/src/cl/bundle.rs index c54e888..aa6beef 100644 --- a/emmarin/cl/cl/src/bundle.rs +++ b/emmarin/cl/cl/src/cl/bundle.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; -use crate::{partial_tx::PartialTx, BalanceWitness, PartialTxWitness}; +use crate::cl::{partial_tx::PartialTx, BalanceWitness, PartialTxWitness}; /// The transaction bundle is a collection of partial transactions. /// The goal in bundling transactions is to produce a set of partial transactions diff --git a/emmarin/cl/cl/src/crypto.rs b/emmarin/cl/cl/src/cl/crypto.rs similarity index 100% rename from emmarin/cl/cl/src/crypto.rs rename to emmarin/cl/cl/src/cl/crypto.rs diff --git a/emmarin/cl/cl/src/error.rs b/emmarin/cl/cl/src/cl/error.rs similarity index 100% rename from emmarin/cl/cl/src/error.rs rename to emmarin/cl/cl/src/cl/error.rs diff --git a/emmarin/cl/cl/src/input.rs b/emmarin/cl/cl/src/cl/input.rs similarity index 88% rename from emmarin/cl/cl/src/input.rs rename to emmarin/cl/cl/src/cl/input.rs index 5253ce9..a0f2db0 100644 --- a/emmarin/cl/cl/src/input.rs +++ b/emmarin/cl/cl/src/cl/input.rs @@ -2,10 +2,10 @@ /// /// Partial transactions, as the name suggests, are transactions /// which on their own may not balance (i.e. \sum inputs != \sum outputs) -use crate::{ +use crate::cl::{ note::{Constraint, NoteWitness}, nullifier::{Nullifier, NullifierSecret}, - Nonce, + Nonce, NoteCommitment, OutputWitness, }; use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; @@ -27,12 +27,12 @@ impl InputWitness { Self { note, nf_sk } } - pub fn from_output(output: crate::OutputWitness, nf_sk: NullifierSecret) -> Self { + pub fn from_output(output: OutputWitness, nf_sk: NullifierSecret) -> Self { assert_eq!(nf_sk.commit(), output.nf_pk); Self::new(output.note, nf_sk) } - pub fn public(output: crate::OutputWitness) -> Self { + pub fn public(output: OutputWitness) -> Self { let nf_sk = NullifierSecret::zero(); assert_eq!(nf_sk.commit(), output.nf_pk); // ensure the output was a public UTXO Self::new(output.note, nf_sk) @@ -49,8 +49,8 @@ impl InputWitness { Nonce::from_bytes(nonce_bytes) } - pub fn evolve_output(&self, tag: &dyn AsRef<[u8]>, domain: &[u8]) -> crate::OutputWitness { - crate::OutputWitness { + pub fn evolve_output(&self, tag: &dyn AsRef<[u8]>, domain: &[u8]) -> OutputWitness { + OutputWitness { note: NoteWitness { nonce: self.evolved_nonce(tag, domain), ..self.note @@ -70,7 +70,7 @@ impl InputWitness { } } - pub fn note_commitment(&self, tag: &dyn AsRef<[u8]>) -> crate::NoteCommitment { + pub fn note_commitment(&self, tag: &dyn AsRef<[u8]>) -> NoteCommitment { self.note.commit(tag, self.nf_sk.commit()) } } diff --git a/emmarin/cl/cl/src/merkle.rs b/emmarin/cl/cl/src/cl/merkle.rs similarity index 100% rename from emmarin/cl/cl/src/merkle.rs rename to emmarin/cl/cl/src/cl/merkle.rs diff --git a/emmarin/cl/cl/src/cl/mod.rs b/emmarin/cl/cl/src/cl/mod.rs new file mode 100644 index 0000000..31b8cc8 --- /dev/null +++ b/emmarin/cl/cl/src/cl/mod.rs @@ -0,0 +1,21 @@ +pub mod balance; +pub mod bundle; +pub mod crypto; +pub mod error; +pub mod input; +pub mod merkle; +pub mod note; +pub mod nullifier; +pub mod output; +pub mod pact; +pub mod partial_tx; + +pub use balance::{Balance, BalanceWitness}; +pub use bundle::{Bundle, BundleWitness}; +pub use input::{Input, InputWitness}; +pub use note::{Constraint, Nonce, NoteCommitment, NoteWitness}; +pub use nullifier::{Nullifier, NullifierCommitment, NullifierSecret}; +pub use output::{Output, OutputWitness}; +pub use partial_tx::{ + PartialTx, PartialTxInputWitness, PartialTxOutputWitness, PartialTxWitness, PtxRoot, +}; diff --git a/emmarin/cl/cl/src/note.rs b/emmarin/cl/cl/src/cl/note.rs similarity index 98% rename from emmarin/cl/cl/src/note.rs rename to emmarin/cl/cl/src/cl/note.rs index 96b3fed..d198d47 100644 --- a/emmarin/cl/cl/src/note.rs +++ b/emmarin/cl/cl/src/cl/note.rs @@ -2,7 +2,7 @@ use rand::RngCore; use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; -use crate::{balance::Unit, nullifier::NullifierCommitment}; +use crate::cl::{balance::Unit, nullifier::NullifierCommitment}; #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Deserialize)] pub struct Constraint(pub [u8; 32]); diff --git a/emmarin/cl/cl/src/nullifier.rs b/emmarin/cl/cl/src/cl/nullifier.rs similarity index 99% rename from emmarin/cl/cl/src/nullifier.rs rename to emmarin/cl/cl/src/cl/nullifier.rs index c6ee27a..3a522f6 100644 --- a/emmarin/cl/cl/src/nullifier.rs +++ b/emmarin/cl/cl/src/cl/nullifier.rs @@ -10,7 +10,7 @@ use rand_core::RngCore; use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; -use crate::NoteCommitment; +use crate::cl::NoteCommitment; // Maintained privately by note holder #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] diff --git a/emmarin/cl/cl/src/output.rs b/emmarin/cl/cl/src/cl/output.rs similarity index 98% rename from emmarin/cl/cl/src/output.rs rename to emmarin/cl/cl/src/cl/output.rs index e6aed88..a1fc8e4 100644 --- a/emmarin/cl/cl/src/output.rs +++ b/emmarin/cl/cl/src/cl/output.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; -use crate::{ +use crate::cl::{ note::{NoteCommitment, NoteWitness}, nullifier::NullifierCommitment, NullifierSecret, diff --git a/emmarin/cl/cl/src/cl/pact.rs b/emmarin/cl/cl/src/cl/pact.rs new file mode 100644 index 0000000..3f5f3e1 --- /dev/null +++ b/emmarin/cl/cl/src/cl/pact.rs @@ -0,0 +1,37 @@ +use crate::zone_layer::ZoneId; +use crate::cl::{PartialTx, PartialTxWitness}; +use serde::{Deserialize, Serialize}; + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct Pact { + pub tx: PartialTx, + pub to: Vec, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct PactWitness { + pub tx: PartialTxWitness, + pub from: ZoneId, + pub to: Vec, +} + +impl PactWitness { + pub fn commit(&self) -> Pact { + assert_eq!(self.tx.outputs.len(), self.to.len()); + let ptx = PartialTx { + inputs: Vec::from_iter(self.tx.inputs.iter().map(|i| i.commit(&self.from))), + outputs: Vec::from_iter( + self.tx + .outputs + .iter() + .zip(&self.to) + .map(|(o, z)| o.commit(z)), + ), + balance: self.tx.balance().commit(), + }; + Pact { + tx: ptx, + to: self.to.clone(), + } + } +} diff --git a/emmarin/cl/cl/src/partial_tx.rs b/emmarin/cl/cl/src/cl/partial_tx.rs similarity index 97% rename from emmarin/cl/cl/src/partial_tx.rs rename to emmarin/cl/cl/src/cl/partial_tx.rs index 3d5fc97..5245ea1 100644 --- a/emmarin/cl/cl/src/partial_tx.rs +++ b/emmarin/cl/cl/src/cl/partial_tx.rs @@ -1,10 +1,12 @@ use rand_core::{CryptoRngCore, RngCore}; use serde::{Deserialize, Serialize}; -use crate::balance::{Balance, BalanceWitness}; -use crate::input::{Input, InputWitness}; -use crate::merkle; -use crate::output::{Output, OutputWitness}; +use crate::cl::{ + balance::{Balance, BalanceWitness}, + input::{Input, InputWitness}, + merkle, + output::{Output, OutputWitness}, +}; pub const MAX_INPUTS: usize = 8; pub const MAX_OUTPUTS: usize = 8; diff --git a/emmarin/cl/cl/src/lib.rs b/emmarin/cl/cl/src/lib.rs index fea07f5..9bd83c5 100644 --- a/emmarin/cl/cl/src/lib.rs +++ b/emmarin/cl/cl/src/lib.rs @@ -1,21 +1,2 @@ -pub mod balance; -pub mod bundle; -pub mod crypto; -pub mod error; -pub mod input; -pub mod merkle; -pub mod note; -pub mod nullifier; -pub mod output; -pub mod partial_tx; -pub mod zones; - -pub use balance::{Balance, BalanceWitness}; -pub use bundle::{Bundle, BundleWitness}; -pub use input::{Input, InputWitness}; -pub use note::{Constraint, Nonce, NoteCommitment, NoteWitness}; -pub use nullifier::{Nullifier, NullifierCommitment, NullifierSecret}; -pub use output::{Output, OutputWitness}; -pub use partial_tx::{ - PartialTx, PartialTxInputWitness, PartialTxOutputWitness, PartialTxWitness, PtxRoot, -}; +pub mod cl; +pub mod zone_layer; diff --git a/emmarin/cl/cl/src/zones.rs b/emmarin/cl/cl/src/zone_layer/mod.rs similarity index 63% rename from emmarin/cl/cl/src/zones.rs rename to emmarin/cl/cl/src/zone_layer/mod.rs index ede32b8..1487ef7 100644 --- a/emmarin/cl/cl/src/zones.rs +++ b/emmarin/cl/cl/src/zone_layer/mod.rs @@ -1,40 +1,6 @@ -use crate::{merkle, Constraint, NoteCommitment, Nullifier, PartialTx, PartialTxWitness}; +use crate::cl::{merkle, Constraint, NoteCommitment, Nullifier}; use serde::{Deserialize, Serialize}; -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] -pub struct Pact { - pub tx: PartialTx, - pub to: Vec, -} - -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] -pub struct PactWitness { - pub tx: PartialTxWitness, - pub from: ZoneId, - pub to: Vec, -} - -impl PactWitness { - pub fn commit(&self) -> Pact { - assert_eq!(self.tx.outputs.len(), self.to.len()); - let ptx = PartialTx { - inputs: Vec::from_iter(self.tx.inputs.iter().map(|i| i.commit(&self.from))), - outputs: Vec::from_iter( - self.tx - .outputs - .iter() - .zip(&self.to) - .map(|(o, z)| o.commit(z)), - ), - balance: self.tx.balance().commit(), - }; - Pact { - tx: ptx, - to: self.to.clone(), - } - } -} - pub struct ZoneNote { pub stf: Constraint, pub state: State, diff --git a/emmarin/cl/ledger/src/bundle.rs b/emmarin/cl/ledger/src/bundle.rs index 17e8432..25f0765 100644 --- a/emmarin/cl/ledger/src/bundle.rs +++ b/emmarin/cl/ledger/src/bundle.rs @@ -1,6 +1,6 @@ -use ledger_proof_statements::bundle::{BundlePrivate, BundlePublic}; - use crate::error::{Error, Result}; +use cl::cl::BundleWitness; +use ledger_proof_statements::bundle::{BundlePrivate, BundlePublic}; pub struct ProvedBundle { pub bundle: BundlePublic, @@ -8,7 +8,7 @@ pub struct ProvedBundle { } impl ProvedBundle { - pub fn prove(bundle_witness: &cl::BundleWitness) -> Result { + pub fn prove(bundle_witness: &BundleWitness) -> Result { // need to show that bundle is balanced. // i.e. the sum of ptx balances is 0 diff --git a/emmarin/cl/ledger/src/constraint.rs b/emmarin/cl/ledger/src/constraint.rs index 4d03773..f6d4e5f 100644 --- a/emmarin/cl/ledger/src/constraint.rs +++ b/emmarin/cl/ledger/src/constraint.rs @@ -1,4 +1,4 @@ -use cl::Constraint; +use cl::cl::{Constraint, Nullifier, PtxRoot}; use ledger_proof_statements::constraint::ConstraintPublic; use crate::error::Result; @@ -41,7 +41,7 @@ impl ConstraintProof { risc0_constraint(nomos_cl_risc0_proofs::CONSTRAINT_NOP_ID) } - pub fn prove_nop(nf: cl::Nullifier, ptx_root: cl::PtxRoot) -> Self { + pub fn prove_nop(nf: Nullifier, ptx_root: PtxRoot) -> Self { let constraint_public = ConstraintPublic { nf, ptx_root }; let env = risc0_zkvm::ExecutorEnv::builder() .write(&constraint_public) diff --git a/emmarin/cl/ledger/src/ledger.rs b/emmarin/cl/ledger/src/ledger.rs index 9288916..b955cc7 100644 --- a/emmarin/cl/ledger/src/ledger.rs +++ b/emmarin/cl/ledger/src/ledger.rs @@ -7,7 +7,7 @@ use crate::{ pact::ProvedPact, partial_tx::ProvedPartialTx, }; -use cl::zones::{LedgerWitness, ZoneId}; +use cl::zone_layer::{LedgerWitness, ZoneId}; pub struct ProvedLedgerTransition { pub public: LedgerProofPublic, diff --git a/emmarin/cl/ledger/src/pact.rs b/emmarin/cl/ledger/src/pact.rs index 50ee756..44d52eb 100644 --- a/emmarin/cl/ledger/src/pact.rs +++ b/emmarin/cl/ledger/src/pact.rs @@ -1,5 +1,8 @@ use crate::error::{Error, Result}; -use cl::zones::*; +use cl::cl::{ + merkle, + pact::{Pact, PactWitness}, +}; use ledger_proof_statements::pact::{PactPrivate, PactPublic}; #[derive(Debug, Clone)] @@ -11,8 +14,8 @@ pub struct ProvedPact { impl ProvedPact { pub fn prove( - pact: cl::zones::PactWitness, - input_cm_paths: Vec>, + pact: PactWitness, + input_cm_paths: Vec>, cm_root: [u8; 32], ) -> Result { let pact_private = PactPrivate { diff --git a/emmarin/cl/ledger/src/partial_tx.rs b/emmarin/cl/ledger/src/partial_tx.rs index 0820891..29a333a 100644 --- a/emmarin/cl/ledger/src/partial_tx.rs +++ b/emmarin/cl/ledger/src/partial_tx.rs @@ -1,18 +1,19 @@ use ledger_proof_statements::ptx::{PtxPrivate, PtxPublic}; use crate::error::{Error, Result}; -use cl::zones::*; +use cl::cl::{merkle, PartialTx, PartialTxWitness}; +use cl::zone_layer::ZoneId; pub struct ProvedPartialTx { - pub ptx: cl::PartialTx, + pub ptx: PartialTx, pub cm_root: [u8; 32], pub risc0_receipt: risc0_zkvm::Receipt, } impl ProvedPartialTx { pub fn prove( - ptx: &cl::PartialTxWitness, - input_cm_paths: Vec>, + ptx: &PartialTxWitness, + input_cm_paths: Vec>, cm_root: [u8; 32], id: ZoneId, ) -> Result { diff --git a/emmarin/cl/ledger_proof_statements/src/bundle.rs b/emmarin/cl/ledger_proof_statements/src/bundle.rs index f45feb9..f952a4c 100644 --- a/emmarin/cl/ledger_proof_statements/src/bundle.rs +++ b/emmarin/cl/ledger_proof_statements/src/bundle.rs @@ -1,4 +1,4 @@ -use cl::{Balance, BalanceWitness}; +use cl::cl::{Balance, BalanceWitness}; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] diff --git a/emmarin/cl/ledger_proof_statements/src/constraint.rs b/emmarin/cl/ledger_proof_statements/src/constraint.rs index 91e7aa4..0a29aa6 100644 --- a/emmarin/cl/ledger_proof_statements/src/constraint.rs +++ b/emmarin/cl/ledger_proof_statements/src/constraint.rs @@ -1,4 +1,4 @@ -use cl::{Nullifier, PtxRoot}; +use cl::cl::{Nullifier, PtxRoot}; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] diff --git a/emmarin/cl/ledger_proof_statements/src/ledger.rs b/emmarin/cl/ledger_proof_statements/src/ledger.rs index 2d5e1c6..04700fd 100644 --- a/emmarin/cl/ledger_proof_statements/src/ledger.rs +++ b/emmarin/cl/ledger_proof_statements/src/ledger.rs @@ -1,8 +1,8 @@ use crate::bundle::BundlePublic; use crate::pact::PactPublic; use crate::ptx::PtxPublic; -use cl::zones::*; -use cl::Output; +use cl::cl::Output; +use cl::zone_layer::*; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] diff --git a/emmarin/cl/ledger_proof_statements/src/pact.rs b/emmarin/cl/ledger_proof_statements/src/pact.rs index 1229c7f..f9a6c8c 100644 --- a/emmarin/cl/ledger_proof_statements/src/pact.rs +++ b/emmarin/cl/ledger_proof_statements/src/pact.rs @@ -1,4 +1,7 @@ -use cl::zones::*; +use cl::cl::{ + merkle, + pact::{Pact, PactWitness}, +}; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] @@ -10,6 +13,6 @@ pub struct PactPublic { #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct PactPrivate { pub pact: PactWitness, - pub input_cm_paths: Vec>, + pub input_cm_paths: Vec>, pub cm_root: [u8; 32], } diff --git a/emmarin/cl/ledger_proof_statements/src/ptx.rs b/emmarin/cl/ledger_proof_statements/src/ptx.rs index 731408b..a11070c 100644 --- a/emmarin/cl/ledger_proof_statements/src/ptx.rs +++ b/emmarin/cl/ledger_proof_statements/src/ptx.rs @@ -1,4 +1,4 @@ -use cl::{PartialTx, PartialTxWitness}; +use cl::cl::{merkle, PartialTx, PartialTxWitness}; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] @@ -10,7 +10,7 @@ pub struct PtxPublic { #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub struct PtxPrivate { pub ptx: PartialTxWitness, - pub input_cm_paths: Vec>, + pub input_cm_paths: Vec>, pub cm_root: [u8; 32], pub from: [u8; 32], } diff --git a/emmarin/cl/risc0_proofs/bundle/src/main.rs b/emmarin/cl/risc0_proofs/bundle/src/main.rs index 9beec67..30d2f59 100644 --- a/emmarin/cl/risc0_proofs/bundle/src/main.rs +++ b/emmarin/cl/risc0_proofs/bundle/src/main.rs @@ -1,3 +1,4 @@ +use cl::cl::BalanceWitness; /// Bundle Proof /// /// The bundle proof demonstrates that the set of partial transactions @@ -17,7 +18,7 @@ fn main() { balances: Vec::from_iter(bundle_private.balances.iter().map(|b| b.commit())), }; - assert!(cl::BalanceWitness::combine(bundle_private.balances, [0u8; 16]).is_zero()); + assert!(BalanceWitness::combine(bundle_private.balances, [0u8; 16]).is_zero()); env::commit(&bundle_public); } diff --git a/emmarin/cl/risc0_proofs/pact/src/main.rs b/emmarin/cl/risc0_proofs/pact/src/main.rs index 04928f0..0dd6e79 100644 --- a/emmarin/cl/risc0_proofs/pact/src/main.rs +++ b/emmarin/cl/risc0_proofs/pact/src/main.rs @@ -1,5 +1,5 @@ /// Input Proof -use cl::merkle; +use cl::cl::merkle; use ledger_proof_statements::pact::{PactPrivate, PactPublic}; use risc0_zkvm::guest::env; diff --git a/emmarin/cl/risc0_proofs/ptx/src/main.rs b/emmarin/cl/risc0_proofs/ptx/src/main.rs index 9af2f5d..49012cc 100644 --- a/emmarin/cl/risc0_proofs/ptx/src/main.rs +++ b/emmarin/cl/risc0_proofs/ptx/src/main.rs @@ -1,5 +1,5 @@ /// Input Proof -use cl::merkle; +use cl::cl::merkle; use ledger_proof_statements::ptx::{PtxPrivate, PtxPublic}; use risc0_zkvm::guest::env;