diff --git a/bin/daod/src/dao_contract/exec/wallet.rs b/bin/daod/src/dao_contract/exec/wallet.rs index bb658e2ac..9959e491e 100644 --- a/bin/daod/src/dao_contract/exec/wallet.rs +++ b/bin/daod/src/dao_contract/exec/wallet.rs @@ -14,10 +14,7 @@ use darkfi::{ }; use crate::{ - dao_contract::{ - exec::validate::CallData, - propose::wallet::{DaoParams, Proposal}, - }, + dao_contract::{exec::validate::CallData, mint::wallet::DaoParams, propose::wallet::Proposal}, demo::{FuncCall, ZkContractInfo, ZkContractTable}, }; diff --git a/bin/daod/src/dao_contract/mint/wallet.rs b/bin/daod/src/dao_contract/mint/wallet.rs index eab4015be..233aba2d3 100644 --- a/bin/daod/src/dao_contract/mint/wallet.rs +++ b/bin/daod/src/dao_contract/mint/wallet.rs @@ -17,37 +17,27 @@ use crate::{ demo::{FuncCall, ZkContractInfo, ZkContractTable}, }; +#[derive(Clone)] +pub struct DaoParams { + pub proposer_limit: u64, + pub quorum: u64, + pub approval_ratio: u64, + pub gov_token_id: pallas::Base, + pub public_key: PublicKey, + pub bulla_blind: pallas::Base, +} + pub struct Builder { - dao_proposer_limit: u64, - dao_quorum: u64, - dao_approval_ratio: u64, - gov_token_id: pallas::Base, - dao_pubkey: PublicKey, - dao_bulla_blind: pallas::Base, - _signature_secret: SecretKey, + pub dao_proposer_limit: u64, + pub dao_quorum: u64, + pub dao_approval_ratio: u64, + pub gov_token_id: pallas::Base, + pub dao_pubkey: PublicKey, + pub dao_bulla_blind: pallas::Base, + pub _signature_secret: SecretKey, } impl Builder { - pub fn new( - dao_proposer_limit: u64, - dao_quorum: u64, - dao_approval_ratio: u64, - gov_token_id: pallas::Base, - dao_pubkey: PublicKey, - dao_bulla_blind: pallas::Base, - _signature_secret: SecretKey, - ) -> Self { - Self { - dao_proposer_limit, - dao_quorum, - dao_approval_ratio, - gov_token_id, - dao_pubkey, - dao_bulla_blind, - _signature_secret, - } - } - /// Consumes self, and produces the function call pub fn build(self, zk_bins: &ZkContractTable) -> FuncCall { // Dao bulla diff --git a/bin/daod/src/dao_contract/propose/wallet.rs b/bin/daod/src/dao_contract/propose/wallet.rs index 20eaae469..adeed07f9 100644 --- a/bin/daod/src/dao_contract/propose/wallet.rs +++ b/bin/daod/src/dao_contract/propose/wallet.rs @@ -19,7 +19,10 @@ use darkfi::{ }; use crate::{ - dao_contract::propose::validate::{CallData, Header, Input}, + dao_contract::{ + mint::wallet::DaoParams, + propose::validate::{CallData, Header, Input}, + }, demo::{FuncCall, ZkContractInfo, ZkContractTable}, money_contract, note, }; @@ -46,16 +49,6 @@ pub struct Proposal { pub blind: pallas::Base, } -#[derive(Clone)] -pub struct DaoParams { - pub proposer_limit: u64, - pub quorum: u64, - pub approval_ratio: u64, - pub gov_token_id: pallas::Base, - pub public_key: PublicKey, - pub bulla_blind: pallas::Base, -} - pub struct Builder { pub inputs: Vec, pub proposal: Proposal, @@ -63,7 +56,6 @@ pub struct Builder { pub dao_leaf_position: incrementalmerkletree::Position, pub dao_merkle_path: Vec, pub dao_merkle_root: MerkleNode, - //pub signature_secrets: Vec, } impl Builder { diff --git a/bin/daod/src/dao_contract/vote/wallet.rs b/bin/daod/src/dao_contract/vote/wallet.rs index d170766b4..23dbe6662 100644 --- a/bin/daod/src/dao_contract/vote/wallet.rs +++ b/bin/daod/src/dao_contract/vote/wallet.rs @@ -20,7 +20,8 @@ use rand::rngs::OsRng; use crate::{ dao_contract::{ - propose::wallet::{DaoParams, Proposal}, + mint::wallet::DaoParams, + propose::wallet::Proposal, vote::validate::{CallData, Header, Input}, }, demo::{FuncCall, ZkContractInfo, ZkContractTable}, diff --git a/bin/daod/src/demo.rs b/bin/daod/src/demo.rs index 3499bb97b..34f1cf998 100644 --- a/bin/daod/src/demo.rs +++ b/bin/daod/src/demo.rs @@ -383,15 +383,15 @@ pub async fn demo() -> Result<()> { let signature_secret = SecretKey::random(&mut OsRng); // Create DAO mint tx - let builder = dao_contract::mint::wallet::Builder::new( + let builder = dao_contract::mint::wallet::Builder { dao_proposer_limit, dao_quorum, dao_approval_ratio, - gdrk_token_id, - dao_keypair.public, + gov_token_id: gdrk_token_id, + dao_pubkey: dao_keypair.public, dao_bulla_blind, - signature_secret, - ); + _signature_secret: signature_secret, + }; let func_call = builder.build(&zk_bins); let func_calls = vec![func_call]; @@ -736,7 +736,7 @@ pub async fn demo() -> Result<()> { (merkle_path, root) }; - let dao_params = dao_contract::propose::wallet::DaoParams { + let dao_params = dao_contract::mint::wallet::DaoParams { proposer_limit: dao_proposer_limit, quorum: dao_quorum, approval_ratio: dao_approval_ratio,