mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
af4ffe5fcd
This patch adds a channel_id parameter to allow for specifying channels that are lacking a short_channel_id. Useful in the case where a peer has 1) multiple channels (ONCHAIN etc) and 2) a channel where the funding transaction hasn't been broadcast/mined.
58 lines
1.9 KiB
C
58 lines
1.9 KiB
C
/* More specialized (bitcoin, lightning-specific) JSON helpers. */
|
|
#ifndef LIGHTNING_COMMON_JSON_HELPERS_H
|
|
#define LIGHTNING_COMMON_JSON_HELPERS_H
|
|
#include "config.h"
|
|
#include <bitcoin/tx.h>
|
|
#include <common/json.h>
|
|
#include <wire/wire.h>
|
|
|
|
struct amount_msat;
|
|
struct amount_sat;
|
|
struct pubkey;
|
|
struct node_id;
|
|
struct short_channel_id;
|
|
|
|
/* Extract a pubkey from this */
|
|
bool json_to_pubkey(const char *buffer, const jsmntok_t *tok,
|
|
struct pubkey *pubkey);
|
|
|
|
/* Extract node_id from this: makes sure *id is valid! */
|
|
bool json_to_node_id(const char *buffer, const jsmntok_t *tok,
|
|
struct node_id *id);
|
|
|
|
/* Extract satoshis from this (may be a string, or a decimal number literal) */
|
|
bool json_to_bitcoin_amount(const char *buffer, const jsmntok_t *tok,
|
|
uint64_t *satoshi);
|
|
|
|
/* Extract a short_channel_id from this */
|
|
bool json_to_short_channel_id(const char *buffer, const jsmntok_t *tok,
|
|
struct short_channel_id *scid);
|
|
|
|
/* Extract a satoshis amount from this */
|
|
bool json_to_sat(const char *buffer, const jsmntok_t *tok,
|
|
struct amount_sat *sat);
|
|
|
|
/* Extract a satoshis amount from this */
|
|
/* If the string is "all", set amonut as AMOUNT_SAT(-1ULL). */
|
|
bool json_to_sat_or_all(const char *buffer, const jsmntok_t *tok,
|
|
struct amount_sat *sat);
|
|
|
|
/* Extract a millisatoshis amount from this */
|
|
bool json_to_msat(const char *buffer, const jsmntok_t *tok,
|
|
struct amount_msat *msat);
|
|
|
|
/* Extract a bitcoin txid from this */
|
|
bool json_to_txid(const char *buffer, const jsmntok_t *tok,
|
|
struct bitcoin_txid *txid);
|
|
|
|
/* Extract a channel id from this */
|
|
bool json_to_channel_id(const char *buffer, const jsmntok_t *tok,
|
|
struct channel_id *cid);
|
|
|
|
/* Split a json token into 2 tokens given a splitting character */
|
|
bool split_tok(const char *buffer, const jsmntok_t *tok,
|
|
char split,
|
|
jsmntok_t *a,
|
|
jsmntok_t *b);
|
|
#endif /* LIGHTNING_COMMON_JSON_HELPERS_H */
|