From 23ca16d215e7789ccd7be9a5c3cc57c481be371a Mon Sep 17 00:00:00 2001 From: Constantin <papizh.konstantin@demlabs.net> Date: Fri, 12 May 2023 14:30:12 +0700 Subject: [PATCH] ... --- modules/chain/dap_chain_ledger.c | 20 ++++++++++++++++++++ modules/chain/include/dap_chain_ledger.h | 4 ++++ 2 files changed, 24 insertions(+) diff --git a/modules/chain/dap_chain_ledger.c b/modules/chain/dap_chain_ledger.c index ca769f4f7b..c90c9e70c1 100644 --- a/modules/chain/dap_chain_ledger.c +++ b/modules/chain/dap_chain_ledger.c @@ -1783,6 +1783,26 @@ dap_list_t *dap_chain_ledger_token_info(dap_ledger_t *a_ledger) return l_ret_list; } +/** + * @brief Get all token declatations + * @param a_ledger + * @return + */ +dap_list_t* dap_chain_ledger_token_decl_all(dap_ledger_t *a_ledger) +{ + dap_list_t * l_ret = NULL; + dap_chain_ledger_token_item_t *l_token_item, *l_tmp_item; + pthread_rwlock_rdlock(&PVT(a_ledger)->tokens_rwlock); + + HASH_ITER(hh, PVT(a_ledger)->tokens, l_token_item, l_tmp_item) { + dap_chain_datum_token_t *l_token = l_token_item->datum_token; + l_ret = dap_list_append(l_ret, l_token); + } + pthread_rwlock_unlock(&PVT(a_ledger)->tokens_rwlock); + return l_ret; +} + + /** * @brief s_threshold_emissions_proc * @param a_ledger diff --git a/modules/chain/include/dap_chain_ledger.h b/modules/chain/include/dap_chain_ledger.h index c76a9d1127..e0cc9f45e2 100644 --- a/modules/chain/include/dap_chain_ledger.h +++ b/modules/chain/include/dap_chain_ledger.h @@ -142,6 +142,10 @@ int dap_chain_ledger_token_add(dap_ledger_t *a_ledger, dap_chain_datum_token_t * int dap_chain_ledger_token_load(dap_ledger_t *a_ledger, dap_chain_datum_token_t *a_token, size_t a_token_size); int dap_chain_ledger_token_decl_add_check(dap_ledger_t *a_ledger, dap_chain_datum_token_t *a_token, size_t a_token_size); dap_list_t *dap_chain_ledger_token_info(dap_ledger_t *a_ledger); + +// Get all token-declarations +dap_list_t* dap_chain_ledger_token_decl_all(dap_ledger_t *a_ledger); + dap_string_t *dap_chain_ledger_threshold_info(dap_ledger_t *a_ledger); dap_string_t *dap_chain_ledger_threshold_hash_info(dap_ledger_t *a_ledger, dap_chain_hash_fast_t *l_tx_treshold_hash); dap_string_t *dap_chain_ledger_balance_info(dap_ledger_t *a_ledger); -- GitLab