daod: moved DaoParams to dao_contract::mint::wallet + removed new() from mint::wallet::Builder()

This commit is contained in:
lunar-mining
2022-09-03 09:31:12 +02:00
parent 2f2f1d959a
commit 608e1981e3
5 changed files with 30 additions and 50 deletions

View File

@@ -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},
};

View File

@@ -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

View File

@@ -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<BuilderInput>,
pub proposal: Proposal,
@@ -63,7 +56,6 @@ pub struct Builder {
pub dao_leaf_position: incrementalmerkletree::Position,
pub dao_merkle_path: Vec<MerkleNode>,
pub dao_merkle_root: MerkleNode,
//pub signature_secrets: Vec<SecretKey>,
}
impl Builder {

View File

@@ -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},

View File

@@ -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,