mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-09 22:57:59 -05:00
daod: moved DaoParams to dao_contract::mint::wallet + removed new() from mint::wallet::Builder()
This commit is contained in:
@@ -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},
|
||||
};
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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},
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user