mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 15:14:23 +01:00
json-rpc: Rename getroutestats and move stats to getinfo
Signed-off-by: Christian Decker <@cdecker>
This commit is contained in:
committed by
Rusty Russell
parent
6d333f16cc
commit
6b7546b94d
@@ -428,14 +428,10 @@ class LightningRpc(UnixDomainSocketRpc):
|
|||||||
"""
|
"""
|
||||||
return self.call("listfunds")
|
return self.call("listfunds")
|
||||||
|
|
||||||
def getroutestats(self, details=True):
|
def listforwards(self):
|
||||||
"""Get statistics about routed payments.
|
"""List all forwarded payments and their information
|
||||||
|
|
||||||
If @details is True, this'll include the individual forwarded
|
|
||||||
payments.
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return self.call("getroutestats", payload={'details': details})
|
return self.call("listforwards")
|
||||||
|
|
||||||
def dev_rescan_outputs(self):
|
def dev_rescan_outputs(self):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -138,6 +138,35 @@ static const struct json_command dev_crash_command = {
|
|||||||
AUTODATA(json_command, &dev_crash_command);
|
AUTODATA(json_command, &dev_crash_command);
|
||||||
#endif /* DEVELOPER */
|
#endif /* DEVELOPER */
|
||||||
|
|
||||||
|
static void getinfo_add_routestats(struct json_result *response,
|
||||||
|
struct wallet *wallet)
|
||||||
|
{
|
||||||
|
const struct forwarding_stats *stats;
|
||||||
|
stats = wallet_forwarded_payments_stats(wallet, tmpctx);
|
||||||
|
|
||||||
|
json_object_start(response, "routestats");
|
||||||
|
json_object_start(response, "settled");
|
||||||
|
json_add_num(response, "fee_msatoshis", stats->fee[FORWARD_SETTLED]);
|
||||||
|
json_add_num(response, "count", stats->count[FORWARD_SETTLED]);
|
||||||
|
json_add_num(response, "msatoshi", stats->msatoshi[FORWARD_SETTLED]);
|
||||||
|
json_object_end(response);
|
||||||
|
|
||||||
|
json_object_start(response, "failed");
|
||||||
|
json_add_num(response, "fee_msatoshis", stats->fee[FORWARD_FAILED]);
|
||||||
|
json_add_num(response, "count", stats->count[FORWARD_FAILED]);
|
||||||
|
json_add_num(response, "msatoshi", stats->msatoshi[FORWARD_FAILED]);
|
||||||
|
json_object_end(response);
|
||||||
|
|
||||||
|
json_object_start(response, "pending");
|
||||||
|
json_add_num(response, "fee_msatoshis", stats->fee[FORWARD_OFFERED]);
|
||||||
|
json_add_num(response, "count", stats->count[FORWARD_FAILED]);
|
||||||
|
json_add_num(response, "msatoshi", stats->msatoshi[FORWARD_FAILED]);
|
||||||
|
json_object_end(response);
|
||||||
|
json_object_end(response);
|
||||||
|
|
||||||
|
tal_free(stats);
|
||||||
|
}
|
||||||
|
|
||||||
static void json_getinfo(struct command *cmd,
|
static void json_getinfo(struct command *cmd,
|
||||||
const char *buffer UNUSED, const jsmntok_t *params UNUSED)
|
const char *buffer UNUSED, const jsmntok_t *params UNUSED)
|
||||||
{
|
{
|
||||||
@@ -167,6 +196,7 @@ static void json_getinfo(struct command *cmd,
|
|||||||
json_add_string(response, "version", version());
|
json_add_string(response, "version", version());
|
||||||
json_add_num(response, "blockheight", get_block_height(cmd->ld->topology));
|
json_add_num(response, "blockheight", get_block_height(cmd->ld->topology));
|
||||||
json_add_string(response, "network", get_chainparams(cmd->ld)->network_name);
|
json_add_string(response, "network", get_chainparams(cmd->ld)->network_name);
|
||||||
|
getinfo_add_routestats(response, cmd->ld->wallet);
|
||||||
json_object_end(response);
|
json_object_end(response);
|
||||||
command_success(cmd, response);
|
command_success(cmd, response);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1843,34 +1843,6 @@ static const struct json_command dev_ignore_htlcs = {
|
|||||||
AUTODATA(json_command, &dev_ignore_htlcs);
|
AUTODATA(json_command, &dev_ignore_htlcs);
|
||||||
#endif /* DEVELOPER */
|
#endif /* DEVELOPER */
|
||||||
|
|
||||||
static void listforwardings_add_stats(struct json_result *response, struct wallet *wallet)
|
|
||||||
{
|
|
||||||
const struct forwarding_stats *stats;
|
|
||||||
stats = wallet_forwarded_payments_stats(wallet, tmpctx);
|
|
||||||
|
|
||||||
json_object_start(response, "stats");
|
|
||||||
json_object_start(response, "settled");
|
|
||||||
json_add_num(response, "fee_msatoshis", stats->fee[FORWARD_SETTLED]);
|
|
||||||
json_add_num(response, "count", stats->count[FORWARD_SETTLED]);
|
|
||||||
json_add_num(response, "msatoshi", stats->msatoshi[FORWARD_SETTLED]);
|
|
||||||
json_object_end(response);
|
|
||||||
|
|
||||||
json_object_start(response, "failed");
|
|
||||||
json_add_num(response, "fee_msatoshis", stats->fee[FORWARD_FAILED]);
|
|
||||||
json_add_num(response, "count", stats->count[FORWARD_FAILED]);
|
|
||||||
json_add_num(response, "msatoshi", stats->msatoshi[FORWARD_FAILED]);
|
|
||||||
json_object_end(response);
|
|
||||||
|
|
||||||
json_object_start(response, "pending");
|
|
||||||
json_add_num(response, "fee_msatoshis", stats->fee[FORWARD_OFFERED]);
|
|
||||||
json_add_num(response, "count", stats->count[FORWARD_FAILED]);
|
|
||||||
json_add_num(response, "msatoshi", stats->msatoshi[FORWARD_FAILED]);
|
|
||||||
json_object_end(response);
|
|
||||||
json_object_end(response);
|
|
||||||
|
|
||||||
tal_free(stats);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void listforwardings_add_forwardings(struct json_result *response, struct wallet *wallet)
|
static void listforwardings_add_forwardings(struct json_result *response, struct wallet *wallet)
|
||||||
{
|
{
|
||||||
const struct forwarding *forwardings;
|
const struct forwarding *forwardings;
|
||||||
@@ -1894,31 +1866,24 @@ static void listforwardings_add_forwardings(struct json_result *response, struct
|
|||||||
tal_free(forwardings);
|
tal_free(forwardings);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void json_getroutestats(struct command *cmd, const char *buffer,
|
static void json_listforwards(struct command *cmd, const char *buffer,
|
||||||
const jsmntok_t *params)
|
const jsmntok_t *params)
|
||||||
{
|
{
|
||||||
struct json_result *response = new_json_result(cmd);
|
struct json_result *response = new_json_result(cmd);
|
||||||
bool *details;
|
|
||||||
|
|
||||||
if (!param(cmd, buffer, params,
|
if (!param(cmd, buffer, params, NULL))
|
||||||
p_opt_def("details", json_tok_bool, &details, true),
|
|
||||||
NULL))
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
json_object_start(response, NULL);
|
json_object_start(response, NULL);
|
||||||
listforwardings_add_stats(response, cmd->ld->wallet);
|
|
||||||
|
|
||||||
if (*details)
|
|
||||||
listforwardings_add_forwardings(response, cmd->ld->wallet);
|
listforwardings_add_forwardings(response, cmd->ld->wallet);
|
||||||
|
|
||||||
json_object_end(response);
|
json_object_end(response);
|
||||||
|
|
||||||
command_success(cmd, response);
|
command_success(cmd, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct json_command getroutestats_command = {
|
static const struct json_command listforwards_command = {
|
||||||
"getroutestats", json_getroutestats,
|
"listforwards", json_listforwards,
|
||||||
"Get statistics about routed / forwarded payments", false,
|
"List all forwarded payments and their information", false,
|
||||||
"Get statistics about routed payments, i.e., the ones we aren't the initiator or recipient, including a detailed list if {details} is true."
|
"List all forwarded payments and their information"
|
||||||
};
|
};
|
||||||
AUTODATA(json_command, &getroutestats_command);
|
AUTODATA(json_command, &listforwards_command);
|
||||||
|
|||||||
@@ -1047,6 +1047,6 @@ def test_forward_stats(node_factory, bitcoind):
|
|||||||
|
|
||||||
assert outchan['out_msatoshi_fulfilled'] < inchan['in_msatoshi_fulfilled']
|
assert outchan['out_msatoshi_fulfilled'] < inchan['in_msatoshi_fulfilled']
|
||||||
|
|
||||||
stats = l2.rpc.getroutestats()
|
stats = l2.rpc.listforwards()
|
||||||
|
|
||||||
assert [f['status'] for f in stats['forwards']] == ['settled', 'failed', 'offered']
|
assert [f['status'] for f in stats['forwards']] == ['settled', 'failed', 'offered']
|
||||||
|
|||||||
Reference in New Issue
Block a user