From 8b60b0f8d1b3b6ce9ccc838d813dbe4c46cbfedb Mon Sep 17 00:00:00 2001 From: "alexey.stratulat" <alexey.stratulat@demlabs.net> Date: Wed, 29 Apr 2020 20:29:32 +0700 Subject: [PATCH] [*] Fix. Now the function of receiving the balance takes as an argument the name of the currency, the number of which on the wallet needs to be returned. --- dap_chain_wallet.c | 15 +++------------ dap_chain_wallet.h | 2 +- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/dap_chain_wallet.c b/dap_chain_wallet.c index bb0164f..0b30adb 100755 --- a/dap_chain_wallet.c +++ b/dap_chain_wallet.c @@ -412,7 +412,7 @@ dap_chain_wallet_t * dap_chain_wallet_open(const char * a_wallet_name, const cha * @param a_net_id * @return */ -uint64_t dap_chain_wallet_get_balance(dap_chain_wallet_t *a_wallet, dap_chain_net_id_t a_net_id) +uint64_t dap_chain_wallet_get_balance(dap_chain_wallet_t *a_wallet, dap_chain_net_id_t a_net_id, char *a_token_ticker) { dap_chain_net_t *l_net = dap_chain_net_by_id(a_net_id); dap_chain_addr_t *l_addr =dap_chain_wallet_get_addr(a_wallet, a_net_id); @@ -420,16 +420,7 @@ uint64_t dap_chain_wallet_get_balance(dap_chain_wallet_t *a_wallet, dap_chain_ne if (l_net) { dap_ledger_t *l_ledger = l_net->pub.ledger; - size_t l_addr_tokens_size = 0; - char **l_addr_tokens = NULL; - dap_chain_ledger_addr_get_token_ticker_all_fast(l_ledger, l_addr, &l_addr_tokens, &l_addr_tokens_size); - for(size_t i = 0; i < l_addr_tokens_size; i++) { - if(l_addr_tokens[i]) { - l_balance = l_balance + dap_chain_ledger_calc_balance(l_ledger, l_addr, l_addr_tokens[i]); - } - DAP_DELETE(l_addr_tokens[i]); - } - DAP_DELETE(l_addr_tokens); - } + l_balance = dap_chain_ledger_calc_balance(l_ledger, l_addr, a_token_ticker); + } return l_balance; } diff --git a/dap_chain_wallet.h b/dap_chain_wallet.h index b4cc933..c58ca63 100755 --- a/dap_chain_wallet.h +++ b/dap_chain_wallet.h @@ -58,6 +58,6 @@ size_t dap_chain_wallet_get_certs_number( dap_chain_wallet_t * a_wallet); dap_pkey_t * dap_chain_wallet_get_pkey( dap_chain_wallet_t * a_wallet,uint32_t a_key_idx); dap_enc_key_t * dap_chain_wallet_get_key( dap_chain_wallet_t * a_wallet,uint32_t a_key_idx); -uint64_t dap_chain_wallet_get_balance(dap_chain_wallet_t *a_wallet, dap_chain_net_id_t a_net_id); +uint64_t dap_chain_wallet_get_balance(dap_chain_wallet_t *a_wallet, dap_chain_net_id_t a_net_id, char *a_token_ticker); int dap_chain_wallet_save_file( dap_chain_wallet_t * a_wallet); -- GitLab