mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 15:14:23 +01:00
json: Move param_bitcoin_address from wallet/walletrpc.c to lightningd/json.c
It's a useful helper, and it will be used to prase address in `close` command.
This commit is contained in:
@@ -572,3 +572,29 @@ json_to_address_scriptpubkey(const tal_t *ctx,
|
|||||||
|
|
||||||
return ADDRESS_PARSE_UNRECOGNIZED;
|
return ADDRESS_PARSE_UNRECOGNIZED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct command_result *param_bitcoin_address(struct command *cmd,
|
||||||
|
const char *name,
|
||||||
|
const char *buffer,
|
||||||
|
const jsmntok_t *tok,
|
||||||
|
const u8 **scriptpubkey)
|
||||||
|
{
|
||||||
|
/* Parse address. */
|
||||||
|
switch (json_to_address_scriptpubkey(cmd,
|
||||||
|
get_chainparams(cmd->ld),
|
||||||
|
buffer, tok,
|
||||||
|
scriptpubkey)) {
|
||||||
|
case ADDRESS_PARSE_UNRECOGNIZED:
|
||||||
|
return command_fail(cmd, LIGHTNINGD,
|
||||||
|
"Could not parse destination address, "
|
||||||
|
"%s should be a valid address",
|
||||||
|
name ? name : "address field");
|
||||||
|
case ADDRESS_PARSE_WRONG_NETWORK:
|
||||||
|
return command_fail(cmd, LIGHTNINGD,
|
||||||
|
"Destination address is not on network %s",
|
||||||
|
get_chainparams(cmd->ld)->network_name);
|
||||||
|
case ADDRESS_PARSE_SUCCESS:
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
abort();
|
||||||
|
}
|
||||||
|
|||||||
@@ -211,4 +211,10 @@ void json_add_time(struct json_stream *result, const char *fieldname,
|
|||||||
void json_add_sha256(struct json_stream *result, const char *fieldname,
|
void json_add_sha256(struct json_stream *result, const char *fieldname,
|
||||||
const struct sha256 *hash);
|
const struct sha256 *hash);
|
||||||
|
|
||||||
|
struct command_result *param_bitcoin_address(struct command *cmd,
|
||||||
|
const char *name,
|
||||||
|
const char *buffer,
|
||||||
|
const jsmntok_t *tok,
|
||||||
|
const u8 **scriptpubkey);
|
||||||
|
|
||||||
#endif /* LIGHTNING_LIGHTNINGD_JSON_H */
|
#endif /* LIGHTNING_LIGHTNINGD_JSON_H */
|
||||||
|
|||||||
@@ -609,6 +609,13 @@ struct txowatch *watch_txo(const tal_t *ctx UNNEEDED,
|
|||||||
size_t input_num UNNEEDED,
|
size_t input_num UNNEEDED,
|
||||||
const struct block *block))
|
const struct block *block))
|
||||||
{ fprintf(stderr, "watch_txo called!\n"); abort(); }
|
{ fprintf(stderr, "watch_txo called!\n"); abort(); }
|
||||||
|
/* Generated stub for param_bitcoin_address */
|
||||||
|
struct command_result *param_bitcoin_address(struct command *cmd UNNEEDED,
|
||||||
|
const char *name UNNEEDED,
|
||||||
|
const char *buffer UNNEEDED,
|
||||||
|
const jsmntok_t *tok UNNEEDED,
|
||||||
|
const u8 **scriptpubkey UNNEEDED)
|
||||||
|
{ fprintf(stderr, "param_bitcoin_address called!\n"); abort(); }
|
||||||
/* AUTOGENERATED MOCKS END */
|
/* AUTOGENERATED MOCKS END */
|
||||||
|
|
||||||
#if DEVELOPER
|
#if DEVELOPER
|
||||||
|
|||||||
@@ -99,6 +99,9 @@ struct command_result *param_tok(struct command *cmd UNNEEDED, const char *name
|
|||||||
const char *buffer UNNEEDED, const jsmntok_t * tok UNNEEDED,
|
const char *buffer UNNEEDED, const jsmntok_t * tok UNNEEDED,
|
||||||
const jsmntok_t **out UNNEEDED)
|
const jsmntok_t **out UNNEEDED)
|
||||||
{ fprintf(stderr, "param_tok called!\n"); abort(); }
|
{ fprintf(stderr, "param_tok called!\n"); abort(); }
|
||||||
|
/* Generated stub for get_chainparams */
|
||||||
|
const struct chainparams *get_chainparams(const struct lightningd *ld UNNEEDED)
|
||||||
|
{ fprintf(stderr, "get_chainparams called!\n"); abort(); }
|
||||||
/* AUTOGENERATED MOCKS END */
|
/* AUTOGENERATED MOCKS END */
|
||||||
|
|
||||||
bool deprecated_apis;
|
bool deprecated_apis;
|
||||||
|
|||||||
@@ -608,6 +608,13 @@ struct txowatch *watch_txo(const tal_t *ctx UNNEEDED,
|
|||||||
size_t input_num UNNEEDED,
|
size_t input_num UNNEEDED,
|
||||||
const struct block *block))
|
const struct block *block))
|
||||||
{ fprintf(stderr, "watch_txo called!\n"); abort(); }
|
{ fprintf(stderr, "watch_txo called!\n"); abort(); }
|
||||||
|
/* Generated stub for param_bitcoin_address */
|
||||||
|
struct command_result *param_bitcoin_address(struct command *cmd UNNEEDED,
|
||||||
|
const char *name UNNEEDED,
|
||||||
|
const char *buffer UNNEEDED,
|
||||||
|
const jsmntok_t *tok UNNEEDED,
|
||||||
|
const u8 **scriptpubkey UNNEEDED)
|
||||||
|
{ fprintf(stderr, "param_bitcoin_address called!\n"); abort(); }
|
||||||
/* AUTOGENERATED MOCKS END */
|
/* AUTOGENERATED MOCKS END */
|
||||||
|
|
||||||
#if DEVELOPER
|
#if DEVELOPER
|
||||||
|
|||||||
@@ -73,32 +73,6 @@ static void wallet_withdrawal_broadcast(struct bitcoind *bitcoind UNUSED,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct command_result *param_bitcoin_address(struct command *cmd,
|
|
||||||
const char *name,
|
|
||||||
const char *buffer,
|
|
||||||
const jsmntok_t *tok,
|
|
||||||
const u8 **scriptpubkey)
|
|
||||||
{
|
|
||||||
/* Parse address. */
|
|
||||||
switch (json_to_address_scriptpubkey(cmd,
|
|
||||||
get_chainparams(cmd->ld),
|
|
||||||
buffer, tok,
|
|
||||||
scriptpubkey)) {
|
|
||||||
case ADDRESS_PARSE_UNRECOGNIZED:
|
|
||||||
return command_fail(cmd, LIGHTNINGD,
|
|
||||||
"Could not parse destination address, "
|
|
||||||
"%s should be a valid address",
|
|
||||||
name ? name : "address field");
|
|
||||||
case ADDRESS_PARSE_WRONG_NETWORK:
|
|
||||||
return command_fail(cmd, LIGHTNINGD,
|
|
||||||
"Destination address is not on network %s",
|
|
||||||
get_chainparams(cmd->ld)->network_name);
|
|
||||||
case ADDRESS_PARSE_SUCCESS:
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
abort();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Signs the tx, broadcasts it: broadcast calls wallet_withdrawal_broadcast */
|
/* Signs the tx, broadcasts it: broadcast calls wallet_withdrawal_broadcast */
|
||||||
static struct command_result *broadcast_and_wait(struct command *cmd,
|
static struct command_result *broadcast_and_wait(struct command *cmd,
|
||||||
struct unreleased_tx *utx)
|
struct unreleased_tx *utx)
|
||||||
|
|||||||
Reference in New Issue
Block a user