Browse Source

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

travis-debug
darosior 5 years ago
committed by Christian Decker
parent
commit
4b13b88f6c
  1. 9
      bitcoin/chainparams.c
  2. 6
      bitcoin/chainparams.h

9
bitcoin/chainparams.c

@ -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++) {

6
bitcoin/chainparams.h

@ -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
*

Loading…
Cancel
Save