From 58940eb228b152e3f3b13bec31e48e5cf27cc709 Mon Sep 17 00:00:00 2001 From: ghassmo Date: Mon, 25 Oct 2021 11:36:55 +0300 Subject: [PATCH] darkfid: get nullifier from walletdb instead of calculate it --- src/bin/darkfid.rs | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/src/bin/darkfid.rs b/src/bin/darkfid.rs index d0c420d49..85251cbd3 100644 --- a/src/bin/darkfid.rs +++ b/src/bin/darkfid.rs @@ -5,7 +5,6 @@ use std::str::FromStr; use async_executor::Executor; use async_trait::async_trait; -use blake2s_simd::Params as Blake2sParams; use clap::clap_app; use easy_parallel::Parallel; use log::debug; @@ -18,7 +17,7 @@ use drk::{ cli::{Config, DarkfidConfig}, client::{Client, State}, crypto::{ - load_params, merkle::CommitmentTree, nullifier::Nullifier, save_params, setup_mint_prover, + load_params, merkle::CommitmentTree, save_params, setup_mint_prover, setup_spend_prover, }, rpc::{ @@ -108,26 +107,21 @@ impl Darkfid { async fn update_balances(&self) -> Result<()> { let own_coins = self.client.lock().await.get_own_coins()?; - for own_coin in own_coins { - let mut nullifier = [0; 32]; - nullifier.copy_from_slice( - Blake2sParams::new() - .hash_length(32) - .personal(zcash_primitives::constants::PRF_NF_PERSONALIZATION) - .to_state() - .update(&own_coin.secret.to_bytes()) - .update(&own_coin.note.serial.to_bytes()) - .finalize() - .as_bytes(), - ); - let nullifier = Nullifier::new(nullifier); - let nullifier_exists = self.state.lock().await.nullifier_exists(&nullifier); + for own_coin in own_coins.iter() { + + let nullifier_exists = self + .state + .lock() + .await + .nullifier_exists(&own_coin.nullifier); + if nullifier_exists { self.client .lock() .await .confirm_spend_coin(&own_coin.coin)?; } + } Ok(()) }