mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-04-28 03:00:18 -04:00
contract/dao: Use zkas_db_set for zk proofs.
This commit is contained in:
@@ -24,8 +24,7 @@ use darkfi_sdk::{
|
||||
MONEY_CONTRACT_ID,
|
||||
},
|
||||
db::{
|
||||
db_contains_key, db_del, db_get, db_init, db_lookup, db_set, set_return_data,
|
||||
SMART_CONTRACT_ZKAS_DB_NAME,
|
||||
db_contains_key, db_del, db_get, db_init, db_lookup, db_set, set_return_data, zkas_db_set,
|
||||
},
|
||||
error::{ContractError, ContractResult},
|
||||
merkle_add, msg, ContractCall,
|
||||
@@ -72,25 +71,13 @@ pub const DAO_VOTE_NULLS: &str = "dao_vote_nulls";
|
||||
|
||||
fn init_contract(cid: ContractId, _ix: &[u8]) -> ContractResult {
|
||||
// The zkas circuits can simply be embedded in the wasm and set up by
|
||||
// the initialization. Note that the tree should then be called "zkas".
|
||||
// The lookups can then be done by `contract_id+_zkas+namespace`.
|
||||
let zkas_db = match db_lookup(cid, SMART_CONTRACT_ZKAS_DB_NAME) {
|
||||
Ok(v) => v,
|
||||
Err(_) => db_init(cid, SMART_CONTRACT_ZKAS_DB_NAME)?,
|
||||
};
|
||||
let dao_exec_bin = include_bytes!("../proof/dao-exec.zk.bin");
|
||||
let dao_mint_bin = include_bytes!("../proof/dao-mint.zk.bin");
|
||||
let dao_vote_burn_bin = include_bytes!("../proof/dao-vote-burn.zk.bin");
|
||||
let dao_vote_main_bin = include_bytes!("../proof/dao-vote-main.zk.bin");
|
||||
let dao_propose_burn_bin = include_bytes!("../proof/dao-propose-burn.zk.bin");
|
||||
let dao_propose_main_bin = include_bytes!("../proof/dao-propose-main.zk.bin");
|
||||
|
||||
db_set(zkas_db, &serialize(&DAO_CONTRACT_ZKAS_DAO_EXEC_NS), &dao_exec_bin[..])?;
|
||||
db_set(zkas_db, &serialize(&DAO_CONTRACT_ZKAS_DAO_MINT_NS), &dao_mint_bin[..])?;
|
||||
db_set(zkas_db, &serialize(&DAO_CONTRACT_ZKAS_DAO_VOTE_BURN_NS), &dao_vote_burn_bin[..])?;
|
||||
db_set(zkas_db, &serialize(&DAO_CONTRACT_ZKAS_DAO_VOTE_MAIN_NS), &dao_vote_main_bin[..])?;
|
||||
db_set(zkas_db, &serialize(&DAO_CONTRACT_ZKAS_DAO_PROPOSE_BURN_NS), &dao_propose_burn_bin[..])?;
|
||||
db_set(zkas_db, &serialize(&DAO_CONTRACT_ZKAS_DAO_PROPOSE_MAIN_NS), &dao_propose_main_bin[..])?;
|
||||
// the initialization.
|
||||
zkas_db_set(&include_bytes!("../proof/dao-exec.zk.bin")[..])?;
|
||||
zkas_db_set(&include_bytes!("../proof/dao-mint.zk.bin")[..])?;
|
||||
zkas_db_set(&include_bytes!("../proof/dao-vote-burn.zk.bin")[..])?;
|
||||
zkas_db_set(&include_bytes!("../proof/dao-vote-main.zk.bin")[..])?;
|
||||
zkas_db_set(&include_bytes!("../proof/dao-propose-burn.zk.bin")[..])?;
|
||||
zkas_db_set(&include_bytes!("../proof/dao-propose-main.zk.bin")[..])?;
|
||||
|
||||
// Setup db for general info
|
||||
let dao_info_db = match db_lookup(cid, DB_INFO) {
|
||||
|
||||
Reference in New Issue
Block a user