diff --git a/dap_chain_wallet.c b/dap_chain_wallet.c index bb0164f6294c73e1f710551588485e3d58d7e008..0b30adb47cf7b59d71787ce167e9df1de6a8b0f6 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 b4cc933e5e6d398c5d02f73d3b83178581fe3a67..c58ca634974a7dc6048d90d9470aba0302ab8f09 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);