bitcoin/chainparams: add an utility to retrieve chainparams for all networks

This commit is contained in:
darosior 2019-11-28 15:10:08 +01:00 committed by Christian Decker
parent e6b8a02446
commit 4b13b88f6c
2 changed files with 15 additions and 0 deletions

View File

@ -1,6 +1,7 @@
#include "chainparams.h"
#include <ccan/array_size/array_size.h>
#include <ccan/str/str.h>
#include <common/utils.h>
#include <string.h>
/* Version codes for BIP32 extended keys in libwally-core.
@ -220,6 +221,14 @@ const struct chainparams *chainparams_for_network(const char *network_name)
return NULL;
}
const struct chainparams **chainparams_for_networks(const tal_t *ctx)
{
const struct chainparams **params = tal_arr(ctx, const struct chainparams*, 0);
for (size_t i = 0; i < ARRAY_SIZE(networks); i++)
tal_arr_expand(&params, &networks[i]);
return params;
}
const struct chainparams *chainparams_by_chainhash(const struct bitcoin_blkid *chain_hash)
{
for (size_t i = 0; i < ARRAY_SIZE(networks); i++) {

View File

@ -46,6 +46,12 @@ struct chainparams {
*/
const struct chainparams *chainparams_for_network(const char *network_name);
/**
* chainparams_for_networks - Get blockchain parameters for all known networks,
* as a tal array.
*/
const struct chainparams **chainparams_for_networks(const tal_t *ctx);
/**
* chainparams_by_bip173 - Helper to get a network by its bip173 name
*