core-lightning/plugins/bkpr/channelsapy.h

44 lines
1.1 KiB
C
Raw Normal View History

bkpr: command to calculate some APYs/stats on channel routing fees Computes some stats from the net routed fees etc ``` { "channel_apys": [ { "account": "7de277250f8003c35378c1eb20aacf8fa6a69dd4bb22077266329a9ad812cd5d", "routed_out": "2000msat", "routed_in": "125100101msat", "lease_fee_paid": "0msat", "lease_fee_earned": "670000msat", "pushed_out": "0msat", "pushed_in": "0msat", "our_start_balance": "100670000msat", "channel_start_balance": "1100670000msat", "fees_out": "0msat", "fees_in": "10100101msat", "utilization_out": "0.0002%", "utilization_out_initial": "0.0020%", "utilization_in": "11.3658%", "utilization_in_initial": "12.5100%", "apy_out": "0.0000%", "apy_out_initial": "0.0000%", "apy_in": "3203.3924%", "apy_in_initial": "3525.8779%", "apy_total": "3203.3924%", "apy_total_initial": "3203.3924%", "apy_lease": "8.7014%" }, { "account": "b71937a02eb7694d946c311297ca2da454057c5c3e97ac67500739cc2afbc0c5", "routed_out": "110000000msat", "routed_in": "0msat", "lease_fee_paid": "670000msat", "lease_fee_earned": "0msat", "pushed_out": "0msat", "pushed_in": "0msat", "our_start_balance": "4000000000msat", "channel_start_balance": "4100670000msat", "fees_out": "10100101msat", "fees_in": "0msat", "utilization_out": "2.6825%", "utilization_out_initial": "2.7500%", "utilization_in": "0.0000%", "utilization_in_initial": "0.0000%", "apy_out": "2579.4892%", "apy_out_initial": "2644.4084%", "apy_in": "0.0000%", "apy_in_initial": "0.0000%", "apy_total": "2579.4892%", "apy_total_initial": "2579.4892%" }, { "account": "net", "routed_out": "110002000msat", "routed_in": "125100101msat", "lease_fee_paid": "670000msat", "lease_fee_earned": "670000msat", "pushed_out": "0msat", "pushed_in": "0msat", "our_start_balance": "4100670000msat", "channel_start_balance": "5201340000msat", "fees_out": "10100101msat", "fees_in": "10100101msat", "utilization_out": "2.1149%", "utilization_out_initial": "2.6825%", "utilization_in": "2.4052%", "utilization_in_initial": "11.3658%", "apy_out": "677.8788%", "apy_out_initial": "859.8297%", "apy_in": "677.8788%", "apy_in_initial": "3203.3924%", "apy_total": "1355.7575%", "apy_total_initial": "1355.7575%", "apy_lease": "0.2122%" } ] } ```
2022-07-19 09:34:37 +02:00
#ifndef LIGHTNING_PLUGINS_BKPR_CHANNELSAPY_H
#define LIGHTNING_PLUGINS_BKPR_CHANNELSAPY_H
#include "config.h"
#include <ccan/tal/tal.h>
struct channel_apy {
char *acct_name;
struct amount_msat routed_in;
struct amount_msat routed_out;
struct amount_msat fees_in;
struct amount_msat fees_out;
struct amount_msat push_in;
struct amount_msat push_out;
struct amount_msat lease_in;
struct amount_msat lease_out;
struct amount_msat our_start_bal;
struct amount_msat total_start_bal;
/* Blockheight the channel opened */
u32 start_blockheight;
/* If channel_close, the channel_close event's blockheight,
* otherwise the current blockheight */
u32 end_blockheight;
};
struct channel_apy *new_channel_apy(const tal_t *ctx);
WARN_UNUSED_RESULT bool channel_apy_sum(struct channel_apy *sum_apy,
const struct channel_apy *entry);
struct channel_apy **compute_channel_apys(const tal_t *ctx, struct db *db,
u64 start_time,
u64 end_time,
u32 current_blockheight);
void json_add_channel_apy(struct json_stream *res,
const struct channel_apy *apy);
#endif /* LIGHTNING_PLUGINS_BKPR_CHANNELSAPY_H */