Skip to content
Snippets Groups Projects
Commit 5905ca24 authored by alexey.stratulat's avatar alexey.stratulat
Browse files

[+] Added function get balance.

parent 03c5b590
No related branches found
No related tags found
1 merge request!16Features 2773
...@@ -405,3 +405,31 @@ dap_chain_wallet_t * dap_chain_wallet_open(const char * a_wallet_name, const cha ...@@ -405,3 +405,31 @@ dap_chain_wallet_t * dap_chain_wallet_open(const char * a_wallet_name, const cha
DAP_DELETE(l_file_name); DAP_DELETE(l_file_name);
return l_wallet; return l_wallet;
} }
/**
* @brief dap_chain_wallet_get_balance
* @param a_wallet
* @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)
{
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);
uint64_t l_balance = 0;
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);
}
return l_balance;
}
...@@ -58,4 +58,6 @@ size_t dap_chain_wallet_get_certs_number( dap_chain_wallet_t * a_wallet); ...@@ -58,4 +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_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); 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);
int dap_chain_wallet_save_file( dap_chain_wallet_t * a_wallet); int dap_chain_wallet_save_file( dap_chain_wallet_t * a_wallet);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment