From 9ac4c5d9c23f8c286b3dacfbcde86bed983e0217 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Tue, 6 Oct 2026 02:41:06 +0200 Subject: [PATCH 01/28] common: option_independent_secrets, a channel type add-on (266/267) Proposed in a draft bLIP: a channel type add-on under which a node doesn't require its peer's per-commitment secrets to come from a shachain, so the peer can generate them k-of-n. This adds the bits (even in the channel type, odd in init and node_announcement), their name, the dependency on option_channel_type, and accepts the add-on as a variant of either basic channel type when we offer it. Nothing offers it yet. --- common/channel_type.c | 8 ++++++++ common/channel_type.h | 2 ++ common/features.c | 11 +++++++++++ common/features.h | 3 +++ common/test/run-channel_type.c | 26 +++++++++++++++++++++++++- 5 files changed, 49 insertions(+), 1 deletion(-) diff --git a/common/channel_type.c b/common/channel_type.c index 930e28da1d94..bd1f11b44006 100644 --- a/common/channel_type.c +++ b/common/channel_type.c @@ -62,6 +62,12 @@ void channel_type_set_unified_sigs(struct channel_type *type) COMPULSORY_FEATURE(OPT_UNIFIED_SIGS)); } +void channel_type_set_independent_secrets(struct channel_type *type) +{ + set_feature_bit(&type->features, + COMPULSORY_FEATURE(OPT_INDEPENDENT_SECRETS)); +} + void channel_type_set_scid_alias(struct channel_type *type) { set_feature_bit(&type->features, @@ -132,6 +138,7 @@ struct channel_type *channel_type_accept(const tal_t *ctx, static const size_t feats[] = { OPT_UNIFIED_SIGS, + OPT_INDEPENDENT_SECRETS, OPT_ANCHORS_ZERO_FEE_HTLC_TX, OPT_STATIC_REMOTEKEY, OPT_SCID_ALIAS, @@ -145,6 +152,7 @@ struct channel_type *channel_type_accept(const tal_t *ctx, */ static const size_t variants[] = { OPT_UNIFIED_SIGS, + OPT_INDEPENDENT_SECRETS, OPT_SCID_ALIAS, OPT_ZEROCONF, }; diff --git a/common/channel_type.h b/common/channel_type.h index 4c3c1d90c703..dfd6bea9466c 100644 --- a/common/channel_type.h +++ b/common/channel_type.h @@ -13,6 +13,8 @@ struct channel_type *channel_type_anchors_zero_fee_htlc(const tal_t *ctx); /* channel_type variants */ void channel_type_set_zeroconf(struct channel_type *channel_type); void channel_type_set_unified_sigs(struct channel_type *channel_type); +/* Add option_independent_secrets to a channel type. */ +void channel_type_set_independent_secrets(struct channel_type *channel_type); void channel_type_set_scid_alias(struct channel_type *channel_type); /* Duplicate a channel_type */ diff --git a/common/features.c b/common/features.c index 6dfdd5b79ac3..6595dea25ae7 100644 --- a/common/features.c +++ b/common/features.c @@ -47,6 +47,12 @@ static const struct feature_style feature_styles[] = { .copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT_AS_OPTIONAL, [NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT_AS_OPTIONAL, [CHANNEL_TYPE_FEATURE] = FEATURE_REPRESENT } }, + /* We store every per-commitment secret on channels which have it, so + * a peer may generate them however it likes (e.g. k-of-n). */ + { OPT_INDEPENDENT_SECRETS, + .copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT, + [NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT, + [CHANNEL_TYPE_FEATURE] = FEATURE_REPRESENT } }, { OPT_DATA_LOSS_PROTECT, .copy_style = { [INIT_FEATURE] = FEATURE_REPRESENT, [NODE_ANNOUNCE_FEATURE] = FEATURE_REPRESENT } }, @@ -174,6 +180,8 @@ static const struct dependency feature_deps[] = { { OPT_BASIC_MPP, OPT_PAYMENT_SECRET }, /* The unified hash does not exist without the rules that define it. */ { OPT_UNIFIED_SIGS, OPT_BLAKE2B }, + /* Only ever agreed in channel_type. */ + { OPT_INDEPENDENT_SECRETS, OPT_CHANNEL_TYPE }, }; static void trim_features(u8 **features) @@ -512,6 +520,9 @@ const char *feature_name(const tal_t *ctx, size_t f) return tal_fmt(ctx, "option_blake2b/%s", (f & 1) ? "odd" : "even"); if (COMPULSORY_FEATURE(f) == OPT_UNIFIED_SIGS) return tal_fmt(ctx, "option_unified_sigs/%s", (f & 1) ? "odd" : "even"); + if (COMPULSORY_FEATURE(f) == OPT_INDEPENDENT_SECRETS) + return tal_fmt(ctx, "option_independent_secrets/%s", + (f & 1) ? "odd" : "even"); if (f / 2 >= ARRAY_SIZE(fnames) || !fnames[f / 2]) return tal_fmt(ctx, "option_unknown_%zu/%s", COMPULSORY_FEATURE(f), (f & 1) ? "odd" : "even"); diff --git a/common/features.h b/common/features.h index 9f1038d8dba1..c78834dd8c45 100644 --- a/common/features.h +++ b/common/features.h @@ -161,5 +161,8 @@ struct feature_set *feature_set_dup(const tal_t *ctx, #define OPT_BLAKE2B 512 /* Provisional signing capability; persisted as a channel type modifier. */ #define OPT_UNIFIED_SIGS 514 +/* From a draft bLIP: the peer's per-commitment secrets need not come from + * a shachain, so we keep every one. A channel type modifier. */ +#define OPT_INDEPENDENT_SECRETS 266 #endif /* LIGHTNING_COMMON_FEATURES_H */ diff --git a/common/test/run-channel_type.c b/common/test/run-channel_type.c index 495f695c07a8..b97908388083 100644 --- a/common/test/run-channel_type.c +++ b/common/test/run-channel_type.c @@ -153,7 +153,8 @@ static enum channel_state calc_channel_state_max(void) int main(int argc, char *argv[]) { - struct channel_type t; + struct channel_type t, *ct; + struct feature_set *ours; common_setup(argv[0]); @@ -164,6 +165,29 @@ int main(int argc, char *argv[]) assert(calc_channel_state_max() == CHANNEL_STATE_MAX); + /* option_independent_secrets is a variant of either basic type, which + * we accept only if we offer it, and don't require. */ + ours = feature_set_for_feature(tmpctx, + OPTIONAL_FEATURE(OPT_STATIC_REMOTEKEY)); + feature_set_or(ours, + take(feature_set_for_feature(NULL, + OPTIONAL_FEATURE(OPT_ANCHORS_ZERO_FEE_HTLC_TX)))); + ct = channel_type_anchors_zero_fee_htlc(tmpctx); + channel_type_set_independent_secrets(ct); + assert_names_eq(channel_type_name(tmpctx, ct), + "static_remotekey/even anchors/even independent_secrets/even"); + assert(!channel_type_accept(tmpctx, ct->features, ours)); + feature_set_or(ours, + take(feature_set_for_feature(NULL, + OPTIONAL_FEATURE(OPT_INDEPENDENT_SECRETS)))); + assert(channel_type_accept(tmpctx, ct->features, ours)); + ct = channel_type_static_remotekey(tmpctx); + channel_type_set_independent_secrets(ct); + assert(channel_type_accept(tmpctx, ct->features, ours)); + assert(channel_type_accept(tmpctx, + channel_type_anchors_zero_fee_htlc(tmpctx)->features, + ours)); + t.features = tal_arr(tmpctx, u8, 0); set_feature_bit(&t.features, 1000); assert_names_eq(channel_type_name(tmpctx, &t), "unknown_1000/even"); From 97bab9317314fac7196d56d09325366a39b8616a Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Tue, 6 Oct 2026 02:41:06 +0200 Subject: [PATCH 02/28] lightningd: count the peer's revocations, and find its last secret, in one place How many per-commitment secrets the peer has revealed, and the last of them, come from the shachain in four places: the revocation check, channeld's init and channel_reestablish for a closing or long-closed channel. Put them behind channel_their_revocations() and channel_their_last_secret() (and closed_channel_their_last_secret() for closed ones), which on an option_independent_secrets channel whose secrets outgrew the shachain will read a count and the latest secret instead. No change for shachain channels. --- lightningd/channel.c | 41 ++++++++++++++++++++ lightningd/channel.h | 22 +++++++++++ lightningd/channel_control.c | 19 +++------ lightningd/peer_control.c | 74 +++++++++++++++++++++++------------- lightningd/peer_htlcs.c | 4 +- 5 files changed, 118 insertions(+), 42 deletions(-) diff --git a/lightningd/channel.c b/lightningd/channel.c index 20e3e67c2f4f..0b9b21ac5339 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -277,6 +277,37 @@ struct channel_type *desired_channel_type(const tal_t *ctx, return type; } +u64 channel_their_revocations(const struct channel *channel) +{ + if (channel->their_secrets_in_db) + return channel->their_secrets_received; + return revocations_received(&channel->their_shachain.chain); +} + +bool channel_their_last_secret(const struct channel *channel, + struct secret *secret) +{ + u64 num = channel_their_revocations(channel); + + /* BOLT #2: + * - if `next_revocation_number` equals 0: + * - MUST set `your_last_per_commitment_secret` to all zeroes + * - otherwise: + * - MUST set `your_last_per_commitment_secret` to the last + * `per_commitment_secret` it received + */ + if (num == 0) { + memset(secret, 0, sizeof(*secret)); + return true; + } + if (channel->their_secrets_in_db) { + *secret = channel->their_last_secret; + return true; + } + return shachain_get_secret(&channel->their_shachain.chain, num - 1, + secret); +} + static void chanmap_remove(struct lightningd *ld, const struct channel *channel, struct short_channel_id scid) @@ -442,6 +473,10 @@ struct channel *new_unsaved_channel(struct peer *peer, /* No shachain yet */ channel->their_shachain.id = 0; shachain_init(&channel->their_shachain.chain); + channel->their_secrets_in_db = false; + channel->their_secrets_received = 0; + memset(&channel->their_last_secret, 0, + sizeof(channel->their_last_secret)); msg = towire_hsmd_new_channel(NULL, &peer->id, channel->unsaved_dbid); msg = hsm_sync_req(tmpctx, ld, take(msg)); @@ -604,6 +639,12 @@ struct channel *new_channel(struct peer *peer, u64 dbid, channel->their_shachain.id = 0; shachain_init(&channel->their_shachain.chain); } + /* The wallet fills these in if the peer's secrets outgrew the + * shachain (option_independent_secrets). */ + channel->their_secrets_in_db = false; + channel->their_secrets_received = 0; + memset(&channel->their_last_secret, 0, + sizeof(channel->their_last_secret)); channel->state = state; channel->opener = opener; channel->owner = NULL; diff --git a/lightningd/channel.h b/lightningd/channel.h index d9a6a3306440..5be835478fdb 100644 --- a/lightningd/channel.h +++ b/lightningd/channel.h @@ -163,6 +163,16 @@ struct channel { /* Their shachain. */ struct wallet_shachain their_shachain; + /* With option_independent_secrets the peer's per-commitment secrets + * still go in their_shachain for as long as they fit it, as they + * always do from a peer which uses one. From the first one which + * doesn't, they all go in the db (wallet_revocation_secret_add): then + * their_secrets_in_db is set, their_secrets_received counts every + * secret we hold, and their_last_secret is the latest. */ + bool their_secrets_in_db; + u64 their_secrets_received; + struct secret their_last_secret; + /* What's happening. */ enum channel_state state; @@ -972,6 +982,18 @@ static inline bool channel_has(const struct channel *channel, int f) return channel_type_has(channel->type, f); } +/* How many per-commitment secrets the peer has revealed to us: the number of + * their commitments which are revoked. The first revocations_received() of + * them are in their_shachain, and on an option_independent_secrets channel + * any after that are in the db. */ +u64 channel_their_revocations(const struct channel *channel); + +/* The last per-commitment secret the peer revealed, for + * `your_last_per_commitment_secret`: all zeroes if they have revealed none. + * False if it should exist but we can't produce it. */ +bool channel_their_last_secret(const struct channel *channel, + struct secret *secret); + /** * Either returns the short_channel_id if it is known or the local alias. * diff --git a/lightningd/channel_control.c b/lightningd/channel_control.c index d203bd60bae0..c172ca41afbf 100644 --- a/lightningd/channel_control.c +++ b/lightningd/channel_control.c @@ -1906,21 +1906,12 @@ bool peer_start_channeld(struct channel *channel, memset(&scid, 0, sizeof(scid)); } - num_revocations = revocations_received(&channel->their_shachain.chain); + num_revocations = channel_their_revocations(channel); - /* BOLT #2: - * - if `next_revocation_number` equals 0: - * - MUST set `your_last_per_commitment_secret` to all zeroes - * - otherwise: - * - MUST set `your_last_per_commitment_secret` to the last - * `per_commitment_secret` it received - */ - if (num_revocations == 0) - memset(&last_remote_per_commit_secret, 0, - sizeof(last_remote_per_commit_secret)); - else if (!shachain_get_secret(&channel->their_shachain.chain, - num_revocations-1, - &last_remote_per_commit_secret)) { + /* channel_their_last_secret() gives all zeroes before the first + * revocation, as BOLT #2 asks for `your_last_per_commitment_secret`. */ + if (!channel_their_last_secret(channel, + &last_remote_per_commit_secret)) { channel_fail_permanent(channel, REASON_LOCAL, "Could not get revocation secret %"PRIu64, diff --git a/lightningd/peer_control.c b/lightningd/peer_control.c index 464697056de9..254417006f08 100644 --- a/lightningd/peer_control.c +++ b/lightningd/peer_control.c @@ -1990,15 +1990,12 @@ void handle_peer_connected(struct lightningd *ld, const u8 *msg) plugin_hook_call_peer_connected(ld, cmd_id, hook_payload); } -static void send_reestablish(struct peer *peer, - const struct channel_id *cid, - const struct shachain *their_shachain, - u64 local_next_index) +/* How many per-commitment secrets a closed channel's peer revealed, and the + * last one (all zeroes if none). False if we can't produce it. */ +static bool closed_channel_their_last_secret(const struct closed_channel *cc, + u64 *num_revocations, + struct secret *last) { - u8 *msg; - struct secret last_remote_per_commit_secret; - u64 num_revocations; - /* BOLT #2: * - if `next_revocation_number` equals 0: * - MUST set `your_last_per_commitment_secret` to all zeroes @@ -2006,18 +2003,22 @@ static void send_reestablish(struct peer *peer, * - MUST set `your_last_per_commitment_secret` to the last * `per_commitment_secret` it received */ - num_revocations = revocations_received(their_shachain); - if (num_revocations == 0) - memset(&last_remote_per_commit_secret, 0, - sizeof(last_remote_per_commit_secret)); - else if (!shachain_get_secret(their_shachain, - num_revocations-1, - &last_remote_per_commit_secret)) { - log_peer_broken(peer->ld->log, &peer->id, - "%s: cannot get shachain secret %"PRIu64" to send reestablish", - fmt_channel_id(tmpctx, cid), num_revocations-1); - return; + *num_revocations = revocations_received(cc->their_shachain); + if (*num_revocations == 0) { + memset(last, 0, sizeof(*last)); + return true; } + return shachain_get_secret(cc->their_shachain, *num_revocations - 1, + last); +} + +static void send_reestablish(struct peer *peer, + const struct channel_id *cid, + u64 num_revocations, + const struct secret *last_remote_per_commit_secret, + u64 local_next_index) +{ + u8 *msg; /* BOLT #2: * The sending node: @@ -2034,7 +2035,7 @@ static void send_reestablish(struct peer *peer, msg = towire_channel_reestablish(tmpctx, cid, local_next_index, num_revocations, - &last_remote_per_commit_secret, + last_remote_per_commit_secret, /* Any valid point works, since static_remotekey */ &peer->ld->our_pubkey, /* No upgrade for you, since we're closed! */ @@ -2155,9 +2156,19 @@ void handle_peer_spoke(struct lightningd *ld, const u8 *msg) "Trouble in paradise?"); goto send_error; } - send_reestablish(peer, &channel->cid, - &channel->their_shachain.chain, - channel->next_index[LOCAL]); + struct secret last_secret; + if (!channel_their_last_secret(channel, &last_secret)) { + log_peer_broken(ld->log, &peer->id, + "%s: cannot get secret %"PRIu64 + " to send reestablish", + fmt_channel_id(tmpctx, + &channel->cid), + channel_their_revocations(channel) - 1); + } else + send_reestablish(peer, &channel->cid, + channel_their_revocations(channel), + &last_secret, + channel->next_index[LOCAL]); } /* If we have a canned error for this channel, send it now */ @@ -2292,9 +2303,20 @@ void handle_peer_spoke(struct lightningd *ld, const u8 *msg) closed_channel = closed_channel_map_getfirst(peer->ld->closed_channels, &channel_id, &cc_it); if (closed_channel && closed_channel->their_shachain) { - send_reestablish(peer, &closed_channel->cid, - closed_channel->their_shachain, - closed_channel->next_index[LOCAL]); + u64 num_revocations; + struct secret last_secret; + if (closed_channel_their_last_secret(closed_channel, + &num_revocations, + &last_secret)) + send_reestablish(peer, &closed_channel->cid, + num_revocations, &last_secret, + closed_channel->next_index[LOCAL]); + else + log_peer_broken(ld->log, &peer->id, + "%s: cannot get shachain secret" + " to send reestablish", + fmt_channel_id(tmpctx, + &closed_channel->cid)); log_peer_info(ld->log, &peer->id, "Responded to reestablish for long-closed channel %s", fmt_channel_id(tmpctx, &channel_id)); error = towire_errorfmt(tmpctx, &channel_id, diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 5d31cdeeb35f..397889c9aed8 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -2743,10 +2743,10 @@ void peer_got_revoke(struct channel *channel, const u8 *msg) return; } - if (revokenum != revocations_received(&channel->their_shachain.chain)) { + if (revokenum != channel_their_revocations(channel)) { channel_internal_error(channel, "got_revoke: expected %"PRIu64 " got %"PRIu64, - revocations_received(&channel->their_shachain.chain), revokenum); + channel_their_revocations(channel), revokenum); return; } From c06b00040c23f6454961375f0e7455187fa1d527 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Tue, 6 Oct 2026 02:41:06 +0200 Subject: [PATCH 03/28] wallet, lightningd: store a peer's secrets once they outgrow the shachain On a channel with option_independent_secrets the peer's per-commitment secrets needn't be a shachain. They still go in it for as long as they fit, as they always do from a peer which uses one: then nothing changes, down to the static channel backup, which carries the shachain and so can still punish. From the first secret which doesn't fit, peer_got_revoke() stores that one and every later one in a new table, channel_revocation_secrets, in the same db transaction as the rest of the revocation. channeld has already checked that each secret generates the point of the commitment it revokes. Loading a channel, open or closed, reads whether its secrets outgrew the shachain, and if so how many there are and the latest, for channel_reestablish. Once the channel is closed and resolved, wallet_channel_close() keeps only the latest: nothing can spend the funding output any more. The migration's revert refuses while a channel which hasn't closed uses the add-on, since an older version would expect the next secret to extend a shachain and fail the channel. test_splice_stored_feerate_repaired_on_upgrade re-runs the last migrations, so it now reaches back one more, and drops the new table first. --- lightningd/closed_channel.h | 6 ++ lightningd/peer_control.c | 10 +- lightningd/peer_htlcs.c | 69 ++++++++++---- tests/test_splicing.py | 11 ++- wallet/migrations.c | 49 ++++++++++ wallet/test/run-wallet.c | 181 +++++++++++++++++++++++++++++++++++- wallet/wallet.c | 107 ++++++++++++++++++++- wallet/wallet.h | 35 +++++++ 8 files changed, 442 insertions(+), 26 deletions(-) diff --git a/lightningd/closed_channel.h b/lightningd/closed_channel.h index cb0091bb0e19..5f2eafa02815 100644 --- a/lightningd/closed_channel.h +++ b/lightningd/closed_channel.h @@ -30,6 +30,12 @@ struct closed_channel { u64 last_stable_connection; /* NULL for older closed channels */ const struct shachain *their_shachain; + /* Set if, with option_independent_secrets, the peer's secrets + * outgrew their_shachain: then how many it revealed in all, and the + * last one, which is all we keep of those in the db. */ + bool their_secrets_in_db; + u64 their_secrets_received; + struct secret their_last_secret; const struct wally_psbt *funding_psbt; bool withheld; }; diff --git a/lightningd/peer_control.c b/lightningd/peer_control.c index 254417006f08..a7f5c685d8cc 100644 --- a/lightningd/peer_control.c +++ b/lightningd/peer_control.c @@ -2003,6 +2003,12 @@ static bool closed_channel_their_last_secret(const struct closed_channel *cc, * - MUST set `your_last_per_commitment_secret` to the last * `per_commitment_secret` it received */ + if (cc->their_secrets_in_db) { + *num_revocations = cc->their_secrets_received; + *last = cc->their_last_secret; + return true; + } + *num_revocations = revocations_received(cc->their_shachain); if (*num_revocations == 0) { memset(last, 0, sizeof(*last)); @@ -2302,7 +2308,9 @@ void handle_peer_spoke(struct lightningd *ld, const u8 *msg) /* Maybe a previously closed channel? */ closed_channel = closed_channel_map_getfirst(peer->ld->closed_channels, &channel_id, &cc_it); - if (closed_channel && closed_channel->their_shachain) { + if (closed_channel + && (closed_channel->their_shachain + || closed_channel->their_secrets_in_db)) { u64 num_revocations; struct secret last_secret; if (closed_channel_their_last_secret(closed_channel, diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 397889c9aed8..f85cedf7a4c7 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -2750,23 +2750,57 @@ void peer_got_revoke(struct channel *channel, const u8 *msg) return; } - /* BOLT #2: - * - * - if the `per_commitment_secret` was not generated by the protocol - * in [BOLT #3](03-transactions.md#per-commitment-secret-requirements): - * - MAY send a `warning` and close the connection, or send an - * `error` and fail the channel. - */ - if (!wallet_shachain_add_hash(ld->wallet, - &channel->their_shachain, - shachain_index(revokenum), - &per_commitment_secret)) { - channel_fail_permanent(channel, - REASON_PROTOCOL, - "Bad per_commitment_secret %s for %"PRIu64, - fmt_secret(msg, &per_commitment_secret), - revokenum); - return; + /* channeld checked that it is a valid secret key which generates the + * point of the commitment it revokes. The shachain takes it if it is + * consistent with the secrets before it, as it always is from a peer + * which uses one. */ + if (channel->their_secrets_in_db + || !wallet_shachain_add_hash(ld->wallet, + &channel->their_shachain, + shachain_index(revokenum), + &per_commitment_secret)) { + /* BOLT #2: + * + * - if the `per_commitment_secret` was not generated by the protocol + * in [BOLT #3](03-transactions.md#per-commitment-secret-requirements): + * - MAY send a `warning` and close the connection, or send an + * `error` and fail the channel. + */ + /* bLIP-independent-secrets: + * + * - if `option_independent_secrets` applies to the channel: + * - MUST NOT fail the channel or close the connection because the + * `per_commitment_secret` is not related to earlier secrets as + * described in [BOLT #3](https://github.com/lightning/bolts/blob/master/03-transactions.md#per-commitment-secret-requirements). + */ + if (!channel_has(channel, OPT_INDEPENDENT_SECRETS)) { + channel_fail_permanent(channel, + REASON_PROTOCOL, + "Bad per_commitment_secret %s for %"PRIu64, + fmt_secret(msg, &per_commitment_secret), + revokenum); + return; + } + + /* bLIP-independent-secrets: + * - MAY store per-commitment secrets in the compact + * representation in [Efficient Per-commitment Secret Storage](https://github.com/lightning/bolts/blob/master/03-transactions.md#efficient-per-commitment-secret-storage), + * for as long as each one it receives can be inserted into it: + * - otherwise, MUST store that secret, and every later one, + * individually, together with the number of the commitment + * transaction it revokes. + */ + if (!channel->their_secrets_in_db) + log_info(channel->log, + "Per-commitment secret %"PRIu64" doesn't fit" + " a shachain: storing it, and every later one," + " individually", revokenum); + /* The same db transaction as the rest of the revocation. */ + wallet_revocation_secret_add(ld->wallet, channel->dbid, + revokenum, &per_commitment_secret); + channel->their_secrets_in_db = true; + channel->their_secrets_received = revokenum + 1; + channel->their_last_secret = per_commitment_secret; } tal_free(channel->fee_states); @@ -2775,7 +2809,6 @@ void peer_got_revoke(struct channel *channel, const u8 *msg) tal_free(channel->blockheight_states); channel->blockheight_states = tal_steal(channel, blockheight_states); - /* FIXME: Check per_commitment_secret -> per_commit_point */ update_per_commit_point(channel, &next_per_commitment_point); /* BOLT #2: diff --git a/tests/test_splicing.py b/tests/test_splicing.py index 785e80b814c8..422a0c7987cf 100644 --- a/tests/test_splicing.py +++ b/tests/test_splicing.py @@ -96,8 +96,10 @@ def test_splice_stored_feerate_repaired_on_upgrade(node_factory, bitcoind, # we just planted, which is the upgrade an attacked node goes through. # They are plain idempotent UPDATEs, so re-running them is safe. The # count has to reach back past both of them, so it grows whenever a - # migration is appended after them. - l1.db_manip("UPDATE version SET version = version - 4") + # migration is appended after them, and what those create has to go + # first: here, option_independent_secrets' table. + l1.db_manip("DROP TABLE channel_revocation_secrets") + l1.db_manip("UPDATE version SET version = version - 5") l1.daemon.opts['database-upgrade'] = 'true' l1.start() @@ -1537,7 +1539,10 @@ def test_splice_sent_sigs_marked_on_upgrade(node_factory, bitcoind, executor): row = only_one(l1.db_query("SELECT i_am_initiator, i_sent_sigs" " FROM channel_funding_inflights;")) assert row['i_am_initiator'] == 1 and row['i_sent_sigs'] == 0 - l1.db_manip("UPDATE version SET version = version - 1") + # Migrations appended after it go first: option_independent_secrets' + # table. + l1.db_manip("DROP TABLE channel_revocation_secrets") + l1.db_manip("UPDATE version SET version = version - 2") l1.daemon.opts['database-upgrade'] = 'true' # l2 forgets the splice, so it answers l1's next_funding with tx_abort. diff --git a/wallet/migrations.c b/wallet/migrations.c index 2e2798f516a6..c240fb34cdc6 100644 --- a/wallet/migrations.c +++ b/wallet/migrations.c @@ -2,11 +2,14 @@ #include #include #include +#include +#include #include #include #include #include #include +#include #include #include #include @@ -52,6 +55,40 @@ static const char *revert_withheld_column(const tal_t *ctx, struct db *db) return NULL; } +/* Don't allow downgrade while a channel which hasn't closed uses + * option_independent_secrets: older versions would expect the peer's next + * per-commitment secret to extend a shachain, and fail the channel. Closed + * ones are fine: all they lose is the last secret, for reestablish. */ +static const char *revert_channel_revocation_secrets(const tal_t *ctx, + struct db *db) +{ + struct db_stmt *stmt; + const char *error = NULL; + + stmt = db_prepare_v2(db, SQL("SELECT full_channel_id, channel_type" + " FROM channels WHERE state != ?")); + db_bind_int(stmt, CLOSED); + db_query_prepared(stmt); + while (!error && db_step(stmt)) { + struct channel_id cid; + struct channel_type *type; + + db_col_channel_id(stmt, "full_channel_id", &cid); + type = db_col_channel_type(tmpctx, stmt, "channel_type"); + if (channel_type_has(type, OPT_INDEPENDENT_SECRETS)) + error = tal_fmt(ctx, "Channel %s uses" + " option_independent_secrets", + fmt_channel_id(tmpctx, &cid)); + } + tal_free(stmt); + if (error) + return error; + + stmt = db_prepare_v2(db, SQL("DROP TABLE channel_revocation_secrets")); + db_exec_prepared_v2(take(stmt)); + return NULL; +} + /* Do not reorder or remove elements from this array, it is used to * migrate existing databases from a previous state, based on the * string indices */ @@ -1139,6 +1176,18 @@ static const struct db_migration dbmigrations[] = { " WHERE state = 3 OR state = 13);"), NULL, /* Only sets a flag older releases also read, so no revert needed */ NULL, NULL}, + /* With option_independent_secrets the peer's per-commitment secrets + * aren't a shachain, so we keep every one: we need the one for any + * revoked commitment they might broadcast. Once the channel closes we + * keep only the last (see wallet_channel_close). */ + {SQL("CREATE TABLE channel_revocation_secrets (" + " channel_id BIGINT NOT NULL REFERENCES channels(id) ON DELETE CASCADE," + " commitnum BIGINT NOT NULL," + " secret BLOB NOT NULL," + " PRIMARY KEY (channel_id, commitnum)" + ")"), NULL, + /* Make sure no open channel uses it, then drop the table. */ + NULL, revert_channel_revocation_secrets}, }; const struct db_migration *get_db_migrations(size_t *num) diff --git a/wallet/test/run-wallet.c b/wallet/test/run-wallet.c index 7bb519ca2a45..0a9edf104e4a 100644 --- a/wallet/test/run-wallet.c +++ b/wallet/test/run-wallet.c @@ -377,9 +377,6 @@ bool fromwire_openingd_dev_memleak_reply(const void *p UNNEEDED, bool *leak UNNE /* Generated stub for get_network_blockheight */ u32 get_network_blockheight(const struct chain_topology *topo UNNEEDED) { fprintf(stderr, "get_network_blockheight called!\n"); abort(); } -/* Generated stub for hash_cid */ -size_t hash_cid(const struct channel_id *cid UNNEEDED) -{ fprintf(stderr, "hash_cid called!\n"); abort(); } /* Generated stub for hsmd_wire_name */ const char *hsmd_wire_name(int e UNNEEDED) { fprintf(stderr, "hsmd_wire_name called!\n"); abort(); } @@ -805,6 +802,12 @@ struct txowatch *watch_txo(const tal_t *ctx UNNEEDED, { fprintf(stderr, "watch_txo called!\n"); abort(); } /* AUTOGENERATED MOCKS END */ +/* Any hash does, so we can load closed channels into their map. */ +size_t hash_cid(const struct channel_id *cid) +{ + return cid->id[0]; +} + /* Fake stubs to talk to hsm */ u8 *towire_hsmd_get_channel_basepoints(const tal_t *ctx UNNEEDED, const struct node_id *peerid UNNEEDED, u64 dbid UNNEEDED) { @@ -1532,6 +1535,177 @@ static bool test_channel_crud(struct lightningd *ld, const tal_t *ctx, bool bip8 return true; } +static bool db_has_table(struct db *db, const char *name) +{ + struct db_stmt *stmt; + bool found = false; + + stmt = db_prepare_v2(db, SQL("SELECT name FROM sqlite_master WHERE type='table';")); + db_query_prepared(stmt); + while (db_step(stmt)) { + const char *n = db_col_strdup(tmpctx, stmt, "name"); + if (streq(n, name)) + found = true; + } + tal_free(stmt); + return found; +} + +/* option_independent_secrets: secrets go in the shachain while they fit it, + * every one after that in the db; the channel loads the count and the latest, + * closing keeps only the latest, and a downgrade is refused while a channel + * which hasn't closed uses it. */ +static bool test_channel_revocation_secrets(struct lightningd *ld, + const tal_t *ctx, bool bip86) +{ + struct wallet *w = create_test_wallet(ld, ctx, bip86); + struct channel c1, *c2; + struct channel_info *ci = &c1.channel_info; + struct closed_channel_map *closed; + struct closed_channel_map_iter cc_it; + struct closed_channel *cc; + struct wireaddr_internal addr; + struct short_channel_id local_alias; + struct channel_type *type = channel_type_static_remotekey(w); + struct secret secrets[10], s; + struct peer *p; + struct pubkey pk; + struct node_id id; + u32 feerate = 31337, blockheight = 10010; + + channel_type_set_independent_secrets(type); + + memset(&c1, 0, sizeof(c1)); + memset(ci, 3, sizeof(*ci)); + pubkey_from_der(tal_hexdata(w, "02a1633cafcc01ebfb6d78e39f687a1f0995c62fc95f51ead10a02ee0be551b5dc", 66), 33, &pk); + node_id_from_pubkey(&id, &pk); + assert(parse_wireaddr_internal(tmpctx, "localhost:1234", 0, false, &addr) == NULL); + p = new_peer(ld, 0, &id, &addr, NULL, NULL, false); + c1.peer = p; + c1.dbid = wallet_get_channel_dbid(w); + c1.state = CHANNELD_NORMAL; + c1.fee_states = new_fee_states(w, c1.opener, &feerate); + c1.blockheight_states = new_height_states(w, c1.opener, &blockheight); + c1.first_blocknum = 1; + c1.final_key_idx = 1337; + memset(&ci->their_config, 0, sizeof(struct channel_config)); + ci->remote_fundingkey = pk; + ci->theirbase.revocation = pk; + ci->theirbase.payment = pk; + ci->theirbase.htlc = pk; + ci->theirbase.delayed_payment = pk; + ci->remote_per_commit = pk; + ci->old_remote_per_commit = pk; + c1.local_basepoints.revocation = pk; + c1.local_basepoints.payment = pk; + c1.local_basepoints.htlc = pk; + c1.local_basepoints.delayed_payment = pk; + c1.local_funding_pubkey = pk; + list_head_init(&c1.inflights); + c1.type = type; + local_alias = random_scid(); + c1.alias[LOCAL] = &local_alias; + + /* Unrelated to each other, as no shachain would accept. */ + for (size_t i = 0; i < ARRAY_SIZE(secrets); i++) + randbytes(&secrets[i], sizeof(secrets[i])); + + db_begin_transaction(w->db); + CHECK(!wallet_err); + wallet_channel_insert(w, &c1); + wallet_channel_save(w, &c1); + CHECK_MSG(!wallet_err, tal_fmt(w, "Insert into DB: %s", wallet_err)); + + /* None yet. */ + CHECK(!wallet_revocation_secret_get(w, c1.dbid, 0, &s)); + CHECK_MSG(c2 = wallet_channel_load(w, c1.dbid), "Load from DB"); + CHECK(!c2->their_secrets_in_db); + CHECK(channel_their_revocations(c2) == 0); + CHECK(channel_their_last_secret(c2, &s)); + CHECK(memeqzero(&s, sizeof(s))); + tal_free(c2); + + /* Any first secret fits the shachain, as from a peer using one. */ + CHECK(wallet_shachain_add_hash(w, &c1.their_shachain, + shachain_index(0), &secrets[0])); + CHECK_MSG(c2 = wallet_channel_load(w, c1.dbid), "Load from DB"); + CHECK(!c2->their_secrets_in_db); + CHECK(channel_their_revocations(c2) == 1); + CHECK(channel_their_last_secret(c2, &s)); + CHECK(secret_eq_consttime(&s, &secrets[0])); + tal_free(c2); + + /* The second can't derive the first, so from there they're in the + * db, as peer_got_revoke does it. */ + { + struct sha256 h; + memcpy(&h, &secrets[1], sizeof(h)); + CHECK(!shachain_add_hash(&c1.their_shachain.chain, + shachain_index(1), &h)); + } + for (size_t i = 1; i < ARRAY_SIZE(secrets); i++) + wallet_revocation_secret_add(w, c1.dbid, i, &secrets[i]); + CHECK(!wallet_err); + CHECK(!wallet_revocation_secret_get(w, c1.dbid, 0, &s)); + for (size_t i = 1; i < ARRAY_SIZE(secrets); i++) { + CHECK(wallet_revocation_secret_get(w, c1.dbid, i, &s)); + CHECK(secret_eq_consttime(&s, &secrets[i])); + } + CHECK(!wallet_revocation_secret_get(w, c1.dbid, ARRAY_SIZE(secrets), &s)); + /* Another channel's secrets are not this one's. */ + CHECK(!wallet_revocation_secret_get(w, c1.dbid + 1, 1, &s)); + + CHECK_MSG(c2 = wallet_channel_load(w, c1.dbid), "Load from DB"); + CHECK(c2->their_secrets_in_db); + CHECK(revocations_received(&c2->their_shachain.chain) == 1); + CHECK(c2->their_secrets_received == ARRAY_SIZE(secrets)); + CHECK(channel_their_revocations(c2) == ARRAY_SIZE(secrets)); + CHECK(channel_their_last_secret(c2, &s)); + CHECK(secret_eq_consttime(&s, &secrets[ARRAY_SIZE(secrets) - 1])); + CHECK(shachain_get_secret(&c2->their_shachain.chain, 0, &s)); + CHECK(secret_eq_consttime(&s, &secrets[0])); + tal_free(c2); + + /* An open channel uses it: an older version would fail it. */ + CHECK(revert_channel_revocation_secrets(tmpctx, w->db) != NULL); + CHECK(db_has_table(w->db, "channel_revocation_secrets")); + + /* Closing keeps only the latest. */ + c1.their_secrets_in_db = true; + c1.their_secrets_received = ARRAY_SIZE(secrets); + wallet_channel_close(w, &c1); + CHECK(!wallet_err); + for (size_t i = 0; i < ARRAY_SIZE(secrets) - 1; i++) + CHECK(!wallet_revocation_secret_get(w, c1.dbid, i, &s)); + CHECK(wallet_revocation_secret_get(w, c1.dbid, + ARRAY_SIZE(secrets) - 1, &s)); + CHECK(secret_eq_consttime(&s, &secrets[ARRAY_SIZE(secrets) - 1])); + + /* Which is what channel_reestablish needs for a closed channel. */ + closed = tal(ctx, struct closed_channel_map); + closed_channel_map_init(closed); + wallet_load_closed_channels(w, closed); + CHECK(!wallet_err); + cc = closed_channel_map_getfirst(closed, &c1.cid, &cc_it); + CHECK(cc); + CHECK(channel_type_has(cc->type, OPT_INDEPENDENT_SECRETS)); + CHECK(cc->their_secrets_in_db); + CHECK(cc->their_secrets_received == ARRAY_SIZE(secrets)); + CHECK(secret_eq_consttime(&cc->their_last_secret, + &secrets[ARRAY_SIZE(secrets) - 1])); + + /* Closed channels don't stop a downgrade. */ + CHECK(revert_channel_revocation_secrets(tmpctx, w->db) == NULL); + CHECK(!db_has_table(w->db, "channel_revocation_secrets")); + + db_commit_transaction(w->db); + CHECK(!wallet_err); + + /* Normally freed by destroy_channel, but we don't call that */ + tal_free(p); + return true; +} + static int count_inflights(struct wallet *w, u64 channel_dbid) { struct db_stmt *stmt; @@ -2124,6 +2298,7 @@ int main(int argc, const char *argv[]) for (int bip86 = 0; bip86 < 2; bip86++) { ok &= test_shachain_crud(ld, tmpctx, bip86); ok &= test_channel_crud(ld, tmpctx, bip86); + ok &= test_channel_revocation_secrets(ld, tmpctx, bip86); ok &= test_channel_inflight_crud(ld, tmpctx, bip86); ok &= test_channel_config_crud(ld, tmpctx, bip86); ok &= test_channel_inflight_crud(ld, tmpctx, bip86); diff --git a/wallet/wallet.c b/wallet/wallet.c index 07dd71a76823..7e3b0fbe57ec 100644 --- a/wallet/wallet.c +++ b/wallet/wallet.c @@ -1290,6 +1290,76 @@ static bool wallet_shachain_load(struct wallet *wallet, u64 id, return true; } +void wallet_revocation_secret_add(struct wallet *w, + u64 channel_dbid, + u64 commitnum, + const struct secret *secret) +{ + struct db_stmt *stmt; + + stmt = db_prepare_v2(w->db, + SQL("INSERT INTO channel_revocation_secrets" + " (channel_id, commitnum, secret)" + " VALUES (?, ?, ?);")); + db_bind_u64(stmt, channel_dbid); + db_bind_u64(stmt, commitnum); + db_bind_secret(stmt, secret); + db_exec_prepared_v2(take(stmt)); +} + +bool wallet_revocation_secret_get(struct wallet *w, + u64 channel_dbid, + u64 commitnum, + struct secret *secret) +{ + struct db_stmt *stmt; + bool found; + + stmt = db_prepare_v2(w->db, + SQL("SELECT secret FROM channel_revocation_secrets" + " WHERE channel_id = ? AND commitnum = ?;")); + db_bind_u64(stmt, channel_dbid); + db_bind_u64(stmt, commitnum); + db_query_prepared(stmt); + found = db_step(stmt); + if (found) + db_col_secret(stmt, "secret", secret); + tal_free(stmt); + return found; +} + +/* On an option_independent_secrets channel, whether the peer's secrets + * outgrew the shachain, and if so how many it has revealed in all, and the + * latest. Those in the db run without gaps from the first which didn't fit + * the shachain, and when the channel closes we keep only the latest, so the + * count is one more than the highest number either way. */ +static bool wallet_revocation_secrets_latest(struct wallet *w, + u64 channel_dbid, + u64 *num, + struct secret *latest) +{ + struct db_stmt *stmt; + bool found; + + stmt = db_prepare_v2(w->db, + SQL("SELECT commitnum, secret" + " FROM channel_revocation_secrets" + " WHERE channel_id = ?" + " ORDER BY commitnum DESC LIMIT 1;")); + db_bind_u64(stmt, channel_dbid); + db_query_prepared(stmt); + found = db_step(stmt); + if (found) { + *num = db_col_u64(stmt, "commitnum") + 1; + db_col_secret(stmt, "secret", latest); + } else { + *num = 0; + memset(latest, 0, sizeof(*latest)); + } + tal_free(stmt); + return found; +} + static struct peer *wallet_peer_load(struct wallet *w, const u64 dbid) { const char *addrstr, *err; @@ -2210,6 +2280,12 @@ static struct channel *wallet_stmt2channel(struct wallet *w, struct db_stmt *stm return NULL; } + if (channel_has(chan, OPT_INDEPENDENT_SECRETS)) + chan->their_secrets_in_db + = wallet_revocation_secrets_latest(w, chan->dbid, + &chan->their_secrets_received, + &chan->their_last_secret); + return chan; } @@ -2257,6 +2333,19 @@ static struct closed_channel *wallet_stmt2closed_channel(const tal_t *ctx, cc->their_shachain = tal_dup(cc, struct shachain, &wshachain.chain); else cc->their_shachain = NULL; + if (channel_type_has(cc->type, OPT_INDEPENDENT_SECRETS)) + cc->their_secrets_in_db + = wallet_revocation_secrets_latest(w, + db_col_u64(stmt, "channels.id"), + &cc->their_secrets_received, + &cc->their_last_secret); + else { + db_col_ignore(stmt, "channels.id"); + cc->their_secrets_in_db = false; + cc->their_secrets_received = 0; + memset(&cc->their_last_secret, 0, + sizeof(cc->their_last_secret)); + } if (!db_col_is_null(stmt, "funding_psbt")) cc->funding_psbt = db_col_psbt(cc, stmt, "funding_psbt"); else @@ -2299,6 +2388,7 @@ void wallet_load_closed_channels(struct wallet *w, ", shachain_remote_id" ", funding_psbt" ", withheld" + ", channels.id" " FROM channels" " LEFT JOIN peers p ON p.id = peer_id" " WHERE state = ?;")); @@ -2346,6 +2436,7 @@ void wallet_load_one_closed_channel(struct wallet *w, ", shachain_remote_id" ", funding_psbt" ", withheld" + ", channels.id" " FROM channels" " LEFT JOIN peers p ON p.id = peer_id" " WHERE channels.id = ?;")); @@ -3111,7 +3202,7 @@ void wallet_channel_close(struct wallet *w, * help us debug some issues, and it is rather limited in size. We * also keep shachains: it's limited and we can use it for sending * reestablish messages with enough information for nodes with lost - * dbs to recover. */ + * dbs to recover (for option_independent_secrets, the last secret). */ struct db_stmt *stmt; u64 new_move_id; u64 htlcs; @@ -3168,6 +3259,20 @@ void wallet_channel_close(struct wallet *w, db_bind_u64(stmt, chan->dbid); db_exec_prepared_v2(take(stmt)); + /* With option_independent_secrets, secrets which didn't fit the + * shachain are each in the db, so they would grow without bound. + * Nothing can spend the funding output any more, so no revoked + * commitment can turn up: keep only the last secret, which + * channel_reestablish still needs. */ + if (chan->their_secrets_in_db && chan->their_secrets_received > 1) { + stmt = db_prepare_v2(w->db, + SQL("DELETE FROM channel_revocation_secrets" + " WHERE channel_id = ? AND commitnum < ?")); + db_bind_u64(stmt, chan->dbid); + db_bind_u64(stmt, chan->their_secrets_received - 1); + db_exec_prepared_v2(take(stmt)); + } + /* Set the channel to closed */ stmt = db_prepare_v2(w->db, SQL("UPDATE channels " "SET state=? " diff --git a/wallet/wallet.h b/wallet/wallet.h index 12d1aa45327a..2019f017d923 100644 --- a/wallet/wallet.h +++ b/wallet/wallet.h @@ -634,6 +634,38 @@ bool wallet_shachain_add_hash(struct wallet *wallet, uint64_t index, const struct secret *hash); +/** + * wallet_revocation_secret_add -- store a per-commitment secret the peer + * revealed on an option_independent_secrets channel. + * @w: the wallet + * @channel_dbid: the channel's dbid + * @commitnum: the number of the commitment it revokes + * @secret: the secret + * + * Secrets go in the channel's shachain for as long as they fit it. From the + * first which doesn't, each one goes in the database, so those run without + * gaps from there. + */ +void wallet_revocation_secret_add(struct wallet *w, + u64 channel_dbid, + u64 commitnum, + const struct secret *secret); + +/** + * wallet_revocation_secret_get -- look up the per-commitment secret for a + * revoked commitment of the peer's on an option_independent_secrets channel. + * @w: the wallet + * @channel_dbid: the channel's dbid + * @commitnum: the commitment number + * @secret: (out) the secret, if found + * + * False if we don't have it. + */ +bool wallet_revocation_secret_get(struct wallet *w, + u64 channel_dbid, + u64 commitnum, + struct secret *secret); + /** * wallet_get_uncommitted_channel_dbid -- get a unique channel dbid * @@ -713,6 +745,9 @@ void wallet_channel_clear_inflights(struct wallet *w, struct channel *chan); /** * After fully resolving a channel, only keep a lightweight stub + * + * Of per-commitment secrets stored for option_independent_secrets, that means + * only the last, which is all channel_reestablish needs. */ void wallet_channel_close(struct wallet *w, const struct channel *chan); From 3c668af2e2a94f095d73070b3d6bbb471c057d35 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Tue, 6 Oct 2026 02:41:06 +0200 Subject: [PATCH 04/28] onchaind: take a revoked commitment's secret from lightningd onchaind derives a revoked commitment's secret from the shachain it is given, which on an option_independent_secrets channel may hold only the secrets before the first which didn't fit. So lightningd unmasks the number of the commitment that spent the funding output, exactly as onchaind does, and if the peer revoked it and its secret is in the db, passes that secret in onchaind_init, along with the number of secrets held, which onchaind now takes from lightningd rather than counting the shachain. A mutual close or one of our own commitments can unmask to a revoked number too: onchaind recognizes those first and ignores the secret. --- lightningd/onchain_control.c | 66 ++++++++++++++++++++++++++++++- onchaind/onchaind.c | 21 +++++++--- onchaind/onchaind_wire.csv | 6 +++ onchaind/test/run-grind_feerate.c | 2 +- 4 files changed, 87 insertions(+), 8 deletions(-) diff --git a/lightningd/onchain_control.c b/lightningd/onchain_control.c index 9990bacb8191..4a27e7ed63f2 100644 --- a/lightningd/onchain_control.c +++ b/lightningd/onchain_control.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include #include @@ -1899,6 +1900,67 @@ static void onchain_error(struct channel *channel, channel_set_billboard(channel, true, desc); } +/* onchaind derives the secret of a revoked commitment from the shachain we + * give it. With option_independent_secrets the secrets after the first which + * didn't fit the shachain are in the db instead, so if this transaction is a + * commitment of the peer's which they revoked, and its secret is one of + * those, we look it up. NULL otherwise. */ +static const struct secret *independent_revocation_secret(const tal_t *ctx, + const struct channel *channel, + const struct bitcoin_tx *tx) +{ + const struct pubkey *keys[NUM_SIDES]; + struct secret *secret; + u64 commit_num; + + if (!channel->their_secrets_in_db) + return NULL; + + /* A commitment transaction has exactly one input, the funding. */ + if (tx->wtx->num_inputs != 1) + return NULL; + + /* The same as onchaind's unmask_commit_number(). */ + /* BOLT #3: + * + * * locktime: upper 8 bits are 0x20, lower 24 bits are the lower 24 + * bits of the obscured commitment number + *... + * * `txin[0]` sequence: upper 8 bits are 0x80, lower 24 bits are + * upper 24 bits of the obscured commitment number + *... + * The 48-bit commitment number is obscured by `XOR` with the lower 48 + * bits of... + */ + keys[LOCAL] = &channel->local_basepoints.payment; + keys[REMOTE] = &channel->channel_info.theirbase.payment; + commit_num = ((tx->wtx->locktime & 0x00FFFFFF) + | ((u64)tx->wtx->inputs[0].sequence & 0x00FFFFFF) << 24) + ^ commit_number_obscurer(keys[channel->opener], + keys[!channel->opener]); + + /* Only a commitment of theirs which they revoked needs a secret, and + * onchaind finds those below this in the shachain. A mutual close or + * our latest commitment can unmask to a revoked number too: onchaind + * recognizes those first, and won't use the secret. An older + * commitment of ours (from an old backup, say) isn't recognized, and + * is taken for a revoked one of theirs, as it already is when its + * number is in the shachain. */ + if (commit_num < revocations_received(&channel->their_shachain.chain) + || commit_num >= channel_their_revocations(channel)) + return NULL; + + secret = tal(ctx, struct secret); + if (!wallet_revocation_secret_get(channel->peer->ld->wallet, + channel->dbid, commit_num, secret)) { + log_broken(channel->log, + "No per-commitment secret stored for revoked" + " commitment %"PRIu64, commit_num); + return tal_free(secret); + } + return secret; +} + /* With a reorg, this can get called multiple times; each time we'll kill * onchaind (like any other owner), and restart */ enum watch_result onchaind_funding_spent(struct channel *channel, @@ -2029,7 +2091,9 @@ enum watch_result onchaind_funding_spent(struct channel *channel, channel->static_remotekey_start[REMOTE], channel_has(channel, OPT_ANCHOR_OUTPUTS_DEPRECATED), channel_has(channel, OPT_ANCHORS_ZERO_FEE_HTLC_TX), - feerate_min(ld, NULL)); + feerate_min(ld, NULL), + channel_their_revocations(channel), + independent_revocation_secret(tmpctx, channel, tx)); subd_send_msg(channel->owner, take(msg)); /* If we're replaying, we just watch this */ diff --git a/onchaind/onchaind.c b/onchaind/onchaind.c index 75cabfbac09b..de171dce5e36 100644 --- a/onchaind/onchaind.c +++ b/onchaind/onchaind.c @@ -3426,6 +3426,8 @@ int main(int argc, char *argv[]) enum side opener; struct basepoints basepoints[NUM_SIDES]; struct shachain shachain; + u64 revocations; + struct secret *revocation_secret; struct tx_parts *tx; struct tracked_output **outs; struct bitcoin_outpoint funding; @@ -3472,7 +3474,9 @@ int main(int argc, char *argv[]) &static_remotekey_start[REMOTE], &option_anchor_outputs, &option_anchors_zero_fee_htlc_tx, - &min_relay_feerate)) { + &min_relay_feerate, + &revocations, + &revocation_secret)) { master_badmsg(WIRE_ONCHAIND_INIT, msg); } @@ -3535,7 +3539,7 @@ int main(int argc, char *argv[]) status_debug("commitnum = %"PRIu64 ", revocations_received = %"PRIu64, - commit_num, revocations_received(&shachain)); + commit_num, revocations); if (is_local_commitment(&tx->txid, &our_broadcast_txid)) handle_our_unilateral(tx, tx_blockheight, @@ -3550,8 +3554,13 @@ int main(int argc, char *argv[]) * *outdated commitment transaction* (presumably, a prior * version, which is more in its favor). */ - else if (shachain_get_secret(&shachain, commit_num, - &revocation_preimage)) { + else if (revocation_secret + || shachain_get_secret(&shachain, commit_num, + &revocation_preimage)) { + /* With option_independent_secrets, lightningd gives + * us the secret if it isn't in the shachain. */ + if (revocation_secret) + revocation_preimage = *revocation_secret; handle_their_cheat(tx, tx_blockheight, &revocation_preimage, @@ -3567,14 +3576,14 @@ int main(int argc, char *argv[]) * the *remote node's* commitment transaction; hence, the * local node is required to handle both. */ - } else if (commit_num == revocations_received(&shachain)) { + } else if (commit_num == revocations) { status_debug("Their unilateral tx, old commit point"); handle_their_unilateral(tx, tx_blockheight, &old_remote_per_commit_point, basepoints, opener, outs); - } else if (commit_num == revocations_received(&shachain) + 1) { + } else if (commit_num == revocations + 1) { status_debug("Their unilateral tx, new commit point"); handle_their_unilateral(tx, tx_blockheight, &remote_per_commit_point, diff --git a/onchaind/onchaind_wire.csv b/onchaind/onchaind_wire.csv index 3c9c76bbaf5a..0b53dddfba24 100644 --- a/onchaind/onchaind_wire.csv +++ b/onchaind/onchaind_wire.csv @@ -48,6 +48,12 @@ msgdata,onchaind_init,option_anchor_outputs,bool, msgdata,onchaind_init,option_anchors_zero_fee_htlc_tx,bool, # We need this for BIP125 rule 4 msgdata,onchaind_init,min_relay_feerate,u32, +# How many per-commitment secrets the peer revealed. With +# option_independent_secrets, `shachain` holds only those before the first +# which didn't fit it, and lightningd keeps the rest: if this is a commitment +# of the peer's which they revoked, and its secret is one of those, it's here. +msgdata,onchaind_init,num_revocations,u64, +msgdata,onchaind_init,revocation_secret,?secret, # This says we're ready; give us htlcs and preimages. msgtype,onchaind_init_reply,5101 diff --git a/onchaind/test/run-grind_feerate.c b/onchaind/test/run-grind_feerate.c index 1acff25e440b..7ab19e2af95d 100644 --- a/onchaind/test/run-grind_feerate.c +++ b/onchaind/test/run-grind_feerate.c @@ -28,7 +28,7 @@ bool fromwire_onchaind_dev_memleak(const void *p UNNEEDED) bool fromwire_onchaind_htlcs(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct htlc_stub **htlc UNNEEDED, bool **tell_if_missing UNNEEDED, bool **tell_immediately UNNEEDED) { fprintf(stderr, "fromwire_onchaind_htlcs called!\n"); abort(); } /* Generated stub for fromwire_onchaind_init */ -bool fromwire_onchaind_init(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct shachain *shachain UNNEEDED, const struct chainparams **chainparams UNNEEDED, struct amount_sat *funding_amount_satoshi UNNEEDED, struct amount_msat *our_msat UNNEEDED, struct pubkey *old_remote_per_commitment_point UNNEEDED, struct pubkey *remote_per_commitment_point UNNEEDED, u32 *local_to_self_delay UNNEEDED, u32 *remote_to_self_delay UNNEEDED, struct amount_sat *local_dust_limit_satoshi UNNEEDED, struct bitcoin_txid *our_broadcast_txid UNNEEDED, u8 **local_scriptpubkey UNNEEDED, u8 **remote_scriptpubkey UNNEEDED, enum side *opener UNNEEDED, struct basepoints *local_basepoints UNNEEDED, struct basepoints *remote_basepoints UNNEEDED, struct tx_parts **tx_parts UNNEEDED, u32 *locktime UNNEEDED, u32 *tx_blockheight UNNEEDED, u32 *reasonable_depth UNNEEDED, struct bitcoin_signature **htlc_signature UNNEEDED, u32 *min_possible_feerate UNNEEDED, u32 *max_possible_feerate UNNEEDED, struct pubkey *local_funding_pubkey UNNEEDED, struct pubkey *remote_funding_pubkey UNNEEDED, u64 *local_static_remotekey_start UNNEEDED, u64 *remote_static_remotekey_start UNNEEDED, bool *option_anchor_outputs UNNEEDED, bool *option_anchors_zero_fee_htlc_tx UNNEEDED, u32 *min_relay_feerate UNNEEDED) +bool fromwire_onchaind_init(const tal_t *ctx UNNEEDED, const void *p UNNEEDED, struct shachain *shachain UNNEEDED, const struct chainparams **chainparams UNNEEDED, struct amount_sat *funding_amount_satoshi UNNEEDED, struct amount_msat *our_msat UNNEEDED, struct pubkey *old_remote_per_commitment_point UNNEEDED, struct pubkey *remote_per_commitment_point UNNEEDED, u32 *local_to_self_delay UNNEEDED, u32 *remote_to_self_delay UNNEEDED, struct amount_sat *local_dust_limit_satoshi UNNEEDED, struct bitcoin_txid *our_broadcast_txid UNNEEDED, u8 **local_scriptpubkey UNNEEDED, u8 **remote_scriptpubkey UNNEEDED, enum side *opener UNNEEDED, struct basepoints *local_basepoints UNNEEDED, struct basepoints *remote_basepoints UNNEEDED, struct tx_parts **tx_parts UNNEEDED, u32 *locktime UNNEEDED, u32 *tx_blockheight UNNEEDED, u32 *reasonable_depth UNNEEDED, struct bitcoin_signature **htlc_signature UNNEEDED, u32 *min_possible_feerate UNNEEDED, u32 *max_possible_feerate UNNEEDED, struct pubkey *local_funding_pubkey UNNEEDED, struct pubkey *remote_funding_pubkey UNNEEDED, u64 *local_static_remotekey_start UNNEEDED, u64 *remote_static_remotekey_start UNNEEDED, bool *option_anchor_outputs UNNEEDED, bool *option_anchors_zero_fee_htlc_tx UNNEEDED, u32 *min_relay_feerate UNNEEDED, u64 *num_revocations UNNEEDED, struct secret **revocation_secret UNNEEDED) { fprintf(stderr, "fromwire_onchaind_init called!\n"); abort(); } /* Generated stub for fromwire_onchaind_known_preimage */ bool fromwire_onchaind_known_preimage(const void *p UNNEEDED, struct preimage *preimage UNNEEDED) From 4a6429c7c4c74587436eba7466ea2a074d7d0738 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Tue, 6 Oct 2026 02:41:07 +0200 Subject: [PATCH 05/28] doc/schemas, cln-rpc, cln-grpc: name independent_secrets/even in channel types listpeerchannels, listclosedchannels and the opening commands report the channel type's names, which are a closed enum in the schemas, cln-rpc's ChannelTypeName and cln-grpc's primitives.proto: add the new one in each, so a channel with the add-on validates and deserializes. primitives_pb2.py is regenerated with protoc 31.1, which reproduces the previous file exactly. --- cln-grpc/proto/primitives.proto | 1 + cln-rpc/src/primitives.rs | 5 +++++ contrib/msggen/msggen/schema.json | 8 ++++++++ contrib/pyln-grpc-proto/pyln/grpc/primitives_pb2.py | 12 ++++++------ doc/schemas/fundchannel.json | 1 + doc/schemas/fundchannel_start.json | 1 + doc/schemas/listclosedchannels.json | 1 + doc/schemas/listpeerchannels.json | 1 + doc/schemas/multifundchannel.json | 1 + doc/schemas/openchannel_bump.json | 1 + doc/schemas/openchannel_init.json | 1 + doc/schemas/openchannel_update.json | 1 + 12 files changed, 28 insertions(+), 6 deletions(-) diff --git a/cln-grpc/proto/primitives.proto b/cln-grpc/proto/primitives.proto index ffdb92a5f885..67a7a440a466 100644 --- a/cln-grpc/proto/primitives.proto +++ b/cln-grpc/proto/primitives.proto @@ -130,6 +130,7 @@ enum ChannelTypeName { zeroconf_even = 4; anchors_even = 5; unified_sigs_even = 6; + independent_secrets_even = 7; } enum AutocleanSubsystem { diff --git a/cln-rpc/src/primitives.rs b/cln-rpc/src/primitives.rs index ea2af0442178..ad4f5bfcb9c2 100644 --- a/cln-rpc/src/primitives.rs +++ b/cln-rpc/src/primitives.rs @@ -75,6 +75,8 @@ pub enum ChannelTypeName { ANCHORS_EVEN = 5, #[serde(rename = "unified_sigs/even")] UNIFIED_SIGS_EVEN = 6, + #[serde(rename = "independent_secrets/even")] + INDEPENDENT_SECRETS_EVEN = 7, } #[derive(Copy, Clone, Serialize, Deserialize, Debug)] @@ -502,6 +504,7 @@ impl From for ChannelTypeName { 4 => ChannelTypeName::ZEROCONF_EVEN, 5 => ChannelTypeName::ANCHORS_EVEN, 6 => ChannelTypeName::UNIFIED_SIGS_EVEN, + 7 => ChannelTypeName::INDEPENDENT_SECRETS_EVEN, o => panic!("Unmapped ChannelTypeName {}", o), } } @@ -517,6 +520,7 @@ impl From for i32 { ChannelTypeName::ZEROCONF_EVEN => 4, ChannelTypeName::ANCHORS_EVEN => 5, ChannelTypeName::UNIFIED_SIGS_EVEN => 6, + ChannelTypeName::INDEPENDENT_SECRETS_EVEN => 7, } } } @@ -533,6 +537,7 @@ impl Display for ChannelTypeName { ChannelTypeName::ZEROCONF_EVEN => write!(f, "ZEROCONF_EVEN"), ChannelTypeName::ANCHORS_EVEN => write!(f, "ANCHORS_EVEN"), ChannelTypeName::UNIFIED_SIGS_EVEN => write!(f, "UNIFIED_SIGS_EVEN"), + ChannelTypeName::INDEPENDENT_SECRETS_EVEN => write!(f, "INDEPENDENT_SECRETS_EVEN"), } } } diff --git a/contrib/msggen/msggen/schema.json b/contrib/msggen/msggen/schema.json index cbef2fdb0869..a0c1dffd5ae3 100644 --- a/contrib/msggen/msggen/schema.json +++ b/contrib/msggen/msggen/schema.json @@ -14264,6 +14264,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ @@ -14735,6 +14736,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ @@ -19466,6 +19468,7 @@ "anchors_zero_fee_htlc_tx/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ @@ -24992,6 +24995,7 @@ "anchors_zero_fee_htlc_tx/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ @@ -28375,6 +28379,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ @@ -29410,6 +29415,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ @@ -29720,6 +29726,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ @@ -30060,6 +30067,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ diff --git a/contrib/pyln-grpc-proto/pyln/grpc/primitives_pb2.py b/contrib/pyln-grpc-proto/pyln/grpc/primitives_pb2.py index 54e6a58c0db1..5df7b422e45b 100644 --- a/contrib/pyln-grpc-proto/pyln/grpc/primitives_pb2.py +++ b/contrib/pyln-grpc-proto/pyln/grpc/primitives_pb2.py @@ -24,7 +24,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10primitives.proto\x12\x03\x63ln\"\x16\n\x06\x41mount\x12\x0c\n\x04msat\x18\x01 \x01(\x04\"D\n\x0b\x41mountOrAll\x12\x1d\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x12\r\n\x03\x61ll\x18\x02 \x01(\x08H\x00\x42\x07\n\x05value\"D\n\x0b\x41mountOrAny\x12\x1d\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x12\r\n\x03\x61ny\x18\x02 \x01(\x08H\x00\x42\x07\n\x05value\"(\n\x08Outpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"h\n\x07\x46\x65\x65rate\x12\x0e\n\x04slow\x18\x01 \x01(\x08H\x00\x12\x10\n\x06normal\x18\x02 \x01(\x08H\x00\x12\x10\n\x06urgent\x18\x03 \x01(\x08H\x00\x12\x0f\n\x05perkb\x18\x04 \x01(\rH\x00\x12\x0f\n\x05perkw\x18\x05 \x01(\rH\x00\x42\x07\n\x05style\":\n\nOutputDesc\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\"h\n\x08RouteHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04scid\x18\x02 \x01(\t\x12\x1c\n\x07\x66\x65\x65\x62\x61se\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0f\n\x07\x66\x65\x65prop\x18\x04 \x01(\r\x12\x13\n\x0b\x65xpirydelta\x18\x05 \x01(\r\"(\n\tRoutehint\x12\x1b\n\x04hops\x18\x01 \x03(\x0b\x32\r.cln.RouteHop\".\n\rRoutehintList\x12\x1d\n\x05hints\x18\x02 \x03(\x0b\x32\x0e.cln.Routehint\"\x9e\x01\n\x0e\x44\x65\x63odeRouteHop\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\"\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\r\x12\x19\n\x11\x63ltv_expiry_delta\x18\x05 \x01(\r\"4\n\x0f\x44\x65\x63odeRoutehint\x12!\n\x04hops\x18\x01 \x03(\x0b\x32\x13.cln.DecodeRouteHop\":\n\x13\x44\x65\x63odeRoutehintList\x12#\n\x05hints\x18\x02 \x03(\x0b\x32\x14.cln.DecodeRoutehint\"\'\n\x08TlvEntry\x12\x0c\n\x04type\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\"+\n\tTlvStream\x12\x1e\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\r.cln.TlvEntry\"d\n\x11JsonObjectOrArray\x12!\n\x06object\x18\x01 \x01(\x0b\x32\x0f.cln.JsonObjectH\x00\x12\x1f\n\x05\x61rray\x18\x02 \x01(\x0b\x32\x0e.cln.JsonArrayH\x00\x42\x0b\n\tstructure\"x\n\nJsonObject\x12+\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1b.cln.JsonObject.FieldsEntry\x1a=\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.cln.JsonValue:\x02\x38\x01\"+\n\tJsonArray\x12\x1e\n\x06values\x18\x01 \x03(\x0b\x32\x0e.cln.JsonValue\"\xc8\x01\n\tJsonValue\x12\x14\n\nbool_value\x18\x01 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x05 \x01(\tH\x00\x12\x1f\n\x05\x61rray\x18\x06 \x01(\x0b\x32\x0e.cln.JsonArrayH\x00\x12!\n\x06object\x18\x07 \x01(\x0b\x32\x0f.cln.JsonObjectH\x00\x42\x06\n\x04kind\"\x87\x01\n\nJsonScalar\x12\x14\n\nbool_value\x18\x01 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x05 \x01(\tH\x00\x42\x08\n\x06scalar\"7\n\nProofField\x12\x0e\n\x04name\x18\x01 \x01(\tH\x00\x12\x10\n\x06number\x18\x02 \x01(\x04H\x00\x42\x07\n\x05ident*$\n\x0b\x43hannelSide\x12\t\n\x05LOCAL\x10\x00\x12\n\n\x06REMOTE\x10\x01*\xe7\x02\n\x0c\x43hannelState\x12\x0c\n\x08Openingd\x10\x00\x12\x1a\n\x16\x43hanneldAwaitingLockin\x10\x01\x12\x12\n\x0e\x43hanneldNormal\x10\x02\x12\x18\n\x14\x43hanneldShuttingDown\x10\x03\x12\x17\n\x13\x43losingdSigexchange\x10\x04\x12\x14\n\x10\x43losingdComplete\x10\x05\x12\x16\n\x12\x41waitingUnilateral\x10\x06\x12\x14\n\x10\x46undingSpendSeen\x10\x07\x12\x0b\n\x07Onchain\x10\x08\x12\x15\n\x11\x44ualopendOpenInit\x10\t\x12\x1b\n\x17\x44ualopendAwaitingLockin\x10\n\x12\x1a\n\x16\x43hanneldAwaitingSplice\x10\x0b\x12\x1a\n\x16\x44ualopendOpenCommitted\x10\x0c\x12\x1d\n\x19\x44ualopendOpenCommittReady\x10\r\x12\n\n\x06\x43losed\x10\x0e*\xd5\x03\n\tHtlcState\x12\x0f\n\x0bSentAddHtlc\x10\x00\x12\x11\n\rSentAddCommit\x10\x01\x12\x15\n\x11RcvdAddRevocation\x10\x02\x12\x14\n\x10RcvdAddAckCommit\x10\x03\x12\x18\n\x14SentAddAckRevocation\x10\x04\x12\x18\n\x14RcvdAddAckRevocation\x10\x05\x12\x12\n\x0eRcvdRemoveHtlc\x10\x06\x12\x14\n\x10RcvdRemoveCommit\x10\x07\x12\x18\n\x14SentRemoveRevocation\x10\x08\x12\x17\n\x13SentRemoveAckCommit\x10\t\x12\x1b\n\x17RcvdRemoveAckRevocation\x10\n\x12\x0f\n\x0bRcvdAddHtlc\x10\x0b\x12\x11\n\rRcvdAddCommit\x10\x0c\x12\x15\n\x11SentAddRevocation\x10\r\x12\x14\n\x10SentAddAckCommit\x10\x0e\x12\x12\n\x0eSentRemoveHtlc\x10\x0f\x12\x14\n\x10SentRemoveCommit\x10\x10\x12\x18\n\x14RcvdRemoveRevocation\x10\x11\x12\x17\n\x13RcvdRemoveAckCommit\x10\x12\x12\x1b\n\x17SentRemoveAckRevocation\x10\x13*\xb9\x01\n\x0f\x43hannelTypeName\x12\x19\n\x15static_remotekey_even\x10\x00\x12\x17\n\x13\x61nchor_outputs_even\x10\x01\x12!\n\x1d\x61nchors_zero_fee_htlc_tx_even\x10\x02\x12\x13\n\x0fscid_alias_even\x10\x03\x12\x11\n\rzeroconf_even\x10\x04\x12\x10\n\x0c\x61nchors_even\x10\x05\x12\x15\n\x11unified_sigs_even\x10\x06*\x89\x01\n\x12\x41utocleanSubsystem\x12\x15\n\x11SUCCEEDEDFORWARDS\x10\x00\x12\x12\n\x0e\x46\x41ILEDFORWARDS\x10\x01\x12\x11\n\rSUCCEEDEDPAYS\x10\x02\x12\x0e\n\nFAILEDPAYS\x10\x03\x12\x10\n\x0cPAIDINVOICES\x10\x04\x12\x13\n\x0f\x45XPIREDINVOICES\x10\x05*K\n\x10PluginSubcommand\x12\t\n\x05START\x10\x00\x12\x08\n\x04STOP\x10\x01\x12\n\n\x06RESCAN\x10\x02\x12\x0c\n\x08STARTDIR\x10\x03\x12\x08\n\x04LIST\x10\x04\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10primitives.proto\x12\x03\x63ln\"\x16\n\x06\x41mount\x12\x0c\n\x04msat\x18\x01 \x01(\x04\"D\n\x0b\x41mountOrAll\x12\x1d\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x12\r\n\x03\x61ll\x18\x02 \x01(\x08H\x00\x42\x07\n\x05value\"D\n\x0b\x41mountOrAny\x12\x1d\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x12\r\n\x03\x61ny\x18\x02 \x01(\x08H\x00\x42\x07\n\x05value\"(\n\x08Outpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"h\n\x07\x46\x65\x65rate\x12\x0e\n\x04slow\x18\x01 \x01(\x08H\x00\x12\x10\n\x06normal\x18\x02 \x01(\x08H\x00\x12\x10\n\x06urgent\x18\x03 \x01(\x08H\x00\x12\x0f\n\x05perkb\x18\x04 \x01(\rH\x00\x12\x0f\n\x05perkw\x18\x05 \x01(\rH\x00\x42\x07\n\x05style\":\n\nOutputDesc\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\"h\n\x08RouteHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04scid\x18\x02 \x01(\t\x12\x1c\n\x07\x66\x65\x65\x62\x61se\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0f\n\x07\x66\x65\x65prop\x18\x04 \x01(\r\x12\x13\n\x0b\x65xpirydelta\x18\x05 \x01(\r\"(\n\tRoutehint\x12\x1b\n\x04hops\x18\x01 \x03(\x0b\x32\r.cln.RouteHop\".\n\rRoutehintList\x12\x1d\n\x05hints\x18\x02 \x03(\x0b\x32\x0e.cln.Routehint\"\x9e\x01\n\x0e\x44\x65\x63odeRouteHop\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\"\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\r\x12\x19\n\x11\x63ltv_expiry_delta\x18\x05 \x01(\r\"4\n\x0f\x44\x65\x63odeRoutehint\x12!\n\x04hops\x18\x01 \x03(\x0b\x32\x13.cln.DecodeRouteHop\":\n\x13\x44\x65\x63odeRoutehintList\x12#\n\x05hints\x18\x02 \x03(\x0b\x32\x14.cln.DecodeRoutehint\"\'\n\x08TlvEntry\x12\x0c\n\x04type\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\"+\n\tTlvStream\x12\x1e\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\r.cln.TlvEntry\"d\n\x11JsonObjectOrArray\x12!\n\x06object\x18\x01 \x01(\x0b\x32\x0f.cln.JsonObjectH\x00\x12\x1f\n\x05\x61rray\x18\x02 \x01(\x0b\x32\x0e.cln.JsonArrayH\x00\x42\x0b\n\tstructure\"x\n\nJsonObject\x12+\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1b.cln.JsonObject.FieldsEntry\x1a=\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.cln.JsonValue:\x02\x38\x01\"+\n\tJsonArray\x12\x1e\n\x06values\x18\x01 \x03(\x0b\x32\x0e.cln.JsonValue\"\xc8\x01\n\tJsonValue\x12\x14\n\nbool_value\x18\x01 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x05 \x01(\tH\x00\x12\x1f\n\x05\x61rray\x18\x06 \x01(\x0b\x32\x0e.cln.JsonArrayH\x00\x12!\n\x06object\x18\x07 \x01(\x0b\x32\x0f.cln.JsonObjectH\x00\x42\x06\n\x04kind\"\x87\x01\n\nJsonScalar\x12\x14\n\nbool_value\x18\x01 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nuint_value\x18\x03 \x01(\x04H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x12\x16\n\x0cstring_value\x18\x05 \x01(\tH\x00\x42\x08\n\x06scalar\"7\n\nProofField\x12\x0e\n\x04name\x18\x01 \x01(\tH\x00\x12\x10\n\x06number\x18\x02 \x01(\x04H\x00\x42\x07\n\x05ident*$\n\x0b\x43hannelSide\x12\t\n\x05LOCAL\x10\x00\x12\n\n\x06REMOTE\x10\x01*\xe7\x02\n\x0c\x43hannelState\x12\x0c\n\x08Openingd\x10\x00\x12\x1a\n\x16\x43hanneldAwaitingLockin\x10\x01\x12\x12\n\x0e\x43hanneldNormal\x10\x02\x12\x18\n\x14\x43hanneldShuttingDown\x10\x03\x12\x17\n\x13\x43losingdSigexchange\x10\x04\x12\x14\n\x10\x43losingdComplete\x10\x05\x12\x16\n\x12\x41waitingUnilateral\x10\x06\x12\x14\n\x10\x46undingSpendSeen\x10\x07\x12\x0b\n\x07Onchain\x10\x08\x12\x15\n\x11\x44ualopendOpenInit\x10\t\x12\x1b\n\x17\x44ualopendAwaitingLockin\x10\n\x12\x1a\n\x16\x43hanneldAwaitingSplice\x10\x0b\x12\x1a\n\x16\x44ualopendOpenCommitted\x10\x0c\x12\x1d\n\x19\x44ualopendOpenCommittReady\x10\r\x12\n\n\x06\x43losed\x10\x0e*\xd5\x03\n\tHtlcState\x12\x0f\n\x0bSentAddHtlc\x10\x00\x12\x11\n\rSentAddCommit\x10\x01\x12\x15\n\x11RcvdAddRevocation\x10\x02\x12\x14\n\x10RcvdAddAckCommit\x10\x03\x12\x18\n\x14SentAddAckRevocation\x10\x04\x12\x18\n\x14RcvdAddAckRevocation\x10\x05\x12\x12\n\x0eRcvdRemoveHtlc\x10\x06\x12\x14\n\x10RcvdRemoveCommit\x10\x07\x12\x18\n\x14SentRemoveRevocation\x10\x08\x12\x17\n\x13SentRemoveAckCommit\x10\t\x12\x1b\n\x17RcvdRemoveAckRevocation\x10\n\x12\x0f\n\x0bRcvdAddHtlc\x10\x0b\x12\x11\n\rRcvdAddCommit\x10\x0c\x12\x15\n\x11SentAddRevocation\x10\r\x12\x14\n\x10SentAddAckCommit\x10\x0e\x12\x12\n\x0eSentRemoveHtlc\x10\x0f\x12\x14\n\x10SentRemoveCommit\x10\x10\x12\x18\n\x14RcvdRemoveRevocation\x10\x11\x12\x17\n\x13RcvdRemoveAckCommit\x10\x12\x12\x1b\n\x17SentRemoveAckRevocation\x10\x13*\xd7\x01\n\x0f\x43hannelTypeName\x12\x19\n\x15static_remotekey_even\x10\x00\x12\x17\n\x13\x61nchor_outputs_even\x10\x01\x12!\n\x1d\x61nchors_zero_fee_htlc_tx_even\x10\x02\x12\x13\n\x0fscid_alias_even\x10\x03\x12\x11\n\rzeroconf_even\x10\x04\x12\x10\n\x0c\x61nchors_even\x10\x05\x12\x15\n\x11unified_sigs_even\x10\x06\x12\x1c\n\x18independent_secrets_even\x10\x07*\x89\x01\n\x12\x41utocleanSubsystem\x12\x15\n\x11SUCCEEDEDFORWARDS\x10\x00\x12\x12\n\x0e\x46\x41ILEDFORWARDS\x10\x01\x12\x11\n\rSUCCEEDEDPAYS\x10\x02\x12\x0e\n\nFAILEDPAYS\x10\x03\x12\x10\n\x0cPAIDINVOICES\x10\x04\x12\x13\n\x0f\x45XPIREDINVOICES\x10\x05*K\n\x10PluginSubcommand\x12\t\n\x05START\x10\x00\x12\x08\n\x04STOP\x10\x01\x12\n\n\x06RESCAN\x10\x02\x12\x0c\n\x08STARTDIR\x10\x03\x12\x08\n\x04LIST\x10\x04\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -40,11 +40,11 @@ _globals['_HTLCSTATE']._serialized_start=2022 _globals['_HTLCSTATE']._serialized_end=2491 _globals['_CHANNELTYPENAME']._serialized_start=2494 - _globals['_CHANNELTYPENAME']._serialized_end=2679 - _globals['_AUTOCLEANSUBSYSTEM']._serialized_start=2682 - _globals['_AUTOCLEANSUBSYSTEM']._serialized_end=2819 - _globals['_PLUGINSUBCOMMAND']._serialized_start=2821 - _globals['_PLUGINSUBCOMMAND']._serialized_end=2896 + _globals['_CHANNELTYPENAME']._serialized_end=2709 + _globals['_AUTOCLEANSUBSYSTEM']._serialized_start=2712 + _globals['_AUTOCLEANSUBSYSTEM']._serialized_end=2849 + _globals['_PLUGINSUBCOMMAND']._serialized_start=2851 + _globals['_PLUGINSUBCOMMAND']._serialized_end=2926 _globals['_AMOUNT']._serialized_start=25 _globals['_AMOUNT']._serialized_end=47 _globals['_AMOUNTORALL']._serialized_start=49 diff --git a/doc/schemas/fundchannel.json b/doc/schemas/fundchannel.json index c265bc55700d..dadfdfe38dbb 100644 --- a/doc/schemas/fundchannel.json +++ b/doc/schemas/fundchannel.json @@ -193,6 +193,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ diff --git a/doc/schemas/fundchannel_start.json b/doc/schemas/fundchannel_start.json index a28ec91ac836..35ad4dd57c0d 100644 --- a/doc/schemas/fundchannel_start.json +++ b/doc/schemas/fundchannel_start.json @@ -148,6 +148,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ diff --git a/doc/schemas/listclosedchannels.json b/doc/schemas/listclosedchannels.json index 02f86f1bc814..637757fa9f15 100644 --- a/doc/schemas/listclosedchannels.json +++ b/doc/schemas/listclosedchannels.json @@ -151,6 +151,7 @@ "anchors_zero_fee_htlc_tx/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ diff --git a/doc/schemas/listpeerchannels.json b/doc/schemas/listpeerchannels.json index 57b8d221fda2..10a800908d45 100644 --- a/doc/schemas/listpeerchannels.json +++ b/doc/schemas/listpeerchannels.json @@ -144,6 +144,7 @@ "anchors_zero_fee_htlc_tx/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ diff --git a/doc/schemas/multifundchannel.json b/doc/schemas/multifundchannel.json index 166bb009e235..7eff876b451e 100644 --- a/doc/schemas/multifundchannel.json +++ b/doc/schemas/multifundchannel.json @@ -215,6 +215,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ diff --git a/doc/schemas/openchannel_bump.json b/doc/schemas/openchannel_bump.json index 42111ea632e3..cd72802c44a3 100644 --- a/doc/schemas/openchannel_bump.json +++ b/doc/schemas/openchannel_bump.json @@ -99,6 +99,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ diff --git a/doc/schemas/openchannel_init.json b/doc/schemas/openchannel_init.json index 6ec7397aa403..2847893791e7 100644 --- a/doc/schemas/openchannel_init.json +++ b/doc/schemas/openchannel_init.json @@ -145,6 +145,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ diff --git a/doc/schemas/openchannel_update.json b/doc/schemas/openchannel_update.json index 946299a231b8..43da3a9997e6 100644 --- a/doc/schemas/openchannel_update.json +++ b/doc/schemas/openchannel_update.json @@ -87,6 +87,7 @@ "anchors/even", "scid_alias/even", "unified_sigs/even", + "independent_secrets/even", "zeroconf/even" ], "description": [ From fb6483efd019132892f58b274549583dfbb5b93b Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Tue, 6 Oct 2026 02:41:08 +0200 Subject: [PATCH 06/28] lightningd: --independent-secrets, to offer option_independent_secrets With --independent-secrets we signal the optional bit, and every new channel with a peer which signals it too uses the add-on, including a channel type the caller names (it changes nothing but what the receiver accepts). Channels with other peers open as before. It is off by default: the receiver of such secrets stores each one, so an operator chooses to. It can't be used with an external signer, an hsmd replaced with --subdaemon such as VLS, which checks the peer's secrets against a shachain: lightningd refuses to start with both, or with an external signer while any channel with the add-on is open or being resolved, since a channel keeps it after the option is removed. Like option_blake2b and option_unified_sigs, it is not available on Liquid. Changelog-Added: Protocol: `option_independent_secrets` (266/267): a peer's per-commitment secrets need not come from a shachain, so it can generate them k-of-n; `--independent-secrets` offers it (off by default, and not with an external signer). --- .msggen.json | 17 + cln-grpc/proto/node.proto | 6 + cln-grpc/src/convert.rs | 11 + cln-rpc/src/model.rs | 9 + contrib/msggen/msggen/schema.json | 27 + contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py | 1158 +++++++++-------- contrib/pyln-testing/pyln/testing/grpc2py.py | 7 + doc/lightningd-config.5.md | 16 + doc/schemas/listconfigs.json | 27 + lightningd/channel.c | 5 + lightningd/dual_open_control.c | 20 +- lightningd/lightningd.c | 41 + lightningd/opening_control.c | 7 + lightningd/options.c | 20 + 14 files changed, 788 insertions(+), 583 deletions(-) diff --git a/.msggen.json b/.msggen.json index e62c52590670..0e980f308021 100644 --- a/.msggen.json +++ b/.msggen.json @@ -2550,6 +2550,7 @@ "ListConfigs.configs.htlc-minimum-msat": 43, "ListConfigs.configs.ignore-fee-limits": 32, "ListConfigs.configs.important-plugin": 9, + "ListConfigs.configs.independent-secrets": 76, "ListConfigs.configs.large-channels": 20, "ListConfigs.configs.lightning-dir": 12, "ListConfigs.configs.log-file": 60, @@ -2770,6 +2771,10 @@ "ListConfigs.configs.important-plugin.sources[]": 2, "ListConfigs.configs.important-plugin.values_str[]": 1 }, + "ListconfigsConfigsIndependent-secrets": { + "ListConfigs.configs.independent-secrets.set": 1, + "ListConfigs.configs.independent-secrets.source": 2 + }, "ListconfigsConfigsLarge-channels": { "ListConfigs.configs.large-channels.set": 1, "ListConfigs.configs.large-channels.source": 2 @@ -10287,6 +10292,18 @@ "added": "v23.08", "deprecated": null }, + "ListConfigs.configs.independent-secrets": { + "added": "v26.06.9-blake2b.8", + "deprecated": null + }, + "ListConfigs.configs.independent-secrets.set": { + "added": "v26.06.9-blake2b.8", + "deprecated": null + }, + "ListConfigs.configs.independent-secrets.source": { + "added": "v26.06.9-blake2b.8", + "deprecated": null + }, "ListConfigs.configs.large-channels": { "added": "v23.08", "deprecated": null diff --git a/cln-grpc/proto/node.proto b/cln-grpc/proto/node.proto index 5a0df9d22f51..290f82feeca1 100644 --- a/cln-grpc/proto/node.proto +++ b/cln-grpc/proto/node.proto @@ -3236,6 +3236,7 @@ message ListconfigsConfigs { optional ListconfigsConfigsAutoconnectseekerpeers autoconnect_seeker_peers = 71; optional ListconfigsConfigsCurrencyrateaddsource currencyrate_add_source = 74; optional ListconfigsConfigsCurrencyratedisablesource currencyrate_disable_source = 75; + optional ListconfigsConfigsIndependentsecrets independent_secrets = 76; } message ListconfigsConfigsAddr { @@ -3457,6 +3458,11 @@ message ListconfigsConfigsImportantplugin { repeated string sources = 2; } +message ListconfigsConfigsIndependentsecrets { + bool set = 1; + string source = 2; +} + message ListconfigsConfigsLargechannels { bool set = 1; string source = 2; diff --git a/cln-grpc/src/convert.rs b/cln-grpc/src/convert.rs index a412788cf8a9..8b70c2b4e10c 100644 --- a/cln-grpc/src/convert.rs +++ b/cln-grpc/src/convert.rs @@ -3486,6 +3486,16 @@ impl From for pb::ListconfigsConfi } } +#[allow(unused_variables)] +impl From for pb::ListconfigsConfigsIndependentsecrets { + fn from(c: responses::ListconfigsConfigsIndependentsecrets) -> Self { + Self { + set: c.set, // Rule #2 for type boolean + source: c.source, // Rule #2 for type string + } + } +} + #[allow(unused_variables)] impl From for pb::ListconfigsConfigsLargechannels { fn from(c: responses::ListconfigsConfigsLargechannels) -> Self { @@ -3820,6 +3830,7 @@ impl From for pb::ListconfigsConfigs { htlc_minimum_msat: c.htlc_minimum_msat.map(|v| v.into()), ignore_fee_limits: c.ignore_fee_limits.map(|v| v.into()), important_plugin: c.important_plugin.map(|v| v.into()), + independent_secrets: c.independent_secrets.map(|v| v.into()), large_channels: c.large_channels.map(|v| v.into()), lightning_dir: c.lightning_dir.map(|v| v.into()), log_file: c.log_file.map(|v| v.into()), diff --git a/cln-rpc/src/model.rs b/cln-rpc/src/model.rs index 843c9334120d..a89bee6bb7f4 100644 --- a/cln-rpc/src/model.rs +++ b/cln-rpc/src/model.rs @@ -11216,6 +11216,12 @@ pub mod responses { pub values_str: Vec, } + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct ListconfigsConfigsIndependentsecrets { + pub set: bool, + pub source: String, + } + #[derive(Clone, Debug, Deserialize, Serialize)] pub struct ListconfigsConfigsLargechannels { pub set: bool, @@ -11557,6 +11563,9 @@ pub mod responses { #[serde(rename = "important-plugin")] #[serde(skip_serializing_if = "Option::is_none")] pub important_plugin: Option, + #[serde(rename = "independent-secrets")] + #[serde(skip_serializing_if = "Option::is_none")] + pub independent_secrets: Option, #[serde(rename = "large-channels")] #[serde(skip_serializing_if = "Option::is_none")] pub large_channels: Option, diff --git a/contrib/msggen/msggen/schema.json b/contrib/msggen/msggen/schema.json index a0c1dffd5ae3..2785a05bfe7b 100644 --- a/contrib/msggen/msggen/schema.json +++ b/contrib/msggen/msggen/schema.json @@ -20216,6 +20216,29 @@ } } }, + "independent-secrets": { + "added": "v26.06.9-blake2b.8", + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + }, "experimental-dual-fund": { "type": "object", "additionalProperties": false, @@ -21636,6 +21659,10 @@ "set": true, "source": "cmdline" }, + "independent-secrets": { + "set": false, + "source": "default" + }, "disable-mpp": { "set": false, "source": "default", diff --git a/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py b/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py index b9781f6537d5..10b13204307e 100644 --- a/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py +++ b/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py @@ -25,7 +25,7 @@ from pyln.grpc import primitives_pb2 as primitives__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nnode.proto\x12\x03\x63ln\x1a\x10primitives.proto\"\x10\n\x0eGetinfoRequest\"\xb1\x04\n\x0fGetinfoResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\r\n\x05\x63olor\x18\x03 \x01(\x0c\x12\x11\n\tnum_peers\x18\x04 \x01(\r\x12\x1c\n\x14num_pending_channels\x18\x05 \x01(\r\x12\x1b\n\x13num_active_channels\x18\x06 \x01(\r\x12\x1d\n\x15num_inactive_channels\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\t\x12\x15\n\rlightning_dir\x18\t \x01(\t\x12\x32\n\x0cour_features\x18\n \x01(\x0b\x32\x17.cln.GetinfoOurFeaturesH\x00\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0b \x01(\r\x12\x0f\n\x07network\x18\x0c \x01(\t\x12(\n\x13\x66\x65\x65s_collected_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x07\x61\x64\x64ress\x18\x0e \x03(\x0b\x32\x13.cln.GetinfoAddress\x12$\n\x07\x62inding\x18\x0f \x03(\x0b\x32\x13.cln.GetinfoBinding\x12\"\n\x15warning_bitcoind_sync\x18\x10 \x01(\tH\x01\x88\x01\x01\x12$\n\x17warning_lightningd_sync\x18\x11 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_our_featuresB\x18\n\x16_warning_bitcoind_syncB\x1a\n\x18_warning_lightningd_sync\"\xc4\x01\n\x0eGetinfoAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoAddress.GetinfoAddressType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"G\n\x12GetinfoAddressType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xac\x02\n\x0eGetinfoBinding\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoBinding.GetinfoBindingType\x12\x14\n\x07\x61\x64\x64ress\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06socket\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07subtype\x18\x05 \x01(\tH\x03\x88\x01\x01\"_\n\x12GetinfoBindingType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\n\n\x08_addressB\x07\n\x05_portB\t\n\x07_socketB\n\n\x08_subtype\"R\n\x12GetinfoOurFeatures\x12\x0c\n\x04init\x18\x01 \x01(\x0c\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63hannel\x18\x03 \x01(\x0c\x12\x0f\n\x07invoice\x18\x04 \x01(\x0c\"\xb5\x01\n\x10ListpeersRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x38\n\x05level\x18\x02 \x01(\x0e\x32$.cln.ListpeersRequest.ListpeersLevelH\x01\x88\x01\x01\"E\n\x0eListpeersLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\x0b\n\x07UNUSUAL\x10\x03\x12\t\n\x05TRACE\x10\x04\x42\x05\n\x03_idB\x08\n\x06_level\"7\n\x11ListpeersResponse\x12\"\n\x05peers\x18\x01 \x03(\x0b\x32\x13.cln.ListpeersPeers\"\xc9\x01\n\x0eListpeersPeers\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12#\n\x03log\x18\x03 \x03(\x0b\x32\x16.cln.ListpeersPeersLog\x12\x0f\n\x07netaddr\x18\x05 \x03(\t\x12\x15\n\x08\x66\x65\x61tures\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bremote_addr\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cnum_channels\x18\x08 \x01(\rB\x0b\n\t_featuresB\x0e\n\x0c_remote_addr\"\x88\x03\n\x11ListpeersPeersLog\x12?\n\titem_type\x18\x01 \x01(\x0e\x32,.cln.ListpeersPeersLog.ListpeersPeersLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"t\n\x15ListpeersPeersLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"0\n\x10ListfundsRequest\x12\x12\n\x05spent\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_spent\"e\n\x11ListfundsResponse\x12&\n\x07outputs\x18\x01 \x03(\x0b\x32\x15.cln.ListfundsOutputs\x12(\n\x08\x63hannels\x18\x02 \x03(\x0b\x32\x16.cln.ListfundsChannels\"\x97\x02\n\x11ListfundsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12$\n\x0four_amount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x04 \x01(\x0c\x12\x16\n\x0e\x66unding_output\x18\x05 \x01(\r\x12\x11\n\tconnected\x18\x06 \x01(\x08\x12 \n\x05state\x18\x07 \x01(\x0e\x32\x11.cln.ChannelState\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\t \x01(\x0c\x42\x13\n\x11_short_channel_id\"\xb9\x03\n\x10ListfundsOutputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06output\x18\x02 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0cscriptpubkey\x18\x04 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0credeemscript\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12<\n\x06status\x18\x07 \x01(\x0e\x32,.cln.ListfundsOutputs.ListfundsOutputsStatus\x12\x18\n\x0b\x62lockheight\x18\x08 \x01(\rH\x02\x88\x01\x01\x12\x10\n\x08reserved\x18\t \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\n \x01(\rH\x03\x88\x01\x01\"Q\n\x16ListfundsOutputsStatus\x12\x0f\n\x0bUNCONFIRMED\x10\x00\x12\r\n\tCONFIRMED\x10\x01\x12\t\n\x05SPENT\x10\x02\x12\x0c\n\x08IMMATURE\x10\x03\x42\n\n\x08_addressB\x0f\n\r_redeemscriptB\x0e\n\x0c_blockheightB\x14\n\x12_reserved_to_block\"\xbb\x03\n\x0eSendpayRequest\x12 \n\x05route\x18\x01 \x03(\x0b\x32\x11.cln.SendpayRoute\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x13\n\x06partid\x18\x07 \x01(\x04H\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\t \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_bolt11B\x11\n\x0f_payment_secretB\t\n\x07_partidB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x13\n\x11_payment_metadataB\x0e\n\x0c_description\"\x96\x05\n\x0fSendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x32\n\x06status\x18\x04 \x01(\x0e\x32\".cln.SendpayResponse.SendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x14\n\x07message\x18\x0e \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0f \x01(\x04H\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\"*\n\rSendpayStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\xe6\x02\n\x0cSendpayRoute\x12\x0f\n\x02id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x04 \x01(\tH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12!\n\x14short_channel_id_dir\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\t \x01(\rH\x07\x88\x01\x01\x42\x05\n\x03_idB\x08\n\x06_delayB\n\n\x08_channelB\x0e\n\x0c_amount_msatB\x17\n\x15_short_channel_id_dirB\x0e\n\x0c_node_id_outB\x12\n\x10_amount_out_msatB\x0b\n\t_cltv_out\"\x93\x01\n\x13ListchannelsRequest\x12\x1d\n\x10short_channel_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06source\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\t\n\x07_sourceB\x0e\n\x0c_destination\"C\n\x14ListchannelsResponse\x12+\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x19.cln.ListchannelsChannels\"\xb3\x03\n\x14ListchannelsChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\x0e\n\x06public\x18\x04 \x01(\x08\x12 \n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\rmessage_flags\x18\x06 \x01(\r\x12\x15\n\rchannel_flags\x18\x07 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x08 \x01(\x08\x12\x13\n\x0blast_update\x18\t \x01(\r\x12\x1d\n\x15\x62\x61se_fee_millisatoshi\x18\n \x01(\r\x12\x19\n\x11\x66\x65\x65_per_millionth\x18\x0b \x01(\r\x12\r\n\x05\x64\x65lay\x18\x0c \x01(\r\x12&\n\x11htlc_minimum_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x11htlc_maximum_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x0f \x01(\x0c\x12\x11\n\tdirection\x18\x10 \x01(\rB\x14\n\x12_htlc_maximum_msat\"#\n\x10\x41\x64\x64gossipRequest\x12\x0f\n\x07message\x18\x01 \x01(\x0c\"\x13\n\x11\x41\x64\x64gossipResponse\"\xac\x01\n\x14\x41\x64\x64psbtoutputRequest\x12\x1c\n\x07satoshi\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\x08locktime\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_locktimeB\x0e\n\x0c_initialpsbtB\x0e\n\x0c_destination\"U\n\x15\x41\x64\x64psbtoutputResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1e\n\x16\x65stimated_added_weight\x18\x02 \x01(\r\x12\x0e\n\x06outnum\x18\x03 \x01(\r\"O\n\x14\x41utocleanonceRequest\x12*\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystem\x12\x0b\n\x03\x61ge\x18\x02 \x01(\x04\"G\n\x15\x41utocleanonceResponse\x12.\n\tautoclean\x18\x01 \x01(\x0b\x32\x1b.cln.AutocleanonceAutoclean\"\x89\x05\n\x16\x41utocleanonceAutoclean\x12L\n\x11succeededforwards\x18\x01 \x01(\x0b\x32,.cln.AutocleanonceAutocleanSucceededforwardsH\x00\x88\x01\x01\x12\x46\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32).cln.AutocleanonceAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x44\n\rsucceededpays\x18\x03 \x01(\x0b\x32(.cln.AutocleanonceAutocleanSucceededpaysH\x02\x88\x01\x01\x12>\n\nfailedpays\x18\x04 \x01(\x0b\x32%.cln.AutocleanonceAutocleanFailedpaysH\x03\x88\x01\x01\x12\x42\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32\'.cln.AutocleanonceAutocleanPaidinvoicesH\x04\x88\x01\x01\x12H\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32*.cln.AutocleanonceAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x44\n\rnetworkevents\x18\x07 \x01(\x0b\x32(.cln.AutocleanonceAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"K\n%AutocleanonceAutocleanExpiredinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"J\n$AutocleanonceAutocleanFailedforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"F\n AutocleanonceAutocleanFailedpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanNetworkevents\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"H\n\"AutocleanonceAutocleanPaidinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"M\n\'AutocleanonceAutocleanSucceededforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanSucceededpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"W\n\x16\x41utocleanstatusRequest\x12/\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystemH\x00\x88\x01\x01\x42\x0c\n\n_subsystem\"K\n\x17\x41utocleanstatusResponse\x12\x30\n\tautoclean\x18\x01 \x01(\x0b\x32\x1d.cln.AutocleanstatusAutoclean\"\x99\x05\n\x18\x41utocleanstatusAutoclean\x12N\n\x11succeededforwards\x18\x01 \x01(\x0b\x32..cln.AutocleanstatusAutocleanSucceededforwardsH\x00\x88\x01\x01\x12H\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32+.cln.AutocleanstatusAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x46\n\rsucceededpays\x18\x03 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanSucceededpaysH\x02\x88\x01\x01\x12@\n\nfailedpays\x18\x04 \x01(\x0b\x32\'.cln.AutocleanstatusAutocleanFailedpaysH\x03\x88\x01\x01\x12\x44\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32).cln.AutocleanstatusAutocleanPaidinvoicesH\x04\x88\x01\x01\x12J\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32,.cln.AutocleanstatusAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x46\n\rnetworkevents\x18\x07 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"e\n\'AutocleanstatusAutocleanExpiredinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"d\n&AutocleanstatusAutocleanFailedforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"`\n\"AutocleanstatusAutocleanFailedpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanNetworkevents\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"b\n$AutocleanstatusAutocleanPaidinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"g\n)AutocleanstatusAutocleanSucceededforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanSucceededpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"U\n\x13\x43heckmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\r\n\x05zbase\x18\x02 \x01(\t\x12\x13\n\x06pubkey\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x42\t\n\x07_pubkey\"8\n\x14\x43heckmessageResponse\x12\x10\n\x08verified\x18\x01 \x01(\x08\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\"\xcb\x02\n\x0c\x43loseRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1e\n\x11unilateraltimeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x01\x88\x01\x01\x12!\n\x14\x66\x65\x65_negotiation_step\x18\x04 \x01(\tH\x02\x88\x01\x01\x12)\n\rwrong_funding\x18\x05 \x01(\x0b\x32\r.cln.OutpointH\x03\x88\x01\x01\x12\x1f\n\x12\x66orce_lease_closed\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1e\n\x08\x66\x65\x65range\x18\x07 \x03(\x0b\x32\x0c.cln.FeerateB\x14\n\x12_unilateraltimeoutB\x0e\n\x0c_destinationB\x17\n\x15_fee_negotiation_stepB\x10\n\x0e_wrong_fundingB\x15\n\x13_force_lease_closed\"\x93\x01\n\rCloseResponse\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.CloseResponse.CloseType\x12\x0b\n\x03txs\x18\x04 \x03(\x0c\x12\r\n\x05txids\x18\x05 \x03(\x0c\"5\n\tCloseType\x12\n\n\x06MUTUAL\x10\x00\x12\x0e\n\nUNILATERAL\x10\x01\x12\x0c\n\x08UNOPENED\x10\x02\"T\n\x0e\x43onnectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04host\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x07\n\x05_hostB\x07\n\x05_port\"\xb4\x01\n\x0f\x43onnectResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\x38\n\tdirection\x18\x03 \x01(\x0e\x32%.cln.ConnectResponse.ConnectDirection\x12$\n\x07\x61\x64\x64ress\x18\x04 \x01(\x0b\x32\x13.cln.ConnectAddress\"#\n\x10\x43onnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\xfb\x01\n\x0e\x43onnectAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.ConnectAddress.ConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"P\n\x12\x43onnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"J\n\x14\x43reateinvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x10\n\x08preimage\x18\x03 \x01(\x0c\"\xe6\x05\n\x15\x43reateinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12>\n\x06status\x18\x06 \x01(\x0e\x32..cln.CreateinvoiceResponse.CreateinvoiceStatus\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x16\n\tpay_index\x18\t \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12:\n\rpaid_outpoint\x18\x11 \x01(\x0b\x32\x1e.cln.CreateinvoicePaidOutpointH\t\x88\x01\x01\"8\n\x13\x43reateinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_paid_outpoint\"9\n\x19\x43reateinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xb4\x02\n\x10\x44\x61tastoreRequest\x12\x10\n\x03hex\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x36\n\x04mode\x18\x03 \x01(\x0e\x32#.cln.DatastoreRequest.DatastoreModeH\x01\x88\x01\x01\x12\x17\n\ngeneration\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\t\x12\x13\n\x06string\x18\x06 \x01(\tH\x03\x88\x01\x01\"p\n\rDatastoreMode\x12\x0f\n\x0bMUST_CREATE\x10\x00\x12\x10\n\x0cMUST_REPLACE\x10\x01\x12\x15\n\x11\x43REATE_OR_REPLACE\x10\x02\x12\x0f\n\x0bMUST_APPEND\x10\x03\x12\x14\n\x10\x43REATE_OR_APPEND\x10\x04\x42\x06\n\x04_hexB\x07\n\x05_modeB\r\n\x0b_generationB\t\n\x07_string\"\x82\x01\n\x11\x44\x61tastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"$\n\x15\x44\x61tastoreusageRequest\x12\x0b\n\x03key\x18\x01 \x03(\t\"S\n\x16\x44\x61tastoreusageResponse\x12\x39\n\x0e\x64\x61tastoreusage\x18\x01 \x01(\x0b\x32!.cln.DatastoreusageDatastoreusage\"@\n\x1c\x44\x61tastoreusageDatastoreusage\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x13\n\x0btotal_bytes\x18\x02 \x01(\x04\"\x9d\x01\n\x12\x43reateonionRequest\x12\"\n\x04hops\x18\x01 \x03(\x0b\x32\x14.cln.CreateonionHops\x12\x11\n\tassocdata\x18\x02 \x01(\x0c\x12\x18\n\x0bsession_key\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x17\n\nonion_size\x18\x04 \x01(\rH\x01\x88\x01\x01\x42\x0e\n\x0c_session_keyB\r\n\x0b_onion_size\"<\n\x13\x43reateonionResponse\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x16\n\x0eshared_secrets\x18\x02 \x03(\x0c\"2\n\x0f\x43reateonionHops\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"J\n\x13\x44\x65ldatastoreRequest\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x03 \x03(\tB\r\n\x0b_generation\"\x85\x01\n\x14\x44\x65ldatastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xb6\x01\n\x11\x44\x65linvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\'.cln.DelinvoiceRequest.DelinvoiceStatus\x12\x15\n\x08\x64\x65sconly\x18\x03 \x01(\x08H\x00\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\x0b\n\t_desconly\"\xcf\x05\n\x12\x44\x65linvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x38\n\x06status\x18\x07 \x01(\x0e\x32(.cln.DelinvoiceResponse.DelinvoiceStatus\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x16\n\tpay_index\x18\x0e \x01(\x04H\x07\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x07paid_at\x18\x10 \x01(\x04H\t\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x11 \x01(\x0cH\n\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\x9f\x01\n\x17\x44\x65vforgetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\x05\x66orce\x18\x04 \x01(\x08H\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x08\n\x06_force\"Y\n\x18\x44\x65vforgetchannelResponse\x12\x0e\n\x06\x66orced\x18\x01 \x01(\x08\x12\x17\n\x0f\x66unding_unspent\x18\x02 \x01(\x08\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\"\x19\n\x17\x45mergencyrecoverRequest\")\n\x18\x45mergencyrecoverResponse\x12\r\n\x05stubs\x18\x01 \x03(\x0c\" \n\x1eGetemergencyrecoverdataRequest\"\x8a\x01\n\x1fGetemergencyrecoverdataResponse\x12\x10\n\x08\x66iledata\x18\x01 \x01(\x0c\x12\x1f\n\x12\x63\x61n_create_penalty\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x15\x62\x61\x63ked_up_channel_ids\x18\x03 \x03(\x0c\x42\x15\n\x13_can_create_penalty\"Q\n\x13\x45xposesecretRequest\x12\x12\n\npassphrase\x18\x01 \x01(\t\x12\x17\n\nidentifier\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\r\n\x0b_identifier\"_\n\x14\x45xposesecretResponse\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12\x0f\n\x07\x63odex32\x18\x02 \x01(\t\x12\x15\n\x08mnemonic\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_mnemonic\"#\n\x0eRecoverRequest\x12\x11\n\thsmsecret\x18\x01 \x01(\t\"x\n\x0fRecoverResponse\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".cln.RecoverResponse.RecoverResult\"1\n\rRecoverResult\x12 \n\x1cRECOVERY_RESTART_IN_PROGRESS\x10\x00\"$\n\x15RecoverchannelRequest\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"\'\n\x16RecoverchannelResponse\x12\r\n\x05stubs\x18\x01 \x03(\t\"\x99\x02\n\x0eInvoiceRequest\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\x12\x11\n\tfallbacks\x18\x04 \x03(\t\x12\x15\n\x08preimage\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x11\n\x04\x63ltv\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18\x07 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x15\x65xposeprivatechannels\x18\x08 \x03(\t\x12\x19\n\x0c\x64\x65schashonly\x18\t \x01(\x08H\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x10.cln.AmountOrAnyB\x0b\n\t_preimageB\x07\n\x05_cltvB\t\n\x07_expiryB\x0f\n\r_deschashonly\"\xfe\x02\n\x0fInvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x16\n\x0epayment_secret\x18\x03 \x01(\x0c\x12\x12\n\nexpires_at\x18\x04 \x01(\x04\x12\x1d\n\x10warning_capacity\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0fwarning_offline\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10warning_deadends\x18\x07 \x01(\tH\x02\x88\x01\x01\x12#\n\x16warning_private_unused\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0bwarning_mpp\x18\t \x01(\tH\x04\x88\x01\x01\x12\x15\n\rcreated_index\x18\n \x01(\x04\x42\x13\n\x11_warning_capacityB\x12\n\x10_warning_offlineB\x13\n\x11_warning_deadendsB\x19\n\x17_warning_private_unusedB\x0e\n\x0c_warning_mpp\"\xe1\x01\n\x15InvoicerequestRequest\x12\x1b\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12\x17\n\nsingle_use\x18\x06 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_issuerB\x08\n\x06_labelB\x12\n\x10_absolute_expiryB\r\n\x0b_single_use\"\x8b\x01\n\x16InvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"1\n\x1c\x44isableinvoicerequestRequest\x12\x11\n\tinvreq_id\x18\x01 \x01(\t\"\x92\x01\n\x1d\x44isableinvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"l\n\x1aListinvoicerequestsRequest\x12\x16\n\tinvreq_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_invreq_idB\x0e\n\x0c_active_only\"_\n\x1bListinvoicerequestsResponse\x12@\n\x0finvoicerequests\x18\x01 \x03(\x0b\x32\'.cln.ListinvoicerequestsInvoicerequests\"\x97\x01\n\"ListinvoicerequestsInvoicerequests\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"#\n\x14ListdatastoreRequest\x12\x0b\n\x03key\x18\x02 \x03(\t\"G\n\x15ListdatastoreResponse\x12.\n\tdatastore\x18\x01 \x03(\x0b\x32\x1b.cln.ListdatastoreDatastore\"\x87\x01\n\x16ListdatastoreDatastore\x12\x0b\n\x03key\x18\x01 \x03(\t\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xde\x02\n\x13ListinvoicesRequest\x12\x12\n\x05label\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08offer_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12>\n\x05index\x18\x05 \x01(\x0e\x32*.cln.ListinvoicesRequest.ListinvoicesIndexH\x04\x88\x01\x01\x12\x12\n\x05start\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x06\x88\x01\x01\"-\n\x11ListinvoicesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x0f\n\r_payment_hashB\x0b\n\t_offer_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListinvoicesResponse\x12+\n\x08invoices\x18\x01 \x03(\x0b\x32\x19.cln.ListinvoicesInvoices\"\xbc\x06\n\x14ListinvoicesInvoices\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x16\n\tpay_index\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x14\n\x07paid_at\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0e \x01(\x0cH\x08\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\x12\x41\n\rpaid_outpoint\x18\x12 \x01(\x0b\x32%.cln.ListinvoicesInvoicesPaidOutpointH\x0b\x88\x01\x01\"?\n\x1aListinvoicesInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x11\n\x0f_local_offer_idB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"@\n ListinvoicesInvoicesPaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xf6\x03\n\x10SendonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12)\n\tfirst_hop\x18\x02 \x01(\x0b\x32\x16.cln.SendonionFirstHop\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x12\n\x05label\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0eshared_secrets\x18\x05 \x03(\x0c\x12\x13\n\x06partid\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\t \x01(\x0cH\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12+\n\x11total_amount_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\x0e\n\x0c_destinationB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0e\n\x0c_descriptionB\x14\n\x12_total_amount_msat\"\xd0\x04\n\x11SendonionResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x36\n\x06status\x18\x03 \x01(\x0e\x32&.cln.SendonionResponse.SendonionStatus\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x06 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\n \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0b \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07message\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06partid\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0e \x01(\x04\x12\x1a\n\rupdated_index\x18\x0f \x01(\x04H\x08\x88\x01\x01\",\n\x0fSendonionStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\t\n\x07_partidB\x10\n\x0e_updated_index\"P\n\x11SendonionFirstHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\r\n\x05\x64\x65lay\x18\x03 \x01(\r\"\xa0\x03\n\x13ListsendpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12@\n\x06status\x18\x03 \x01(\x0e\x32+.cln.ListsendpaysRequest.ListsendpaysStatusH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListsendpaysRequest.ListsendpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListsendpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\";\n\x12ListsendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListsendpaysResponse\x12+\n\x08payments\x18\x01 \x03(\x0b\x32\x19.cln.ListsendpaysPayments\"\xe5\x05\n\x14ListsendpaysPayments\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListsendpaysPayments.ListsendpaysPaymentsStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\n \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06partid\x18\x0f \x01(\x04H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x12 \x01(\x04H\n\x88\x01\x01\"C\n\x1aListsendpaysPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\t\n\x07_partidB\x10\n\x0e_updated_indexB\x0f\n\r_completed_at\"\x19\n\x17ListtransactionsRequest\"S\n\x18ListtransactionsResponse\x12\x37\n\x0ctransactions\x18\x01 \x03(\x0b\x32!.cln.ListtransactionsTransactions\"\xf8\x01\n\x1cListtransactionsTransactions\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\r\n\x05rawtx\x18\x02 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x03 \x01(\r\x12\x0f\n\x07txindex\x18\x04 \x01(\r\x12\x10\n\x08locktime\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\r\x12\x37\n\x06inputs\x18\t \x03(\x0b\x32\'.cln.ListtransactionsTransactionsInputs\x12\x39\n\x07outputs\x18\n \x03(\x0b\x32(.cln.ListtransactionsTransactionsOutputs\"S\n\"ListtransactionsTransactionsInputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\r\n\x05index\x18\x02 \x01(\r\x12\x10\n\x08sequence\x18\x03 \x01(\r\"l\n#ListtransactionsTransactionsOutputs\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0cscriptPubKey\x18\x03 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\"M\n\x11MakesecretRequest\x12\x10\n\x03hex\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x13\n\x06string\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x06\n\x04_hexB\t\n\x07_string\"$\n\x12MakesecretResponse\x12\x0e\n\x06secret\x18\x01 \x01(\x0c\"\xc7\x04\n\nPayRequest\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12\x1b\n\nriskfactor\x18\x08 \x01(\x01\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\n \x03(\tB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x06\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x0c \x01(\tB\x02\x18\x01H\x07\x88\x01\x01\x12)\n\x0b\x61mount_msat\x18\r \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x08\x88\x01\x01\x12\x1e\n\rlocalinvreqid\x18\x0e \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12*\n\x0cpartial_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_riskfactorB\t\n\x07_maxfeeB\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0f\n\r_partial_msat\"\xab\x03\n\x0bPayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12.\n\x06status\x18\t \x01(\x0e\x32\x1a.cln.PayResponse.PayStatusB\x02\x18\x01\">\n\tPayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"*\n\x10ListnodesRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"7\n\x11ListnodesResponse\x12\"\n\x05nodes\x18\x01 \x03(\x0b\x32\x13.cln.ListnodesNodes\"\xb8\x02\n\x0eListnodesNodes\x12\x0e\n\x06nodeid\x18\x01 \x01(\x0c\x12\x1b\n\x0elast_timestamp\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x12\n\x05\x61lias\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63olor\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x05 \x01(\x0cH\x03\x88\x01\x01\x12/\n\taddresses\x18\x06 \x03(\x0b\x32\x1c.cln.ListnodesNodesAddresses\x12@\n\x10option_will_fund\x18\x07 \x01(\x0b\x32!.cln.ListnodesNodesOptionWillFundH\x04\x88\x01\x01\x42\x11\n\x0f_last_timestampB\x08\n\x06_aliasB\x08\n\x06_colorB\x0b\n\t_featuresB\x13\n\x11_option_will_fund\"\xe8\x01\n\x17ListnodesNodesAddresses\x12K\n\titem_type\x18\x01 \x01(\x0e\x32\x38.cln.ListnodesNodesAddresses.ListnodesNodesAddressesType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"P\n\x1bListnodesNodesAddressesType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xf2\x01\n\x1cListnodesNodesOptionWillFund\x12(\n\x13lease_fee_base_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x17\n\x0flease_fee_basis\x18\x02 \x01(\r\x12\x16\n\x0e\x66unding_weight\x18\x03 \x01(\r\x12.\n\x19\x63hannel_fee_max_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x30\n(channel_fee_max_proportional_thousandths\x18\x05 \x01(\r\x12\x15\n\rcompact_lease\x18\x06 \x01(\x0c\"g\n\x15WaitanyinvoiceRequest\x12\x1a\n\rlastpay_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\x10\n\x0e_lastpay_indexB\n\n\x08_timeout\"\xbc\x05\n\x16WaitanyinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12@\n\x06status\x18\x04 \x01(\x0e\x32\x30.cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12;\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1f.cln.WaitanyinvoicePaidOutpointH\t\x88\x01\x01\"-\n\x14WaitanyinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\":\n\x1aWaitanyinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"#\n\x12WaitinvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\"\xad\x05\n\x13WaitinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitinvoiceResponse.WaitinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12\x38\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1c.cln.WaitinvoicePaidOutpointH\t\x88\x01\x01\"*\n\x11WaitinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"7\n\x17WaitinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\x8e\x01\n\x12WaitsendpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\t\n\x07_partidB\n\n\x08_timeoutB\n\n\x08_groupid\"\xf7\x04\n\x13WaitsendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitsendpayResponse.WaitsendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0e \x01(\x01H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0f \x01(\x04\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\t\x88\x01\x01\"!\n\x11WaitsendpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\x97\x01\n\x0eNewaddrRequest\x12@\n\x0b\x61\x64\x64resstype\x18\x01 \x01(\x0e\x32&.cln.NewaddrRequest.NewaddrAddresstypeH\x00\x88\x01\x01\"3\n\x12NewaddrAddresstype\x12\n\n\x06\x42\x45\x43H32\x10\x00\x12\x07\n\x03\x41LL\x10\x02\x12\x08\n\x04P2TR\x10\x03\x42\x0e\n\x0c_addresstype\"M\n\x0fNewaddrResponse\x12\x13\n\x06\x62\x65\x63h32\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb9\x01\n\x0fWithdrawRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12!\n\x07satoshi\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\"\n\x07\x66\x65\x65rate\x18\x05 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_feerate\":\n\x10WithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0c\n\x04psbt\x18\x03 \x01(\t\"\xd7\x03\n\x0eKeysendRequest\x12\x17\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12/\n\nroutehints\x18\x08 \x01(\x0b\x32\x12.cln.RoutehintListB\x02\x18\x01H\x05\x88\x01\x01\x12*\n\textratlvs\x18\t \x01(\x0b\x32\x0e.cln.TlvStreamB\x02\x18\x01H\x06\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x07\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_routehintsB\x0c\n\n_extratlvsB\t\n\x07_maxfee\"\x9a\x03\n\x0fKeysendResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x36\n\x06status\x18\t \x01(\x0e\x32\".cln.KeysendResponse.KeysendStatusB\x02\x18\x01\"!\n\rKeysendStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"\xa4\x03\n\x0f\x46undpsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x14\n\x07minconf\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\x08 \x01(\x08H\x04\x88\x01\x01\x12\x17\n\nnonwrapped\x18\t \x01(\x08H\x05\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x06\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_changeB\r\n\x0b_nonwrappedB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10\x46undpsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.FundpsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14\x46undpsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"A\n\x0fSendpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\",\n\x10SendpsbtResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"1\n\x0fSignpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x10\n\x08signonly\x18\x02 \x03(\r\"\'\n\x10SignpsbtResponse\x12\x13\n\x0bsigned_psbt\x18\x01 \x01(\t\"\xa0\x03\n\x0fUtxopsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nreservedok\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\t \x01(\x08H\x04\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\r\n\x0b_reservedokB\x13\n\x11_excess_as_changeB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10UtxopsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.UtxopsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14UtxopsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\" \n\x10TxdiscardRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"6\n\x11TxdiscardResponse\x12\x13\n\x0bunsigned_tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xa4\x01\n\x10TxprepareRequest\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12 \n\x07outputs\x18\x05 \x03(\x0b\x32\x0f.cln.OutputDescB\n\n\x08_feerateB\n\n\x08_minconf\"D\n\x11TxprepareResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x13\n\x0bunsigned_tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x1d\n\rTxsendRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"8\n\x0eTxsendResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x8d\x01\n\x17ListpeerchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x05\n\x03_idB\x13\n\x11_short_channel_idB\r\n\x0b_channel_id\"K\n\x18ListpeerchannelsResponse\x12/\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1d.cln.ListpeerchannelsChannels\"\xd1\x1a\n\x18ListpeerchannelsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x16\n\x0epeer_connected\x18\x02 \x01(\x08\x12 \n\x05state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x19\n\x0cscratch_txid\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x43\n\x0c\x63hannel_type\x18\x05 \x01(\x0b\x32(.cln.ListpeerchannelsChannelsChannelTypeH\x01\x88\x01\x01\x12:\n\x07\x66\x65\x65rate\x18\x06 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFeerateH\x02\x88\x01\x01\x12\x12\n\x05owner\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x17\n\nchannel_id\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\r \x01(\tH\t\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0e \x01(\tH\n\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0f \x01(\rH\x0b\x88\x01\x01\x12\x37\n\x08inflight\x18\x10 \x03(\x0b\x32%.cln.ListpeerchannelsChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x11 \x01(\x0cH\x0c\x88\x01\x01\x12\x14\n\x07private\x18\x12 \x01(\x08H\r\x88\x01\x01\x12 \n\x06opener\x18\x13 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x14 \x01(\x0e\x32\x10.cln.ChannelSideH\x0e\x88\x01\x01\x12:\n\x07\x66unding\x18\x16 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFundingH\x0f\x88\x01\x01\x12$\n\nto_us_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x19 \x01(\x0b\x32\x0b.cln.AmountH\x12\x88\x01\x01\x12$\n\ntotal_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x1c \x01(\rH\x15\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1f \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12*\n\x10our_reserve_msat\x18 \x01(\x0b\x32\x0b.cln.AmountH\x18\x88\x01\x01\x12(\n\x0espendable_msat\x18! \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12)\n\x0freceivable_msat\x18\" \x01(\x0b\x32\x0b.cln.AmountH\x1a\x88\x01\x01\x12.\n\x14minimum_htlc_in_msat\x18# \x01(\x0b\x32\x0b.cln.AmountH\x1b\x88\x01\x01\x12/\n\x15minimum_htlc_out_msat\x18$ \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18% \x01(\x0b\x32\x0b.cln.AmountH\x1d\x88\x01\x01\x12 \n\x13their_to_self_delay\x18& \x01(\rH\x1e\x88\x01\x01\x12\x1e\n\x11our_to_self_delay\x18\' \x01(\rH\x1f\x88\x01\x01\x12\x1f\n\x12max_accepted_htlcs\x18( \x01(\rH \x88\x01\x01\x12\x36\n\x05\x61lias\x18) \x01(\x0b\x32\".cln.ListpeerchannelsChannelsAliasH!\x88\x01\x01\x12@\n\rstate_changes\x18* \x03(\x0b\x32).cln.ListpeerchannelsChannelsStateChanges\x12\x0e\n\x06status\x18+ \x03(\t\x12 \n\x13in_payments_offered\x18, \x01(\x04H\"\x88\x01\x01\x12)\n\x0fin_offered_msat\x18- \x01(\x0b\x32\x0b.cln.AmountH#\x88\x01\x01\x12\"\n\x15in_payments_fulfilled\x18. \x01(\x04H$\x88\x01\x01\x12+\n\x11in_fulfilled_msat\x18/ \x01(\x0b\x32\x0b.cln.AmountH%\x88\x01\x01\x12!\n\x14out_payments_offered\x18\x30 \x01(\x04H&\x88\x01\x01\x12*\n\x10out_offered_msat\x18\x31 \x01(\x0b\x32\x0b.cln.AmountH\'\x88\x01\x01\x12#\n\x16out_payments_fulfilled\x18\x32 \x01(\x04H(\x88\x01\x01\x12,\n\x12out_fulfilled_msat\x18\x33 \x01(\x0b\x32\x0b.cln.AmountH)\x88\x01\x01\x12\x31\n\x05htlcs\x18\x34 \x03(\x0b\x32\".cln.ListpeerchannelsChannelsHtlcs\x12\x1a\n\rclose_to_addr\x18\x35 \x01(\tH*\x88\x01\x01\x12\x1e\n\x11ignore_fee_limits\x18\x36 \x01(\x08H+\x88\x01\x01\x12:\n\x07updates\x18\x37 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsUpdatesH,\x88\x01\x01\x12#\n\x16last_stable_connection\x18\x38 \x01(\x04H-\x88\x01\x01\x12\x17\n\nlost_state\x18\x39 \x01(\x08H.\x88\x01\x01\x12\x1a\n\rreestablished\x18: \x01(\x08H/\x88\x01\x01\x12*\n\x10last_tx_fee_msat\x18; \x01(\x0b\x32\x0b.cln.AmountH0\x88\x01\x01\x12\x16\n\tdirection\x18< \x01(\rH1\x88\x01\x01\x12=\n#their_max_htlc_value_in_flight_msat\x18= \x01(\x0b\x32\x0b.cln.AmountH2\x88\x01\x01\x12;\n!our_max_htlc_value_in_flight_msat\x18> \x01(\x0b\x32\x0b.cln.AmountH3\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18? \x03(\tB\x0f\n\r_scratch_txidB\x0f\n\r_channel_typeB\n\n\x08_feerateB\x08\n\x06_ownerB\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x0f\n\r_funding_txidB\x11\n\x0f_funding_outnumB\x12\n\x10_initial_feerateB\x0f\n\r_last_feerateB\x0f\n\r_next_feerateB\x10\n\x0e_next_fee_stepB\x0b\n\t_close_toB\n\n\x08_privateB\t\n\x07_closerB\n\n\x08_fundingB\r\n\x0b_to_us_msatB\x11\n\x0f_min_to_us_msatB\x11\n\x0f_max_to_us_msatB\r\n\x0b_total_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x12\n\x10_dust_limit_msatB\x15\n\x13_their_reserve_msatB\x13\n\x11_our_reserve_msatB\x11\n\x0f_spendable_msatB\x12\n\x10_receivable_msatB\x17\n\x15_minimum_htlc_in_msatB\x18\n\x16_minimum_htlc_out_msatB\x18\n\x16_maximum_htlc_out_msatB\x16\n\x14_their_to_self_delayB\x14\n\x12_our_to_self_delayB\x15\n\x13_max_accepted_htlcsB\x08\n\x06_aliasB\x16\n\x14_in_payments_offeredB\x12\n\x10_in_offered_msatB\x18\n\x16_in_payments_fulfilledB\x14\n\x12_in_fulfilled_msatB\x17\n\x15_out_payments_offeredB\x13\n\x11_out_offered_msatB\x19\n\x17_out_payments_fulfilledB\x15\n\x13_out_fulfilled_msatB\x10\n\x0e_close_to_addrB\x14\n\x12_ignore_fee_limitsB\n\n\x08_updatesB\x19\n\x17_last_stable_connectionB\r\n\x0b_lost_stateB\x10\n\x0e_reestablishedB\x13\n\x11_last_tx_fee_msatB\x0c\n\n_directionB&\n$_their_max_htlc_value_in_flight_msatB$\n\"_our_max_htlc_value_in_flight_msat\"]\n\x1dListpeerchannelsChannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"X\n#ListpeerchannelsChannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"?\n\x1fListpeerchannelsChannelsFeerate\x12\r\n\x05perkw\x18\x01 \x01(\r\x12\r\n\x05perkb\x18\x02 \x01(\r\"\xdd\x02\n\x1fListpeerchannelsChannelsFunding\x12%\n\x0bpushed_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12%\n\x10local_funds_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11remote_funds_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\rfee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x11\n\x04psbt\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x15\n\x08withheld\x18\x07 \x01(\x08H\x04\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msatB\x07\n\x05_psbtB\x0b\n\t_withheld\"\xf9\x02\n\x1dListpeerchannelsChannelsHtlcs\x12\\\n\tdirection\x18\x01 \x01(\x0e\x32I.cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection\x12\n\n\x02id\x18\x02 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06\x65xpiry\x18\x04 \x01(\r\x12\x14\n\x0cpayment_hash\x18\x05 \x01(\x0c\x12\x1a\n\rlocal_trimmed\x18\x06 \x01(\x08H\x00\x88\x01\x01\x12\x13\n\x06status\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x05state\x18\x08 \x01(\x0e\x32\x0e.cln.HtlcState\"9\n&ListpeerchannelsChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x10\n\x0e_local_trimmedB\t\n\x07_status\"\xf4\x01\n ListpeerchannelsChannelsInflight\x12\x14\n\x0c\x66unding_txid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\x02 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x03 \x01(\t\x12\'\n\x12total_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10our_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0cscratch_txid\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\rsplice_amount\x18\x07 \x01(\x12\x42\x0f\n\r_scratch_txid\"\xf0\x02\n$ListpeerchannelsChannelsStateChanges\x12\x11\n\ttimestamp\x18\x01 \x01(\t\x12$\n\told_state\x18\x02 \x01(\x0e\x32\x11.cln.ChannelState\x12$\n\tnew_state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x62\n\x05\x63\x61use\x18\x04 \x01(\x0e\x32S.cln.ListpeerchannelsChannelsStateChanges.ListpeerchannelsChannelsStateChangesCause\x12\x0f\n\x07message\x18\x05 \x01(\t\"t\n)ListpeerchannelsChannelsStateChangesCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\"\xa7\x01\n\x1fListpeerchannelsChannelsUpdates\x12\x38\n\x05local\x18\x01 \x01(\x0b\x32).cln.ListpeerchannelsChannelsUpdatesLocal\x12?\n\x06remote\x18\x02 \x01(\x0b\x32*.cln.ListpeerchannelsChannelsUpdatesRemoteH\x00\x88\x01\x01\x42\t\n\x07_remote\"\xda\x01\n$ListpeerchannelsChannelsUpdatesLocal\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"\xdb\x01\n%ListpeerchannelsChannelsUpdatesRemote\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"3\n\x19ListclosedchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"[\n\x1aListclosedchannelsResponse\x12=\n\x0e\x63losedchannels\x18\x01 \x03(\x0b\x32%.cln.ListclosedchannelsClosedchannels\"\xae\x0b\n ListclosedchannelsClosedchannels\x12\x14\n\x07peer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x01\x88\x01\x01\x12>\n\x05\x61lias\x18\x04 \x01(\x0b\x32*.cln.ListclosedchannelsClosedchannelsAliasH\x02\x88\x01\x01\x12 \n\x06opener\x18\x05 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x06 \x01(\x0e\x32\x10.cln.ChannelSideH\x03\x88\x01\x01\x12\x0f\n\x07private\x18\x07 \x01(\x08\x12K\n\x0c\x63hannel_type\x18\x08 \x01(\x0b\x32\x30.cln.ListclosedchannelsClosedchannelsChannelTypeH\x04\x88\x01\x01\x12\x1f\n\x17total_local_commitments\x18\t \x01(\x04\x12 \n\x18total_remote_commitments\x18\n \x01(\x04\x12\x18\n\x10total_htlcs_sent\x18\x0b \x01(\x04\x12\x14\n\x0c\x66unding_txid\x18\x0c \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\r \x01(\r\x12\x0e\n\x06leased\x18\x0e \x01(\x08\x12/\n\x15\x66unding_fee_paid_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12/\n\x15\x66unding_fee_rcvd_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12-\n\x13\x66unding_pushed_msat\x18\x11 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x1f\n\ntotal_msat\x18\x12 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x66inal_to_us_msat\x18\x13 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emin_to_us_msat\x18\x14 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emax_to_us_msat\x18\x15 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x14last_commitment_txid\x18\x16 \x01(\x0cH\x08\x88\x01\x01\x12\x32\n\x18last_commitment_fee_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\t\x88\x01\x01\x12\x65\n\x0b\x63lose_cause\x18\x18 \x01(\x0e\x32P.cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsCloseCause\x12#\n\x16last_stable_connection\x18\x19 \x01(\x04H\n\x88\x01\x01\x12\x19\n\x0c\x66unding_psbt\x18\x1a \x01(\tH\x0b\x88\x01\x01\x12\x1d\n\x10\x66unding_withheld\x18\x1b \x01(\x08H\x0c\x88\x01\x01\"u\n*ListclosedchannelsClosedchannelsCloseCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\n\n\x08_peer_idB\x13\n\x11_short_channel_idB\x08\n\x06_aliasB\t\n\x07_closerB\x0f\n\r_channel_typeB\x18\n\x16_funding_fee_paid_msatB\x18\n\x16_funding_fee_rcvd_msatB\x16\n\x14_funding_pushed_msatB\x17\n\x15_last_commitment_txidB\x1b\n\x19_last_commitment_fee_msatB\x19\n\x17_last_stable_connectionB\x0f\n\r_funding_psbtB\x13\n\x11_funding_withheld\"e\n%ListclosedchannelsClosedchannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"`\n+ListclosedchannelsClosedchannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x1f\n\rDecodeRequest\x12\x0e\n\x06string\x18\x01 \x01(\t\"\xbd.\n\x0e\x44\x65\x63odeResponse\x12\x31\n\titem_type\x18\x01 \x01(\x0e\x32\x1e.cln.DecodeResponse.DecodeType\x12\r\n\x05valid\x18\x02 \x01(\x08\x12\x15\n\x08offer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x0coffer_chains\x18\x04 \x03(\x0c\x12\x1b\n\x0eoffer_metadata\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0eoffer_currency\x18\x06 \x01(\tH\x02\x88\x01\x01\x12+\n\x1ewarning_unknown_offer_currency\x18\x07 \x01(\tH\x03\x88\x01\x01\x12 \n\x13\x63urrency_minor_unit\x18\x08 \x01(\rH\x04\x88\x01\x01\x12\x19\n\x0coffer_amount\x18\t \x01(\x04H\x05\x88\x01\x01\x12+\n\x11offer_amount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x1e\n\x11offer_description\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0coffer_issuer\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x1b\n\x0eoffer_features\x18\r \x01(\x0cH\t\x88\x01\x01\x12\"\n\x15offer_absolute_expiry\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1f\n\x12offer_quantity_max\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12*\n\x0boffer_paths\x18\x10 \x03(\x0b\x32\x15.cln.DecodeOfferPaths\x12\x39\n\x10offer_recurrence\x18\x12 \x01(\x0b\x32\x1a.cln.DecodeOfferRecurrenceH\x0c\x88\x01\x01\x12\x37\n\x12unknown_offer_tlvs\x18\x13 \x03(\x0b\x32\x1b.cln.DecodeUnknownOfferTlvs\x12.\n!warning_invalid_offer_description\x18\x15 \x01(\tH\r\x88\x01\x01\x12.\n!warning_missing_offer_description\x18\x16 \x01(\tH\x0e\x88\x01\x01\x12+\n\x1ewarning_invalid_offer_currency\x18\x17 \x01(\tH\x0f\x88\x01\x01\x12)\n\x1cwarning_invalid_offer_issuer\x18\x18 \x01(\tH\x10\x88\x01\x01\x12\x1c\n\x0finvreq_metadata\x18\x19 \x01(\x0cH\x11\x88\x01\x01\x12\x1c\n\x0finvreq_payer_id\x18\x1a \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0cinvreq_chain\x18\x1b \x01(\x0cH\x13\x88\x01\x01\x12,\n\x12invreq_amount_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12\x1c\n\x0finvreq_features\x18\x1d \x01(\x0cH\x15\x88\x01\x01\x12\x1c\n\x0finvreq_quantity\x18\x1e \x01(\x04H\x16\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x1f \x01(\tH\x17\x88\x01\x01\x12&\n\x19invreq_recurrence_counter\x18 \x01(\rH\x18\x88\x01\x01\x12$\n\x17invreq_recurrence_start\x18! \x01(\rH\x19\x88\x01\x01\x12J\n\x1cunknown_invoice_request_tlvs\x18\" \x03(\x0b\x32$.cln.DecodeUnknownInvoiceRequestTlvs\x12,\n\x1fwarning_missing_invreq_metadata\x18# \x01(\tH\x1a\x88\x01\x01\x12,\n\x1fwarning_missing_invreq_payer_id\x18$ \x01(\tH\x1b\x88\x01\x01\x12.\n!warning_invalid_invreq_payer_note\x18% \x01(\tH\x1c\x88\x01\x01\x12\x36\n)warning_missing_invoice_request_signature\x18& \x01(\tH\x1d\x88\x01\x01\x12\x36\n)warning_invalid_invoice_request_signature\x18\' \x01(\tH\x1e\x88\x01\x01\x12.\n\rinvoice_paths\x18( \x03(\x0b\x32\x17.cln.DecodeInvoicePaths\x12\x1f\n\x12invoice_created_at\x18) \x01(\x04H\x1f\x88\x01\x01\x12$\n\x17invoice_relative_expiry\x18* \x01(\rH \x88\x01\x01\x12!\n\x14invoice_payment_hash\x18+ \x01(\x0cH!\x88\x01\x01\x12-\n\x13invoice_amount_msat\x18, \x01(\x0b\x32\x0b.cln.AmountH\"\x88\x01\x01\x12\x36\n\x11invoice_fallbacks\x18- \x03(\x0b\x32\x1b.cln.DecodeInvoiceFallbacks\x12\x1d\n\x10invoice_features\x18. \x01(\x0cH#\x88\x01\x01\x12\x1c\n\x0finvoice_node_id\x18/ \x01(\x0cH$\x88\x01\x01\x12(\n\x1binvoice_recurrence_basetime\x18\x30 \x01(\x04H%\x88\x01\x01\x12;\n\x14unknown_invoice_tlvs\x18\x31 \x03(\x0b\x32\x1d.cln.DecodeUnknownInvoiceTlvs\x12*\n\x1dwarning_missing_invoice_paths\x18\x32 \x01(\tH&\x88\x01\x01\x12/\n\"warning_missing_invoice_blindedpay\x18\x33 \x01(\tH\'\x88\x01\x01\x12/\n\"warning_missing_invoice_created_at\x18\x34 \x01(\tH(\x88\x01\x01\x12\x31\n$warning_missing_invoice_payment_hash\x18\x35 \x01(\tH)\x88\x01\x01\x12+\n\x1ewarning_missing_invoice_amount\x18\x36 \x01(\tH*\x88\x01\x01\x12\x38\n+warning_missing_invoice_recurrence_basetime\x18\x37 \x01(\tH+\x88\x01\x01\x12,\n\x1fwarning_missing_invoice_node_id\x18\x38 \x01(\tH,\x88\x01\x01\x12.\n!warning_missing_invoice_signature\x18\x39 \x01(\tH-\x88\x01\x01\x12.\n!warning_invalid_invoice_signature\x18: \x01(\tH.\x88\x01\x01\x12\'\n\tfallbacks\x18; \x03(\x0b\x32\x14.cln.DecodeFallbacks\x12\x17\n\ncreated_at\x18< \x01(\x04H/\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18= \x01(\x04H0\x88\x01\x01\x12\x12\n\x05payee\x18> \x01(\x0cH1\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18? \x01(\x0cH2\x88\x01\x01\x12\x1d\n\x10\x64\x65scription_hash\x18@ \x01(\x0cH3\x88\x01\x01\x12\"\n\x15min_final_cltv_expiry\x18\x41 \x01(\rH4\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x42 \x01(\x0cH5\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x43 \x01(\x0cH6\x88\x01\x01\x12\x1f\n\x05\x65xtra\x18\x45 \x03(\x0b\x32\x10.cln.DecodeExtra\x12\x16\n\tunique_id\x18\x46 \x01(\tH7\x88\x01\x01\x12\x14\n\x07version\x18G \x01(\tH8\x88\x01\x01\x12\x13\n\x06string\x18H \x01(\tH9\x88\x01\x01\x12-\n\x0crestrictions\x18I \x03(\x0b\x32\x17.cln.DecodeRestrictions\x12&\n\x19warning_rune_invalid_utf8\x18J \x01(\tH:\x88\x01\x01\x12\x10\n\x03hex\x18K \x01(\x0cH;\x88\x01\x01\x12\x16\n\tdecrypted\x18L \x01(\x0cH<\x88\x01\x01\x12\x16\n\tsignature\x18M \x01(\tH=\x88\x01\x01\x12\x15\n\x08\x63urrency\x18N \x01(\tH>\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18O \x01(\x0b\x32\x0b.cln.AmountH?\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18P \x01(\tH@\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18Q \x01(\x0cHA\x88\x01\x01\x12-\n\x06routes\x18R \x01(\x0b\x32\x18.cln.DecodeRoutehintListHB\x88\x01\x01\x12\x1c\n\x0foffer_issuer_id\x18S \x01(\x0cHC\x88\x01\x01\x12,\n\x1fwarning_missing_offer_issuer_id\x18T \x01(\tHD\x88\x01\x01\x12,\n\x0cinvreq_paths\x18U \x03(\x0b\x32\x16.cln.DecodeInvreqPaths\x12\'\n\x1awarning_empty_blinded_path\x18V \x01(\tHE\x88\x01\x01\x12=\n\x13invreq_bip_353_name\x18W \x01(\x0b\x32\x1b.cln.DecodeInvreqBip353NameHF\x88\x01\x01\x12\x35\n(warning_invreq_bip_353_name_name_invalid\x18X \x01(\tHG\x88\x01\x01\x12\x37\n*warning_invreq_bip_353_name_domain_invalid\x18Y \x01(\tHH\x88\x01\x01\x12%\n\x18invreq_recurrence_cancel\x18Z \x01(\x08HI\x88\x01\x01\x12=\n0warning_invreq_recurrence_cancel_without_counter\x18[ \x01(\tHJ\x88\x01\x01\x12?\n2warning_invreq_recurrence_cancel_with_zero_counter\x18\\ \x01(\tHK\x88\x01\x01\x12\x1b\n\x0eproof_preimage\x18] \x01(\x0cHL\x88\x01\x01\x12\x1a\n\x12proof_omitted_tlvs\x18^ \x03(\x04\x12\x1c\n\x14proof_missing_hashes\x18_ \x03(\x0c\x12\x19\n\x11proof_leaf_hashes\x18` \x03(\x0c\x12\x17\n\nproof_note\x18\x61 \x01(\tHM\x88\x01\x01\x12\x1c\n\x0fproof_signature\x18\x62 \x01(\tHN\x88\x01\x01\x12\x42\n\x18unknown_payer_proof_tlvs\x18\x63 \x03(\x0b\x32 .cln.DecodeUnknownPayerProofTlvs\"\x9b\x01\n\nDecodeType\x12\x10\n\x0c\x42OLT12_OFFER\x10\x00\x12\x12\n\x0e\x42OLT12_INVOICE\x10\x01\x12\x1a\n\x16\x42OLT12_INVOICE_REQUEST\x10\x02\x12\x12\n\x0e\x42OLT11_INVOICE\x10\x03\x12\x08\n\x04RUNE\x10\x04\x12\x15\n\x11\x45MERGENCY_RECOVER\x10\x05\x12\x16\n\x12\x42OLT12_PAYER_PROOF\x10\x06\x42\x0b\n\t_offer_idB\x11\n\x0f_offer_metadataB\x11\n\x0f_offer_currencyB!\n\x1f_warning_unknown_offer_currencyB\x16\n\x14_currency_minor_unitB\x0f\n\r_offer_amountB\x14\n\x12_offer_amount_msatB\x14\n\x12_offer_descriptionB\x0f\n\r_offer_issuerB\x11\n\x0f_offer_featuresB\x18\n\x16_offer_absolute_expiryB\x15\n\x13_offer_quantity_maxB\x13\n\x11_offer_recurrenceB$\n\"_warning_invalid_offer_descriptionB$\n\"_warning_missing_offer_descriptionB!\n\x1f_warning_invalid_offer_currencyB\x1f\n\x1d_warning_invalid_offer_issuerB\x12\n\x10_invreq_metadataB\x12\n\x10_invreq_payer_idB\x0f\n\r_invreq_chainB\x15\n\x13_invreq_amount_msatB\x12\n\x10_invreq_featuresB\x12\n\x10_invreq_quantityB\x14\n\x12_invreq_payer_noteB\x1c\n\x1a_invreq_recurrence_counterB\x1a\n\x18_invreq_recurrence_startB\"\n _warning_missing_invreq_metadataB\"\n _warning_missing_invreq_payer_idB$\n\"_warning_invalid_invreq_payer_noteB,\n*_warning_missing_invoice_request_signatureB,\n*_warning_invalid_invoice_request_signatureB\x15\n\x13_invoice_created_atB\x1a\n\x18_invoice_relative_expiryB\x17\n\x15_invoice_payment_hashB\x16\n\x14_invoice_amount_msatB\x13\n\x11_invoice_featuresB\x12\n\x10_invoice_node_idB\x1e\n\x1c_invoice_recurrence_basetimeB \n\x1e_warning_missing_invoice_pathsB%\n#_warning_missing_invoice_blindedpayB%\n#_warning_missing_invoice_created_atB\'\n%_warning_missing_invoice_payment_hashB!\n\x1f_warning_missing_invoice_amountB.\n,_warning_missing_invoice_recurrence_basetimeB\"\n _warning_missing_invoice_node_idB$\n\"_warning_missing_invoice_signatureB$\n\"_warning_invalid_invoice_signatureB\r\n\x0b_created_atB\t\n\x07_expiryB\x08\n\x06_payeeB\x0f\n\r_payment_hashB\x13\n\x11_description_hashB\x18\n\x16_min_final_cltv_expiryB\x11\n\x0f_payment_secretB\x13\n\x11_payment_metadataB\x0c\n\n_unique_idB\n\n\x08_versionB\t\n\x07_stringB\x1c\n\x1a_warning_rune_invalid_utf8B\x06\n\x04_hexB\x0c\n\n_decryptedB\x0c\n\n_signatureB\x0b\n\t_currencyB\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x0b\n\t_featuresB\t\n\x07_routesB\x12\n\x10_offer_issuer_idB\"\n _warning_missing_offer_issuer_idB\x1d\n\x1b_warning_empty_blinded_pathB\x16\n\x14_invreq_bip_353_nameB+\n)_warning_invreq_bip_353_name_name_invalidB-\n+_warning_invreq_bip_353_name_domain_invalidB\x1b\n\x19_invreq_recurrence_cancelB3\n1_warning_invreq_recurrence_cancel_without_counterB5\n3_warning_invreq_recurrence_cancel_with_zero_counterB\x11\n\x0f_proof_preimageB\r\n\x0b_proof_noteB\x12\n\x10_proof_signature\"(\n\x0b\x44\x65\x63odeExtra\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\xc4\x01\n\x0f\x44\x65\x63odeFallbacks\x12;\n\titem_type\x18\x02 \x01(\x0e\x32(.cln.DecodeFallbacks.DecodeFallbacksType\x12\x11\n\x04\x61\x64\x64r\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0b\n\x03hex\x18\x04 \x01(\x0c\"K\n\x13\x44\x65\x63odeFallbacksType\x12\t\n\x05P2PKH\x10\x00\x12\x08\n\x04P2SH\x10\x01\x12\n\n\x06P2WPKH\x10\x02\x12\t\n\x05P2WSH\x10\x03\x12\x08\n\x04P2TR\x10\x04\x42\x07\n\x05_addr\"X\n\x16\x44\x65\x63odeInvoiceFallbacks\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03hex\x18\x02 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_address\"\xa6\x02\n\x12\x44\x65\x63odeInvoicePaths\x12)\n\x04path\x18\x01 \x03(\x0b\x32\x1b.cln.DecodeInvoicePathsPath\x12/\n\x07payinfo\x18\x02 \x01(\x0b\x32\x1e.cln.DecodeInvoicePathsPayinfo\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0e\x66irst_scid_dir\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x06 \x01(\tH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_path_keyB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scid\"S\n\x16\x44\x65\x63odeInvoicePathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\x97\x02\n\x19\x44\x65\x63odeInvoicePathsPayinfo\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\"\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\r\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x19\n\x11\x63ltv_expiry_delta\x18\x06 \x01(\rB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msat\"T\n\x16\x44\x65\x63odeInvreqBip353Name\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x64omain\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\t\n\x07_domain\"\xf3\x01\n\x11\x44\x65\x63odeInvreqPaths\x12\x1b\n\x0e\x66irst_scid_dir\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12(\n\x04path\x18\x05 \x03(\x0b\x32\x1a.cln.DecodeInvreqPathsPath\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x11\n\x0f_first_scid_dirB\x10\n\x0e_first_node_idB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"R\n\x15\x44\x65\x63odeInvreqPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xf1\x01\n\x10\x44\x65\x63odeOfferPaths\x12\x1a\n\rfirst_node_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\'\n\x04path\x18\x03 \x03(\x0b\x32\x19.cln.DecodeOfferPathsPath\x12\x1b\n\x0e\x66irst_scid_dir\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"Q\n\x14\x44\x65\x63odeOfferPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xab\x02\n\x15\x44\x65\x63odeOfferRecurrence\x12\x11\n\ttime_unit\x18\x01 \x01(\r\x12\x1d\n\x10\x63ompulsory_field\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0etime_unit_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06period\x18\x04 \x01(\r\x12\x15\n\x08\x62\x61setime\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12;\n\tpaywindow\x18\x06 \x01(\x0b\x32#.cln.DecodeOfferRecurrencePaywindowH\x03\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\x13\n\x11_compulsory_fieldB\x11\n\x0f_time_unit_nameB\x0b\n\t_basetimeB\x0c\n\n_paywindowB\x08\n\x06_limit\"\x89\x01\n\x1e\x44\x65\x63odeOfferRecurrencePaywindow\x12\x16\n\x0eseconds_before\x18\x01 \x01(\r\x12\x15\n\rseconds_after\x18\x02 \x01(\r\x12 \n\x13proportional_amount\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x16\n\x14_proportional_amount\";\n\x12\x44\x65\x63odeRestrictions\x12\x14\n\x0c\x61lternatives\x18\x01 \x03(\t\x12\x0f\n\x07summary\x18\x02 \x01(\t\"S\n\x1f\x44\x65\x63odeUnknownInvoiceRequestTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"L\n\x18\x44\x65\x63odeUnknownInvoiceTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"J\n\x16\x44\x65\x63odeUnknownOfferTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"O\n\x1b\x44\x65\x63odeUnknownPayerProofTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"\xc2\x01\n\rDelpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12/\n\x06status\x18\x02 \x01(\x0e\x32\x1f.cln.DelpayRequest.DelpayStatus\x12\x13\n\x06partid\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x01\x88\x01\x01\"(\n\x0c\x44\x65lpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x42\t\n\x07_partidB\n\n\x08_groupid\"7\n\x0e\x44\x65lpayResponse\x12%\n\x08payments\x18\x01 \x03(\x0b\x32\x13.cln.DelpayPayments\"\xb4\x05\n\x0e\x44\x65lpayPayments\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x38\n\x06status\x18\x04 \x01(\x0e\x32(.cln.DelpayPayments.DelpayPaymentsStatus\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\t \x01(\x04\x12\x1a\n\rupdated_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x14\n\x07groupid\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x11 \x01(\x0cH\n\x88\x01\x01\"=\n\x14\x44\x65lpayPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x10\n\x0e_updated_indexB\x0f\n\r_completed_atB\n\n\x08_groupidB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\r\n\x0b_erroronion\"\xb3\x01\n\x11\x44\x65lforwardRequest\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x12\n\nin_htlc_id\x18\x02 \x01(\x04\x12\x37\n\x06status\x18\x03 \x01(\x0e\x32\'.cln.DelforwardRequest.DelforwardStatus\"=\n\x10\x44\x65lforwardStatus\x12\x0b\n\x07SETTLED\x10\x00\x12\x10\n\x0cLOCAL_FAILED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"\x14\n\x12\x44\x65lforwardResponse\"\'\n\x13\x44isableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdc\x01\n\x14\x44isableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"&\n\x12\x45nableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdb\x01\n\x13\x45nableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"=\n\x11\x44isconnectRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_force\"\x14\n\x12\x44isconnectResponse\"k\n\x0f\x46\x65\x65ratesRequest\x12\x31\n\x05style\x18\x01 \x01(\x0e\x32\".cln.FeeratesRequest.FeeratesStyle\"%\n\rFeeratesStyle\x12\t\n\x05PERKB\x10\x00\x12\t\n\x05PERKW\x10\x01\"\x9a\x02\n\x10\x46\x65\x65ratesResponse\x12%\n\x18warning_missing_feerates\x18\x01 \x01(\tH\x00\x88\x01\x01\x12&\n\x05perkb\x18\x02 \x01(\x0b\x32\x12.cln.FeeratesPerkbH\x01\x88\x01\x01\x12&\n\x05perkw\x18\x03 \x01(\x0b\x32\x12.cln.FeeratesPerkwH\x02\x88\x01\x01\x12\x44\n\x15onchain_fee_estimates\x18\x04 \x01(\x0b\x32 .cln.FeeratesOnchainFeeEstimatesH\x03\x88\x01\x01\x42\x1b\n\x19_warning_missing_feeratesB\x08\n\x06_perkbB\x08\n\x06_perkwB\x18\n\x16_onchain_fee_estimates\"\x99\x02\n\x1b\x46\x65\x65ratesOnchainFeeEstimates\x12 \n\x18opening_channel_satoshis\x18\x01 \x01(\x04\x12\x1d\n\x15mutual_close_satoshis\x18\x02 \x01(\x04\x12!\n\x19unilateral_close_satoshis\x18\x03 \x01(\x04\x12\x1d\n\x15htlc_timeout_satoshis\x18\x04 \x01(\x04\x12\x1d\n\x15htlc_success_satoshis\x18\x05 \x01(\x04\x12\x30\n#unilateral_close_nonanchor_satoshis\x18\x06 \x01(\x04H\x00\x88\x01\x01\x42&\n$_unilateral_close_nonanchor_satoshis\"\x84\x03\n\rFeeratesPerkb\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkbEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkbEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"\x84\x03\n\rFeeratesPerkw\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkwEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkwEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"%\n\x12\x46\x65tchbip353Request\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"X\n\x13\x46\x65tchbip353Response\x12\r\n\x05proof\x18\x01 \x01(\t\x12\x32\n\x0cinstructions\x18\x02 \x03(\x0b\x32\x1c.cln.Fetchbip353Instructions\"\xf7\x01\n\x17\x46\x65tchbip353Instructions\x12\x18\n\x0b\x64\x65scription\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05offer\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07onchain\x18\x03 \x01(\tH\x02\x88\x01\x01\x12!\n\x14offchain_amount_msat\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1f\n\x12onchain_amount_sat\x18\x05 \x01(\x04H\x04\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x08\n\x06_offerB\n\n\x08_onchainB\x17\n\x15_offchain_amount_msatB\x15\n\x13_onchain_amount_sat\"\xb9\x03\n\x13\x46\x65tchinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x15\n\x08quantity\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x1f\n\x12recurrence_counter\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x10recurrence_start\x18\x05 \x01(\x01H\x03\x88\x01\x01\x12\x1d\n\x10recurrence_label\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\x07 \x01(\x01H\x05\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x1b\n\x0epayer_metadata\x18\t \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\n \x01(\tH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0b\n\t_quantityB\x15\n\x13_recurrence_counterB\x13\n\x11_recurrence_startB\x13\n\x11_recurrence_labelB\n\n\x08_timeoutB\r\n\x0b_payer_noteB\x11\n\x0f_payer_metadataB\t\n\x07_bip353\"\x99\x01\n\x14\x46\x65tchinvoiceResponse\x12\x0f\n\x07invoice\x18\x01 \x01(\t\x12)\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x18.cln.FetchinvoiceChanges\x12\x35\n\x0bnext_period\x18\x03 \x01(\x0b\x32\x1b.cln.FetchinvoiceNextPeriodH\x00\x88\x01\x01\x42\x0e\n\x0c_next_period\"\x82\x02\n\x13\x46\x65tchinvoiceChanges\x12!\n\x14\x64\x65scription_appended\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0evendor_removed\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06vendor\x18\x04 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x42\x17\n\x15_description_appendedB\x0e\n\x0c_descriptionB\x11\n\x0f_vendor_removedB\t\n\x07_vendorB\x0e\n\x0c_amount_msat\"}\n\x16\x46\x65tchinvoiceNextPeriod\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\x04\x12\x11\n\tstarttime\x18\x02 \x01(\x04\x12\x0f\n\x07\x65ndtime\x18\x03 \x01(\x04\x12\x17\n\x0fpaywindow_start\x18\x04 \x01(\x04\x12\x15\n\rpaywindow_end\x18\x05 \x01(\x04\"\xe0\x01\n\x1d\x43\x61ncelrecurringinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12\x1a\n\x12recurrence_counter\x18\x02 \x01(\x04\x12\x18\n\x10recurrence_label\x18\x03 \x01(\t\x12\x1d\n\x10recurrence_start\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x17\n\npayer_note\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_recurrence_startB\r\n\x0b_payer_noteB\t\n\x07_bip353\"0\n\x1e\x43\x61ncelrecurringinvoiceResponse\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\"&\n\x18\x46undchannelCancelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\".\n\x19\x46undchannelCancelResponse\x12\x11\n\tcancelled\x18\x01 \x01(\t\"Z\n\x1a\x46undchannelCompleteRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x15\n\x08withhold\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x0b\n\t_withhold\"N\n\x1b\x46undchannelCompleteResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\"\xfb\x03\n\x12\x46undchannelRequest\x12 \n\x06\x61mount\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12#\n\tpush_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\n\n\x02id\x18\t \x01(\x0c\x12\x14\n\x07minconf\x18\n \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x05utxos\x18\x0b \x03(\x0b\x32\r.cln.Outpoint\x12\x15\n\x08mindepth\x18\x0c \x01(\rH\x07\x88\x01\x01\x12!\n\x07reserve\x18\r \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\x0e \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\n\n\x08_minconfB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xce\x01\n\x13\x46undchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0e\n\x06outnum\x18\x03 \x01(\r\x12\x12\n\nchannel_id\x18\x04 \x01(\x0c\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x31\n\x0c\x63hannel_type\x18\x07 \x01(\x0b\x32\x1b.cln.FundchannelChannelTypeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"K\n\x16\x46undchannelChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\xd6\x02\n\x17\x46undchannelStartRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x07\x66\x65\x65rate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12#\n\tpush_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08mindepth\x18\x07 \x01(\rH\x04\x88\x01\x01\x12!\n\x07reserve\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0c\n\n_push_msatB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xf6\x01\n\x18\x46undchannelStartResponse\x12\x17\n\x0f\x66unding_address\x18\x01 \x01(\t\x12\x14\n\x0cscriptpubkey\x18\x02 \x01(\x0c\x12;\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32 .cln.FundchannelStartChannelTypeH\x00\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x15\n\rwarning_usage\x18\x05 \x01(\t\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x02\x88\x01\x01\x42\x0f\n\r_channel_typeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"P\n\x1b\x46undchannelStartChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x95\x01\n\rGetlogRequest\x12\x32\n\x05level\x18\x01 \x01(\x0e\x32\x1e.cln.GetlogRequest.GetlogLevelH\x00\x88\x01\x01\"F\n\x0bGetlogLevel\x12\n\n\x06\x42ROKEN\x10\x00\x12\x0b\n\x07UNUSUAL\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\t\n\x05\x44\x45\x42UG\x10\x03\x12\t\n\x05TRACE\x10\x05\x42\x08\n\x06_level\"h\n\x0eGetlogResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\t\x12\x12\n\nbytes_used\x18\x02 \x01(\r\x12\x11\n\tbytes_max\x18\x03 \x01(\r\x12\x1b\n\x03log\x18\x04 \x03(\x0b\x32\x0e.cln.GetlogLog\"\xe8\x02\n\tGetlogLog\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.GetlogLog.GetlogLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"l\n\rGetlogLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"\xd9\x08\n\x13\x46underupdateRequest\x12@\n\x06policy\x18\x01 \x01(\x0e\x32+.cln.FunderupdateRequest.FunderupdatePolicyH\x00\x88\x01\x01\x12$\n\npolicy_mod\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0bleases_only\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x30\n\x16min_their_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x30\n\x16max_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12.\n\x14per_channel_min_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12.\n\x14per_channel_max_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12+\n\x11reserve_tank_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x19\n\x0c\x66uzz_percent\x18\t \x01(\rH\x08\x88\x01\x01\x12\x1d\n\x10\x66und_probability\x18\n \x01(\rH\t\x88\x01\x01\x12-\n\x13lease_fee_base_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\n\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\x0c \x01(\rH\x0b\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\r \x01(\rH\x0c\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x0f \x01(\rH\x0e\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x10 \x01(\x0cH\x0f\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\t\n\x07_policyB\r\n\x0b_policy_modB\x0e\n\x0c_leases_onlyB\x19\n\x17_min_their_funding_msatB\x19\n\x17_max_their_funding_msatB\x17\n\x15_per_channel_min_msatB\x17\n\x15_per_channel_max_msatB\x14\n\x12_reserve_tank_msatB\x0f\n\r_fuzz_percentB\x13\n\x11_fund_probabilityB\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\xdf\x06\n\x14\x46underupdateResponse\x12\x0f\n\x07summary\x18\x01 \x01(\t\x12<\n\x06policy\x18\x02 \x01(\x0e\x32,.cln.FunderupdateResponse.FunderupdatePolicy\x12\x12\n\npolicy_mod\x18\x03 \x01(\r\x12\x13\n\x0bleases_only\x18\x04 \x01(\x08\x12+\n\x16min_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16max_their_funding_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_min_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_max_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11reserve_tank_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66uzz_percent\x18\n \x01(\r\x12\x18\n\x10\x66und_probability\x18\x0b \x01(\r\x12-\n\x13lease_fee_base_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\r \x01(\rH\x01\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\x0e \x01(\rH\x02\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x10 \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x11 \x01(\x0cH\x05\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\x8c\x02\n\x0fGetrouteRequest\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\nriskfactor\x18\x03 \x01(\x04\x42\x02\x18\x01\x12\x15\n\x04\x63ltv\x18\x04 \x01(\rB\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x66romid\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x66uzzpercent\x18\x06 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\x07 \x03(\tB\x02\x18\x01\x12\x18\n\x07maxhops\x18\x08 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x42\x07\n\x05_cltvB\t\n\x07_fromidB\x0e\n\x0c_fuzzpercentB\n\n\x08_maxhops\"9\n\x10GetrouteResponse\x12%\n\x05route\x18\x01 \x03(\x0b\x32\x12.cln.GetrouteRouteB\x02\x18\x01\"\xe1\x01\n\rGetrouteRoute\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x07\x63hannel\x18\x02 \x01(\tB\x02\x18\x01\x12\x15\n\tdirection\x18\x03 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x11\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01\x12\x38\n\x05style\x18\x06 \x01(\x0e\x32%.cln.GetrouteRoute.GetrouteRouteStyleB\x02\x18\x01\"!\n\x12GetrouteRouteStyle\x12\x0b\n\x03TLV\x10\x00\x1a\x02\x08\x01\"t\n\x14ListaddressesRequest\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\n\n\x08_addressB\x08\n\x06_startB\x08\n\x06_limit\"G\n\x15ListaddressesResponse\x12.\n\taddresses\x18\x01 \x03(\x0b\x32\x1b.cln.ListaddressesAddresses\"d\n\x16ListaddressesAddresses\x12\x0e\n\x06keyidx\x18\x01 \x01(\x04\x12\x13\n\x06\x62\x65\x63h32\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb7\x03\n\x13ListforwardsRequest\x12@\n\x06status\x18\x01 \x01(\x0e\x32+.cln.ListforwardsRequest.ListforwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListforwardsRequest.ListforwardsIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListforwardsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"L\n\x12ListforwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\x0e\n\x0c_out_channelB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListforwardsResponse\x12+\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x19.cln.ListforwardsForwards\"\x9d\x06\n\x14ListforwardsForwards\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x1c\n\x07in_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x44\n\x06status\x18\x03 \x01(\x0e\x32\x34.cln.ListforwardsForwards.ListforwardsForwardsStatus\x12\x15\n\rreceived_time\x18\x04 \x01(\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12G\n\x05style\x18\t \x01(\x0e\x32\x33.cln.ListforwardsForwards.ListforwardsForwardsStyleH\x03\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x18\n\x0bout_htlc_id\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x1a\n\rresolved_time\x18\x0e \x01(\x01H\x07\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x0f \x01(\rH\x08\x88\x01\x01\x12\x17\n\nfailreason\x18\x10 \x01(\tH\t\x88\x01\x01\"T\n\x1aListforwardsForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"0\n\x19ListforwardsForwardsStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_fee_msatB\x0b\n\t_out_msatB\x08\n\x06_styleB\r\n\x0b_in_htlc_idB\x0e\n\x0c_out_htlc_idB\x10\n\x0e_updated_indexB\x10\n\x0e_resolved_timeB\x0b\n\t_failcodeB\r\n\x0b_failreason\"a\n\x11ListoffersRequest\x12\x15\n\x08offer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_offer_idB\x0e\n\x0c_active_only\";\n\x12ListoffersResponse\x12%\n\x06offers\x18\x01 \x03(\x0b\x32\x15.cln.ListoffersOffers\"\xd8\x01\n\x10ListoffersOffers\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"\x84\x03\n\x0fListpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x38\n\x06status\x18\x03 \x01(\x0e\x32#.cln.ListpaysRequest.ListpaysStatusH\x02\x88\x01\x01\x12\x36\n\x05index\x18\x04 \x01(\x0e\x32\".cln.ListpaysRequest.ListpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\")\n\rListpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"7\n\x0eListpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"3\n\x10ListpaysResponse\x12\x1f\n\x04pays\x18\x01 \x03(\x0b\x32\x11.cln.ListpaysPays\"\xdb\x05\n\x0cListpaysPays\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x34\n\x06status\x18\x02 \x01(\x0e\x32$.cln.ListpaysPays.ListpaysPaysStatus\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\ncreated_at\x18\x04 \x01(\x04\x12\x12\n\x05label\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x15\n\x08preimage\x18\r \x01(\x0cH\t\x88\x01\x01\x12\x1c\n\x0fnumber_of_parts\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1a\n\rcreated_index\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\x0c\x88\x01\x01\";\n\x12ListpaysPaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\x0f\n\r_completed_atB\x0b\n\t_preimageB\x12\n\x10_number_of_partsB\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xd6\x01\n\x10ListhtlcsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x38\n\x05index\x18\x02 \x01(\x0e\x32$.cln.ListhtlcsRequest.ListhtlcsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"*\n\x0eListhtlcsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"7\n\x11ListhtlcsResponse\x12\"\n\x05htlcs\x18\x01 \x03(\x0b\x32\x13.cln.ListhtlcsHtlcs\"\xe5\x02\n\x0eListhtlcsHtlcs\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x0e\n\x06\x65xpiry\x18\x03 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12>\n\tdirection\x18\x05 \x01(\x0e\x32+.cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x1d\n\x05state\x18\x07 \x01(\x0e\x32\x0e.cln.HtlcState\x12\x1a\n\rcreated_index\x18\x08 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x01\x88\x01\x01\"*\n\x17ListhtlcsHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xb2\x02\n\x17MultifundchannelRequest\x12\x37\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32!.cln.MultifundchannelDestinations\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\x12H\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x18\n\x0bminchannels\x18\x05 \x01(\x12H\x02\x88\x01\x01\x12-\n\x12\x63ommitment_feerate\x18\x06 \x01(\x0b\x32\x0c.cln.FeerateH\x03\x88\x01\x01\x42\n\n\x08_feerateB\n\n\x08_minconfB\x0e\n\x0c_minchannelsB\x15\n\x13_commitment_feerate\"\x97\x01\n\x18MultifundchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x34\n\x0b\x63hannel_ids\x18\x03 \x03(\x0b\x32\x1f.cln.MultifundchannelChannelIds\x12+\n\x06\x66\x61iled\x18\x04 \x03(\x0b\x32\x1b.cln.MultifundchannelFailed\"\xff\x02\n\x1cMultifundchannelDestinations\x12\n\n\x02id\x18\x01 \x01(\t\x12 \n\x06\x61mount\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12#\n\tpush_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12%\n\x0brequest_amt\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x15\n\x08mindepth\x18\x08 \x01(\rH\x05\x88\x01\x01\x12!\n\x07reserve\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x42\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xb2\x01\n\x1aMultifundchannelChannelIds\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12\x12\n\nchannel_id\x18\x03 \x01(\x0c\x12@\n\x0c\x63hannel_type\x18\x04 \x01(\x0b\x32*.cln.MultifundchannelChannelIdsChannelType\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_close_to\"Z\n%MultifundchannelChannelIdsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x93\x02\n\x16MultifundchannelFailed\x12\n\n\x02id\x18\x01 \x01(\x0c\x12H\n\x06method\x18\x02 \x01(\x0e\x32\x38.cln.MultifundchannelFailed.MultifundchannelFailedMethod\x12/\n\x05\x65rror\x18\x03 \x01(\x0b\x32 .cln.MultifundchannelFailedError\"r\n\x1cMultifundchannelFailedMethod\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x14\n\x10OPENCHANNEL_INIT\x10\x01\x12\x15\n\x11\x46UNDCHANNEL_START\x10\x02\x12\x18\n\x14\x46UNDCHANNEL_COMPLETE\x10\x03\"<\n\x1bMultifundchannelFailedError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xa8\x01\n\x14MultiwithdrawRequest\x12 \n\x07outputs\x18\x01 \x03(\x0b\x32\x0f.cln.OutputDesc\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_feerateB\n\n\x08_minconf\"1\n\x15MultiwithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xe2\x04\n\x0cOfferRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0cquantity_max\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12\x17\n\nrecurrence\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x1c\n\x0frecurrence_base\x18\x08 \x01(\tH\x06\x88\x01\x01\x12!\n\x14recurrence_paywindow\x18\t \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10recurrence_limit\x18\n \x01(\rH\x08\x88\x01\x01\x12\x17\n\nsingle_use\x18\x0b \x01(\x08H\t\x88\x01\x01\x12 \n\x13proportional_amount\x18\r \x01(\x08H\n\x88\x01\x01\x12 \n\x13optional_recurrence\x18\x0e \x01(\x08H\x0b\x88\x01\x01\x12\x16\n\x0e\x66ronting_nodes\x18\x0f \x03(\x0c\x42\x0e\n\x0c_descriptionB\t\n\x07_issuerB\x08\n\x06_labelB\x0f\n\r_quantity_maxB\x12\n\x10_absolute_expiryB\r\n\x0b_recurrenceB\x12\n\x10_recurrence_baseB\x17\n\x15_recurrence_paywindowB\x13\n\x11_recurrence_limitB\r\n\x0b_single_useB\x16\n\x14_proportional_amountB\x16\n\x14_optional_recurrence\"\xbc\x01\n\rOfferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x0f\n\x07\x63reated\x18\x06 \x01(\x08\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x01\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_force_paths\"-\n\x17OpenchannelAbortRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"X\n\x18OpenchannelAbortResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x18\n\x10\x63hannel_canceled\x18\x02 \x01(\x08\x12\x0e\n\x06reason\x18\x03 \x01(\t\"\x9e\x01\n\x16OpenchannelBumpRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12*\n\x0f\x66unding_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x12\n\x10_funding_feerate\"\xed\x01\n\x17OpenchannelBumpResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x35\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32\x1f.cln.OpenchannelBumpChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelBumpChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x9f\x03\n\x16OpenchannelInitRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12-\n\x12\x63ommitment_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12*\n\x0f\x66unding_feerate\x18\x04 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\r\x12\x1b\n\x06\x61mount\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x15\n\x13_commitment_feerateB\x12\n\x10_funding_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_lease\"\xed\x01\n\x17OpenchannelInitResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x35\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32\x1f.cln.OpenchannelInitChannelType\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelInitChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"C\n\x18OpenchannelSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"I\n\x19OpenchannelSignedResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"<\n\x18OpenchannelUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"\x95\x02\n\x19OpenchannelUpdateResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x37\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32!.cln.OpenchannelUpdateChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_outnum\x18\x05 \x01(\r\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12&\n\x19requires_confirmed_inputs\x18\x07 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_close_toB\x1c\n\x1a_requires_confirmed_inputs\"Q\n\x1cOpenchannelUpdateChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"Y\n\x0bPingRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x03len\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x16\n\tpongbytes\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x06\n\x04_lenB\x0c\n\n_pongbytes\"\x1e\n\x0cPingResponse\x12\x0e\n\x06totlen\x18\x01 \x01(\r\"\x91\x01\n\rPluginRequest\x12)\n\nsubcommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12\x13\n\x06plugin\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tdirectory\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07options\x18\x04 \x03(\tB\t\n\x07_pluginB\x0c\n\n_directory\"}\n\x0ePluginResponse\x12&\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12#\n\x07plugins\x18\x02 \x03(\x0b\x32\x12.cln.PluginPlugins\x12\x13\n\x06result\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_result\">\n\rPluginPlugins\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x03 \x01(\x08\"@\n\x14RenepaystatusRequest\x12\x1a\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x42\x0c\n\n_invstring\"K\n\x15RenepaystatusResponse\x12\x32\n\tpaystatus\x18\x01 \x03(\x0b\x32\x1b.cln.RenepaystatusPaystatusB\x02\x18\x01\"\x9a\x04\n\x16RenepaystatusPaystatus\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12!\n\x10payment_preimage\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x13\n\x07groupid\x18\x05 \x01(\rB\x02\x18\x01\x12\x16\n\x05parts\x18\x06 \x01(\rB\x02\x18\x01H\x01\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12.\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x02\x88\x01\x01\x12L\n\x06status\x18\t \x01(\x0e\x32\x38.cln.RenepaystatusPaystatus.RenepaystatusPaystatusStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\n \x01(\x0c\x42\x02\x18\x01H\x03\x88\x01\x01\x12\x11\n\x05notes\x18\x0b \x03(\tB\x02\x18\x01\"Q\n\x1cRenepaystatusPaystatusStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x13\n\x11_payment_preimageB\x08\n\x06_partsB\x13\n\x11_amount_sent_msatB\x0e\n\x0c_destination\"\xfe\x02\n\x0eRenepayRequest\x12\x15\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01\x12)\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12$\n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x01\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x04 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x16\n\x05label\x18\x07 \x01(\tB\x02\x18\x01H\x05\x88\x01\x01\x12\x1f\n\x0e\x64\x65v_use_shadow\x18\x08 \x01(\x08\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\t \x03(\tB\x02\x18\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0b\n\t_maxdelayB\x0c\n\n_retry_forB\x0e\n\x0c_descriptionB\x08\n\x06_labelB\x11\n\x0f_dev_use_shadow\"\xdd\x03\n\x0fRenepayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x18\n\x0cpayment_hash\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x03 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x04 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x36\n\x06status\x18\x07 \x01(\x0e\x32\".cln.RenepayResponse.RenepayStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\t \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\n \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x18\n\x07groupid\x18\x0b \x01(\x04\x42\x02\x18\x01H\x03\x88\x01\x01\"B\n\rRenepayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\t\n\x07_bolt11B\t\n\x07_bolt12B\n\n\x08_groupid\"l\n\x14ReserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\texclusive\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x0c\n\n_exclusiveB\n\n\x08_reserve\"M\n\x15ReserveinputsResponse\x12\x34\n\x0creservations\x18\x01 \x03(\x0b\x32\x1e.cln.ReserveinputsReservations\"z\n\x19ReserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"4\n\x14SendcustommsgRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"\'\n\x15SendcustommsgResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\"\xb0\x01\n\x12SendinvoiceRequest\x12\x0e\n\x06invreq\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08quantity\x18\x05 \x01(\x04H\x02\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\n\n\x08_timeoutB\x0b\n\t_quantity\"\xb8\x04\n\x13SendinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.SendinvoiceResponse.SendinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x15\n\rcreated_index\x18\x08 \x01(\x04\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x16\n\tpay_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\"6\n\x11SendinvoiceStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_amount_msatB\t\n\x07_bolt12B\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\xaa\x02\n\x11SetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07\x66\x65\x65\x62\x61se\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x66\x65\x65ppm\x18\x03 \x01(\rH\x01\x88\x01\x01\x12!\n\x07htlcmin\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12!\n\x07htlcmax\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x19\n\x0c\x65nforcedelay\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fignorefeelimits\x18\x07 \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_feebaseB\t\n\x07_feeppmB\n\n\x08_htlcminB\n\n\x08_htlcmaxB\x0f\n\r_enforcedelayB\x12\n\x10_ignorefeelimits\"?\n\x12SetchannelResponse\x12)\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x17.cln.SetchannelChannels\"\xaf\x03\n\x12SetchannelChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\x12*\n\x15minimum_htlc_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x17warning_htlcmin_too_low\x18\x07 \x01(\tH\x01\x88\x01\x01\x12*\n\x15maximum_htlc_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x18warning_htlcmax_too_high\x18\t \x01(\tH\x02\x88\x01\x01\x12\x19\n\x11ignore_fee_limits\x18\n \x01(\x08\x42\x13\n\x11_short_channel_idB\x1a\n\x18_warning_htlcmin_too_lowB\x1b\n\x19_warning_htlcmax_too_high\"b\n\x10SetconfigRequest\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x10\n\x03val\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttransient\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04_valB\x0c\n\n_transient\"9\n\x11SetconfigResponse\x12$\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x14.cln.SetconfigConfig\"\xda\x02\n\x0fSetconfigConfig\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07\x64ynamic\x18\x04 \x01(\x08\x12\x10\n\x03set\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\tvalue_str\x18\x06 \x01(\tH\x03\x88\x01\x01\x12$\n\nvalue_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x16\n\tvalue_int\x18\x08 \x01(\x12H\x05\x88\x01\x01\x12\x17\n\nvalue_bool\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x0f\n\x07sources\x18\n \x03(\t\x12\x12\n\nvalues_str\x18\x0b \x03(\tB\t\n\x07_sourceB\t\n\x07_pluginB\x06\n\x04_setB\x0c\n\n_value_strB\r\n\x0b_value_msatB\x0c\n\n_value_intB\r\n\x0b_value_bool\"6\n\x15SetpsbtversionRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\r\"&\n\x16SetpsbtversionResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"\'\n\x12SigninvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\"%\n\x13SigninvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"%\n\x12SignmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\"F\n\x13SignmessageResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\r\n\x05recid\x18\x02 \x01(\x0c\x12\r\n\x05zbase\x18\x03 \x01(\t\"\xc8\x01\n\x11SpliceInitRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x17\n\x0frelative_amount\x18\x02 \x01(\x12\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x65\x65rate_per_kw\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\x0e\n\x0c_initialpsbtB\x11\n\x0f_feerate_per_kwB\x10\n\x0e_force_feerate\"\"\n\x12SpliceInitResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"_\n\x13SpliceSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x17\n\nsign_first\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_sign_first\"^\n\x14SpliceSignedResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x13\n\x06outnum\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04psbt\x18\x04 \x01(\tB\t\n\x07_outnum\"7\n\x13SpliceUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"y\n\x14SpliceUpdateResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\x12\x1f\n\x12signatures_secured\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x15\n\x13_signatures_secured\"2\n\x0fSpliceinRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\"b\n\x10SpliceinResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\x8b\x01\n\x10SpliceoutRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_destinationB\x10\n\x0e_force_feerate\"c\n\x11SpliceoutResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\xc6\x01\n\x10\x44\x65vspliceRequest\x12\x16\n\x0escript_or_json\x18\x01 \x01(\t\x12\x13\n\x06\x64ryrun\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tdebug_log\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x17\n\ndev_wetrun\x18\x05 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_dryrunB\x10\n\x0e_force_feerateB\x0c\n\n_debug_logB\r\n\x0b_dev_wetrun\"\x80\x01\n\x11\x44\x65vspliceResponse\x12\x0e\n\x06\x64ryrun\x18\x01 \x03(\t\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03log\x18\x05 \x03(\tB\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"H\n\x16UnreserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\"Q\n\x17UnreserveinputsResponse\x12\x36\n\x0creservations\x18\x01 \x03(\x0b\x32 .cln.UnreserveinputsReservations\"\x97\x01\n\x1bUnreserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\x05 \x01(\rH\x00\x88\x01\x01\x42\x14\n\x12_reserved_to_block\"n\n\x14UpgradewalletRequest\x12\"\n\x07\x66\x65\x65rate\x18\x01 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x17\n\nreservedok\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_feerateB\r\n\x0b_reservedok\"~\n\x15UpgradewalletResponse\x12\x15\n\rupgraded_outs\x18\x01 \x01(\x04\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"O\n\x16WaitblockheightRequest\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\x12\x14\n\x07timeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\".\n\x17WaitblockheightResponse\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\"\xb9\x02\n\x0bWaitRequest\x12\x31\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitSubsystem\x12\x31\n\tindexname\x18\x02 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitIndexname\x12\x11\n\tnextvalue\x18\x03 \x01(\x04\"6\n\rWaitIndexname\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\"\xf4\x05\n\x0cWaitResponse\x12\x32\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1f.cln.WaitResponse.WaitSubsystem\x12\x14\n\x07\x63reated\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07updated\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07\x64\x65leted\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12*\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x10.cln.WaitDetailsB\x02\x18\x01H\x03\x88\x01\x01\x12(\n\x08\x66orwards\x18\x06 \x01(\x0b\x32\x11.cln.WaitForwardsH\x04\x88\x01\x01\x12(\n\x08invoices\x18\x07 \x01(\x0b\x32\x11.cln.WaitInvoicesH\x05\x88\x01\x01\x12(\n\x08sendpays\x18\x08 \x01(\x0b\x32\x11.cln.WaitSendpaysH\x06\x88\x01\x01\x12\"\n\x05htlcs\x18\t \x01(\x0b\x32\x0e.cln.WaitHtlcsH\x07\x88\x01\x01\x12,\n\nchainmoves\x18\n \x01(\x0b\x32\x13.cln.WaitChainmovesH\x08\x88\x01\x01\x12\x30\n\x0c\x63hannelmoves\x18\x0b \x01(\x0b\x32\x15.cln.WaitChannelmovesH\t\x88\x01\x01\x12\x32\n\rnetworkevents\x18\x0c \x01(\x0b\x32\x16.cln.WaitNetworkeventsH\n\x88\x01\x01\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\x42\n\n\x08_createdB\n\n\x08_updatedB\n\n\x08_deletedB\n\n\x08_detailsB\x0b\n\t_forwardsB\x0b\n\t_invoicesB\x0b\n\t_sendpaysB\x08\n\x06_htlcsB\r\n\x0b_chainmovesB\x0f\n\r_channelmovesB\x10\n\x0e_networkevents\"d\n\x0eWaitChainmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"f\n\x10WaitChannelmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\xd0\x05\n\x0bWaitDetails\x12;\n\x06status\x18\x01 \x01(\x0e\x32\".cln.WaitDetails.WaitDetailsStatusB\x02\x18\x01H\x00\x88\x01\x01\x12\x16\n\x05label\x18\x02 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\x04 \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\x05 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x17\n\x06partid\x18\x06 \x01(\x04\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x18\n\x07groupid\x18\x07 \x01(\x04\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x1d\n\x0cpayment_hash\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x07\x88\x01\x01\x12\x1b\n\nin_channel\x18\t \x01(\tB\x02\x18\x01H\x08\x88\x01\x01\x12\x1b\n\nin_htlc_id\x18\n \x01(\x04\x42\x02\x18\x01H\t\x88\x01\x01\x12%\n\x07in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x12\x1c\n\x0bout_channel\x18\x0c \x01(\tB\x02\x18\x01H\x0b\x88\x01\x01\"\xad\x01\n\x11WaitDetailsStatus\x12\x0e\n\x06UNPAID\x10\x00\x1a\x02\x08\x01\x12\x0c\n\x04PAID\x10\x01\x1a\x02\x08\x01\x12\x0f\n\x07\x45XPIRED\x10\x02\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x03\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x04\x1a\x02\x08\x01\x12\x10\n\x08\x43OMPLETE\x10\x05\x1a\x02\x08\x01\x12\x0f\n\x07OFFERED\x10\x06\x1a\x02\x08\x01\x12\x0f\n\x07SETTLED\x10\x07\x1a\x02\x08\x01\x12\x14\n\x0cLOCAL_FAILED\x10\x08\x1a\x02\x08\x01\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12B\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hashB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\xcb\x02\n\x0cWaitForwards\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitForwards.WaitForwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12!\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x04\x88\x01\x01\"L\n\x12WaitForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x10\n\x0cLOCAL_FAILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\x8c\x03\n\tWaitHtlcs\x12\"\n\x05state\x18\x01 \x01(\x0e\x32\x0e.cln.HtlcStateH\x00\x88\x01\x01\x12\x14\n\x07htlc_id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x63ltv_expiry\x18\x04 \x01(\rH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x39\n\tdirection\x18\x06 \x01(\x0e\x32!.cln.WaitHtlcs.WaitHtlcsDirectionH\x05\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x06\x88\x01\x01\"%\n\x12WaitHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x08\n\x06_stateB\n\n\x08_htlc_idB\x13\n\x11_short_channel_idB\x0e\n\x0c_cltv_expiryB\x0e\n\x0c_amount_msatB\x0c\n\n_directionB\x0f\n\r_payment_hash\"\x95\x02\n\x0cWaitInvoices\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitInvoices.WaitInvoicesStatusH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x05 \x01(\tH\x04\x88\x01\x01\"7\n\x12WaitInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12\"\x89\x02\n\x11WaitNetworkevents\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x44\n\titem_type\x18\x02 \x01(\x0e\x32,.cln.WaitNetworkevents.WaitNetworkeventsTypeH\x01\x88\x01\x01\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\"P\n\x15WaitNetworkeventsType\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x10\n\x0c\x43ONNECT_FAIL\x10\x01\x12\x08\n\x04PING\x10\x02\x12\x0e\n\nDISCONNECT\x10\x03\x42\x10\n\x0e_created_indexB\x0c\n\n_item_typeB\n\n\x08_peer_id\"\xff\x01\n\x0cWaitSendpays\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitSendpays.WaitSendpaysStatusH\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x04 \x01(\x0cH\x03\x88\x01\x01\";\n\x12WaitSendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_statusB\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hash\"4\n\x12ListconfigsRequest\x12\x13\n\x06\x63onfig\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_config\"P\n\x13ListconfigsResponse\x12-\n\x07\x63onfigs\x18\x01 \x01(\x0b\x32\x17.cln.ListconfigsConfigsH\x00\x88\x01\x01\x42\n\n\x08_configs\"\x94.\n\x12ListconfigsConfigs\x12.\n\x04\x63onf\x18\x01 \x01(\x0b\x32\x1b.cln.ListconfigsConfigsConfH\x00\x88\x01\x01\x12\x38\n\tdeveloper\x18\x02 \x01(\x0b\x32 .cln.ListconfigsConfigsDeveloperH\x01\x88\x01\x01\x12?\n\rclear_plugins\x18\x03 \x01(\x0b\x32#.cln.ListconfigsConfigsClearpluginsH\x02\x88\x01\x01\x12;\n\x0b\x64isable_mpp\x18\x04 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablemppH\x03\x88\x01\x01\x12\x34\n\x07mainnet\x18\x05 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsMainnetH\x04\x88\x01\x01\x12\x34\n\x07regtest\x18\x06 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRegtestH\x05\x88\x01\x01\x12\x32\n\x06signet\x18\x07 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsSignetH\x06\x88\x01\x01\x12\x34\n\x07testnet\x18\x08 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsTestnetH\x07\x88\x01\x01\x12\x45\n\x10important_plugin\x18\t \x01(\x0b\x32&.cln.ListconfigsConfigsImportantpluginH\x08\x88\x01\x01\x12\x32\n\x06plugin\x18\n \x01(\x0b\x32\x1d.cln.ListconfigsConfigsPluginH\t\x88\x01\x01\x12\x39\n\nplugin_dir\x18\x0b \x01(\x0b\x32 .cln.ListconfigsConfigsPlugindirH\n\x88\x01\x01\x12?\n\rlightning_dir\x18\x0c \x01(\x0b\x32#.cln.ListconfigsConfigsLightningdirH\x0b\x88\x01\x01\x12\x34\n\x07network\x18\r \x01(\x0b\x32\x1e.cln.ListconfigsConfigsNetworkH\x0c\x88\x01\x01\x12N\n\x15\x61llow_deprecated_apis\x18\x0e \x01(\x0b\x32*.cln.ListconfigsConfigsAllowdeprecatedapisH\r\x88\x01\x01\x12\x35\n\x08rpc_file\x18\x0f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRpcfileH\x0e\x88\x01\x01\x12\x41\n\x0e\x64isable_plugin\x18\x10 \x01(\x0b\x32$.cln.ListconfigsConfigsDisablepluginH\x0f\x88\x01\x01\x12\x44\n\x10\x61lways_use_proxy\x18\x11 \x01(\x0b\x32%.cln.ListconfigsConfigsAlwaysuseproxyH\x10\x88\x01\x01\x12\x32\n\x06\x64\x61\x65mon\x18\x12 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsDaemonH\x11\x88\x01\x01\x12\x32\n\x06wallet\x18\x13 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsWalletH\x12\x88\x01\x01\x12\x41\n\x0elarge_channels\x18\x14 \x01(\x0b\x32$.cln.ListconfigsConfigsLargechannelsH\x13\x88\x01\x01\x12P\n\x16\x65xperimental_dual_fund\x18\x15 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentaldualfundH\x14\x88\x01\x01\x12S\n\x15\x65xperimental_splicing\x18\x16 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentalsplicingB\x02\x18\x01H\x15\x88\x01\x01\x12i\n#experimental_shutdown_wrong_funding\x18\x19 \x01(\x0b\x32\x37.cln.ListconfigsConfigsExperimentalshutdownwrongfundingH\x16\x88\x01\x01\x12V\n\x19\x65xperimental_peer_storage\x18\x1a \x01(\x0b\x32..cln.ListconfigsConfigsExperimentalpeerstorageH\x17\x88\x01\x01\x12M\n\x14\x65xperimental_anchors\x18\x1b \x01(\x0b\x32*.cln.ListconfigsConfigsExperimentalanchorsH\x18\x88\x01\x01\x12\x45\n\x10\x64\x61tabase_upgrade\x18\x1c \x01(\x0b\x32&.cln.ListconfigsConfigsDatabaseupgradeH\x19\x88\x01\x01\x12,\n\x03rgb\x18\x1d \x01(\x0b\x32\x1a.cln.ListconfigsConfigsRgbH\x1a\x88\x01\x01\x12\x30\n\x05\x61lias\x18\x1e \x01(\x0b\x32\x1c.cln.ListconfigsConfigsAliasH\x1b\x88\x01\x01\x12\x35\n\x08pid_file\x18\x1f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsPidfileH\x1c\x88\x01\x01\x12\x46\n\x11ignore_fee_limits\x18 \x01(\x0b\x32&.cln.ListconfigsConfigsIgnorefeelimitsH\x1d\x88\x01\x01\x12\x45\n\x10watchtime_blocks\x18! \x01(\x0b\x32&.cln.ListconfigsConfigsWatchtimeblocksH\x1e\x88\x01\x01\x12\x45\n\x10\x66unding_confirms\x18# \x01(\x0b\x32&.cln.ListconfigsConfigsFundingconfirmsH\x1f\x88\x01\x01\x12\x39\n\ncltv_delta\x18$ \x01(\x0b\x32 .cln.ListconfigsConfigsCltvdeltaH \x88\x01\x01\x12\x39\n\ncltv_final\x18% \x01(\x0b\x32 .cln.ListconfigsConfigsCltvfinalH!\x88\x01\x01\x12;\n\x0b\x63ommit_time\x18& \x01(\x0b\x32!.cln.ListconfigsConfigsCommittimeH\"\x88\x01\x01\x12\x35\n\x08\x66\x65\x65_base\x18\' \x01(\x0b\x32\x1e.cln.ListconfigsConfigsFeebaseH#\x88\x01\x01\x12\x32\n\x06rescan\x18( \x01(\x0b\x32\x1d.cln.ListconfigsConfigsRescanH$\x88\x01\x01\x12\x42\n\x0f\x66\x65\x65_per_satoshi\x18) \x01(\x0b\x32$.cln.ListconfigsConfigsFeepersatoshiH%\x88\x01\x01\x12L\n\x14max_concurrent_htlcs\x18* \x01(\x0b\x32).cln.ListconfigsConfigsMaxconcurrenthtlcsH&\x88\x01\x01\x12\x46\n\x11htlc_minimum_msat\x18+ \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcminimummsatH\'\x88\x01\x01\x12\x46\n\x11htlc_maximum_msat\x18, \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcmaximummsatH(\x88\x01\x01\x12X\n\x1bmax_dust_htlc_exposure_msat\x18- \x01(\x0b\x32..cln.ListconfigsConfigsMaxdusthtlcexposuremsatH)\x88\x01\x01\x12\x44\n\x10min_capacity_sat\x18. \x01(\x0b\x32%.cln.ListconfigsConfigsMincapacitysatH*\x88\x01\x01\x12.\n\x04\x61\x64\x64r\x18/ \x01(\x0b\x32\x1b.cln.ListconfigsConfigsAddrH+\x88\x01\x01\x12?\n\rannounce_addr\x18\x30 \x01(\x0b\x32#.cln.ListconfigsConfigsAnnounceaddrH,\x88\x01\x01\x12\x37\n\tbind_addr\x18\x31 \x01(\x0b\x32\x1f.cln.ListconfigsConfigsBindaddrH-\x88\x01\x01\x12\x34\n\x07offline\x18\x32 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsOfflineH.\x88\x01\x01\x12:\n\nautolisten\x18\x33 \x01(\x0b\x32!.cln.ListconfigsConfigsAutolistenH/\x88\x01\x01\x12\x30\n\x05proxy\x18\x34 \x01(\x0b\x32\x1c.cln.ListconfigsConfigsProxyH0\x88\x01\x01\x12;\n\x0b\x64isable_dns\x18\x35 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablednsH1\x88\x01\x01\x12T\n\x18\x61nnounce_addr_discovered\x18\x36 \x01(\x0b\x32-.cln.ListconfigsConfigsAnnounceaddrdiscoveredH2\x88\x01\x01\x12]\n\x1d\x61nnounce_addr_discovered_port\x18\x37 \x01(\x0b\x32\x31.cln.ListconfigsConfigsAnnounceaddrdiscoveredportH3\x88\x01\x01\x12?\n\rencrypted_hsm\x18\x38 \x01(\x0b\x32#.cln.ListconfigsConfigsEncryptedhsmH4\x88\x01\x01\x12>\n\rrpc_file_mode\x18\x39 \x01(\x0b\x32\".cln.ListconfigsConfigsRpcfilemodeH5\x88\x01\x01\x12\x37\n\tlog_level\x18: \x01(\x0b\x32\x1f.cln.ListconfigsConfigsLoglevelH6\x88\x01\x01\x12\x39\n\nlog_prefix\x18; \x01(\x0b\x32 .cln.ListconfigsConfigsLogprefixH7\x88\x01\x01\x12\x35\n\x08log_file\x18< \x01(\x0b\x32\x1e.cln.ListconfigsConfigsLogfileH8\x88\x01\x01\x12\x41\n\x0elog_timestamps\x18= \x01(\x0b\x32$.cln.ListconfigsConfigsLogtimestampsH9\x88\x01\x01\x12\x41\n\x0e\x66orce_feerates\x18> \x01(\x0b\x32$.cln.ListconfigsConfigsForcefeeratesH:\x88\x01\x01\x12\x38\n\tsubdaemon\x18? \x01(\x0b\x32 .cln.ListconfigsConfigsSubdaemonH;\x88\x01\x01\x12Q\n\x16\x66\x65tchinvoice_noconnect\x18@ \x01(\x0b\x32,.cln.ListconfigsConfigsFetchinvoicenoconnectH<\x88\x01\x01\x12L\n\x14tor_service_password\x18\x42 \x01(\x0b\x32).cln.ListconfigsConfigsTorservicepasswordH=\x88\x01\x01\x12\x46\n\x11\x61nnounce_addr_dns\x18\x43 \x01(\x0b\x32&.cln.ListconfigsConfigsAnnounceaddrdnsH>\x88\x01\x01\x12T\n\x18require_confirmed_inputs\x18\x44 \x01(\x0b\x32-.cln.ListconfigsConfigsRequireconfirmedinputsH?\x88\x01\x01\x12\x39\n\ncommit_fee\x18\x45 \x01(\x0b\x32 .cln.ListconfigsConfigsCommitfeeH@\x88\x01\x01\x12N\n\x15\x63ommit_feerate_offset\x18\x46 \x01(\x0b\x32*.cln.ListconfigsConfigsCommitfeerateoffsetHA\x88\x01\x01\x12T\n\x18\x61utoconnect_seeker_peers\x18G \x01(\x0b\x32-.cln.ListconfigsConfigsAutoconnectseekerpeersHB\x88\x01\x01\x12R\n\x17\x63urrencyrate_add_source\x18J \x01(\x0b\x32,.cln.ListconfigsConfigsCurrencyrateaddsourceHC\x88\x01\x01\x12Z\n\x1b\x63urrencyrate_disable_source\x18K \x01(\x0b\x32\x30.cln.ListconfigsConfigsCurrencyratedisablesourceHD\x88\x01\x01\x42\x07\n\x05_confB\x0c\n\n_developerB\x10\n\x0e_clear_pluginsB\x0e\n\x0c_disable_mppB\n\n\x08_mainnetB\n\n\x08_regtestB\t\n\x07_signetB\n\n\x08_testnetB\x13\n\x11_important_pluginB\t\n\x07_pluginB\r\n\x0b_plugin_dirB\x10\n\x0e_lightning_dirB\n\n\x08_networkB\x18\n\x16_allow_deprecated_apisB\x0b\n\t_rpc_fileB\x11\n\x0f_disable_pluginB\x13\n\x11_always_use_proxyB\t\n\x07_daemonB\t\n\x07_walletB\x11\n\x0f_large_channelsB\x19\n\x17_experimental_dual_fundB\x18\n\x16_experimental_splicingB&\n$_experimental_shutdown_wrong_fundingB\x1c\n\x1a_experimental_peer_storageB\x17\n\x15_experimental_anchorsB\x13\n\x11_database_upgradeB\x06\n\x04_rgbB\x08\n\x06_aliasB\x0b\n\t_pid_fileB\x14\n\x12_ignore_fee_limitsB\x13\n\x11_watchtime_blocksB\x13\n\x11_funding_confirmsB\r\n\x0b_cltv_deltaB\r\n\x0b_cltv_finalB\x0e\n\x0c_commit_timeB\x0b\n\t_fee_baseB\t\n\x07_rescanB\x12\n\x10_fee_per_satoshiB\x17\n\x15_max_concurrent_htlcsB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x1e\n\x1c_max_dust_htlc_exposure_msatB\x13\n\x11_min_capacity_satB\x07\n\x05_addrB\x10\n\x0e_announce_addrB\x0c\n\n_bind_addrB\n\n\x08_offlineB\r\n\x0b_autolistenB\x08\n\x06_proxyB\x0e\n\x0c_disable_dnsB\x1b\n\x19_announce_addr_discoveredB \n\x1e_announce_addr_discovered_portB\x10\n\x0e_encrypted_hsmB\x10\n\x0e_rpc_file_modeB\x0c\n\n_log_levelB\r\n\x0b_log_prefixB\x0b\n\t_log_fileB\x11\n\x0f_log_timestampsB\x11\n\x0f_force_feeratesB\x0c\n\n_subdaemonB\x19\n\x17_fetchinvoice_noconnectB\x17\n\x15_tor_service_passwordB\x14\n\x12_announce_addr_dnsB\x1b\n\x19_require_confirmed_inputsB\r\n\x0b_commit_feeB\x18\n\x16_commit_feerate_offsetB\x1b\n\x19_autoconnect_seeker_peersB\x1a\n\x18_currencyrate_add_sourceB\x1e\n\x1c_currencyrate_disable_source\"=\n\x16ListconfigsConfigsAddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsAlias\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"K\n%ListconfigsConfigsAllowdeprecatedapis\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n ListconfigsConfigsAlwaysuseproxy\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1eListconfigsConfigsAnnounceaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"\x80\x02\n(ListconfigsConfigsAnnounceaddrdiscovered\x12q\n\tvalue_str\x18\x01 \x01(\x0e\x32^.cln.ListconfigsConfigsAnnounceaddrdiscovered.ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n0ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x08\n\x04TRUE\x10\x00\x12\t\n\x05\x46\x41LSE\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\"Q\n,ListconfigsConfigsAnnounceaddrdiscoveredport\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsAnnounceaddrdns\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n(ListconfigsConfigsAutoconnectseekerpeers\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1cListconfigsConfigsAutolisten\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1aListconfigsConfigsBindaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsClearplugins\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvdelta\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvfinal\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCommitfee\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\"J\n%ListconfigsConfigsCommitfeerateoffset\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1cListconfigsConfigsCommittime\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\xa2\x01\n\x16ListconfigsConfigsConf\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12H\n\x06source\x18\x02 \x01(\x0e\x32\x38.cln.ListconfigsConfigsConf.ListconfigsConfigsConfSource\"+\n\x1cListconfigsConfigsConfSource\x12\x0b\n\x07\x43MDLINE\x10\x00\"n\n\'ListconfigsConfigsCurrencyrateaddsource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"r\n+ListconfigsConfigsCurrencyratedisablesource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"7\n\x18ListconfigsConfigsDaemon\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsDatabaseupgrade\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x1bListconfigsConfigsDeveloper\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\";\n\x1cListconfigsConfigsDisabledns\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"[\n\x1cListconfigsConfigsDisablempp\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"F\n\x1fListconfigsConfigsDisableplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsEncryptedhsm\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n%ListconfigsConfigsExperimentalanchors\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n&ListconfigsConfigsExperimentaldualfund\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n)ListconfigsConfigsExperimentalpeerstorage\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n2ListconfigsConfigsExperimentalshutdownwrongfunding\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n&ListconfigsConfigsExperimentalsplicing\x12\x0f\n\x03set\x18\x01 \x01(\x08\x42\x02\x18\x01\x12\x12\n\x06source\x18\x02 \x01(\tB\x02\x18\x01\">\n\x19ListconfigsConfigsFeebase\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n\x1fListconfigsConfigsFeepersatoshi\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"f\n\'ListconfigsConfigsFetchinvoicenoconnect\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"D\n\x1fListconfigsConfigsForcefeerates\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsFundingconfirms\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcmaximummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcminimummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsIgnorefeelimits\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n!ListconfigsConfigsImportantplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\">\n\x1fListconfigsConfigsLargechannels\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"C\n\x1eListconfigsConfigsLightningdir\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x19ListconfigsConfigsLogfile\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"?\n\x1aListconfigsConfigsLoglevel\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsLogprefix\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1fListconfigsConfigsLogtimestamps\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsMainnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsMaxconcurrenthtlcs\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\\\n)ListconfigsConfigsMaxdusthtlcexposuremsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"g\n ListconfigsConfigsMincapacitysat\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x14\n\x07\x64ynamic\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\n\n\x08_dynamic\">\n\x19ListconfigsConfigsNetwork\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsOffline\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsPidfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"?\n\x18ListconfigsConfigsPlugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"B\n\x1bListconfigsConfigsPlugindir\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsProxy\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsRegtest\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"N\n(ListconfigsConfigsRequireconfirmedinputs\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsRescan\x12\x11\n\tvalue_int\x18\x01 \x01(\x12\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x15ListconfigsConfigsRgb\x12\x11\n\tvalue_str\x18\x01 \x01(\x0c\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsRpcfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1dListconfigsConfigsRpcfilemode\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"7\n\x18ListconfigsConfigsSignet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1bListconfigsConfigsSubdaemon\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"8\n\x19ListconfigsConfigsTestnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsTorservicepassword\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsWallet\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsWatchtimeblocks\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\r\n\x0bStopRequest\"a\n\x0cStopResponse\x12,\n\x06result\x18\x01 \x01(\x0e\x32\x1c.cln.StopResponse.StopResult\"#\n\nStopResult\x12\x15\n\x11SHUTDOWN_COMPLETE\x10\x00\"/\n\x0bHelpRequest\x12\x14\n\x07\x63ommand\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_command\"\x95\x01\n\x0cHelpResponse\x12\x1b\n\x04help\x18\x01 \x03(\x0b\x32\r.cln.HelpHelp\x12:\n\x0b\x66ormat_hint\x18\x02 \x01(\x0e\x32 .cln.HelpResponse.HelpFormathintH\x00\x88\x01\x01\"\x1c\n\x0eHelpFormathint\x12\n\n\x06SIMPLE\x10\x00\x42\x0e\n\x0c_format_hint\"\x1b\n\x08HelpHelp\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\"g\n\x18PreapprovekeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\x1b\n\x19PreapprovekeysendResponse\"*\n\x18PreapproveinvoiceRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"\x1b\n\x19PreapproveinvoiceResponse\"\x15\n\x13StaticbackupRequest\"#\n\x14StaticbackupResponse\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"d\n\x16\x42kprchannelsapyRequest\x12\x17\n\nstart_time\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x17\x42kprchannelsapyResponse\x12\x35\n\x0c\x63hannels_apy\x18\x01 \x03(\x0b\x32\x1f.cln.BkprchannelsapyChannelsApy\"\xf9\x06\n\x1a\x42kprchannelsapyChannelsApy\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12$\n\x0frouted_out_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0erouted_in_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12(\n\x13lease_fee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12*\n\x15lease_fee_earned_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x0fpushed_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0epushed_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16our_start_balance_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12/\n\x1a\x63hannel_start_balance_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\rfees_out_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x0c\x66\x65\x65s_in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x17\n\x0futilization_out\x18\x0c \x01(\t\x12$\n\x17utilization_out_initial\x18\r \x01(\tH\x01\x88\x01\x01\x12\x16\n\x0eutilization_in\x18\x0e \x01(\t\x12#\n\x16utilization_in_initial\x18\x0f \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x07\x61py_out\x18\x10 \x01(\t\x12\x1c\n\x0f\x61py_out_initial\x18\x11 \x01(\tH\x03\x88\x01\x01\x12\x0e\n\x06\x61py_in\x18\x12 \x01(\t\x12\x1b\n\x0e\x61py_in_initial\x18\x13 \x01(\tH\x04\x88\x01\x01\x12\x11\n\tapy_total\x18\x14 \x01(\t\x12\x1e\n\x11\x61py_total_initial\x18\x15 \x01(\tH\x05\x88\x01\x01\x12\x16\n\tapy_lease\x18\x16 \x01(\tH\x06\x88\x01\x01\x42\x0f\n\r_fees_in_msatB\x1a\n\x18_utilization_out_initialB\x19\n\x17_utilization_in_initialB\x12\n\x10_apy_out_initialB\x11\n\x0f_apy_in_initialB\x14\n\x12_apy_total_initialB\x0c\n\n_apy_lease\"\xd2\x01\n\x18\x42kprdumpincomecsvRequest\x12\x12\n\ncsv_format\x18\x01 \x01(\t\x12\x15\n\x08\x63sv_file\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x63onsolidate_fees\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\x04H\x03\x88\x01\x01\x42\x0b\n\t_csv_fileB\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"\xd4\x01\n\x19\x42kprdumpincomecsvResponse\x12\x10\n\x08\x63sv_file\x18\x01 \x01(\t\x12M\n\ncsv_format\x18\x02 \x01(\x0e\x32\x39.cln.BkprdumpincomecsvResponse.BkprdumpincomecsvCsvFormat\"V\n\x1a\x42kprdumpincomecsvCsvFormat\x12\x0f\n\x0b\x43OINTRACKER\x10\x00\x12\n\n\x06KOINLY\x10\x01\x12\x0b\n\x07HARMONY\x10\x02\x12\x0e\n\nQUICKBOOKS\x10\x03\"%\n\x12\x42kprinspectRequest\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\"7\n\x13\x42kprinspectResponse\x12 \n\x03txs\x18\x01 \x03(\x0b\x32\x13.cln.BkprinspectTxs\"\x9a\x01\n\x0e\x42kprinspectTxs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x18\n\x0b\x62lockheight\x18\x02 \x01(\rH\x00\x88\x01\x01\x12#\n\x0e\x66\x65\x65s_paid_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x07outputs\x18\x04 \x03(\x0b\x32\x1a.cln.BkprinspectTxsOutputsB\x0e\n\x0c_blockheight\"\xbc\x03\n\x15\x42kprinspectTxsOutputs\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12&\n\x11output_value_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12%\n\x0b\x63redit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12$\n\ndebit_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12 \n\x13originating_account\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x17\n\noutput_tag\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tspend_tag\x18\t \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x42\x0e\n\x0c_credit_msatB\r\n\x0b_debit_msatB\x16\n\x14_originating_accountB\r\n\x0b_output_tagB\x0c\n\n_spend_tagB\x10\n\x0e_spending_txidB\r\n\x0b_payment_id\"h\n\x1c\x42kprlistaccounteventsRequest\x12\x14\n\x07\x61\x63\x63ount\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\npayment_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_accountB\r\n\x0b_payment_id\"Q\n\x1d\x42kprlistaccounteventsResponse\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .cln.BkprlistaccounteventsEvents\"\xcd\x05\n\x1b\x42kprlistaccounteventsEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12S\n\titem_type\x18\x02 \x01(\x0e\x32@.cln.BkprlistaccounteventsEvents.BkprlistaccounteventsEventsType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\t \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\n \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\x0c \x01(\x0cH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x05\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x07\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x08\x88\x01\x01\x12\x19\n\x0c\x63urrencyrate\x18\x11 \x01(\x01H\t\x88\x01\x01\"J\n\x1f\x42kprlistaccounteventsEventsType\x12\x0f\n\x0bONCHAIN_FEE\x10\x00\x12\t\n\x05\x43HAIN\x10\x01\x12\x0b\n\x07\x43HANNEL\x10\x02\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0e\n\x0c_descriptionB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_idB\x0f\n\r_currencyrate\"\x19\n\x17\x42kprlistbalancesRequest\"K\n\x18\x42kprlistbalancesResponse\x12/\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1d.cln.BkprlistbalancesAccounts\"\xc6\x02\n\x18\x42kprlistbalancesAccounts\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x37\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32%.cln.BkprlistbalancesAccountsBalances\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x16\n\twe_opened\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x61\x63\x63ount_closed\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x1d\n\x10\x61\x63\x63ount_resolved\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x1e\n\x11resolved_at_block\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\n\n\x08_peer_idB\x0c\n\n_we_openedB\x11\n\x0f_account_closedB\x13\n\x11_account_resolvedB\x14\n\x12_resolved_at_block\"X\n BkprlistbalancesAccountsBalances\x12!\n\x0c\x62\x61lance_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x02 \x01(\t\"\x97\x01\n\x15\x42kprlistincomeRequest\x12\x1d\n\x10\x63onsolidate_fees\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x17\n\nstart_time\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x16\x42kprlistincomeResponse\x12\x36\n\rincome_events\x18\x01 \x03(\x0b\x32\x1f.cln.BkprlistincomeIncomeEvents\"\xb4\x02\n\x1a\x42kprlistincomeIncomeEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12\x11\n\ttimestamp\x18\x06 \x01(\r\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\n \x01(\x0cH\x03\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_outpointB\x07\n\x05_txidB\r\n\x0b_payment_id\"P\n%BkpreditdescriptionbypaymentidRequest\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"e\n&BkpreditdescriptionbypaymentidResponse\x12;\n\x07updated\x18\x01 \x03(\x0b\x32*.cln.BkpreditdescriptionbypaymentidUpdated\"\xa3\x05\n%BkpreditdescriptionbypaymentidUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12g\n\titem_type\x18\x02 \x01(\x0e\x32T.cln.BkpreditdescriptionbypaymentidUpdated.BkpreditdescriptionbypaymentidUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"C\n)BkpreditdescriptionbypaymentidUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"M\n$BkpreditdescriptionbyoutpointRequest\x12\x10\n\x08outpoint\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"c\n%BkpreditdescriptionbyoutpointResponse\x12:\n\x07updated\x18\x01 \x03(\x0b\x32).cln.BkpreditdescriptionbyoutpointUpdated\"\x9f\x05\n$BkpreditdescriptionbyoutpointUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x65\n\titem_type\x18\x02 \x01(\x0e\x32R.cln.BkpreditdescriptionbyoutpointUpdated.BkpreditdescriptionbyoutpointUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"B\n(BkpreditdescriptionbyoutpointUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"\xb0\x01\n\x11\x42kprreportRequest\x12\x13\n\x06\x66ormat\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x07headers\x18\x02 \x03(\t\x12\x13\n\x06\x65scape\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\rH\x03\x88\x01\x01\x42\t\n\x07_formatB\t\n\x07_escapeB\r\n\x0b_start_timeB\x0b\n\t_end_time\"$\n\x12\x42kprreportResponse\x12\x0e\n\x06report\x18\x01 \x03(\t\"n\n\x14\x42lacklistruneRequest\x12\x12\n\x05start\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03\x65nd\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06relist\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_startB\x06\n\x04_endB\t\n\x07_relist\"G\n\x15\x42lacklistruneResponse\x12.\n\tblacklist\x18\x01 \x03(\x0b\x32\x1b.cln.BlacklistruneBlacklist\"4\n\x16\x42lacklistruneBlacklist\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\"p\n\x10\x43heckruneRequest\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x13\n\x06nodeid\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06params\x18\x04 \x03(\tB\t\n\x07_nodeidB\t\n\x07_method\"\"\n\x11\x43heckruneResponse\x12\r\n\x05valid\x18\x01 \x01(\x08\"E\n\x11\x43reateruneRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0crestrictions\x18\x02 \x03(\tB\x07\n\x05_rune\"{\n\x12\x43reateruneResponse\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12&\n\x19warning_unrestricted_rune\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x1c\n\x1a_warning_unrestricted_rune\".\n\x10ShowrunesRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_rune\"7\n\x11ShowrunesResponse\x12\"\n\x05runes\x18\x01 \x03(\x0b\x32\x13.cln.ShowrunesRunes\"\x9d\x02\n\x0eShowrunesRunes\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x35\n\x0crestrictions\x18\x03 \x03(\x0b\x32\x1f.cln.ShowrunesRunesRestrictions\x12\x1f\n\x17restrictions_as_english\x18\x04 \x01(\t\x12\x13\n\x06stored\x18\x05 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x0b\x62lacklisted\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tlast_used\x18\x07 \x01(\x01H\x02\x88\x01\x01\x12\x15\n\x08our_rune\x18\x08 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_storedB\x0e\n\x0c_blacklistedB\x0c\n\n_last_usedB\x0b\n\t_our_rune\"p\n\x1aShowrunesRunesRestrictions\x12\x41\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32+.cln.ShowrunesRunesRestrictionsAlternatives\x12\x0f\n\x07\x65nglish\x18\x02 \x01(\t\"n\n&ShowrunesRunesRestrictionsAlternatives\x12\x11\n\tfieldname\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x11\n\tcondition\x18\x03 \x01(\t\x12\x0f\n\x07\x65nglish\x18\x04 \x01(\t\"r\n\x17\x41skreneunreserveRequest\x12\'\n\x04path\x18\x01 \x03(\x0b\x32\x19.cln.AskreneunreservePath\x12\x1b\n\x0e\x64\x65v_remove_all\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_dev_remove_all\"\x1a\n\x18\x41skreneunreserveResponse\"t\n\x14\x41skreneunreservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"8\n\x18\x41skrenelistlayersRequest\x12\x12\n\x05layer\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"I\n\x19\x41skrenelistlayersResponse\x12,\n\x06layers\x18\x01 \x03(\x0b\x32\x1c.cln.AskrenelistlayersLayers\"\xaa\x03\n\x17\x41skrenelistlayersLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x16\n\x0e\x64isabled_nodes\x18\x02 \x03(\x0c\x12\x45\n\x10\x63reated_channels\x18\x03 \x03(\x0b\x32+.cln.AskrenelistlayersLayersCreatedChannels\x12<\n\x0b\x63onstraints\x18\x04 \x03(\x0b\x32\'.cln.AskrenelistlayersLayersConstraints\x12\x12\n\npersistent\x18\x05 \x01(\x08\x12\x19\n\x11\x64isabled_channels\x18\x06 \x03(\t\x12\x43\n\x0f\x63hannel_updates\x18\x07 \x03(\x0b\x32*.cln.AskrenelistlayersLayersChannelUpdates\x12\x32\n\x06\x62iases\x18\x08 \x03(\x0b\x32\".cln.AskrenelistlayersLayersBiases\x12;\n\x0bnode_biases\x18\t \x03(\x0b\x32&.cln.AskrenelistlayersLayersNodeBiases\"\x9b\x01\n\x1d\x41skrenelistlayersLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa8\x03\n%AskrenelistlayersLayersChannelUpdates\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x14\n\x07\x65nabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x07 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\xda\x01\n\"AskrenelistlayersLayersConstraints\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x05 \x01(\t\x12\x16\n\ttimestamp\x18\x06 \x01(\x04H\x02\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msatB\x0c\n\n_timestamp\"\x8b\x01\n&AskrenelistlayersLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x91\x01\n!AskrenelistlayersLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"R\n\x19\x41skrenecreatelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x17\n\npersistent\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_persistent\"K\n\x1a\x41skrenecreatelayerResponse\x12-\n\x06layers\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenecreatelayerLayers\"\xb0\x03\n\x18\x41skrenecreatelayerLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x12\n\npersistent\x18\x02 \x01(\x08\x12\x16\n\x0e\x64isabled_nodes\x18\x03 \x03(\x0c\x12\x19\n\x11\x64isabled_channels\x18\x04 \x03(\t\x12\x46\n\x10\x63reated_channels\x18\x05 \x03(\x0b\x32,.cln.AskrenecreatelayerLayersCreatedChannels\x12\x44\n\x0f\x63hannel_updates\x18\x06 \x03(\x0b\x32+.cln.AskrenecreatelayerLayersChannelUpdates\x12=\n\x0b\x63onstraints\x18\x07 \x03(\x0b\x32(.cln.AskrenecreatelayerLayersConstraints\x12\x33\n\x06\x62iases\x18\x08 \x03(\x0b\x32#.cln.AskrenecreatelayerLayersBiases\x12<\n\x0bnode_biases\x18\t \x03(\x0b\x32\'.cln.AskrenecreatelayerLayersNodeBiases\"\x9c\x01\n\x1e\x41skrenecreatelayerLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xd1\x02\n&AskrenecreatelayerLayersChannelUpdates\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x05 \x01(\rH\x04\x88\x01\x01\x42\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x08\n\x06_delay\"\xc4\x01\n#AskrenecreatelayerLayersConstraints\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\r\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8c\x01\n\'AskrenecreatelayerLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x92\x01\n\"AskrenecreatelayerLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"*\n\x19\x41skreneremovelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\"\x1c\n\x1a\x41skreneremovelayerResponse\"P\n!AskreneremovechannelupdateRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\"$\n\"AskreneremovechannelupdateResponse\">\n\x15\x41skrenereserveRequest\x12%\n\x04path\x18\x01 \x03(\x0b\x32\x17.cln.AskrenereservePath\"\x18\n\x16\x41skrenereserveResponse\"r\n\x12\x41skrenereservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"2\n\x11\x41skreneageRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06\x63utoff\x18\x02 \x01(\x04\"8\n\x12\x41skreneageResponse\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x13\n\x0bnum_removed\x18\x02 \x01(\x04\"\xe7\x01\n\x10GetroutesRequest\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12 \n\x0bmaxfee_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\nfinal_cltv\x18\x07 \x01(\r\x12\x15\n\x08maxdelay\x18\x08 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08maxparts\x18\t \x01(\rH\x01\x88\x01\x01\x42\x0b\n\t_maxdelayB\x0b\n\t_maxparts\"R\n\x11GetroutesResponse\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12$\n\x06routes\x18\x02 \x03(\x0b\x32\x14.cln.GetroutesRoutes\"\x88\x01\n\x0fGetroutesRoutes\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x04path\x18\x03 \x03(\x0b\x32\x18.cln.GetroutesRoutesPath\x12\x12\n\nfinal_cltv\x18\x04 \x01(\r\"\xd4\x03\n\x13GetroutesRoutesPath\x12)\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12\x1d\n\x0cnext_node_id\x18\x04 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x16\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12(\n\x0e\x61mount_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x17\n\nnode_id_in\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x14\n\x07\x63ltv_in\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\x0c \x01(\rH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0f\n\r_next_node_idB\x08\n\x06_delayB\x11\n\x0f_amount_in_msatB\x12\n\x10_amount_out_msatB\r\n\x0b_node_id_inB\x0e\n\x0c_node_id_outB\n\n\x08_cltv_inB\x0b\n\t_cltv_out\"8\n\x19\x41skrenedisablenodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\"\x1c\n\x1a\x41skrenedisablenodeResponse\"\x8a\x02\n\x1b\x41skreneinformchannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12K\n\x06inform\x18\x08 \x01(\x0e\x32;.cln.AskreneinformchannelRequest.AskreneinformchannelInform\"O\n\x1a\x41skreneinformchannelInform\x12\x0f\n\x0b\x43ONSTRAINED\x10\x00\x12\x11\n\rUNCONSTRAINED\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\"Y\n\x1c\x41skreneinformchannelResponse\x12\x39\n\x0b\x63onstraints\x18\x02 \x03(\x0b\x32$.cln.AskreneinformchannelConstraints\"\xd3\x01\n\x1f\x41skreneinformchannelConstraints\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\r\n\x05layer\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\x04\x12&\n\x0cmaximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8f\x01\n\x1b\x41skrenecreatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x03 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x04 \x01(\t\x12\"\n\rcapacity_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"\x1e\n\x1c\x41skrenecreatechannelResponse\"\xad\x03\n\x1b\x41skreneupdatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x14\n\x07\x65nabled\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x08 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\x1e\n\x1c\x41skreneupdatechannelResponse\"\xa4\x01\n\x19\x41skrenebiaschannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"K\n\x1a\x41skrenebiaschannelResponse\x12-\n\x06\x62iases\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenebiaschannelBiases\"\xa5\x01\n\x18\x41skrenebiaschannelBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x05 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa4\x01\n\x16\x41skrenebiasnodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x11\n\tdirection\x18\x03 \x01(\t\x12\x0c\n\x04\x62ias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x06 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"N\n\x17\x41skrenebiasnodeResponse\x12\x33\n\x0bnode_biases\x18\x01 \x03(\x0b\x32\x1e.cln.AskrenebiasnodeNodeBiases\"\x98\x01\n\x19\x41skrenebiasnodeNodeBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x03 \x01(\x12\x12\x10\n\x08out_bias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x06 \x01(\x04\x42\x0e\n\x0c_description\" \n\x1e\x41skrenelistreservationsRequest\"a\n\x1f\x41skrenelistreservationsResponse\x12>\n\x0creservations\x18\x01 \x03(\x0b\x32(.cln.AskrenelistreservationsReservations\"\x91\x01\n#AskrenelistreservationsReservations\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x16\n\x0e\x61ge_in_seconds\x18\x03 \x01(\x04\x12\x12\n\ncommand_id\x18\x04 \x01(\t\"\xf5\x02\n\x19InjectpaymentonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x63ltv_expiry\x18\x04 \x01(\r\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x0f\n\x07groupid\x18\x06 \x01(\x04\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12*\n\x10\x64\x65stination_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x0b \x01(\x0cH\x04\x88\x01\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x10\n\x0e_localinvreqidB\x13\n\x11_destination_msatB\x0e\n\x0c_destination\"w\n\x1aInjectpaymentonionResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\x04\x12\x14\n\x0c\x63ompleted_at\x18\x02 \x01(\x04\x12\x15\n\rcreated_index\x18\x03 \x01(\x04\x12\x18\n\x10payment_preimage\x18\x04 \x01(\x0c\">\n\x19InjectonionmessageRequest\x12\x10\n\x08path_key\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"\x1c\n\x1aInjectonionmessageResponse\"\xbb\x03\n\x0bXpayRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x02\x88\x01\x01\x12&\n\x0cpartial_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\x12\n\x05label\x18\t \x01(\tH\x06\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\n \x01(\x0cH\x07\x88\x01\x01\x12\x1b\n\x0e\x64\x65v_use_shadow\x18\x0b \x01(\x08H\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0f\n\r_partial_msatB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_labelB\x10\n\x0e_localinvreqidB\x11\n\x0f_dev_use_shadow\"\xa1\x01\n\x0cXpayResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"=\n\x19SignmessagewithkeyRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"`\n\x1aSignmessagewithkeyResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x0e\n\x06\x62\x61se64\x18\x04 \x01(\t\"\xcd\x01\n\x17ListchannelmovesRequest\x12\x46\n\x05index\x18\x01 \x01(\x0e\x32\x32.cln.ListchannelmovesRequest.ListchannelmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"$\n\x15ListchannelmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"S\n\x18ListchannelmovesResponse\x12\x37\n\x0c\x63hannelmoves\x18\x01 \x03(\x0b\x32!.cln.ListchannelmovesChannelmoves\"\xa9\x04\n\x1cListchannelmovesChannelmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12]\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32H.cln.ListchannelmovesChannelmoves.ListchannelmovesChannelmovesPrimaryTag\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x07part_id\x18\x08 \x01(\x04H\x01\x88\x01\x01\x12\x15\n\x08group_id\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x1e\n\tfees_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\"\x96\x01\n&ListchannelmovesChannelmovesPrimaryTag\x12\x0b\n\x07INVOICE\x10\x00\x12\n\n\x06ROUTED\x10\x01\x12\n\n\x06PUSHED\x10\x02\x12\r\n\tLEASE_FEE\x10\x03\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x04\x12\x0f\n\x0bPENALTY_ADJ\x10\x05\x12\x11\n\rJOURNAL_ENTRY\x10\x06\x42\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_id\"\xc5\x01\n\x15ListchainmovesRequest\x12\x42\n\x05index\x18\x01 \x01(\x0e\x32..cln.ListchainmovesRequest.ListchainmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"\"\n\x13ListchainmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"K\n\x16ListchainmovesResponse\x12\x31\n\nchainmoves\x18\x01 \x03(\x0b\x32\x1d.cln.ListchainmovesChainmoves\"\xd4\x06\n\x18ListchainmovesChainmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12U\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32@.cln.ListchainmovesChainmoves.ListchainmovesChainmovesPrimaryTag\x12\x14\n\x07peer_id\x18\x08 \x01(\x0cH\x00\x88\x01\x01\x12 \n\x13originating_account\x18\t \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x02\x88\x01\x01\x12\x1b\n\x04utxo\x18\x0b \x01(\x0b\x32\r.cln.Outpoint\x12\x19\n\x0cpayment_hash\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12 \n\x0boutput_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0coutput_count\x18\x0e \x01(\rH\x04\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0f \x01(\r\x12\x12\n\nextra_tags\x18\x10 \x03(\t\"\x95\x02\n\"ListchainmovesChainmovesPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x42\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x10\n\x0e_spending_txidB\x0f\n\r_payment_hashB\x0f\n\r_output_count\"\xe9\x01\n\x18ListnetworkeventsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12H\n\x05index\x18\x02 \x01(\x0e\x32\x34.cln.ListnetworkeventsRequest.ListnetworkeventsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"%\n\x16ListnetworkeventsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"W\n\x19ListnetworkeventsResponse\x12:\n\rnetworkevents\x18\x01 \x03(\x0b\x32#.cln.ListnetworkeventsNetworkevents\"\xf2\x01\n\x1eListnetworkeventsNetworkevents\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x0f\n\x07peer_id\x18\x03 \x01(\x0c\x12\x11\n\titem_type\x18\x04 \x01(\t\x12\x13\n\x06reason\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rduration_nsec\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x1e\n\x11\x63onnect_attempted\x18\x07 \x01(\x08H\x02\x88\x01\x01\x42\t\n\x07_reasonB\x10\n\x0e_duration_nsecB\x14\n\x12_connect_attempted\"/\n\x16\x44\x65lnetworkeventRequest\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\"\x19\n\x17\x44\x65lnetworkeventResponse\"\xf6\x01\n\x1a\x43lnrestregisterpathRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x12\n\nrpc_method\x18\x02 \x01(\t\x12H\n\x11rune_restrictions\x18\x03 \x01(\x0b\x32(.cln.ClnrestregisterpathRuneRestrictionsH\x00\x88\x01\x01\x12\x1a\n\rrune_required\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x18\n\x0bhttp_method\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x14\n\x12_rune_restrictionsB\x10\n\x0e_rune_requiredB\x0e\n\x0c_http_method\"\x1d\n\x1b\x43lnrestregisterpathResponse\"\xda\x01\n#ClnrestregisterpathRuneRestrictions\x12\x13\n\x06nodeid\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x44\n\x06params\x18\x03 \x03(\x0b\x32\x34.cln.ClnrestregisterpathRuneRestrictions.ParamsEntry\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_nodeidB\t\n\x07_method\",\n\x18ListcurrencyratesRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\"W\n\x19ListcurrencyratesResponse\x12:\n\rcurrencyrates\x18\x01 \x03(\x0b\x32#.cln.ListcurrencyratesCurrencyrates\"@\n\x1eListcurrencyratesCurrencyrates\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x01\":\n\x16\x43urrencyconvertRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x10\n\x08\x63urrency\x18\x02 \x01(\t\"4\n\x17\x43urrencyconvertResponse\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\"G\n\x13\x43urrencyrateRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_source\"$\n\x14\x43urrencyrateResponse\x12\x0c\n\x04rate\x18\x01 \x01(\x01\"\x95\x02\n\x11SendamountRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x17\n\npayer_note\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x12\n\x05label\x18\x08 \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_label\"\xa7\x01\n\x12SendamountResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"e\n\x12\x43reateproofRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\x11\n\x04note\x18\x02 \x01(\tH\x00\x88\x01\x01\x12 \n\x07include\x18\x03 \x03(\x0b\x32\x0f.cln.ProofFieldB\x07\n\x05_note\"=\n\x13\x43reateproofResponse\x12&\n\x06proofs\x18\x01 \x03(\x0b\x32\x16.cln.CreateproofProofs\"\xb6\x01\n\x11\x43reateproofProofs\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\x12.\n\x15offer_fields_included\x18\x02 \x03(\x0b\x32\x0f.cln.ProofField\x12/\n\x16invreq_fields_included\x18\x03 \x03(\x0b\x32\x0f.cln.ProofField\x12\x30\n\x17invoice_fields_included\x18\x04 \x03(\x0b\x32\x0f.cln.ProofField\"\xd7\x02\n\x0fXkeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x05 \x03(\t\x12\x16\n\tretry_for\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x36\n\textratlvs\x18\x08 \x03(\x0b\x32#.cln.XkeysendRequest.ExtratlvsEntry\x1a\x30\n\x0e\x45xtratlvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x08\n\x06_labelB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelay\"\xa5\x01\n\x10XkeysendResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"3\n\x0fGracefulRequest\x12\x14\n\x07timeout\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\"H\n\x10GracefulResponse\x12\x1d\n\x15pending_htlc_expiries\x18\x01 \x03(\r\x12\x15\n\rpending_peers\x18\x02 \x03(\x0c\"\x1e\n\x1cStreamBalanceSnapshotRequest\"\x86\x01\n\x1b\x42\x61lanceSnapshotNotification\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\r\x12.\n\x08\x61\x63\x63ounts\x18\x04 \x03(\x0b\x32\x1c.cln.BalanceSnapshotAccounts\"c\n\x17\x42\x61lanceSnapshotAccounts\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12!\n\x0c\x62\x61lance_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x03 \x01(\t\"\x19\n\x17StreamBlockAddedRequest\"6\n\x16\x42lockAddedNotification\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0e\n\x06height\x18\x02 \x01(\r\" \n\x1eStreamChannelOpenFailedRequest\"3\n\x1d\x43hannelOpenFailedNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"\x1c\n\x1aStreamChannelOpenedRequest\"w\n\x19\x43hannelOpenedNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12!\n\x0c\x66unding_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\x12\x15\n\rchannel_ready\x18\x04 \x01(\x08\"\"\n StreamChannelStateChangedRequest\"\xc1\x03\n\x1f\x43hannelStateChangedNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x04 \x01(\t\x12)\n\told_state\x18\x05 \x01(\x0e\x32\x11.cln.ChannelStateH\x01\x88\x01\x01\x12$\n\tnew_state\x18\x06 \x01(\x0e\x32\x11.cln.ChannelState\x12L\n\x05\x63\x61use\x18\x07 \x01(\x0e\x32=.cln.ChannelStateChangedNotification.ChannelStateChangedCause\x12\x14\n\x07message\x18\x08 \x01(\tH\x02\x88\x01\x01\"c\n\x18\x43hannelStateChangedCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\x13\n\x11_short_channel_idB\x0c\n\n_old_stateB\n\n\x08_message\"\x16\n\x14StreamConnectRequest\"\xbe\x01\n\x17PeerConnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x44\n\tdirection\x18\x02 \x01(\x0e\x32\x31.cln.PeerConnectNotification.PeerConnectDirection\x12(\n\x07\x61\x64\x64ress\x18\x03 \x01(\x0b\x32\x17.cln.PeerConnectAddress\"\'\n\x14PeerConnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\x9a\x02\n\x12PeerConnectAddress\x12\x41\n\titem_type\x18\x01 \x01(\x0e\x32..cln.PeerConnectAddress.PeerConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"c\n\x16PeerConnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"\x1b\n\x19StreamCoinMovementRequest\"\xaf\x0b\n\x18\x43oinMovementNotification\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x11\n\tcoin_type\x18\x02 \x01(\t\x12\x0f\n\x07node_id\x18\x03 \x01(\x0c\x12\x41\n\titem_type\x18\x04 \x01(\x0e\x32..cln.CoinMovementNotification.CoinMovementType\x12\x1a\n\rcreated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\naccount_id\x18\x06 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12\x10\n\x04tags\x18\n \x03(\tB\x02\x18\x01\x12N\n\x0bprimary_tag\x18\x0b \x01(\x0e\x32\x34.cln.CoinMovementNotification.CoinMovementPrimaryTagH\x01\x88\x01\x01\x12\x12\n\nextra_tags\x18\x0c \x03(\t\x12\x19\n\x0cpayment_hash\x18\r \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07part_id\x18\x0e \x01(\x04H\x03\x88\x01\x01\x12\x15\n\x08group_id\x18\x0f \x01(\x04H\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12 \n\x04utxo\x18\x11 \x01(\x0b\x32\r.cln.OutpointH\x06\x88\x01\x01\x12\x14\n\x07peer_id\x18\x12 \x01(\x0cH\x07\x88\x01\x01\x12 \n\x13originating_account\x18\x13 \x01(\tH\x08\x88\x01\x01\x12\x15\n\x04txid\x18\x14 \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12\x1a\n\rspending_txid\x18\x15 \x01(\x0cH\n\x88\x01\x01\x12\x1a\n\tutxo_txid\x18\x16 \x01(\x0c\x42\x02\x18\x01H\x0b\x88\x01\x01\x12\x15\n\x04vout\x18\x17 \x01(\rB\x02\x18\x01H\x0c\x88\x01\x01\x12%\n\x0boutput_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x19\n\x0coutput_count\x18\x19 \x01(\rH\x0e\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\x1a \x01(\rH\x0f\x88\x01\x01\"\xf7\x02\n\x16\x43oinMovementPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x12\x0b\n\x07INVOICE\x10\x10\x12\n\n\x06ROUTED\x10\x11\x12\n\n\x06PUSHED\x10\x12\x12\r\n\tLEASE_FEE\x10\x13\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x14\x12\x0f\n\x0bPENALTY_ADJ\x10\x15\x12\x11\n\rJOURNAL_ENTRY\x10\x16\"2\n\x10\x43oinMovementType\x12\x0f\n\x0b\x43HANNEL_MVT\x10\x00\x12\r\n\tCHAIN_MVT\x10\x01\x42\x10\n\x0e_created_indexB\x0e\n\x0c_primary_tagB\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_idB\x0c\n\n_fees_msatB\x07\n\x05_utxoB\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x07\n\x05_txidB\x10\n\x0e_spending_txidB\x0c\n\n_utxo_txidB\x07\n\x05_voutB\x0e\n\x0c_output_msatB\x0f\n\r_output_countB\x0e\n\x0c_blockheight\"\x18\n\x16StreamCustomMsgRequest\"9\n\x15\x43ustomMsgNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\" \n\x1eStreamDeprecatedOneshotRequest\"6\n\x1d\x44\x65precatedOneshotNotification\x12\x15\n\rdeprecated_ok\x18\x01 \x01(\x08\"\x19\n\x17StreamDisconnectRequest\"$\n\x16\x44isconnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\"\x1b\n\x19StreamForwardEventRequest\"\x88\x05\n\x18\x46orwardEventNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x12\n\nin_channel\x18\x02 \x01(\t\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x08out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12@\n\x06status\x18\x07 \x01(\x0e\x32\x30.cln.ForwardEventNotification.ForwardEventStatus\x12\x15\n\x08\x66\x61ilcode\x18\x08 \x01(\rH\x03\x88\x01\x01\x12\x17\n\nfailreason\x18\t \x01(\tH\x04\x88\x01\x01\x12\x43\n\x05style\x18\n \x01(\x0e\x32/.cln.ForwardEventNotification.ForwardEventStyleH\x05\x88\x01\x01\x12\x15\n\rreceived_time\x18\x0b \x01(\x01\x12\x1a\n\rresolved_time\x18\x0c \x01(\x01H\x06\x88\x01\x01\"L\n\x12\x46orwardEventStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"(\n\x11\x46orwardEventStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_out_msatB\x0b\n\t_fee_msatB\x0b\n\t_failcodeB\r\n\x0b_failreasonB\x08\n\x06_styleB\x10\n\x0e_resolved_time\"\x1e\n\x1cStreamInvoiceCreationRequest\"g\n\x1bInvoiceCreationNotification\x12\x1e\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12\r\n\x05label\x18\x03 \x01(\tB\x07\n\x05_msat\"\x1d\n\x1bStreamInvoicePaymentRequest\"\x8b\x01\n\x1aInvoicePaymentNotification\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12$\n\x08outpoint\x18\x03 \x01(\x0b\x32\r.cln.OutpointH\x00\x88\x01\x01\x12\r\n\x05label\x18\x04 \x01(\tB\x0b\n\t_outpoint\"\x12\n\x10StreamLogRequest\"\xca\x01\n\x0fLogNotification\x12,\n\x05level\x18\x01 \x01(\x0e\x32\x1d.cln.LogNotification.LogLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"K\n\x08LogLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05TRACE\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07UNUSUAL\x10\x04\x12\n\n\x06\x42ROKEN\x10\x05\"&\n$StreamOnionMessageForwardFailRequest\"\xef\x01\n#OnionMessageForwardFailNotification\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x10\n\x08incoming\x18\x02 \x01(\x0c\x12\x10\n\x08path_key\x18\x03 \x01(\x0c\x12\x15\n\x08outgoing\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x19\n\x0cnext_node_id\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12&\n\x19next_short_channel_id_dir\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_outgoingB\x0f\n\r_next_node_idB\x1c\n\x1a_next_short_channel_id_dir\"\"\n StreamOpenChannelPeerSigsRequest\"J\n\x1fOpenChannelPeerSigsNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"\x1c\n\x1aStreamPluginStartedRequest\"V\n\x19PluginStartedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1c\n\x1aStreamPluginStoppedRequest\"V\n\x19PluginStoppedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1d\n\x1bStreamSendPayFailureRequest\"b\n\x1aSendPayFailureNotification\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x17.cln.SendpayFailureData\"\xc1\t\n\x12SendpayFailureData\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x06\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x17\n\ncreated_at\x18\n \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\n\x88\x01\x01\x12\x45\n\x06status\x18\x0c \x01(\x0e\x32\x30.cln.SendpayFailureData.SendpayFailureDataStatusH\x0b\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x0c\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\r\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x0e\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x0f\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\x10\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\x11\x88\x01\x01\x12\x17\n\nonionreply\x18\x13 \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0c\x65rring_index\x18\x14 \x01(\rH\x13\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x15 \x01(\rH\x14\x88\x01\x01\x12\x19\n\x0c\x66\x61ilcodename\x18\x16 \x01(\tH\x15\x88\x01\x01\x12\x18\n\x0b\x65rring_node\x18\x17 \x01(\x0cH\x16\x88\x01\x01\x12\x1b\n\x0e\x65rring_channel\x18\x18 \x01(\tH\x17\x88\x01\x01\x12\x1d\n\x10\x65rring_direction\x18\x19 \x01(\rH\x18\x88\x01\x01\x12\x18\n\x0braw_message\x18\x1a \x01(\x0cH\x19\x88\x01\x01\"A\n\x18SendpayFailureDataStatus\x12\n\n\x06\x46\x41ILED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x10\n\x0e_created_indexB\x05\n\x03_idB\x0f\n\r_payment_hashB\n\n\x08_groupidB\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_created_atB\x0f\n\r_completed_atB\t\n\x07_statusB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronionB\r\n\x0b_onionreplyB\x0f\n\r_erring_indexB\x0b\n\t_failcodeB\x0f\n\r_failcodenameB\x0e\n\x0c_erring_nodeB\x11\n\x0f_erring_channelB\x13\n\x11_erring_directionB\x0e\n\x0c_raw_message\"\x1d\n\x1bStreamSendPaySuccessRequest\"\xcc\x05\n\x1aSendPaySuccessNotification\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\ncreated_at\x18\n \x01(\x04\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32\x34.cln.SendPaySuccessNotification.SendpaySuccessStatus\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x05\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\n\x88\x01\x01\"$\n\x14SendpaySuccessStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x0f\n\r_completed_atB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronion\"\x17\n\x15StreamShutdownRequest\"\x16\n\x14ShutdownNotification\"\x16\n\x14StreamWarningRequest\"\xae\x01\n\x13WarningNotification\x12\x34\n\x05level\x18\x01 \x01(\x0e\x32%.cln.WarningNotification.WarningLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"#\n\x0cWarningLevel\x12\x08\n\x04WARN\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"\x19\n\x17StreamPayPartEndRequest\"\xf1\x03\n\x16PayPartEndNotification\x12<\n\x06status\x18\x01 \x01(\x0e\x32,.cln.PayPartEndNotification.PayPartEndStatus\x12\x10\n\x08\x64uration\x18\x02 \x01(\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x17\n\nfailed_msg\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x61iled_node_id\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12$\n\x17\x66\x61iled_short_channel_id\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10\x66\x61iled_direction\x18\t \x01(\rH\x03\x88\x01\x01\x12\x17\n\nerror_code\x18\n \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rerror_message\x18\x0b \x01(\tH\x05\x88\x01\x01\",\n\x10PayPartEndStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x0b\n\x07\x46\x41ILURE\x10\x01\x42\r\n\x0b_failed_msgB\x11\n\x0f_failed_node_idB\x1a\n\x18_failed_short_channel_idB\x13\n\x11_failed_directionB\r\n\x0b_error_codeB\x10\n\x0e_error_message\"\x1b\n\x19StreamPayPartStartRequest\"\xc2\x01\n\x18PayPartStartNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x0e\n\x06partid\x18\x03 \x01(\x04\x12\'\n\x12total_payment_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x0c\x61ttempt_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x04hops\x18\x06 \x03(\x0b\x32\x15.cln.PayPartStartHops\"\x9f\x01\n\x10PayPartStartHops\x12\x11\n\tnext_node\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\r\x12$\n\x0f\x63hannel_in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x63hannel_out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount2\xbah\n\x04Node\x12\x36\n\x07Getinfo\x12\x13.cln.GetinfoRequest\x1a\x14.cln.GetinfoResponse\"\x00\x12<\n\tListPeers\x12\x15.cln.ListpeersRequest\x1a\x16.cln.ListpeersResponse\"\x00\x12<\n\tListFunds\x12\x15.cln.ListfundsRequest\x1a\x16.cln.ListfundsResponse\"\x00\x12\x36\n\x07SendPay\x12\x13.cln.SendpayRequest\x1a\x14.cln.SendpayResponse\"\x00\x12\x45\n\x0cListChannels\x12\x18.cln.ListchannelsRequest\x1a\x19.cln.ListchannelsResponse\"\x00\x12<\n\tAddGossip\x12\x15.cln.AddgossipRequest\x1a\x16.cln.AddgossipResponse\"\x00\x12H\n\rAddPsbtOutput\x12\x19.cln.AddpsbtoutputRequest\x1a\x1a.cln.AddpsbtoutputResponse\"\x00\x12H\n\rAutoCleanOnce\x12\x19.cln.AutocleanonceRequest\x1a\x1a.cln.AutocleanonceResponse\"\x00\x12N\n\x0f\x41utoCleanStatus\x12\x1b.cln.AutocleanstatusRequest\x1a\x1c.cln.AutocleanstatusResponse\"\x00\x12\x45\n\x0c\x43heckMessage\x12\x18.cln.CheckmessageRequest\x1a\x19.cln.CheckmessageResponse\"\x00\x12\x30\n\x05\x43lose\x12\x11.cln.CloseRequest\x1a\x12.cln.CloseResponse\"\x00\x12:\n\x0b\x43onnectPeer\x12\x13.cln.ConnectRequest\x1a\x14.cln.ConnectResponse\"\x00\x12H\n\rCreateInvoice\x12\x19.cln.CreateinvoiceRequest\x1a\x1a.cln.CreateinvoiceResponse\"\x00\x12<\n\tDatastore\x12\x15.cln.DatastoreRequest\x1a\x16.cln.DatastoreResponse\"\x00\x12K\n\x0e\x44\x61tastoreUsage\x12\x1a.cln.DatastoreusageRequest\x1a\x1b.cln.DatastoreusageResponse\"\x00\x12\x42\n\x0b\x43reateOnion\x12\x17.cln.CreateonionRequest\x1a\x18.cln.CreateonionResponse\"\x00\x12\x45\n\x0c\x44\x65lDatastore\x12\x18.cln.DeldatastoreRequest\x1a\x19.cln.DeldatastoreResponse\"\x00\x12?\n\nDelInvoice\x12\x16.cln.DelinvoiceRequest\x1a\x17.cln.DelinvoiceResponse\"\x00\x12Q\n\x10\x44\x65vForgetChannel\x12\x1c.cln.DevforgetchannelRequest\x1a\x1d.cln.DevforgetchannelResponse\"\x00\x12Q\n\x10\x45mergencyRecover\x12\x1c.cln.EmergencyrecoverRequest\x1a\x1d.cln.EmergencyrecoverResponse\"\x00\x12\x66\n\x17GetEmergencyRecoverData\x12#.cln.GetemergencyrecoverdataRequest\x1a$.cln.GetemergencyrecoverdataResponse\"\x00\x12\x45\n\x0c\x45xposeSecret\x12\x18.cln.ExposesecretRequest\x1a\x19.cln.ExposesecretResponse\"\x00\x12\x36\n\x07Recover\x12\x13.cln.RecoverRequest\x1a\x14.cln.RecoverResponse\"\x00\x12K\n\x0eRecoverChannel\x12\x1a.cln.RecoverchannelRequest\x1a\x1b.cln.RecoverchannelResponse\"\x00\x12\x36\n\x07Invoice\x12\x13.cln.InvoiceRequest\x1a\x14.cln.InvoiceResponse\"\x00\x12Q\n\x14\x43reateInvoiceRequest\x12\x1a.cln.InvoicerequestRequest\x1a\x1b.cln.InvoicerequestResponse\"\x00\x12`\n\x15\x44isableInvoiceRequest\x12!.cln.DisableinvoicerequestRequest\x1a\".cln.DisableinvoicerequestResponse\"\x00\x12Z\n\x13ListInvoiceRequests\x12\x1f.cln.ListinvoicerequestsRequest\x1a .cln.ListinvoicerequestsResponse\"\x00\x12H\n\rListDatastore\x12\x19.cln.ListdatastoreRequest\x1a\x1a.cln.ListdatastoreResponse\"\x00\x12\x45\n\x0cListInvoices\x12\x18.cln.ListinvoicesRequest\x1a\x19.cln.ListinvoicesResponse\"\x00\x12<\n\tSendOnion\x12\x15.cln.SendonionRequest\x1a\x16.cln.SendonionResponse\"\x00\x12\x45\n\x0cListSendPays\x12\x18.cln.ListsendpaysRequest\x1a\x19.cln.ListsendpaysResponse\"\x00\x12Q\n\x10ListTransactions\x12\x1c.cln.ListtransactionsRequest\x1a\x1d.cln.ListtransactionsResponse\"\x00\x12?\n\nMakeSecret\x12\x16.cln.MakesecretRequest\x1a\x17.cln.MakesecretResponse\"\x00\x12*\n\x03Pay\x12\x0f.cln.PayRequest\x1a\x10.cln.PayResponse\"\x00\x12<\n\tListNodes\x12\x15.cln.ListnodesRequest\x1a\x16.cln.ListnodesResponse\"\x00\x12K\n\x0eWaitAnyInvoice\x12\x1a.cln.WaitanyinvoiceRequest\x1a\x1b.cln.WaitanyinvoiceResponse\"\x00\x12\x42\n\x0bWaitInvoice\x12\x17.cln.WaitinvoiceRequest\x1a\x18.cln.WaitinvoiceResponse\"\x00\x12\x42\n\x0bWaitSendPay\x12\x17.cln.WaitsendpayRequest\x1a\x18.cln.WaitsendpayResponse\"\x00\x12\x36\n\x07NewAddr\x12\x13.cln.NewaddrRequest\x1a\x14.cln.NewaddrResponse\"\x00\x12\x39\n\x08Withdraw\x12\x14.cln.WithdrawRequest\x1a\x15.cln.WithdrawResponse\"\x00\x12\x36\n\x07KeySend\x12\x13.cln.KeysendRequest\x1a\x14.cln.KeysendResponse\"\x00\x12\x39\n\x08\x46undPsbt\x12\x14.cln.FundpsbtRequest\x1a\x15.cln.FundpsbtResponse\"\x00\x12\x39\n\x08SendPsbt\x12\x14.cln.SendpsbtRequest\x1a\x15.cln.SendpsbtResponse\"\x00\x12\x39\n\x08SignPsbt\x12\x14.cln.SignpsbtRequest\x1a\x15.cln.SignpsbtResponse\"\x00\x12\x39\n\x08UtxoPsbt\x12\x14.cln.UtxopsbtRequest\x1a\x15.cln.UtxopsbtResponse\"\x00\x12<\n\tTxDiscard\x12\x15.cln.TxdiscardRequest\x1a\x16.cln.TxdiscardResponse\"\x00\x12<\n\tTxPrepare\x12\x15.cln.TxprepareRequest\x1a\x16.cln.TxprepareResponse\"\x00\x12\x33\n\x06TxSend\x12\x12.cln.TxsendRequest\x1a\x13.cln.TxsendResponse\"\x00\x12Q\n\x10ListPeerChannels\x12\x1c.cln.ListpeerchannelsRequest\x1a\x1d.cln.ListpeerchannelsResponse\"\x00\x12W\n\x12ListClosedChannels\x12\x1e.cln.ListclosedchannelsRequest\x1a\x1f.cln.ListclosedchannelsResponse\"\x00\x12\x33\n\x06\x44\x65\x63ode\x12\x12.cln.DecodeRequest\x1a\x13.cln.DecodeResponse\"\x00\x12\x33\n\x06\x44\x65lPay\x12\x12.cln.DelpayRequest\x1a\x13.cln.DelpayResponse\"\x00\x12?\n\nDelForward\x12\x16.cln.DelforwardRequest\x1a\x17.cln.DelforwardResponse\"\x00\x12\x45\n\x0c\x44isableOffer\x12\x18.cln.DisableofferRequest\x1a\x19.cln.DisableofferResponse\"\x00\x12\x42\n\x0b\x45nableOffer\x12\x17.cln.EnableofferRequest\x1a\x18.cln.EnableofferResponse\"\x00\x12?\n\nDisconnect\x12\x16.cln.DisconnectRequest\x1a\x17.cln.DisconnectResponse\"\x00\x12\x39\n\x08\x46\x65\x65rates\x12\x14.cln.FeeratesRequest\x1a\x15.cln.FeeratesResponse\"\x00\x12\x42\n\x0b\x46\x65tchBip353\x12\x17.cln.Fetchbip353Request\x1a\x18.cln.Fetchbip353Response\"\x00\x12\x45\n\x0c\x46\x65tchInvoice\x12\x18.cln.FetchinvoiceRequest\x1a\x19.cln.FetchinvoiceResponse\"\x00\x12\x63\n\x16\x43\x61ncelRecurringInvoice\x12\".cln.CancelrecurringinvoiceRequest\x1a#.cln.CancelrecurringinvoiceResponse\"\x00\x12T\n\x11\x46undChannelCancel\x12\x1d.cln.FundchannelCancelRequest\x1a\x1e.cln.FundchannelCancelResponse\"\x00\x12Z\n\x13\x46undChannelComplete\x12\x1f.cln.FundchannelCompleteRequest\x1a .cln.FundchannelCompleteResponse\"\x00\x12\x42\n\x0b\x46undChannel\x12\x17.cln.FundchannelRequest\x1a\x18.cln.FundchannelResponse\"\x00\x12Q\n\x10\x46undChannelStart\x12\x1c.cln.FundchannelStartRequest\x1a\x1d.cln.FundchannelStartResponse\"\x00\x12\x33\n\x06GetLog\x12\x12.cln.GetlogRequest\x1a\x13.cln.GetlogResponse\"\x00\x12\x45\n\x0c\x46underUpdate\x12\x18.cln.FunderupdateRequest\x1a\x19.cln.FunderupdateResponse\"\x00\x12\x39\n\x08GetRoute\x12\x14.cln.GetrouteRequest\x1a\x15.cln.GetrouteResponse\"\x00\x12H\n\rListAddresses\x12\x19.cln.ListaddressesRequest\x1a\x1a.cln.ListaddressesResponse\"\x00\x12\x45\n\x0cListForwards\x12\x18.cln.ListforwardsRequest\x1a\x19.cln.ListforwardsResponse\"\x00\x12?\n\nListOffers\x12\x16.cln.ListoffersRequest\x1a\x17.cln.ListoffersResponse\"\x00\x12\x39\n\x08ListPays\x12\x14.cln.ListpaysRequest\x1a\x15.cln.ListpaysResponse\"\x00\x12<\n\tListHtlcs\x12\x15.cln.ListhtlcsRequest\x1a\x16.cln.ListhtlcsResponse\"\x00\x12Q\n\x10MultiFundChannel\x12\x1c.cln.MultifundchannelRequest\x1a\x1d.cln.MultifundchannelResponse\"\x00\x12H\n\rMultiWithdraw\x12\x19.cln.MultiwithdrawRequest\x1a\x1a.cln.MultiwithdrawResponse\"\x00\x12\x30\n\x05Offer\x12\x11.cln.OfferRequest\x1a\x12.cln.OfferResponse\"\x00\x12Q\n\x10OpenChannelAbort\x12\x1c.cln.OpenchannelAbortRequest\x1a\x1d.cln.OpenchannelAbortResponse\"\x00\x12N\n\x0fOpenChannelBump\x12\x1b.cln.OpenchannelBumpRequest\x1a\x1c.cln.OpenchannelBumpResponse\"\x00\x12N\n\x0fOpenChannelInit\x12\x1b.cln.OpenchannelInitRequest\x1a\x1c.cln.OpenchannelInitResponse\"\x00\x12T\n\x11OpenChannelSigned\x12\x1d.cln.OpenchannelSignedRequest\x1a\x1e.cln.OpenchannelSignedResponse\"\x00\x12T\n\x11OpenChannelUpdate\x12\x1d.cln.OpenchannelUpdateRequest\x1a\x1e.cln.OpenchannelUpdateResponse\"\x00\x12-\n\x04Ping\x12\x10.cln.PingRequest\x1a\x11.cln.PingResponse\"\x00\x12\x33\n\x06Plugin\x12\x12.cln.PluginRequest\x1a\x13.cln.PluginResponse\"\x00\x12H\n\rRenePayStatus\x12\x19.cln.RenepaystatusRequest\x1a\x1a.cln.RenepaystatusResponse\"\x00\x12\x36\n\x07RenePay\x12\x13.cln.RenepayRequest\x1a\x14.cln.RenepayResponse\"\x00\x12H\n\rReserveInputs\x12\x19.cln.ReserveinputsRequest\x1a\x1a.cln.ReserveinputsResponse\"\x00\x12H\n\rSendCustomMsg\x12\x19.cln.SendcustommsgRequest\x1a\x1a.cln.SendcustommsgResponse\"\x00\x12\x42\n\x0bSendInvoice\x12\x17.cln.SendinvoiceRequest\x1a\x18.cln.SendinvoiceResponse\"\x00\x12?\n\nSetChannel\x12\x16.cln.SetchannelRequest\x1a\x17.cln.SetchannelResponse\"\x00\x12<\n\tSetConfig\x12\x15.cln.SetconfigRequest\x1a\x16.cln.SetconfigResponse\"\x00\x12K\n\x0eSetPsbtVersion\x12\x1a.cln.SetpsbtversionRequest\x1a\x1b.cln.SetpsbtversionResponse\"\x00\x12\x42\n\x0bSignInvoice\x12\x17.cln.SigninvoiceRequest\x1a\x18.cln.SigninvoiceResponse\"\x00\x12\x42\n\x0bSignMessage\x12\x17.cln.SignmessageRequest\x1a\x18.cln.SignmessageResponse\"\x00\x12?\n\nSpliceInit\x12\x16.cln.SpliceInitRequest\x1a\x17.cln.SpliceInitResponse\"\x00\x12\x45\n\x0cSpliceSigned\x12\x18.cln.SpliceSignedRequest\x1a\x19.cln.SpliceSignedResponse\"\x00\x12\x45\n\x0cSpliceUpdate\x12\x18.cln.SpliceUpdateRequest\x1a\x19.cln.SpliceUpdateResponse\"\x00\x12\x39\n\x08SpliceIn\x12\x14.cln.SpliceinRequest\x1a\x15.cln.SpliceinResponse\"\x00\x12<\n\tSpliceOut\x12\x15.cln.SpliceoutRequest\x1a\x16.cln.SpliceoutResponse\"\x00\x12<\n\tDevSplice\x12\x15.cln.DevspliceRequest\x1a\x16.cln.DevspliceResponse\"\x00\x12N\n\x0fUnreserveInputs\x12\x1b.cln.UnreserveinputsRequest\x1a\x1c.cln.UnreserveinputsResponse\"\x00\x12H\n\rUpgradeWallet\x12\x19.cln.UpgradewalletRequest\x1a\x1a.cln.UpgradewalletResponse\"\x00\x12N\n\x0fWaitBlockHeight\x12\x1b.cln.WaitblockheightRequest\x1a\x1c.cln.WaitblockheightResponse\"\x00\x12-\n\x04Wait\x12\x10.cln.WaitRequest\x1a\x11.cln.WaitResponse\"\x00\x12\x42\n\x0bListConfigs\x12\x17.cln.ListconfigsRequest\x1a\x18.cln.ListconfigsResponse\"\x00\x12-\n\x04Stop\x12\x10.cln.StopRequest\x1a\x11.cln.StopResponse\"\x00\x12-\n\x04Help\x12\x10.cln.HelpRequest\x1a\x11.cln.HelpResponse\"\x00\x12T\n\x11PreApproveKeysend\x12\x1d.cln.PreapprovekeysendRequest\x1a\x1e.cln.PreapprovekeysendResponse\"\x00\x12T\n\x11PreApproveInvoice\x12\x1d.cln.PreapproveinvoiceRequest\x1a\x1e.cln.PreapproveinvoiceResponse\"\x00\x12\x45\n\x0cStaticBackup\x12\x18.cln.StaticbackupRequest\x1a\x19.cln.StaticbackupResponse\"\x00\x12N\n\x0f\x42kprChannelsApy\x12\x1b.cln.BkprchannelsapyRequest\x1a\x1c.cln.BkprchannelsapyResponse\"\x00\x12T\n\x11\x42kprDumpIncomeCsv\x12\x1d.cln.BkprdumpincomecsvRequest\x1a\x1e.cln.BkprdumpincomecsvResponse\"\x00\x12\x42\n\x0b\x42kprInspect\x12\x17.cln.BkprinspectRequest\x1a\x18.cln.BkprinspectResponse\"\x00\x12`\n\x15\x42kprListAccountEvents\x12!.cln.BkprlistaccounteventsRequest\x1a\".cln.BkprlistaccounteventsResponse\"\x00\x12Q\n\x10\x42kprListBalances\x12\x1c.cln.BkprlistbalancesRequest\x1a\x1d.cln.BkprlistbalancesResponse\"\x00\x12K\n\x0e\x42kprListIncome\x12\x1a.cln.BkprlistincomeRequest\x1a\x1b.cln.BkprlistincomeResponse\"\x00\x12{\n\x1e\x42kprEditDescriptionByPaymentId\x12*.cln.BkpreditdescriptionbypaymentidRequest\x1a+.cln.BkpreditdescriptionbypaymentidResponse\"\x00\x12x\n\x1d\x42kprEditDescriptionByOutpoint\x12).cln.BkpreditdescriptionbyoutpointRequest\x1a*.cln.BkpreditdescriptionbyoutpointResponse\"\x00\x12?\n\nBkprReport\x12\x16.cln.BkprreportRequest\x1a\x17.cln.BkprreportResponse\"\x00\x12H\n\rBlacklistRune\x12\x19.cln.BlacklistruneRequest\x1a\x1a.cln.BlacklistruneResponse\"\x00\x12<\n\tCheckRune\x12\x15.cln.CheckruneRequest\x1a\x16.cln.CheckruneResponse\"\x00\x12?\n\nCreateRune\x12\x16.cln.CreateruneRequest\x1a\x17.cln.CreateruneResponse\"\x00\x12<\n\tShowRunes\x12\x15.cln.ShowrunesRequest\x1a\x16.cln.ShowrunesResponse\"\x00\x12Q\n\x10\x41skReneUnreserve\x12\x1c.cln.AskreneunreserveRequest\x1a\x1d.cln.AskreneunreserveResponse\"\x00\x12T\n\x11\x41skReneListLayers\x12\x1d.cln.AskrenelistlayersRequest\x1a\x1e.cln.AskrenelistlayersResponse\"\x00\x12W\n\x12\x41skReneCreateLayer\x12\x1e.cln.AskrenecreatelayerRequest\x1a\x1f.cln.AskrenecreatelayerResponse\"\x00\x12W\n\x12\x41skReneRemoveLayer\x12\x1e.cln.AskreneremovelayerRequest\x1a\x1f.cln.AskreneremovelayerResponse\"\x00\x12o\n\x1a\x41skReneRemoveChannelUpdate\x12&.cln.AskreneremovechannelupdateRequest\x1a\'.cln.AskreneremovechannelupdateResponse\"\x00\x12K\n\x0e\x41skReneReserve\x12\x1a.cln.AskrenereserveRequest\x1a\x1b.cln.AskrenereserveResponse\"\x00\x12?\n\nAskReneAge\x12\x16.cln.AskreneageRequest\x1a\x17.cln.AskreneageResponse\"\x00\x12<\n\tGetRoutes\x12\x15.cln.GetroutesRequest\x1a\x16.cln.GetroutesResponse\"\x00\x12W\n\x12\x41skReneDisableNode\x12\x1e.cln.AskrenedisablenodeRequest\x1a\x1f.cln.AskrenedisablenodeResponse\"\x00\x12]\n\x14\x41skReneInformChannel\x12 .cln.AskreneinformchannelRequest\x1a!.cln.AskreneinformchannelResponse\"\x00\x12]\n\x14\x41skReneCreateChannel\x12 .cln.AskrenecreatechannelRequest\x1a!.cln.AskrenecreatechannelResponse\"\x00\x12]\n\x14\x41skReneUpdateChannel\x12 .cln.AskreneupdatechannelRequest\x1a!.cln.AskreneupdatechannelResponse\"\x00\x12W\n\x12\x41skReneBiasChannel\x12\x1e.cln.AskrenebiaschannelRequest\x1a\x1f.cln.AskrenebiaschannelResponse\"\x00\x12N\n\x0f\x41skreneBiasNode\x12\x1b.cln.AskrenebiasnodeRequest\x1a\x1c.cln.AskrenebiasnodeResponse\"\x00\x12\x66\n\x17\x41skReneListReservations\x12#.cln.AskrenelistreservationsRequest\x1a$.cln.AskrenelistreservationsResponse\"\x00\x12W\n\x12InjectPaymentOnion\x12\x1e.cln.InjectpaymentonionRequest\x1a\x1f.cln.InjectpaymentonionResponse\"\x00\x12W\n\x12InjectOnionMessage\x12\x1e.cln.InjectonionmessageRequest\x1a\x1f.cln.InjectonionmessageResponse\"\x00\x12-\n\x04Xpay\x12\x10.cln.XpayRequest\x1a\x11.cln.XpayResponse\"\x00\x12W\n\x12SignMessageWithKey\x12\x1e.cln.SignmessagewithkeyRequest\x1a\x1f.cln.SignmessagewithkeyResponse\"\x00\x12Q\n\x10ListChannelMoves\x12\x1c.cln.ListchannelmovesRequest\x1a\x1d.cln.ListchannelmovesResponse\"\x00\x12K\n\x0eListChainMoves\x12\x1a.cln.ListchainmovesRequest\x1a\x1b.cln.ListchainmovesResponse\"\x00\x12T\n\x11ListNetworkEvents\x12\x1d.cln.ListnetworkeventsRequest\x1a\x1e.cln.ListnetworkeventsResponse\"\x00\x12N\n\x0f\x44\x65lNetworkEvent\x12\x1b.cln.DelnetworkeventRequest\x1a\x1c.cln.DelnetworkeventResponse\"\x00\x12Z\n\x13\x43lnrestRegisterPath\x12\x1f.cln.ClnrestregisterpathRequest\x1a .cln.ClnrestregisterpathResponse\"\x00\x12T\n\x11ListCurrencyRates\x12\x1d.cln.ListcurrencyratesRequest\x1a\x1e.cln.ListcurrencyratesResponse\"\x00\x12N\n\x0f\x43urrencyConvert\x12\x1b.cln.CurrencyconvertRequest\x1a\x1c.cln.CurrencyconvertResponse\"\x00\x12\x45\n\x0c\x43urrencyRate\x12\x18.cln.CurrencyrateRequest\x1a\x19.cln.CurrencyrateResponse\"\x00\x12?\n\nSendAmount\x12\x16.cln.SendamountRequest\x1a\x17.cln.SendamountResponse\"\x00\x12\x42\n\x0b\x43reateProof\x12\x17.cln.CreateproofRequest\x1a\x18.cln.CreateproofResponse\"\x00\x12\x39\n\x08Xkeysend\x12\x14.cln.XkeysendRequest\x1a\x15.cln.XkeysendResponse\"\x00\x12\x39\n\x08Graceful\x12\x14.cln.GracefulRequest\x1a\x15.cln.GracefulResponse\"\x00\x12\x63\n\x18SubscribeBalanceSnapshot\x12!.cln.StreamBalanceSnapshotRequest\x1a .cln.BalanceSnapshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeBlockAdded\x12\x1c.cln.StreamBlockAddedRequest\x1a\x1b.cln.BlockAddedNotification\"\x00\x30\x01\x12i\n\x1aSubscribeChannelOpenFailed\x12#.cln.StreamChannelOpenFailedRequest\x1a\".cln.ChannelOpenFailedNotification\"\x00\x30\x01\x12]\n\x16SubscribeChannelOpened\x12\x1f.cln.StreamChannelOpenedRequest\x1a\x1e.cln.ChannelOpenedNotification\"\x00\x30\x01\x12o\n\x1cSubscribeChannelStateChanged\x12%.cln.StreamChannelStateChangedRequest\x1a$.cln.ChannelStateChangedNotification\"\x00\x30\x01\x12O\n\x10SubscribeConnect\x12\x19.cln.StreamConnectRequest\x1a\x1c.cln.PeerConnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeCoinMovement\x12\x1e.cln.StreamCoinMovementRequest\x1a\x1d.cln.CoinMovementNotification\"\x00\x30\x01\x12Q\n\x12SubscribeCustomMsg\x12\x1b.cln.StreamCustomMsgRequest\x1a\x1a.cln.CustomMsgNotification\"\x00\x30\x01\x12i\n\x1aSubscribeDeprecatedOneshot\x12#.cln.StreamDeprecatedOneshotRequest\x1a\".cln.DeprecatedOneshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeDisconnect\x12\x1c.cln.StreamDisconnectRequest\x1a\x1b.cln.DisconnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeForwardEvent\x12\x1e.cln.StreamForwardEventRequest\x1a\x1d.cln.ForwardEventNotification\"\x00\x30\x01\x12\x63\n\x18SubscribeInvoiceCreation\x12!.cln.StreamInvoiceCreationRequest\x1a .cln.InvoiceCreationNotification\"\x00\x30\x01\x12`\n\x17SubscribeInvoicePayment\x12 .cln.StreamInvoicePaymentRequest\x1a\x1f.cln.InvoicePaymentNotification\"\x00\x30\x01\x12?\n\x0cSubscribeLog\x12\x15.cln.StreamLogRequest\x1a\x14.cln.LogNotification\"\x00\x30\x01\x12{\n SubscribeOnionMessageForwardFail\x12).cln.StreamOnionMessageForwardFailRequest\x1a(.cln.OnionMessageForwardFailNotification\"\x00\x30\x01\x12o\n\x1cSubscribeOpenChannelPeerSigs\x12%.cln.StreamOpenChannelPeerSigsRequest\x1a$.cln.OpenChannelPeerSigsNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStarted\x12\x1f.cln.StreamPluginStartedRequest\x1a\x1e.cln.PluginStartedNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStopped\x12\x1f.cln.StreamPluginStoppedRequest\x1a\x1e.cln.PluginStoppedNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPayFailure\x12 .cln.StreamSendPayFailureRequest\x1a\x1f.cln.SendPayFailureNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPaySuccess\x12 .cln.StreamSendPaySuccessRequest\x1a\x1f.cln.SendPaySuccessNotification\"\x00\x30\x01\x12N\n\x11SubscribeShutdown\x12\x1a.cln.StreamShutdownRequest\x1a\x19.cln.ShutdownNotification\"\x00\x30\x01\x12K\n\x10SubscribeWarning\x12\x19.cln.StreamWarningRequest\x1a\x18.cln.WarningNotification\"\x00\x30\x01\x12T\n\x13SubscribePayPartEnd\x12\x1c.cln.StreamPayPartEndRequest\x1a\x1b.cln.PayPartEndNotification\"\x00\x30\x01\x12Z\n\x15SubscribePayPartStart\x12\x1e.cln.StreamPayPartStartRequest\x1a\x1d.cln.PayPartStartNotification\"\x00\x30\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nnode.proto\x12\x03\x63ln\x1a\x10primitives.proto\"\x10\n\x0eGetinfoRequest\"\xb1\x04\n\x0fGetinfoResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\r\n\x05\x63olor\x18\x03 \x01(\x0c\x12\x11\n\tnum_peers\x18\x04 \x01(\r\x12\x1c\n\x14num_pending_channels\x18\x05 \x01(\r\x12\x1b\n\x13num_active_channels\x18\x06 \x01(\r\x12\x1d\n\x15num_inactive_channels\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\t\x12\x15\n\rlightning_dir\x18\t \x01(\t\x12\x32\n\x0cour_features\x18\n \x01(\x0b\x32\x17.cln.GetinfoOurFeaturesH\x00\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0b \x01(\r\x12\x0f\n\x07network\x18\x0c \x01(\t\x12(\n\x13\x66\x65\x65s_collected_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x07\x61\x64\x64ress\x18\x0e \x03(\x0b\x32\x13.cln.GetinfoAddress\x12$\n\x07\x62inding\x18\x0f \x03(\x0b\x32\x13.cln.GetinfoBinding\x12\"\n\x15warning_bitcoind_sync\x18\x10 \x01(\tH\x01\x88\x01\x01\x12$\n\x17warning_lightningd_sync\x18\x11 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_our_featuresB\x18\n\x16_warning_bitcoind_syncB\x1a\n\x18_warning_lightningd_sync\"\xc4\x01\n\x0eGetinfoAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoAddress.GetinfoAddressType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"G\n\x12GetinfoAddressType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xac\x02\n\x0eGetinfoBinding\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoBinding.GetinfoBindingType\x12\x14\n\x07\x61\x64\x64ress\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06socket\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07subtype\x18\x05 \x01(\tH\x03\x88\x01\x01\"_\n\x12GetinfoBindingType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\n\n\x08_addressB\x07\n\x05_portB\t\n\x07_socketB\n\n\x08_subtype\"R\n\x12GetinfoOurFeatures\x12\x0c\n\x04init\x18\x01 \x01(\x0c\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63hannel\x18\x03 \x01(\x0c\x12\x0f\n\x07invoice\x18\x04 \x01(\x0c\"\xb5\x01\n\x10ListpeersRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x38\n\x05level\x18\x02 \x01(\x0e\x32$.cln.ListpeersRequest.ListpeersLevelH\x01\x88\x01\x01\"E\n\x0eListpeersLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\x0b\n\x07UNUSUAL\x10\x03\x12\t\n\x05TRACE\x10\x04\x42\x05\n\x03_idB\x08\n\x06_level\"7\n\x11ListpeersResponse\x12\"\n\x05peers\x18\x01 \x03(\x0b\x32\x13.cln.ListpeersPeers\"\xc9\x01\n\x0eListpeersPeers\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12#\n\x03log\x18\x03 \x03(\x0b\x32\x16.cln.ListpeersPeersLog\x12\x0f\n\x07netaddr\x18\x05 \x03(\t\x12\x15\n\x08\x66\x65\x61tures\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bremote_addr\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cnum_channels\x18\x08 \x01(\rB\x0b\n\t_featuresB\x0e\n\x0c_remote_addr\"\x88\x03\n\x11ListpeersPeersLog\x12?\n\titem_type\x18\x01 \x01(\x0e\x32,.cln.ListpeersPeersLog.ListpeersPeersLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"t\n\x15ListpeersPeersLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"0\n\x10ListfundsRequest\x12\x12\n\x05spent\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_spent\"e\n\x11ListfundsResponse\x12&\n\x07outputs\x18\x01 \x03(\x0b\x32\x15.cln.ListfundsOutputs\x12(\n\x08\x63hannels\x18\x02 \x03(\x0b\x32\x16.cln.ListfundsChannels\"\x97\x02\n\x11ListfundsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12$\n\x0four_amount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x04 \x01(\x0c\x12\x16\n\x0e\x66unding_output\x18\x05 \x01(\r\x12\x11\n\tconnected\x18\x06 \x01(\x08\x12 \n\x05state\x18\x07 \x01(\x0e\x32\x11.cln.ChannelState\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\t \x01(\x0c\x42\x13\n\x11_short_channel_id\"\xb9\x03\n\x10ListfundsOutputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06output\x18\x02 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0cscriptpubkey\x18\x04 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0credeemscript\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12<\n\x06status\x18\x07 \x01(\x0e\x32,.cln.ListfundsOutputs.ListfundsOutputsStatus\x12\x18\n\x0b\x62lockheight\x18\x08 \x01(\rH\x02\x88\x01\x01\x12\x10\n\x08reserved\x18\t \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\n \x01(\rH\x03\x88\x01\x01\"Q\n\x16ListfundsOutputsStatus\x12\x0f\n\x0bUNCONFIRMED\x10\x00\x12\r\n\tCONFIRMED\x10\x01\x12\t\n\x05SPENT\x10\x02\x12\x0c\n\x08IMMATURE\x10\x03\x42\n\n\x08_addressB\x0f\n\r_redeemscriptB\x0e\n\x0c_blockheightB\x14\n\x12_reserved_to_block\"\xbb\x03\n\x0eSendpayRequest\x12 \n\x05route\x18\x01 \x03(\x0b\x32\x11.cln.SendpayRoute\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x13\n\x06partid\x18\x07 \x01(\x04H\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\t \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_bolt11B\x11\n\x0f_payment_secretB\t\n\x07_partidB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x13\n\x11_payment_metadataB\x0e\n\x0c_description\"\x96\x05\n\x0fSendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x32\n\x06status\x18\x04 \x01(\x0e\x32\".cln.SendpayResponse.SendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x14\n\x07message\x18\x0e \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0f \x01(\x04H\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\"*\n\rSendpayStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\xe6\x02\n\x0cSendpayRoute\x12\x0f\n\x02id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x04 \x01(\tH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12!\n\x14short_channel_id_dir\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\t \x01(\rH\x07\x88\x01\x01\x42\x05\n\x03_idB\x08\n\x06_delayB\n\n\x08_channelB\x0e\n\x0c_amount_msatB\x17\n\x15_short_channel_id_dirB\x0e\n\x0c_node_id_outB\x12\n\x10_amount_out_msatB\x0b\n\t_cltv_out\"\x93\x01\n\x13ListchannelsRequest\x12\x1d\n\x10short_channel_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06source\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\t\n\x07_sourceB\x0e\n\x0c_destination\"C\n\x14ListchannelsResponse\x12+\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x19.cln.ListchannelsChannels\"\xb3\x03\n\x14ListchannelsChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\x0e\n\x06public\x18\x04 \x01(\x08\x12 \n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\rmessage_flags\x18\x06 \x01(\r\x12\x15\n\rchannel_flags\x18\x07 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x08 \x01(\x08\x12\x13\n\x0blast_update\x18\t \x01(\r\x12\x1d\n\x15\x62\x61se_fee_millisatoshi\x18\n \x01(\r\x12\x19\n\x11\x66\x65\x65_per_millionth\x18\x0b \x01(\r\x12\r\n\x05\x64\x65lay\x18\x0c \x01(\r\x12&\n\x11htlc_minimum_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x11htlc_maximum_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x0f \x01(\x0c\x12\x11\n\tdirection\x18\x10 \x01(\rB\x14\n\x12_htlc_maximum_msat\"#\n\x10\x41\x64\x64gossipRequest\x12\x0f\n\x07message\x18\x01 \x01(\x0c\"\x13\n\x11\x41\x64\x64gossipResponse\"\xac\x01\n\x14\x41\x64\x64psbtoutputRequest\x12\x1c\n\x07satoshi\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\x08locktime\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_locktimeB\x0e\n\x0c_initialpsbtB\x0e\n\x0c_destination\"U\n\x15\x41\x64\x64psbtoutputResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1e\n\x16\x65stimated_added_weight\x18\x02 \x01(\r\x12\x0e\n\x06outnum\x18\x03 \x01(\r\"O\n\x14\x41utocleanonceRequest\x12*\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystem\x12\x0b\n\x03\x61ge\x18\x02 \x01(\x04\"G\n\x15\x41utocleanonceResponse\x12.\n\tautoclean\x18\x01 \x01(\x0b\x32\x1b.cln.AutocleanonceAutoclean\"\x89\x05\n\x16\x41utocleanonceAutoclean\x12L\n\x11succeededforwards\x18\x01 \x01(\x0b\x32,.cln.AutocleanonceAutocleanSucceededforwardsH\x00\x88\x01\x01\x12\x46\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32).cln.AutocleanonceAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x44\n\rsucceededpays\x18\x03 \x01(\x0b\x32(.cln.AutocleanonceAutocleanSucceededpaysH\x02\x88\x01\x01\x12>\n\nfailedpays\x18\x04 \x01(\x0b\x32%.cln.AutocleanonceAutocleanFailedpaysH\x03\x88\x01\x01\x12\x42\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32\'.cln.AutocleanonceAutocleanPaidinvoicesH\x04\x88\x01\x01\x12H\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32*.cln.AutocleanonceAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x44\n\rnetworkevents\x18\x07 \x01(\x0b\x32(.cln.AutocleanonceAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"K\n%AutocleanonceAutocleanExpiredinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"J\n$AutocleanonceAutocleanFailedforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"F\n AutocleanonceAutocleanFailedpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanNetworkevents\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"H\n\"AutocleanonceAutocleanPaidinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"M\n\'AutocleanonceAutocleanSucceededforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanSucceededpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"W\n\x16\x41utocleanstatusRequest\x12/\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystemH\x00\x88\x01\x01\x42\x0c\n\n_subsystem\"K\n\x17\x41utocleanstatusResponse\x12\x30\n\tautoclean\x18\x01 \x01(\x0b\x32\x1d.cln.AutocleanstatusAutoclean\"\x99\x05\n\x18\x41utocleanstatusAutoclean\x12N\n\x11succeededforwards\x18\x01 \x01(\x0b\x32..cln.AutocleanstatusAutocleanSucceededforwardsH\x00\x88\x01\x01\x12H\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32+.cln.AutocleanstatusAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x46\n\rsucceededpays\x18\x03 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanSucceededpaysH\x02\x88\x01\x01\x12@\n\nfailedpays\x18\x04 \x01(\x0b\x32\'.cln.AutocleanstatusAutocleanFailedpaysH\x03\x88\x01\x01\x12\x44\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32).cln.AutocleanstatusAutocleanPaidinvoicesH\x04\x88\x01\x01\x12J\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32,.cln.AutocleanstatusAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x46\n\rnetworkevents\x18\x07 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"e\n\'AutocleanstatusAutocleanExpiredinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"d\n&AutocleanstatusAutocleanFailedforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"`\n\"AutocleanstatusAutocleanFailedpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanNetworkevents\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"b\n$AutocleanstatusAutocleanPaidinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"g\n)AutocleanstatusAutocleanSucceededforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanSucceededpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"U\n\x13\x43heckmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\r\n\x05zbase\x18\x02 \x01(\t\x12\x13\n\x06pubkey\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x42\t\n\x07_pubkey\"8\n\x14\x43heckmessageResponse\x12\x10\n\x08verified\x18\x01 \x01(\x08\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\"\xcb\x02\n\x0c\x43loseRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1e\n\x11unilateraltimeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x01\x88\x01\x01\x12!\n\x14\x66\x65\x65_negotiation_step\x18\x04 \x01(\tH\x02\x88\x01\x01\x12)\n\rwrong_funding\x18\x05 \x01(\x0b\x32\r.cln.OutpointH\x03\x88\x01\x01\x12\x1f\n\x12\x66orce_lease_closed\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1e\n\x08\x66\x65\x65range\x18\x07 \x03(\x0b\x32\x0c.cln.FeerateB\x14\n\x12_unilateraltimeoutB\x0e\n\x0c_destinationB\x17\n\x15_fee_negotiation_stepB\x10\n\x0e_wrong_fundingB\x15\n\x13_force_lease_closed\"\x93\x01\n\rCloseResponse\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.CloseResponse.CloseType\x12\x0b\n\x03txs\x18\x04 \x03(\x0c\x12\r\n\x05txids\x18\x05 \x03(\x0c\"5\n\tCloseType\x12\n\n\x06MUTUAL\x10\x00\x12\x0e\n\nUNILATERAL\x10\x01\x12\x0c\n\x08UNOPENED\x10\x02\"T\n\x0e\x43onnectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04host\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x07\n\x05_hostB\x07\n\x05_port\"\xb4\x01\n\x0f\x43onnectResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\x38\n\tdirection\x18\x03 \x01(\x0e\x32%.cln.ConnectResponse.ConnectDirection\x12$\n\x07\x61\x64\x64ress\x18\x04 \x01(\x0b\x32\x13.cln.ConnectAddress\"#\n\x10\x43onnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\xfb\x01\n\x0e\x43onnectAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.ConnectAddress.ConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"P\n\x12\x43onnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"J\n\x14\x43reateinvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x10\n\x08preimage\x18\x03 \x01(\x0c\"\xe6\x05\n\x15\x43reateinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12>\n\x06status\x18\x06 \x01(\x0e\x32..cln.CreateinvoiceResponse.CreateinvoiceStatus\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x16\n\tpay_index\x18\t \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12:\n\rpaid_outpoint\x18\x11 \x01(\x0b\x32\x1e.cln.CreateinvoicePaidOutpointH\t\x88\x01\x01\"8\n\x13\x43reateinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_paid_outpoint\"9\n\x19\x43reateinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xb4\x02\n\x10\x44\x61tastoreRequest\x12\x10\n\x03hex\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x36\n\x04mode\x18\x03 \x01(\x0e\x32#.cln.DatastoreRequest.DatastoreModeH\x01\x88\x01\x01\x12\x17\n\ngeneration\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\t\x12\x13\n\x06string\x18\x06 \x01(\tH\x03\x88\x01\x01\"p\n\rDatastoreMode\x12\x0f\n\x0bMUST_CREATE\x10\x00\x12\x10\n\x0cMUST_REPLACE\x10\x01\x12\x15\n\x11\x43REATE_OR_REPLACE\x10\x02\x12\x0f\n\x0bMUST_APPEND\x10\x03\x12\x14\n\x10\x43REATE_OR_APPEND\x10\x04\x42\x06\n\x04_hexB\x07\n\x05_modeB\r\n\x0b_generationB\t\n\x07_string\"\x82\x01\n\x11\x44\x61tastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"$\n\x15\x44\x61tastoreusageRequest\x12\x0b\n\x03key\x18\x01 \x03(\t\"S\n\x16\x44\x61tastoreusageResponse\x12\x39\n\x0e\x64\x61tastoreusage\x18\x01 \x01(\x0b\x32!.cln.DatastoreusageDatastoreusage\"@\n\x1c\x44\x61tastoreusageDatastoreusage\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x13\n\x0btotal_bytes\x18\x02 \x01(\x04\"\x9d\x01\n\x12\x43reateonionRequest\x12\"\n\x04hops\x18\x01 \x03(\x0b\x32\x14.cln.CreateonionHops\x12\x11\n\tassocdata\x18\x02 \x01(\x0c\x12\x18\n\x0bsession_key\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x17\n\nonion_size\x18\x04 \x01(\rH\x01\x88\x01\x01\x42\x0e\n\x0c_session_keyB\r\n\x0b_onion_size\"<\n\x13\x43reateonionResponse\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x16\n\x0eshared_secrets\x18\x02 \x03(\x0c\"2\n\x0f\x43reateonionHops\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"J\n\x13\x44\x65ldatastoreRequest\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x03 \x03(\tB\r\n\x0b_generation\"\x85\x01\n\x14\x44\x65ldatastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xb6\x01\n\x11\x44\x65linvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\'.cln.DelinvoiceRequest.DelinvoiceStatus\x12\x15\n\x08\x64\x65sconly\x18\x03 \x01(\x08H\x00\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\x0b\n\t_desconly\"\xcf\x05\n\x12\x44\x65linvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x38\n\x06status\x18\x07 \x01(\x0e\x32(.cln.DelinvoiceResponse.DelinvoiceStatus\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x16\n\tpay_index\x18\x0e \x01(\x04H\x07\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x07paid_at\x18\x10 \x01(\x04H\t\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x11 \x01(\x0cH\n\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\x9f\x01\n\x17\x44\x65vforgetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\x05\x66orce\x18\x04 \x01(\x08H\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x08\n\x06_force\"Y\n\x18\x44\x65vforgetchannelResponse\x12\x0e\n\x06\x66orced\x18\x01 \x01(\x08\x12\x17\n\x0f\x66unding_unspent\x18\x02 \x01(\x08\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\"\x19\n\x17\x45mergencyrecoverRequest\")\n\x18\x45mergencyrecoverResponse\x12\r\n\x05stubs\x18\x01 \x03(\x0c\" \n\x1eGetemergencyrecoverdataRequest\"\x8a\x01\n\x1fGetemergencyrecoverdataResponse\x12\x10\n\x08\x66iledata\x18\x01 \x01(\x0c\x12\x1f\n\x12\x63\x61n_create_penalty\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x15\x62\x61\x63ked_up_channel_ids\x18\x03 \x03(\x0c\x42\x15\n\x13_can_create_penalty\"Q\n\x13\x45xposesecretRequest\x12\x12\n\npassphrase\x18\x01 \x01(\t\x12\x17\n\nidentifier\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\r\n\x0b_identifier\"_\n\x14\x45xposesecretResponse\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12\x0f\n\x07\x63odex32\x18\x02 \x01(\t\x12\x15\n\x08mnemonic\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_mnemonic\"#\n\x0eRecoverRequest\x12\x11\n\thsmsecret\x18\x01 \x01(\t\"x\n\x0fRecoverResponse\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".cln.RecoverResponse.RecoverResult\"1\n\rRecoverResult\x12 \n\x1cRECOVERY_RESTART_IN_PROGRESS\x10\x00\"$\n\x15RecoverchannelRequest\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"\'\n\x16RecoverchannelResponse\x12\r\n\x05stubs\x18\x01 \x03(\t\"\x99\x02\n\x0eInvoiceRequest\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\x12\x11\n\tfallbacks\x18\x04 \x03(\t\x12\x15\n\x08preimage\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x11\n\x04\x63ltv\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18\x07 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x15\x65xposeprivatechannels\x18\x08 \x03(\t\x12\x19\n\x0c\x64\x65schashonly\x18\t \x01(\x08H\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x10.cln.AmountOrAnyB\x0b\n\t_preimageB\x07\n\x05_cltvB\t\n\x07_expiryB\x0f\n\r_deschashonly\"\xfe\x02\n\x0fInvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x16\n\x0epayment_secret\x18\x03 \x01(\x0c\x12\x12\n\nexpires_at\x18\x04 \x01(\x04\x12\x1d\n\x10warning_capacity\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0fwarning_offline\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10warning_deadends\x18\x07 \x01(\tH\x02\x88\x01\x01\x12#\n\x16warning_private_unused\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0bwarning_mpp\x18\t \x01(\tH\x04\x88\x01\x01\x12\x15\n\rcreated_index\x18\n \x01(\x04\x42\x13\n\x11_warning_capacityB\x12\n\x10_warning_offlineB\x13\n\x11_warning_deadendsB\x19\n\x17_warning_private_unusedB\x0e\n\x0c_warning_mpp\"\xe1\x01\n\x15InvoicerequestRequest\x12\x1b\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12\x17\n\nsingle_use\x18\x06 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_issuerB\x08\n\x06_labelB\x12\n\x10_absolute_expiryB\r\n\x0b_single_use\"\x8b\x01\n\x16InvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"1\n\x1c\x44isableinvoicerequestRequest\x12\x11\n\tinvreq_id\x18\x01 \x01(\t\"\x92\x01\n\x1d\x44isableinvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"l\n\x1aListinvoicerequestsRequest\x12\x16\n\tinvreq_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_invreq_idB\x0e\n\x0c_active_only\"_\n\x1bListinvoicerequestsResponse\x12@\n\x0finvoicerequests\x18\x01 \x03(\x0b\x32\'.cln.ListinvoicerequestsInvoicerequests\"\x97\x01\n\"ListinvoicerequestsInvoicerequests\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"#\n\x14ListdatastoreRequest\x12\x0b\n\x03key\x18\x02 \x03(\t\"G\n\x15ListdatastoreResponse\x12.\n\tdatastore\x18\x01 \x03(\x0b\x32\x1b.cln.ListdatastoreDatastore\"\x87\x01\n\x16ListdatastoreDatastore\x12\x0b\n\x03key\x18\x01 \x03(\t\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xde\x02\n\x13ListinvoicesRequest\x12\x12\n\x05label\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08offer_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12>\n\x05index\x18\x05 \x01(\x0e\x32*.cln.ListinvoicesRequest.ListinvoicesIndexH\x04\x88\x01\x01\x12\x12\n\x05start\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x06\x88\x01\x01\"-\n\x11ListinvoicesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x0f\n\r_payment_hashB\x0b\n\t_offer_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListinvoicesResponse\x12+\n\x08invoices\x18\x01 \x03(\x0b\x32\x19.cln.ListinvoicesInvoices\"\xbc\x06\n\x14ListinvoicesInvoices\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x16\n\tpay_index\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x14\n\x07paid_at\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0e \x01(\x0cH\x08\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\x12\x41\n\rpaid_outpoint\x18\x12 \x01(\x0b\x32%.cln.ListinvoicesInvoicesPaidOutpointH\x0b\x88\x01\x01\"?\n\x1aListinvoicesInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x11\n\x0f_local_offer_idB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"@\n ListinvoicesInvoicesPaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xf6\x03\n\x10SendonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12)\n\tfirst_hop\x18\x02 \x01(\x0b\x32\x16.cln.SendonionFirstHop\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x12\n\x05label\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0eshared_secrets\x18\x05 \x03(\x0c\x12\x13\n\x06partid\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\t \x01(\x0cH\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12+\n\x11total_amount_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\x0e\n\x0c_destinationB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0e\n\x0c_descriptionB\x14\n\x12_total_amount_msat\"\xd0\x04\n\x11SendonionResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x36\n\x06status\x18\x03 \x01(\x0e\x32&.cln.SendonionResponse.SendonionStatus\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x06 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\n \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0b \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07message\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06partid\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0e \x01(\x04\x12\x1a\n\rupdated_index\x18\x0f \x01(\x04H\x08\x88\x01\x01\",\n\x0fSendonionStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\t\n\x07_partidB\x10\n\x0e_updated_index\"P\n\x11SendonionFirstHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\r\n\x05\x64\x65lay\x18\x03 \x01(\r\"\xa0\x03\n\x13ListsendpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12@\n\x06status\x18\x03 \x01(\x0e\x32+.cln.ListsendpaysRequest.ListsendpaysStatusH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListsendpaysRequest.ListsendpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListsendpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\";\n\x12ListsendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListsendpaysResponse\x12+\n\x08payments\x18\x01 \x03(\x0b\x32\x19.cln.ListsendpaysPayments\"\xe5\x05\n\x14ListsendpaysPayments\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListsendpaysPayments.ListsendpaysPaymentsStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\n \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06partid\x18\x0f \x01(\x04H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x12 \x01(\x04H\n\x88\x01\x01\"C\n\x1aListsendpaysPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\t\n\x07_partidB\x10\n\x0e_updated_indexB\x0f\n\r_completed_at\"\x19\n\x17ListtransactionsRequest\"S\n\x18ListtransactionsResponse\x12\x37\n\x0ctransactions\x18\x01 \x03(\x0b\x32!.cln.ListtransactionsTransactions\"\xf8\x01\n\x1cListtransactionsTransactions\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\r\n\x05rawtx\x18\x02 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x03 \x01(\r\x12\x0f\n\x07txindex\x18\x04 \x01(\r\x12\x10\n\x08locktime\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\r\x12\x37\n\x06inputs\x18\t \x03(\x0b\x32\'.cln.ListtransactionsTransactionsInputs\x12\x39\n\x07outputs\x18\n \x03(\x0b\x32(.cln.ListtransactionsTransactionsOutputs\"S\n\"ListtransactionsTransactionsInputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\r\n\x05index\x18\x02 \x01(\r\x12\x10\n\x08sequence\x18\x03 \x01(\r\"l\n#ListtransactionsTransactionsOutputs\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0cscriptPubKey\x18\x03 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\"M\n\x11MakesecretRequest\x12\x10\n\x03hex\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x13\n\x06string\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x06\n\x04_hexB\t\n\x07_string\"$\n\x12MakesecretResponse\x12\x0e\n\x06secret\x18\x01 \x01(\x0c\"\xc7\x04\n\nPayRequest\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12\x1b\n\nriskfactor\x18\x08 \x01(\x01\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\n \x03(\tB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x06\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x0c \x01(\tB\x02\x18\x01H\x07\x88\x01\x01\x12)\n\x0b\x61mount_msat\x18\r \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x08\x88\x01\x01\x12\x1e\n\rlocalinvreqid\x18\x0e \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12*\n\x0cpartial_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_riskfactorB\t\n\x07_maxfeeB\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0f\n\r_partial_msat\"\xab\x03\n\x0bPayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12.\n\x06status\x18\t \x01(\x0e\x32\x1a.cln.PayResponse.PayStatusB\x02\x18\x01\">\n\tPayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"*\n\x10ListnodesRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"7\n\x11ListnodesResponse\x12\"\n\x05nodes\x18\x01 \x03(\x0b\x32\x13.cln.ListnodesNodes\"\xb8\x02\n\x0eListnodesNodes\x12\x0e\n\x06nodeid\x18\x01 \x01(\x0c\x12\x1b\n\x0elast_timestamp\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x12\n\x05\x61lias\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63olor\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x05 \x01(\x0cH\x03\x88\x01\x01\x12/\n\taddresses\x18\x06 \x03(\x0b\x32\x1c.cln.ListnodesNodesAddresses\x12@\n\x10option_will_fund\x18\x07 \x01(\x0b\x32!.cln.ListnodesNodesOptionWillFundH\x04\x88\x01\x01\x42\x11\n\x0f_last_timestampB\x08\n\x06_aliasB\x08\n\x06_colorB\x0b\n\t_featuresB\x13\n\x11_option_will_fund\"\xe8\x01\n\x17ListnodesNodesAddresses\x12K\n\titem_type\x18\x01 \x01(\x0e\x32\x38.cln.ListnodesNodesAddresses.ListnodesNodesAddressesType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"P\n\x1bListnodesNodesAddressesType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xf2\x01\n\x1cListnodesNodesOptionWillFund\x12(\n\x13lease_fee_base_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x17\n\x0flease_fee_basis\x18\x02 \x01(\r\x12\x16\n\x0e\x66unding_weight\x18\x03 \x01(\r\x12.\n\x19\x63hannel_fee_max_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x30\n(channel_fee_max_proportional_thousandths\x18\x05 \x01(\r\x12\x15\n\rcompact_lease\x18\x06 \x01(\x0c\"g\n\x15WaitanyinvoiceRequest\x12\x1a\n\rlastpay_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\x10\n\x0e_lastpay_indexB\n\n\x08_timeout\"\xbc\x05\n\x16WaitanyinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12@\n\x06status\x18\x04 \x01(\x0e\x32\x30.cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12;\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1f.cln.WaitanyinvoicePaidOutpointH\t\x88\x01\x01\"-\n\x14WaitanyinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\":\n\x1aWaitanyinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"#\n\x12WaitinvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\"\xad\x05\n\x13WaitinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitinvoiceResponse.WaitinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12\x38\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1c.cln.WaitinvoicePaidOutpointH\t\x88\x01\x01\"*\n\x11WaitinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"7\n\x17WaitinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\x8e\x01\n\x12WaitsendpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\t\n\x07_partidB\n\n\x08_timeoutB\n\n\x08_groupid\"\xf7\x04\n\x13WaitsendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitsendpayResponse.WaitsendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0e \x01(\x01H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0f \x01(\x04\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\t\x88\x01\x01\"!\n\x11WaitsendpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\x97\x01\n\x0eNewaddrRequest\x12@\n\x0b\x61\x64\x64resstype\x18\x01 \x01(\x0e\x32&.cln.NewaddrRequest.NewaddrAddresstypeH\x00\x88\x01\x01\"3\n\x12NewaddrAddresstype\x12\n\n\x06\x42\x45\x43H32\x10\x00\x12\x07\n\x03\x41LL\x10\x02\x12\x08\n\x04P2TR\x10\x03\x42\x0e\n\x0c_addresstype\"M\n\x0fNewaddrResponse\x12\x13\n\x06\x62\x65\x63h32\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb9\x01\n\x0fWithdrawRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12!\n\x07satoshi\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\"\n\x07\x66\x65\x65rate\x18\x05 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_feerate\":\n\x10WithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0c\n\x04psbt\x18\x03 \x01(\t\"\xd7\x03\n\x0eKeysendRequest\x12\x17\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12/\n\nroutehints\x18\x08 \x01(\x0b\x32\x12.cln.RoutehintListB\x02\x18\x01H\x05\x88\x01\x01\x12*\n\textratlvs\x18\t \x01(\x0b\x32\x0e.cln.TlvStreamB\x02\x18\x01H\x06\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x07\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_routehintsB\x0c\n\n_extratlvsB\t\n\x07_maxfee\"\x9a\x03\n\x0fKeysendResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x36\n\x06status\x18\t \x01(\x0e\x32\".cln.KeysendResponse.KeysendStatusB\x02\x18\x01\"!\n\rKeysendStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"\xa4\x03\n\x0f\x46undpsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x14\n\x07minconf\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\x08 \x01(\x08H\x04\x88\x01\x01\x12\x17\n\nnonwrapped\x18\t \x01(\x08H\x05\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x06\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_changeB\r\n\x0b_nonwrappedB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10\x46undpsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.FundpsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14\x46undpsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"A\n\x0fSendpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\",\n\x10SendpsbtResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"1\n\x0fSignpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x10\n\x08signonly\x18\x02 \x03(\r\"\'\n\x10SignpsbtResponse\x12\x13\n\x0bsigned_psbt\x18\x01 \x01(\t\"\xa0\x03\n\x0fUtxopsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nreservedok\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\t \x01(\x08H\x04\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\r\n\x0b_reservedokB\x13\n\x11_excess_as_changeB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10UtxopsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.UtxopsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14UtxopsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\" \n\x10TxdiscardRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"6\n\x11TxdiscardResponse\x12\x13\n\x0bunsigned_tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xa4\x01\n\x10TxprepareRequest\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12 \n\x07outputs\x18\x05 \x03(\x0b\x32\x0f.cln.OutputDescB\n\n\x08_feerateB\n\n\x08_minconf\"D\n\x11TxprepareResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x13\n\x0bunsigned_tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x1d\n\rTxsendRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"8\n\x0eTxsendResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x8d\x01\n\x17ListpeerchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x05\n\x03_idB\x13\n\x11_short_channel_idB\r\n\x0b_channel_id\"K\n\x18ListpeerchannelsResponse\x12/\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1d.cln.ListpeerchannelsChannels\"\xd1\x1a\n\x18ListpeerchannelsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x16\n\x0epeer_connected\x18\x02 \x01(\x08\x12 \n\x05state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x19\n\x0cscratch_txid\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x43\n\x0c\x63hannel_type\x18\x05 \x01(\x0b\x32(.cln.ListpeerchannelsChannelsChannelTypeH\x01\x88\x01\x01\x12:\n\x07\x66\x65\x65rate\x18\x06 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFeerateH\x02\x88\x01\x01\x12\x12\n\x05owner\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x17\n\nchannel_id\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\r \x01(\tH\t\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0e \x01(\tH\n\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0f \x01(\rH\x0b\x88\x01\x01\x12\x37\n\x08inflight\x18\x10 \x03(\x0b\x32%.cln.ListpeerchannelsChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x11 \x01(\x0cH\x0c\x88\x01\x01\x12\x14\n\x07private\x18\x12 \x01(\x08H\r\x88\x01\x01\x12 \n\x06opener\x18\x13 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x14 \x01(\x0e\x32\x10.cln.ChannelSideH\x0e\x88\x01\x01\x12:\n\x07\x66unding\x18\x16 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFundingH\x0f\x88\x01\x01\x12$\n\nto_us_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x19 \x01(\x0b\x32\x0b.cln.AmountH\x12\x88\x01\x01\x12$\n\ntotal_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x1c \x01(\rH\x15\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1f \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12*\n\x10our_reserve_msat\x18 \x01(\x0b\x32\x0b.cln.AmountH\x18\x88\x01\x01\x12(\n\x0espendable_msat\x18! \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12)\n\x0freceivable_msat\x18\" \x01(\x0b\x32\x0b.cln.AmountH\x1a\x88\x01\x01\x12.\n\x14minimum_htlc_in_msat\x18# \x01(\x0b\x32\x0b.cln.AmountH\x1b\x88\x01\x01\x12/\n\x15minimum_htlc_out_msat\x18$ \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18% \x01(\x0b\x32\x0b.cln.AmountH\x1d\x88\x01\x01\x12 \n\x13their_to_self_delay\x18& \x01(\rH\x1e\x88\x01\x01\x12\x1e\n\x11our_to_self_delay\x18\' \x01(\rH\x1f\x88\x01\x01\x12\x1f\n\x12max_accepted_htlcs\x18( \x01(\rH \x88\x01\x01\x12\x36\n\x05\x61lias\x18) \x01(\x0b\x32\".cln.ListpeerchannelsChannelsAliasH!\x88\x01\x01\x12@\n\rstate_changes\x18* \x03(\x0b\x32).cln.ListpeerchannelsChannelsStateChanges\x12\x0e\n\x06status\x18+ \x03(\t\x12 \n\x13in_payments_offered\x18, \x01(\x04H\"\x88\x01\x01\x12)\n\x0fin_offered_msat\x18- \x01(\x0b\x32\x0b.cln.AmountH#\x88\x01\x01\x12\"\n\x15in_payments_fulfilled\x18. \x01(\x04H$\x88\x01\x01\x12+\n\x11in_fulfilled_msat\x18/ \x01(\x0b\x32\x0b.cln.AmountH%\x88\x01\x01\x12!\n\x14out_payments_offered\x18\x30 \x01(\x04H&\x88\x01\x01\x12*\n\x10out_offered_msat\x18\x31 \x01(\x0b\x32\x0b.cln.AmountH\'\x88\x01\x01\x12#\n\x16out_payments_fulfilled\x18\x32 \x01(\x04H(\x88\x01\x01\x12,\n\x12out_fulfilled_msat\x18\x33 \x01(\x0b\x32\x0b.cln.AmountH)\x88\x01\x01\x12\x31\n\x05htlcs\x18\x34 \x03(\x0b\x32\".cln.ListpeerchannelsChannelsHtlcs\x12\x1a\n\rclose_to_addr\x18\x35 \x01(\tH*\x88\x01\x01\x12\x1e\n\x11ignore_fee_limits\x18\x36 \x01(\x08H+\x88\x01\x01\x12:\n\x07updates\x18\x37 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsUpdatesH,\x88\x01\x01\x12#\n\x16last_stable_connection\x18\x38 \x01(\x04H-\x88\x01\x01\x12\x17\n\nlost_state\x18\x39 \x01(\x08H.\x88\x01\x01\x12\x1a\n\rreestablished\x18: \x01(\x08H/\x88\x01\x01\x12*\n\x10last_tx_fee_msat\x18; \x01(\x0b\x32\x0b.cln.AmountH0\x88\x01\x01\x12\x16\n\tdirection\x18< \x01(\rH1\x88\x01\x01\x12=\n#their_max_htlc_value_in_flight_msat\x18= \x01(\x0b\x32\x0b.cln.AmountH2\x88\x01\x01\x12;\n!our_max_htlc_value_in_flight_msat\x18> \x01(\x0b\x32\x0b.cln.AmountH3\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18? \x03(\tB\x0f\n\r_scratch_txidB\x0f\n\r_channel_typeB\n\n\x08_feerateB\x08\n\x06_ownerB\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x0f\n\r_funding_txidB\x11\n\x0f_funding_outnumB\x12\n\x10_initial_feerateB\x0f\n\r_last_feerateB\x0f\n\r_next_feerateB\x10\n\x0e_next_fee_stepB\x0b\n\t_close_toB\n\n\x08_privateB\t\n\x07_closerB\n\n\x08_fundingB\r\n\x0b_to_us_msatB\x11\n\x0f_min_to_us_msatB\x11\n\x0f_max_to_us_msatB\r\n\x0b_total_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x12\n\x10_dust_limit_msatB\x15\n\x13_their_reserve_msatB\x13\n\x11_our_reserve_msatB\x11\n\x0f_spendable_msatB\x12\n\x10_receivable_msatB\x17\n\x15_minimum_htlc_in_msatB\x18\n\x16_minimum_htlc_out_msatB\x18\n\x16_maximum_htlc_out_msatB\x16\n\x14_their_to_self_delayB\x14\n\x12_our_to_self_delayB\x15\n\x13_max_accepted_htlcsB\x08\n\x06_aliasB\x16\n\x14_in_payments_offeredB\x12\n\x10_in_offered_msatB\x18\n\x16_in_payments_fulfilledB\x14\n\x12_in_fulfilled_msatB\x17\n\x15_out_payments_offeredB\x13\n\x11_out_offered_msatB\x19\n\x17_out_payments_fulfilledB\x15\n\x13_out_fulfilled_msatB\x10\n\x0e_close_to_addrB\x14\n\x12_ignore_fee_limitsB\n\n\x08_updatesB\x19\n\x17_last_stable_connectionB\r\n\x0b_lost_stateB\x10\n\x0e_reestablishedB\x13\n\x11_last_tx_fee_msatB\x0c\n\n_directionB&\n$_their_max_htlc_value_in_flight_msatB$\n\"_our_max_htlc_value_in_flight_msat\"]\n\x1dListpeerchannelsChannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"X\n#ListpeerchannelsChannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"?\n\x1fListpeerchannelsChannelsFeerate\x12\r\n\x05perkw\x18\x01 \x01(\r\x12\r\n\x05perkb\x18\x02 \x01(\r\"\xdd\x02\n\x1fListpeerchannelsChannelsFunding\x12%\n\x0bpushed_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12%\n\x10local_funds_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11remote_funds_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\rfee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x11\n\x04psbt\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x15\n\x08withheld\x18\x07 \x01(\x08H\x04\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msatB\x07\n\x05_psbtB\x0b\n\t_withheld\"\xf9\x02\n\x1dListpeerchannelsChannelsHtlcs\x12\\\n\tdirection\x18\x01 \x01(\x0e\x32I.cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection\x12\n\n\x02id\x18\x02 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06\x65xpiry\x18\x04 \x01(\r\x12\x14\n\x0cpayment_hash\x18\x05 \x01(\x0c\x12\x1a\n\rlocal_trimmed\x18\x06 \x01(\x08H\x00\x88\x01\x01\x12\x13\n\x06status\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x05state\x18\x08 \x01(\x0e\x32\x0e.cln.HtlcState\"9\n&ListpeerchannelsChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x10\n\x0e_local_trimmedB\t\n\x07_status\"\xf4\x01\n ListpeerchannelsChannelsInflight\x12\x14\n\x0c\x66unding_txid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\x02 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x03 \x01(\t\x12\'\n\x12total_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10our_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0cscratch_txid\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\rsplice_amount\x18\x07 \x01(\x12\x42\x0f\n\r_scratch_txid\"\xf0\x02\n$ListpeerchannelsChannelsStateChanges\x12\x11\n\ttimestamp\x18\x01 \x01(\t\x12$\n\told_state\x18\x02 \x01(\x0e\x32\x11.cln.ChannelState\x12$\n\tnew_state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x62\n\x05\x63\x61use\x18\x04 \x01(\x0e\x32S.cln.ListpeerchannelsChannelsStateChanges.ListpeerchannelsChannelsStateChangesCause\x12\x0f\n\x07message\x18\x05 \x01(\t\"t\n)ListpeerchannelsChannelsStateChangesCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\"\xa7\x01\n\x1fListpeerchannelsChannelsUpdates\x12\x38\n\x05local\x18\x01 \x01(\x0b\x32).cln.ListpeerchannelsChannelsUpdatesLocal\x12?\n\x06remote\x18\x02 \x01(\x0b\x32*.cln.ListpeerchannelsChannelsUpdatesRemoteH\x00\x88\x01\x01\x42\t\n\x07_remote\"\xda\x01\n$ListpeerchannelsChannelsUpdatesLocal\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"\xdb\x01\n%ListpeerchannelsChannelsUpdatesRemote\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"3\n\x19ListclosedchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"[\n\x1aListclosedchannelsResponse\x12=\n\x0e\x63losedchannels\x18\x01 \x03(\x0b\x32%.cln.ListclosedchannelsClosedchannels\"\xae\x0b\n ListclosedchannelsClosedchannels\x12\x14\n\x07peer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x01\x88\x01\x01\x12>\n\x05\x61lias\x18\x04 \x01(\x0b\x32*.cln.ListclosedchannelsClosedchannelsAliasH\x02\x88\x01\x01\x12 \n\x06opener\x18\x05 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x06 \x01(\x0e\x32\x10.cln.ChannelSideH\x03\x88\x01\x01\x12\x0f\n\x07private\x18\x07 \x01(\x08\x12K\n\x0c\x63hannel_type\x18\x08 \x01(\x0b\x32\x30.cln.ListclosedchannelsClosedchannelsChannelTypeH\x04\x88\x01\x01\x12\x1f\n\x17total_local_commitments\x18\t \x01(\x04\x12 \n\x18total_remote_commitments\x18\n \x01(\x04\x12\x18\n\x10total_htlcs_sent\x18\x0b \x01(\x04\x12\x14\n\x0c\x66unding_txid\x18\x0c \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\r \x01(\r\x12\x0e\n\x06leased\x18\x0e \x01(\x08\x12/\n\x15\x66unding_fee_paid_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12/\n\x15\x66unding_fee_rcvd_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12-\n\x13\x66unding_pushed_msat\x18\x11 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x1f\n\ntotal_msat\x18\x12 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x66inal_to_us_msat\x18\x13 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emin_to_us_msat\x18\x14 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emax_to_us_msat\x18\x15 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x14last_commitment_txid\x18\x16 \x01(\x0cH\x08\x88\x01\x01\x12\x32\n\x18last_commitment_fee_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\t\x88\x01\x01\x12\x65\n\x0b\x63lose_cause\x18\x18 \x01(\x0e\x32P.cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsCloseCause\x12#\n\x16last_stable_connection\x18\x19 \x01(\x04H\n\x88\x01\x01\x12\x19\n\x0c\x66unding_psbt\x18\x1a \x01(\tH\x0b\x88\x01\x01\x12\x1d\n\x10\x66unding_withheld\x18\x1b \x01(\x08H\x0c\x88\x01\x01\"u\n*ListclosedchannelsClosedchannelsCloseCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\n\n\x08_peer_idB\x13\n\x11_short_channel_idB\x08\n\x06_aliasB\t\n\x07_closerB\x0f\n\r_channel_typeB\x18\n\x16_funding_fee_paid_msatB\x18\n\x16_funding_fee_rcvd_msatB\x16\n\x14_funding_pushed_msatB\x17\n\x15_last_commitment_txidB\x1b\n\x19_last_commitment_fee_msatB\x19\n\x17_last_stable_connectionB\x0f\n\r_funding_psbtB\x13\n\x11_funding_withheld\"e\n%ListclosedchannelsClosedchannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"`\n+ListclosedchannelsClosedchannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x1f\n\rDecodeRequest\x12\x0e\n\x06string\x18\x01 \x01(\t\"\xbd.\n\x0e\x44\x65\x63odeResponse\x12\x31\n\titem_type\x18\x01 \x01(\x0e\x32\x1e.cln.DecodeResponse.DecodeType\x12\r\n\x05valid\x18\x02 \x01(\x08\x12\x15\n\x08offer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x0coffer_chains\x18\x04 \x03(\x0c\x12\x1b\n\x0eoffer_metadata\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0eoffer_currency\x18\x06 \x01(\tH\x02\x88\x01\x01\x12+\n\x1ewarning_unknown_offer_currency\x18\x07 \x01(\tH\x03\x88\x01\x01\x12 \n\x13\x63urrency_minor_unit\x18\x08 \x01(\rH\x04\x88\x01\x01\x12\x19\n\x0coffer_amount\x18\t \x01(\x04H\x05\x88\x01\x01\x12+\n\x11offer_amount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x1e\n\x11offer_description\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0coffer_issuer\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x1b\n\x0eoffer_features\x18\r \x01(\x0cH\t\x88\x01\x01\x12\"\n\x15offer_absolute_expiry\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1f\n\x12offer_quantity_max\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12*\n\x0boffer_paths\x18\x10 \x03(\x0b\x32\x15.cln.DecodeOfferPaths\x12\x39\n\x10offer_recurrence\x18\x12 \x01(\x0b\x32\x1a.cln.DecodeOfferRecurrenceH\x0c\x88\x01\x01\x12\x37\n\x12unknown_offer_tlvs\x18\x13 \x03(\x0b\x32\x1b.cln.DecodeUnknownOfferTlvs\x12.\n!warning_invalid_offer_description\x18\x15 \x01(\tH\r\x88\x01\x01\x12.\n!warning_missing_offer_description\x18\x16 \x01(\tH\x0e\x88\x01\x01\x12+\n\x1ewarning_invalid_offer_currency\x18\x17 \x01(\tH\x0f\x88\x01\x01\x12)\n\x1cwarning_invalid_offer_issuer\x18\x18 \x01(\tH\x10\x88\x01\x01\x12\x1c\n\x0finvreq_metadata\x18\x19 \x01(\x0cH\x11\x88\x01\x01\x12\x1c\n\x0finvreq_payer_id\x18\x1a \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0cinvreq_chain\x18\x1b \x01(\x0cH\x13\x88\x01\x01\x12,\n\x12invreq_amount_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12\x1c\n\x0finvreq_features\x18\x1d \x01(\x0cH\x15\x88\x01\x01\x12\x1c\n\x0finvreq_quantity\x18\x1e \x01(\x04H\x16\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x1f \x01(\tH\x17\x88\x01\x01\x12&\n\x19invreq_recurrence_counter\x18 \x01(\rH\x18\x88\x01\x01\x12$\n\x17invreq_recurrence_start\x18! \x01(\rH\x19\x88\x01\x01\x12J\n\x1cunknown_invoice_request_tlvs\x18\" \x03(\x0b\x32$.cln.DecodeUnknownInvoiceRequestTlvs\x12,\n\x1fwarning_missing_invreq_metadata\x18# \x01(\tH\x1a\x88\x01\x01\x12,\n\x1fwarning_missing_invreq_payer_id\x18$ \x01(\tH\x1b\x88\x01\x01\x12.\n!warning_invalid_invreq_payer_note\x18% \x01(\tH\x1c\x88\x01\x01\x12\x36\n)warning_missing_invoice_request_signature\x18& \x01(\tH\x1d\x88\x01\x01\x12\x36\n)warning_invalid_invoice_request_signature\x18\' \x01(\tH\x1e\x88\x01\x01\x12.\n\rinvoice_paths\x18( \x03(\x0b\x32\x17.cln.DecodeInvoicePaths\x12\x1f\n\x12invoice_created_at\x18) \x01(\x04H\x1f\x88\x01\x01\x12$\n\x17invoice_relative_expiry\x18* \x01(\rH \x88\x01\x01\x12!\n\x14invoice_payment_hash\x18+ \x01(\x0cH!\x88\x01\x01\x12-\n\x13invoice_amount_msat\x18, \x01(\x0b\x32\x0b.cln.AmountH\"\x88\x01\x01\x12\x36\n\x11invoice_fallbacks\x18- \x03(\x0b\x32\x1b.cln.DecodeInvoiceFallbacks\x12\x1d\n\x10invoice_features\x18. \x01(\x0cH#\x88\x01\x01\x12\x1c\n\x0finvoice_node_id\x18/ \x01(\x0cH$\x88\x01\x01\x12(\n\x1binvoice_recurrence_basetime\x18\x30 \x01(\x04H%\x88\x01\x01\x12;\n\x14unknown_invoice_tlvs\x18\x31 \x03(\x0b\x32\x1d.cln.DecodeUnknownInvoiceTlvs\x12*\n\x1dwarning_missing_invoice_paths\x18\x32 \x01(\tH&\x88\x01\x01\x12/\n\"warning_missing_invoice_blindedpay\x18\x33 \x01(\tH\'\x88\x01\x01\x12/\n\"warning_missing_invoice_created_at\x18\x34 \x01(\tH(\x88\x01\x01\x12\x31\n$warning_missing_invoice_payment_hash\x18\x35 \x01(\tH)\x88\x01\x01\x12+\n\x1ewarning_missing_invoice_amount\x18\x36 \x01(\tH*\x88\x01\x01\x12\x38\n+warning_missing_invoice_recurrence_basetime\x18\x37 \x01(\tH+\x88\x01\x01\x12,\n\x1fwarning_missing_invoice_node_id\x18\x38 \x01(\tH,\x88\x01\x01\x12.\n!warning_missing_invoice_signature\x18\x39 \x01(\tH-\x88\x01\x01\x12.\n!warning_invalid_invoice_signature\x18: \x01(\tH.\x88\x01\x01\x12\'\n\tfallbacks\x18; \x03(\x0b\x32\x14.cln.DecodeFallbacks\x12\x17\n\ncreated_at\x18< \x01(\x04H/\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18= \x01(\x04H0\x88\x01\x01\x12\x12\n\x05payee\x18> \x01(\x0cH1\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18? \x01(\x0cH2\x88\x01\x01\x12\x1d\n\x10\x64\x65scription_hash\x18@ \x01(\x0cH3\x88\x01\x01\x12\"\n\x15min_final_cltv_expiry\x18\x41 \x01(\rH4\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x42 \x01(\x0cH5\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x43 \x01(\x0cH6\x88\x01\x01\x12\x1f\n\x05\x65xtra\x18\x45 \x03(\x0b\x32\x10.cln.DecodeExtra\x12\x16\n\tunique_id\x18\x46 \x01(\tH7\x88\x01\x01\x12\x14\n\x07version\x18G \x01(\tH8\x88\x01\x01\x12\x13\n\x06string\x18H \x01(\tH9\x88\x01\x01\x12-\n\x0crestrictions\x18I \x03(\x0b\x32\x17.cln.DecodeRestrictions\x12&\n\x19warning_rune_invalid_utf8\x18J \x01(\tH:\x88\x01\x01\x12\x10\n\x03hex\x18K \x01(\x0cH;\x88\x01\x01\x12\x16\n\tdecrypted\x18L \x01(\x0cH<\x88\x01\x01\x12\x16\n\tsignature\x18M \x01(\tH=\x88\x01\x01\x12\x15\n\x08\x63urrency\x18N \x01(\tH>\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18O \x01(\x0b\x32\x0b.cln.AmountH?\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18P \x01(\tH@\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18Q \x01(\x0cHA\x88\x01\x01\x12-\n\x06routes\x18R \x01(\x0b\x32\x18.cln.DecodeRoutehintListHB\x88\x01\x01\x12\x1c\n\x0foffer_issuer_id\x18S \x01(\x0cHC\x88\x01\x01\x12,\n\x1fwarning_missing_offer_issuer_id\x18T \x01(\tHD\x88\x01\x01\x12,\n\x0cinvreq_paths\x18U \x03(\x0b\x32\x16.cln.DecodeInvreqPaths\x12\'\n\x1awarning_empty_blinded_path\x18V \x01(\tHE\x88\x01\x01\x12=\n\x13invreq_bip_353_name\x18W \x01(\x0b\x32\x1b.cln.DecodeInvreqBip353NameHF\x88\x01\x01\x12\x35\n(warning_invreq_bip_353_name_name_invalid\x18X \x01(\tHG\x88\x01\x01\x12\x37\n*warning_invreq_bip_353_name_domain_invalid\x18Y \x01(\tHH\x88\x01\x01\x12%\n\x18invreq_recurrence_cancel\x18Z \x01(\x08HI\x88\x01\x01\x12=\n0warning_invreq_recurrence_cancel_without_counter\x18[ \x01(\tHJ\x88\x01\x01\x12?\n2warning_invreq_recurrence_cancel_with_zero_counter\x18\\ \x01(\tHK\x88\x01\x01\x12\x1b\n\x0eproof_preimage\x18] \x01(\x0cHL\x88\x01\x01\x12\x1a\n\x12proof_omitted_tlvs\x18^ \x03(\x04\x12\x1c\n\x14proof_missing_hashes\x18_ \x03(\x0c\x12\x19\n\x11proof_leaf_hashes\x18` \x03(\x0c\x12\x17\n\nproof_note\x18\x61 \x01(\tHM\x88\x01\x01\x12\x1c\n\x0fproof_signature\x18\x62 \x01(\tHN\x88\x01\x01\x12\x42\n\x18unknown_payer_proof_tlvs\x18\x63 \x03(\x0b\x32 .cln.DecodeUnknownPayerProofTlvs\"\x9b\x01\n\nDecodeType\x12\x10\n\x0c\x42OLT12_OFFER\x10\x00\x12\x12\n\x0e\x42OLT12_INVOICE\x10\x01\x12\x1a\n\x16\x42OLT12_INVOICE_REQUEST\x10\x02\x12\x12\n\x0e\x42OLT11_INVOICE\x10\x03\x12\x08\n\x04RUNE\x10\x04\x12\x15\n\x11\x45MERGENCY_RECOVER\x10\x05\x12\x16\n\x12\x42OLT12_PAYER_PROOF\x10\x06\x42\x0b\n\t_offer_idB\x11\n\x0f_offer_metadataB\x11\n\x0f_offer_currencyB!\n\x1f_warning_unknown_offer_currencyB\x16\n\x14_currency_minor_unitB\x0f\n\r_offer_amountB\x14\n\x12_offer_amount_msatB\x14\n\x12_offer_descriptionB\x0f\n\r_offer_issuerB\x11\n\x0f_offer_featuresB\x18\n\x16_offer_absolute_expiryB\x15\n\x13_offer_quantity_maxB\x13\n\x11_offer_recurrenceB$\n\"_warning_invalid_offer_descriptionB$\n\"_warning_missing_offer_descriptionB!\n\x1f_warning_invalid_offer_currencyB\x1f\n\x1d_warning_invalid_offer_issuerB\x12\n\x10_invreq_metadataB\x12\n\x10_invreq_payer_idB\x0f\n\r_invreq_chainB\x15\n\x13_invreq_amount_msatB\x12\n\x10_invreq_featuresB\x12\n\x10_invreq_quantityB\x14\n\x12_invreq_payer_noteB\x1c\n\x1a_invreq_recurrence_counterB\x1a\n\x18_invreq_recurrence_startB\"\n _warning_missing_invreq_metadataB\"\n _warning_missing_invreq_payer_idB$\n\"_warning_invalid_invreq_payer_noteB,\n*_warning_missing_invoice_request_signatureB,\n*_warning_invalid_invoice_request_signatureB\x15\n\x13_invoice_created_atB\x1a\n\x18_invoice_relative_expiryB\x17\n\x15_invoice_payment_hashB\x16\n\x14_invoice_amount_msatB\x13\n\x11_invoice_featuresB\x12\n\x10_invoice_node_idB\x1e\n\x1c_invoice_recurrence_basetimeB \n\x1e_warning_missing_invoice_pathsB%\n#_warning_missing_invoice_blindedpayB%\n#_warning_missing_invoice_created_atB\'\n%_warning_missing_invoice_payment_hashB!\n\x1f_warning_missing_invoice_amountB.\n,_warning_missing_invoice_recurrence_basetimeB\"\n _warning_missing_invoice_node_idB$\n\"_warning_missing_invoice_signatureB$\n\"_warning_invalid_invoice_signatureB\r\n\x0b_created_atB\t\n\x07_expiryB\x08\n\x06_payeeB\x0f\n\r_payment_hashB\x13\n\x11_description_hashB\x18\n\x16_min_final_cltv_expiryB\x11\n\x0f_payment_secretB\x13\n\x11_payment_metadataB\x0c\n\n_unique_idB\n\n\x08_versionB\t\n\x07_stringB\x1c\n\x1a_warning_rune_invalid_utf8B\x06\n\x04_hexB\x0c\n\n_decryptedB\x0c\n\n_signatureB\x0b\n\t_currencyB\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x0b\n\t_featuresB\t\n\x07_routesB\x12\n\x10_offer_issuer_idB\"\n _warning_missing_offer_issuer_idB\x1d\n\x1b_warning_empty_blinded_pathB\x16\n\x14_invreq_bip_353_nameB+\n)_warning_invreq_bip_353_name_name_invalidB-\n+_warning_invreq_bip_353_name_domain_invalidB\x1b\n\x19_invreq_recurrence_cancelB3\n1_warning_invreq_recurrence_cancel_without_counterB5\n3_warning_invreq_recurrence_cancel_with_zero_counterB\x11\n\x0f_proof_preimageB\r\n\x0b_proof_noteB\x12\n\x10_proof_signature\"(\n\x0b\x44\x65\x63odeExtra\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\xc4\x01\n\x0f\x44\x65\x63odeFallbacks\x12;\n\titem_type\x18\x02 \x01(\x0e\x32(.cln.DecodeFallbacks.DecodeFallbacksType\x12\x11\n\x04\x61\x64\x64r\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0b\n\x03hex\x18\x04 \x01(\x0c\"K\n\x13\x44\x65\x63odeFallbacksType\x12\t\n\x05P2PKH\x10\x00\x12\x08\n\x04P2SH\x10\x01\x12\n\n\x06P2WPKH\x10\x02\x12\t\n\x05P2WSH\x10\x03\x12\x08\n\x04P2TR\x10\x04\x42\x07\n\x05_addr\"X\n\x16\x44\x65\x63odeInvoiceFallbacks\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03hex\x18\x02 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_address\"\xa6\x02\n\x12\x44\x65\x63odeInvoicePaths\x12)\n\x04path\x18\x01 \x03(\x0b\x32\x1b.cln.DecodeInvoicePathsPath\x12/\n\x07payinfo\x18\x02 \x01(\x0b\x32\x1e.cln.DecodeInvoicePathsPayinfo\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0e\x66irst_scid_dir\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x06 \x01(\tH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_path_keyB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scid\"S\n\x16\x44\x65\x63odeInvoicePathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\x97\x02\n\x19\x44\x65\x63odeInvoicePathsPayinfo\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\"\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\r\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x19\n\x11\x63ltv_expiry_delta\x18\x06 \x01(\rB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msat\"T\n\x16\x44\x65\x63odeInvreqBip353Name\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x64omain\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\t\n\x07_domain\"\xf3\x01\n\x11\x44\x65\x63odeInvreqPaths\x12\x1b\n\x0e\x66irst_scid_dir\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12(\n\x04path\x18\x05 \x03(\x0b\x32\x1a.cln.DecodeInvreqPathsPath\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x11\n\x0f_first_scid_dirB\x10\n\x0e_first_node_idB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"R\n\x15\x44\x65\x63odeInvreqPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xf1\x01\n\x10\x44\x65\x63odeOfferPaths\x12\x1a\n\rfirst_node_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\'\n\x04path\x18\x03 \x03(\x0b\x32\x19.cln.DecodeOfferPathsPath\x12\x1b\n\x0e\x66irst_scid_dir\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"Q\n\x14\x44\x65\x63odeOfferPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xab\x02\n\x15\x44\x65\x63odeOfferRecurrence\x12\x11\n\ttime_unit\x18\x01 \x01(\r\x12\x1d\n\x10\x63ompulsory_field\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0etime_unit_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06period\x18\x04 \x01(\r\x12\x15\n\x08\x62\x61setime\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12;\n\tpaywindow\x18\x06 \x01(\x0b\x32#.cln.DecodeOfferRecurrencePaywindowH\x03\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\x13\n\x11_compulsory_fieldB\x11\n\x0f_time_unit_nameB\x0b\n\t_basetimeB\x0c\n\n_paywindowB\x08\n\x06_limit\"\x89\x01\n\x1e\x44\x65\x63odeOfferRecurrencePaywindow\x12\x16\n\x0eseconds_before\x18\x01 \x01(\r\x12\x15\n\rseconds_after\x18\x02 \x01(\r\x12 \n\x13proportional_amount\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x16\n\x14_proportional_amount\";\n\x12\x44\x65\x63odeRestrictions\x12\x14\n\x0c\x61lternatives\x18\x01 \x03(\t\x12\x0f\n\x07summary\x18\x02 \x01(\t\"S\n\x1f\x44\x65\x63odeUnknownInvoiceRequestTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"L\n\x18\x44\x65\x63odeUnknownInvoiceTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"J\n\x16\x44\x65\x63odeUnknownOfferTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"O\n\x1b\x44\x65\x63odeUnknownPayerProofTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"\xc2\x01\n\rDelpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12/\n\x06status\x18\x02 \x01(\x0e\x32\x1f.cln.DelpayRequest.DelpayStatus\x12\x13\n\x06partid\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x01\x88\x01\x01\"(\n\x0c\x44\x65lpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x42\t\n\x07_partidB\n\n\x08_groupid\"7\n\x0e\x44\x65lpayResponse\x12%\n\x08payments\x18\x01 \x03(\x0b\x32\x13.cln.DelpayPayments\"\xb4\x05\n\x0e\x44\x65lpayPayments\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x38\n\x06status\x18\x04 \x01(\x0e\x32(.cln.DelpayPayments.DelpayPaymentsStatus\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\t \x01(\x04\x12\x1a\n\rupdated_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x14\n\x07groupid\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x11 \x01(\x0cH\n\x88\x01\x01\"=\n\x14\x44\x65lpayPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x10\n\x0e_updated_indexB\x0f\n\r_completed_atB\n\n\x08_groupidB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\r\n\x0b_erroronion\"\xb3\x01\n\x11\x44\x65lforwardRequest\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x12\n\nin_htlc_id\x18\x02 \x01(\x04\x12\x37\n\x06status\x18\x03 \x01(\x0e\x32\'.cln.DelforwardRequest.DelforwardStatus\"=\n\x10\x44\x65lforwardStatus\x12\x0b\n\x07SETTLED\x10\x00\x12\x10\n\x0cLOCAL_FAILED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"\x14\n\x12\x44\x65lforwardResponse\"\'\n\x13\x44isableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdc\x01\n\x14\x44isableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"&\n\x12\x45nableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdb\x01\n\x13\x45nableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"=\n\x11\x44isconnectRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_force\"\x14\n\x12\x44isconnectResponse\"k\n\x0f\x46\x65\x65ratesRequest\x12\x31\n\x05style\x18\x01 \x01(\x0e\x32\".cln.FeeratesRequest.FeeratesStyle\"%\n\rFeeratesStyle\x12\t\n\x05PERKB\x10\x00\x12\t\n\x05PERKW\x10\x01\"\x9a\x02\n\x10\x46\x65\x65ratesResponse\x12%\n\x18warning_missing_feerates\x18\x01 \x01(\tH\x00\x88\x01\x01\x12&\n\x05perkb\x18\x02 \x01(\x0b\x32\x12.cln.FeeratesPerkbH\x01\x88\x01\x01\x12&\n\x05perkw\x18\x03 \x01(\x0b\x32\x12.cln.FeeratesPerkwH\x02\x88\x01\x01\x12\x44\n\x15onchain_fee_estimates\x18\x04 \x01(\x0b\x32 .cln.FeeratesOnchainFeeEstimatesH\x03\x88\x01\x01\x42\x1b\n\x19_warning_missing_feeratesB\x08\n\x06_perkbB\x08\n\x06_perkwB\x18\n\x16_onchain_fee_estimates\"\x99\x02\n\x1b\x46\x65\x65ratesOnchainFeeEstimates\x12 \n\x18opening_channel_satoshis\x18\x01 \x01(\x04\x12\x1d\n\x15mutual_close_satoshis\x18\x02 \x01(\x04\x12!\n\x19unilateral_close_satoshis\x18\x03 \x01(\x04\x12\x1d\n\x15htlc_timeout_satoshis\x18\x04 \x01(\x04\x12\x1d\n\x15htlc_success_satoshis\x18\x05 \x01(\x04\x12\x30\n#unilateral_close_nonanchor_satoshis\x18\x06 \x01(\x04H\x00\x88\x01\x01\x42&\n$_unilateral_close_nonanchor_satoshis\"\x84\x03\n\rFeeratesPerkb\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkbEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkbEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"\x84\x03\n\rFeeratesPerkw\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkwEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkwEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"%\n\x12\x46\x65tchbip353Request\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"X\n\x13\x46\x65tchbip353Response\x12\r\n\x05proof\x18\x01 \x01(\t\x12\x32\n\x0cinstructions\x18\x02 \x03(\x0b\x32\x1c.cln.Fetchbip353Instructions\"\xf7\x01\n\x17\x46\x65tchbip353Instructions\x12\x18\n\x0b\x64\x65scription\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05offer\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07onchain\x18\x03 \x01(\tH\x02\x88\x01\x01\x12!\n\x14offchain_amount_msat\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1f\n\x12onchain_amount_sat\x18\x05 \x01(\x04H\x04\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x08\n\x06_offerB\n\n\x08_onchainB\x17\n\x15_offchain_amount_msatB\x15\n\x13_onchain_amount_sat\"\xb9\x03\n\x13\x46\x65tchinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x15\n\x08quantity\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x1f\n\x12recurrence_counter\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x10recurrence_start\x18\x05 \x01(\x01H\x03\x88\x01\x01\x12\x1d\n\x10recurrence_label\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\x07 \x01(\x01H\x05\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x1b\n\x0epayer_metadata\x18\t \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\n \x01(\tH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0b\n\t_quantityB\x15\n\x13_recurrence_counterB\x13\n\x11_recurrence_startB\x13\n\x11_recurrence_labelB\n\n\x08_timeoutB\r\n\x0b_payer_noteB\x11\n\x0f_payer_metadataB\t\n\x07_bip353\"\x99\x01\n\x14\x46\x65tchinvoiceResponse\x12\x0f\n\x07invoice\x18\x01 \x01(\t\x12)\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x18.cln.FetchinvoiceChanges\x12\x35\n\x0bnext_period\x18\x03 \x01(\x0b\x32\x1b.cln.FetchinvoiceNextPeriodH\x00\x88\x01\x01\x42\x0e\n\x0c_next_period\"\x82\x02\n\x13\x46\x65tchinvoiceChanges\x12!\n\x14\x64\x65scription_appended\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0evendor_removed\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06vendor\x18\x04 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x42\x17\n\x15_description_appendedB\x0e\n\x0c_descriptionB\x11\n\x0f_vendor_removedB\t\n\x07_vendorB\x0e\n\x0c_amount_msat\"}\n\x16\x46\x65tchinvoiceNextPeriod\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\x04\x12\x11\n\tstarttime\x18\x02 \x01(\x04\x12\x0f\n\x07\x65ndtime\x18\x03 \x01(\x04\x12\x17\n\x0fpaywindow_start\x18\x04 \x01(\x04\x12\x15\n\rpaywindow_end\x18\x05 \x01(\x04\"\xe0\x01\n\x1d\x43\x61ncelrecurringinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12\x1a\n\x12recurrence_counter\x18\x02 \x01(\x04\x12\x18\n\x10recurrence_label\x18\x03 \x01(\t\x12\x1d\n\x10recurrence_start\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x17\n\npayer_note\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_recurrence_startB\r\n\x0b_payer_noteB\t\n\x07_bip353\"0\n\x1e\x43\x61ncelrecurringinvoiceResponse\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\"&\n\x18\x46undchannelCancelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\".\n\x19\x46undchannelCancelResponse\x12\x11\n\tcancelled\x18\x01 \x01(\t\"Z\n\x1a\x46undchannelCompleteRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x15\n\x08withhold\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x0b\n\t_withhold\"N\n\x1b\x46undchannelCompleteResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\"\xfb\x03\n\x12\x46undchannelRequest\x12 \n\x06\x61mount\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12#\n\tpush_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\n\n\x02id\x18\t \x01(\x0c\x12\x14\n\x07minconf\x18\n \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x05utxos\x18\x0b \x03(\x0b\x32\r.cln.Outpoint\x12\x15\n\x08mindepth\x18\x0c \x01(\rH\x07\x88\x01\x01\x12!\n\x07reserve\x18\r \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\x0e \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\n\n\x08_minconfB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xce\x01\n\x13\x46undchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0e\n\x06outnum\x18\x03 \x01(\r\x12\x12\n\nchannel_id\x18\x04 \x01(\x0c\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x31\n\x0c\x63hannel_type\x18\x07 \x01(\x0b\x32\x1b.cln.FundchannelChannelTypeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"K\n\x16\x46undchannelChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\xd6\x02\n\x17\x46undchannelStartRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x07\x66\x65\x65rate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12#\n\tpush_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08mindepth\x18\x07 \x01(\rH\x04\x88\x01\x01\x12!\n\x07reserve\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0c\n\n_push_msatB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xf6\x01\n\x18\x46undchannelStartResponse\x12\x17\n\x0f\x66unding_address\x18\x01 \x01(\t\x12\x14\n\x0cscriptpubkey\x18\x02 \x01(\x0c\x12;\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32 .cln.FundchannelStartChannelTypeH\x00\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x15\n\rwarning_usage\x18\x05 \x01(\t\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x02\x88\x01\x01\x42\x0f\n\r_channel_typeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"P\n\x1b\x46undchannelStartChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x95\x01\n\rGetlogRequest\x12\x32\n\x05level\x18\x01 \x01(\x0e\x32\x1e.cln.GetlogRequest.GetlogLevelH\x00\x88\x01\x01\"F\n\x0bGetlogLevel\x12\n\n\x06\x42ROKEN\x10\x00\x12\x0b\n\x07UNUSUAL\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\t\n\x05\x44\x45\x42UG\x10\x03\x12\t\n\x05TRACE\x10\x05\x42\x08\n\x06_level\"h\n\x0eGetlogResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\t\x12\x12\n\nbytes_used\x18\x02 \x01(\r\x12\x11\n\tbytes_max\x18\x03 \x01(\r\x12\x1b\n\x03log\x18\x04 \x03(\x0b\x32\x0e.cln.GetlogLog\"\xe8\x02\n\tGetlogLog\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.GetlogLog.GetlogLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"l\n\rGetlogLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"\xd9\x08\n\x13\x46underupdateRequest\x12@\n\x06policy\x18\x01 \x01(\x0e\x32+.cln.FunderupdateRequest.FunderupdatePolicyH\x00\x88\x01\x01\x12$\n\npolicy_mod\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0bleases_only\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x30\n\x16min_their_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x30\n\x16max_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12.\n\x14per_channel_min_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12.\n\x14per_channel_max_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12+\n\x11reserve_tank_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x19\n\x0c\x66uzz_percent\x18\t \x01(\rH\x08\x88\x01\x01\x12\x1d\n\x10\x66und_probability\x18\n \x01(\rH\t\x88\x01\x01\x12-\n\x13lease_fee_base_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\n\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\x0c \x01(\rH\x0b\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\r \x01(\rH\x0c\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x0f \x01(\rH\x0e\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x10 \x01(\x0cH\x0f\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\t\n\x07_policyB\r\n\x0b_policy_modB\x0e\n\x0c_leases_onlyB\x19\n\x17_min_their_funding_msatB\x19\n\x17_max_their_funding_msatB\x17\n\x15_per_channel_min_msatB\x17\n\x15_per_channel_max_msatB\x14\n\x12_reserve_tank_msatB\x0f\n\r_fuzz_percentB\x13\n\x11_fund_probabilityB\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\xdf\x06\n\x14\x46underupdateResponse\x12\x0f\n\x07summary\x18\x01 \x01(\t\x12<\n\x06policy\x18\x02 \x01(\x0e\x32,.cln.FunderupdateResponse.FunderupdatePolicy\x12\x12\n\npolicy_mod\x18\x03 \x01(\r\x12\x13\n\x0bleases_only\x18\x04 \x01(\x08\x12+\n\x16min_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16max_their_funding_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_min_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_max_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11reserve_tank_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66uzz_percent\x18\n \x01(\r\x12\x18\n\x10\x66und_probability\x18\x0b \x01(\r\x12-\n\x13lease_fee_base_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\r \x01(\rH\x01\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\x0e \x01(\rH\x02\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x10 \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x11 \x01(\x0cH\x05\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\x8c\x02\n\x0fGetrouteRequest\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\nriskfactor\x18\x03 \x01(\x04\x42\x02\x18\x01\x12\x15\n\x04\x63ltv\x18\x04 \x01(\rB\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x66romid\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x66uzzpercent\x18\x06 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\x07 \x03(\tB\x02\x18\x01\x12\x18\n\x07maxhops\x18\x08 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x42\x07\n\x05_cltvB\t\n\x07_fromidB\x0e\n\x0c_fuzzpercentB\n\n\x08_maxhops\"9\n\x10GetrouteResponse\x12%\n\x05route\x18\x01 \x03(\x0b\x32\x12.cln.GetrouteRouteB\x02\x18\x01\"\xe1\x01\n\rGetrouteRoute\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x07\x63hannel\x18\x02 \x01(\tB\x02\x18\x01\x12\x15\n\tdirection\x18\x03 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x11\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01\x12\x38\n\x05style\x18\x06 \x01(\x0e\x32%.cln.GetrouteRoute.GetrouteRouteStyleB\x02\x18\x01\"!\n\x12GetrouteRouteStyle\x12\x0b\n\x03TLV\x10\x00\x1a\x02\x08\x01\"t\n\x14ListaddressesRequest\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\n\n\x08_addressB\x08\n\x06_startB\x08\n\x06_limit\"G\n\x15ListaddressesResponse\x12.\n\taddresses\x18\x01 \x03(\x0b\x32\x1b.cln.ListaddressesAddresses\"d\n\x16ListaddressesAddresses\x12\x0e\n\x06keyidx\x18\x01 \x01(\x04\x12\x13\n\x06\x62\x65\x63h32\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb7\x03\n\x13ListforwardsRequest\x12@\n\x06status\x18\x01 \x01(\x0e\x32+.cln.ListforwardsRequest.ListforwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListforwardsRequest.ListforwardsIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListforwardsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"L\n\x12ListforwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\x0e\n\x0c_out_channelB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListforwardsResponse\x12+\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x19.cln.ListforwardsForwards\"\x9d\x06\n\x14ListforwardsForwards\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x1c\n\x07in_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x44\n\x06status\x18\x03 \x01(\x0e\x32\x34.cln.ListforwardsForwards.ListforwardsForwardsStatus\x12\x15\n\rreceived_time\x18\x04 \x01(\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12G\n\x05style\x18\t \x01(\x0e\x32\x33.cln.ListforwardsForwards.ListforwardsForwardsStyleH\x03\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x18\n\x0bout_htlc_id\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x1a\n\rresolved_time\x18\x0e \x01(\x01H\x07\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x0f \x01(\rH\x08\x88\x01\x01\x12\x17\n\nfailreason\x18\x10 \x01(\tH\t\x88\x01\x01\"T\n\x1aListforwardsForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"0\n\x19ListforwardsForwardsStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_fee_msatB\x0b\n\t_out_msatB\x08\n\x06_styleB\r\n\x0b_in_htlc_idB\x0e\n\x0c_out_htlc_idB\x10\n\x0e_updated_indexB\x10\n\x0e_resolved_timeB\x0b\n\t_failcodeB\r\n\x0b_failreason\"a\n\x11ListoffersRequest\x12\x15\n\x08offer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_offer_idB\x0e\n\x0c_active_only\";\n\x12ListoffersResponse\x12%\n\x06offers\x18\x01 \x03(\x0b\x32\x15.cln.ListoffersOffers\"\xd8\x01\n\x10ListoffersOffers\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"\x84\x03\n\x0fListpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x38\n\x06status\x18\x03 \x01(\x0e\x32#.cln.ListpaysRequest.ListpaysStatusH\x02\x88\x01\x01\x12\x36\n\x05index\x18\x04 \x01(\x0e\x32\".cln.ListpaysRequest.ListpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\")\n\rListpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"7\n\x0eListpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"3\n\x10ListpaysResponse\x12\x1f\n\x04pays\x18\x01 \x03(\x0b\x32\x11.cln.ListpaysPays\"\xdb\x05\n\x0cListpaysPays\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x34\n\x06status\x18\x02 \x01(\x0e\x32$.cln.ListpaysPays.ListpaysPaysStatus\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\ncreated_at\x18\x04 \x01(\x04\x12\x12\n\x05label\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x15\n\x08preimage\x18\r \x01(\x0cH\t\x88\x01\x01\x12\x1c\n\x0fnumber_of_parts\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1a\n\rcreated_index\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\x0c\x88\x01\x01\";\n\x12ListpaysPaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\x0f\n\r_completed_atB\x0b\n\t_preimageB\x12\n\x10_number_of_partsB\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xd6\x01\n\x10ListhtlcsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x38\n\x05index\x18\x02 \x01(\x0e\x32$.cln.ListhtlcsRequest.ListhtlcsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"*\n\x0eListhtlcsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"7\n\x11ListhtlcsResponse\x12\"\n\x05htlcs\x18\x01 \x03(\x0b\x32\x13.cln.ListhtlcsHtlcs\"\xe5\x02\n\x0eListhtlcsHtlcs\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x0e\n\x06\x65xpiry\x18\x03 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12>\n\tdirection\x18\x05 \x01(\x0e\x32+.cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x1d\n\x05state\x18\x07 \x01(\x0e\x32\x0e.cln.HtlcState\x12\x1a\n\rcreated_index\x18\x08 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x01\x88\x01\x01\"*\n\x17ListhtlcsHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xb2\x02\n\x17MultifundchannelRequest\x12\x37\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32!.cln.MultifundchannelDestinations\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\x12H\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x18\n\x0bminchannels\x18\x05 \x01(\x12H\x02\x88\x01\x01\x12-\n\x12\x63ommitment_feerate\x18\x06 \x01(\x0b\x32\x0c.cln.FeerateH\x03\x88\x01\x01\x42\n\n\x08_feerateB\n\n\x08_minconfB\x0e\n\x0c_minchannelsB\x15\n\x13_commitment_feerate\"\x97\x01\n\x18MultifundchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x34\n\x0b\x63hannel_ids\x18\x03 \x03(\x0b\x32\x1f.cln.MultifundchannelChannelIds\x12+\n\x06\x66\x61iled\x18\x04 \x03(\x0b\x32\x1b.cln.MultifundchannelFailed\"\xff\x02\n\x1cMultifundchannelDestinations\x12\n\n\x02id\x18\x01 \x01(\t\x12 \n\x06\x61mount\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12#\n\tpush_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12%\n\x0brequest_amt\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x15\n\x08mindepth\x18\x08 \x01(\rH\x05\x88\x01\x01\x12!\n\x07reserve\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x42\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xb2\x01\n\x1aMultifundchannelChannelIds\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12\x12\n\nchannel_id\x18\x03 \x01(\x0c\x12@\n\x0c\x63hannel_type\x18\x04 \x01(\x0b\x32*.cln.MultifundchannelChannelIdsChannelType\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_close_to\"Z\n%MultifundchannelChannelIdsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x93\x02\n\x16MultifundchannelFailed\x12\n\n\x02id\x18\x01 \x01(\x0c\x12H\n\x06method\x18\x02 \x01(\x0e\x32\x38.cln.MultifundchannelFailed.MultifundchannelFailedMethod\x12/\n\x05\x65rror\x18\x03 \x01(\x0b\x32 .cln.MultifundchannelFailedError\"r\n\x1cMultifundchannelFailedMethod\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x14\n\x10OPENCHANNEL_INIT\x10\x01\x12\x15\n\x11\x46UNDCHANNEL_START\x10\x02\x12\x18\n\x14\x46UNDCHANNEL_COMPLETE\x10\x03\"<\n\x1bMultifundchannelFailedError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xa8\x01\n\x14MultiwithdrawRequest\x12 \n\x07outputs\x18\x01 \x03(\x0b\x32\x0f.cln.OutputDesc\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_feerateB\n\n\x08_minconf\"1\n\x15MultiwithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xe2\x04\n\x0cOfferRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0cquantity_max\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12\x17\n\nrecurrence\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x1c\n\x0frecurrence_base\x18\x08 \x01(\tH\x06\x88\x01\x01\x12!\n\x14recurrence_paywindow\x18\t \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10recurrence_limit\x18\n \x01(\rH\x08\x88\x01\x01\x12\x17\n\nsingle_use\x18\x0b \x01(\x08H\t\x88\x01\x01\x12 \n\x13proportional_amount\x18\r \x01(\x08H\n\x88\x01\x01\x12 \n\x13optional_recurrence\x18\x0e \x01(\x08H\x0b\x88\x01\x01\x12\x16\n\x0e\x66ronting_nodes\x18\x0f \x03(\x0c\x42\x0e\n\x0c_descriptionB\t\n\x07_issuerB\x08\n\x06_labelB\x0f\n\r_quantity_maxB\x12\n\x10_absolute_expiryB\r\n\x0b_recurrenceB\x12\n\x10_recurrence_baseB\x17\n\x15_recurrence_paywindowB\x13\n\x11_recurrence_limitB\r\n\x0b_single_useB\x16\n\x14_proportional_amountB\x16\n\x14_optional_recurrence\"\xbc\x01\n\rOfferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x0f\n\x07\x63reated\x18\x06 \x01(\x08\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x01\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_force_paths\"-\n\x17OpenchannelAbortRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"X\n\x18OpenchannelAbortResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x18\n\x10\x63hannel_canceled\x18\x02 \x01(\x08\x12\x0e\n\x06reason\x18\x03 \x01(\t\"\x9e\x01\n\x16OpenchannelBumpRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12*\n\x0f\x66unding_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x12\n\x10_funding_feerate\"\xed\x01\n\x17OpenchannelBumpResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x35\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32\x1f.cln.OpenchannelBumpChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelBumpChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x9f\x03\n\x16OpenchannelInitRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12-\n\x12\x63ommitment_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12*\n\x0f\x66unding_feerate\x18\x04 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\r\x12\x1b\n\x06\x61mount\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x15\n\x13_commitment_feerateB\x12\n\x10_funding_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_lease\"\xed\x01\n\x17OpenchannelInitResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x35\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32\x1f.cln.OpenchannelInitChannelType\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelInitChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"C\n\x18OpenchannelSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"I\n\x19OpenchannelSignedResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"<\n\x18OpenchannelUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"\x95\x02\n\x19OpenchannelUpdateResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x37\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32!.cln.OpenchannelUpdateChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_outnum\x18\x05 \x01(\r\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12&\n\x19requires_confirmed_inputs\x18\x07 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_close_toB\x1c\n\x1a_requires_confirmed_inputs\"Q\n\x1cOpenchannelUpdateChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"Y\n\x0bPingRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x03len\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x16\n\tpongbytes\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x06\n\x04_lenB\x0c\n\n_pongbytes\"\x1e\n\x0cPingResponse\x12\x0e\n\x06totlen\x18\x01 \x01(\r\"\x91\x01\n\rPluginRequest\x12)\n\nsubcommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12\x13\n\x06plugin\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tdirectory\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07options\x18\x04 \x03(\tB\t\n\x07_pluginB\x0c\n\n_directory\"}\n\x0ePluginResponse\x12&\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12#\n\x07plugins\x18\x02 \x03(\x0b\x32\x12.cln.PluginPlugins\x12\x13\n\x06result\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_result\">\n\rPluginPlugins\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x03 \x01(\x08\"@\n\x14RenepaystatusRequest\x12\x1a\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x42\x0c\n\n_invstring\"K\n\x15RenepaystatusResponse\x12\x32\n\tpaystatus\x18\x01 \x03(\x0b\x32\x1b.cln.RenepaystatusPaystatusB\x02\x18\x01\"\x9a\x04\n\x16RenepaystatusPaystatus\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12!\n\x10payment_preimage\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x13\n\x07groupid\x18\x05 \x01(\rB\x02\x18\x01\x12\x16\n\x05parts\x18\x06 \x01(\rB\x02\x18\x01H\x01\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12.\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x02\x88\x01\x01\x12L\n\x06status\x18\t \x01(\x0e\x32\x38.cln.RenepaystatusPaystatus.RenepaystatusPaystatusStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\n \x01(\x0c\x42\x02\x18\x01H\x03\x88\x01\x01\x12\x11\n\x05notes\x18\x0b \x03(\tB\x02\x18\x01\"Q\n\x1cRenepaystatusPaystatusStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x13\n\x11_payment_preimageB\x08\n\x06_partsB\x13\n\x11_amount_sent_msatB\x0e\n\x0c_destination\"\xfe\x02\n\x0eRenepayRequest\x12\x15\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01\x12)\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12$\n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x01\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x04 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x16\n\x05label\x18\x07 \x01(\tB\x02\x18\x01H\x05\x88\x01\x01\x12\x1f\n\x0e\x64\x65v_use_shadow\x18\x08 \x01(\x08\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\t \x03(\tB\x02\x18\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0b\n\t_maxdelayB\x0c\n\n_retry_forB\x0e\n\x0c_descriptionB\x08\n\x06_labelB\x11\n\x0f_dev_use_shadow\"\xdd\x03\n\x0fRenepayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x18\n\x0cpayment_hash\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x03 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x04 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x36\n\x06status\x18\x07 \x01(\x0e\x32\".cln.RenepayResponse.RenepayStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\t \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\n \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x18\n\x07groupid\x18\x0b \x01(\x04\x42\x02\x18\x01H\x03\x88\x01\x01\"B\n\rRenepayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\t\n\x07_bolt11B\t\n\x07_bolt12B\n\n\x08_groupid\"l\n\x14ReserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\texclusive\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x0c\n\n_exclusiveB\n\n\x08_reserve\"M\n\x15ReserveinputsResponse\x12\x34\n\x0creservations\x18\x01 \x03(\x0b\x32\x1e.cln.ReserveinputsReservations\"z\n\x19ReserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"4\n\x14SendcustommsgRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"\'\n\x15SendcustommsgResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\"\xb0\x01\n\x12SendinvoiceRequest\x12\x0e\n\x06invreq\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08quantity\x18\x05 \x01(\x04H\x02\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\n\n\x08_timeoutB\x0b\n\t_quantity\"\xb8\x04\n\x13SendinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.SendinvoiceResponse.SendinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x15\n\rcreated_index\x18\x08 \x01(\x04\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x16\n\tpay_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\"6\n\x11SendinvoiceStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_amount_msatB\t\n\x07_bolt12B\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\xaa\x02\n\x11SetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07\x66\x65\x65\x62\x61se\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x66\x65\x65ppm\x18\x03 \x01(\rH\x01\x88\x01\x01\x12!\n\x07htlcmin\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12!\n\x07htlcmax\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x19\n\x0c\x65nforcedelay\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fignorefeelimits\x18\x07 \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_feebaseB\t\n\x07_feeppmB\n\n\x08_htlcminB\n\n\x08_htlcmaxB\x0f\n\r_enforcedelayB\x12\n\x10_ignorefeelimits\"?\n\x12SetchannelResponse\x12)\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x17.cln.SetchannelChannels\"\xaf\x03\n\x12SetchannelChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\x12*\n\x15minimum_htlc_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x17warning_htlcmin_too_low\x18\x07 \x01(\tH\x01\x88\x01\x01\x12*\n\x15maximum_htlc_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x18warning_htlcmax_too_high\x18\t \x01(\tH\x02\x88\x01\x01\x12\x19\n\x11ignore_fee_limits\x18\n \x01(\x08\x42\x13\n\x11_short_channel_idB\x1a\n\x18_warning_htlcmin_too_lowB\x1b\n\x19_warning_htlcmax_too_high\"b\n\x10SetconfigRequest\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x10\n\x03val\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttransient\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04_valB\x0c\n\n_transient\"9\n\x11SetconfigResponse\x12$\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x14.cln.SetconfigConfig\"\xda\x02\n\x0fSetconfigConfig\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07\x64ynamic\x18\x04 \x01(\x08\x12\x10\n\x03set\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\tvalue_str\x18\x06 \x01(\tH\x03\x88\x01\x01\x12$\n\nvalue_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x16\n\tvalue_int\x18\x08 \x01(\x12H\x05\x88\x01\x01\x12\x17\n\nvalue_bool\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x0f\n\x07sources\x18\n \x03(\t\x12\x12\n\nvalues_str\x18\x0b \x03(\tB\t\n\x07_sourceB\t\n\x07_pluginB\x06\n\x04_setB\x0c\n\n_value_strB\r\n\x0b_value_msatB\x0c\n\n_value_intB\r\n\x0b_value_bool\"6\n\x15SetpsbtversionRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\r\"&\n\x16SetpsbtversionResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"\'\n\x12SigninvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\"%\n\x13SigninvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"%\n\x12SignmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\"F\n\x13SignmessageResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\r\n\x05recid\x18\x02 \x01(\x0c\x12\r\n\x05zbase\x18\x03 \x01(\t\"\xc8\x01\n\x11SpliceInitRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x17\n\x0frelative_amount\x18\x02 \x01(\x12\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x65\x65rate_per_kw\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\x0e\n\x0c_initialpsbtB\x11\n\x0f_feerate_per_kwB\x10\n\x0e_force_feerate\"\"\n\x12SpliceInitResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"_\n\x13SpliceSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x17\n\nsign_first\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_sign_first\"^\n\x14SpliceSignedResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x13\n\x06outnum\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04psbt\x18\x04 \x01(\tB\t\n\x07_outnum\"7\n\x13SpliceUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"y\n\x14SpliceUpdateResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\x12\x1f\n\x12signatures_secured\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x15\n\x13_signatures_secured\"2\n\x0fSpliceinRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\"b\n\x10SpliceinResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\x8b\x01\n\x10SpliceoutRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_destinationB\x10\n\x0e_force_feerate\"c\n\x11SpliceoutResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\xc6\x01\n\x10\x44\x65vspliceRequest\x12\x16\n\x0escript_or_json\x18\x01 \x01(\t\x12\x13\n\x06\x64ryrun\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tdebug_log\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x17\n\ndev_wetrun\x18\x05 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_dryrunB\x10\n\x0e_force_feerateB\x0c\n\n_debug_logB\r\n\x0b_dev_wetrun\"\x80\x01\n\x11\x44\x65vspliceResponse\x12\x0e\n\x06\x64ryrun\x18\x01 \x03(\t\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03log\x18\x05 \x03(\tB\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"H\n\x16UnreserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\"Q\n\x17UnreserveinputsResponse\x12\x36\n\x0creservations\x18\x01 \x03(\x0b\x32 .cln.UnreserveinputsReservations\"\x97\x01\n\x1bUnreserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\x05 \x01(\rH\x00\x88\x01\x01\x42\x14\n\x12_reserved_to_block\"n\n\x14UpgradewalletRequest\x12\"\n\x07\x66\x65\x65rate\x18\x01 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x17\n\nreservedok\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_feerateB\r\n\x0b_reservedok\"~\n\x15UpgradewalletResponse\x12\x15\n\rupgraded_outs\x18\x01 \x01(\x04\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"O\n\x16WaitblockheightRequest\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\x12\x14\n\x07timeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\".\n\x17WaitblockheightResponse\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\"\xb9\x02\n\x0bWaitRequest\x12\x31\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitSubsystem\x12\x31\n\tindexname\x18\x02 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitIndexname\x12\x11\n\tnextvalue\x18\x03 \x01(\x04\"6\n\rWaitIndexname\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\"\xf4\x05\n\x0cWaitResponse\x12\x32\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1f.cln.WaitResponse.WaitSubsystem\x12\x14\n\x07\x63reated\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07updated\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07\x64\x65leted\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12*\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x10.cln.WaitDetailsB\x02\x18\x01H\x03\x88\x01\x01\x12(\n\x08\x66orwards\x18\x06 \x01(\x0b\x32\x11.cln.WaitForwardsH\x04\x88\x01\x01\x12(\n\x08invoices\x18\x07 \x01(\x0b\x32\x11.cln.WaitInvoicesH\x05\x88\x01\x01\x12(\n\x08sendpays\x18\x08 \x01(\x0b\x32\x11.cln.WaitSendpaysH\x06\x88\x01\x01\x12\"\n\x05htlcs\x18\t \x01(\x0b\x32\x0e.cln.WaitHtlcsH\x07\x88\x01\x01\x12,\n\nchainmoves\x18\n \x01(\x0b\x32\x13.cln.WaitChainmovesH\x08\x88\x01\x01\x12\x30\n\x0c\x63hannelmoves\x18\x0b \x01(\x0b\x32\x15.cln.WaitChannelmovesH\t\x88\x01\x01\x12\x32\n\rnetworkevents\x18\x0c \x01(\x0b\x32\x16.cln.WaitNetworkeventsH\n\x88\x01\x01\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\x42\n\n\x08_createdB\n\n\x08_updatedB\n\n\x08_deletedB\n\n\x08_detailsB\x0b\n\t_forwardsB\x0b\n\t_invoicesB\x0b\n\t_sendpaysB\x08\n\x06_htlcsB\r\n\x0b_chainmovesB\x0f\n\r_channelmovesB\x10\n\x0e_networkevents\"d\n\x0eWaitChainmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"f\n\x10WaitChannelmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\xd0\x05\n\x0bWaitDetails\x12;\n\x06status\x18\x01 \x01(\x0e\x32\".cln.WaitDetails.WaitDetailsStatusB\x02\x18\x01H\x00\x88\x01\x01\x12\x16\n\x05label\x18\x02 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\x04 \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\x05 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x17\n\x06partid\x18\x06 \x01(\x04\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x18\n\x07groupid\x18\x07 \x01(\x04\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x1d\n\x0cpayment_hash\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x07\x88\x01\x01\x12\x1b\n\nin_channel\x18\t \x01(\tB\x02\x18\x01H\x08\x88\x01\x01\x12\x1b\n\nin_htlc_id\x18\n \x01(\x04\x42\x02\x18\x01H\t\x88\x01\x01\x12%\n\x07in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x12\x1c\n\x0bout_channel\x18\x0c \x01(\tB\x02\x18\x01H\x0b\x88\x01\x01\"\xad\x01\n\x11WaitDetailsStatus\x12\x0e\n\x06UNPAID\x10\x00\x1a\x02\x08\x01\x12\x0c\n\x04PAID\x10\x01\x1a\x02\x08\x01\x12\x0f\n\x07\x45XPIRED\x10\x02\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x03\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x04\x1a\x02\x08\x01\x12\x10\n\x08\x43OMPLETE\x10\x05\x1a\x02\x08\x01\x12\x0f\n\x07OFFERED\x10\x06\x1a\x02\x08\x01\x12\x0f\n\x07SETTLED\x10\x07\x1a\x02\x08\x01\x12\x14\n\x0cLOCAL_FAILED\x10\x08\x1a\x02\x08\x01\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12B\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hashB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\xcb\x02\n\x0cWaitForwards\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitForwards.WaitForwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12!\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x04\x88\x01\x01\"L\n\x12WaitForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x10\n\x0cLOCAL_FAILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\x8c\x03\n\tWaitHtlcs\x12\"\n\x05state\x18\x01 \x01(\x0e\x32\x0e.cln.HtlcStateH\x00\x88\x01\x01\x12\x14\n\x07htlc_id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x63ltv_expiry\x18\x04 \x01(\rH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x39\n\tdirection\x18\x06 \x01(\x0e\x32!.cln.WaitHtlcs.WaitHtlcsDirectionH\x05\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x06\x88\x01\x01\"%\n\x12WaitHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x08\n\x06_stateB\n\n\x08_htlc_idB\x13\n\x11_short_channel_idB\x0e\n\x0c_cltv_expiryB\x0e\n\x0c_amount_msatB\x0c\n\n_directionB\x0f\n\r_payment_hash\"\x95\x02\n\x0cWaitInvoices\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitInvoices.WaitInvoicesStatusH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x05 \x01(\tH\x04\x88\x01\x01\"7\n\x12WaitInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12\"\x89\x02\n\x11WaitNetworkevents\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x44\n\titem_type\x18\x02 \x01(\x0e\x32,.cln.WaitNetworkevents.WaitNetworkeventsTypeH\x01\x88\x01\x01\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\"P\n\x15WaitNetworkeventsType\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x10\n\x0c\x43ONNECT_FAIL\x10\x01\x12\x08\n\x04PING\x10\x02\x12\x0e\n\nDISCONNECT\x10\x03\x42\x10\n\x0e_created_indexB\x0c\n\n_item_typeB\n\n\x08_peer_id\"\xff\x01\n\x0cWaitSendpays\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitSendpays.WaitSendpaysStatusH\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x04 \x01(\x0cH\x03\x88\x01\x01\";\n\x12WaitSendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_statusB\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hash\"4\n\x12ListconfigsRequest\x12\x13\n\x06\x63onfig\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_config\"P\n\x13ListconfigsResponse\x12-\n\x07\x63onfigs\x18\x01 \x01(\x0b\x32\x17.cln.ListconfigsConfigsH\x00\x88\x01\x01\x42\n\n\x08_configs\"\xf9.\n\x12ListconfigsConfigs\x12.\n\x04\x63onf\x18\x01 \x01(\x0b\x32\x1b.cln.ListconfigsConfigsConfH\x00\x88\x01\x01\x12\x38\n\tdeveloper\x18\x02 \x01(\x0b\x32 .cln.ListconfigsConfigsDeveloperH\x01\x88\x01\x01\x12?\n\rclear_plugins\x18\x03 \x01(\x0b\x32#.cln.ListconfigsConfigsClearpluginsH\x02\x88\x01\x01\x12;\n\x0b\x64isable_mpp\x18\x04 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablemppH\x03\x88\x01\x01\x12\x34\n\x07mainnet\x18\x05 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsMainnetH\x04\x88\x01\x01\x12\x34\n\x07regtest\x18\x06 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRegtestH\x05\x88\x01\x01\x12\x32\n\x06signet\x18\x07 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsSignetH\x06\x88\x01\x01\x12\x34\n\x07testnet\x18\x08 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsTestnetH\x07\x88\x01\x01\x12\x45\n\x10important_plugin\x18\t \x01(\x0b\x32&.cln.ListconfigsConfigsImportantpluginH\x08\x88\x01\x01\x12\x32\n\x06plugin\x18\n \x01(\x0b\x32\x1d.cln.ListconfigsConfigsPluginH\t\x88\x01\x01\x12\x39\n\nplugin_dir\x18\x0b \x01(\x0b\x32 .cln.ListconfigsConfigsPlugindirH\n\x88\x01\x01\x12?\n\rlightning_dir\x18\x0c \x01(\x0b\x32#.cln.ListconfigsConfigsLightningdirH\x0b\x88\x01\x01\x12\x34\n\x07network\x18\r \x01(\x0b\x32\x1e.cln.ListconfigsConfigsNetworkH\x0c\x88\x01\x01\x12N\n\x15\x61llow_deprecated_apis\x18\x0e \x01(\x0b\x32*.cln.ListconfigsConfigsAllowdeprecatedapisH\r\x88\x01\x01\x12\x35\n\x08rpc_file\x18\x0f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRpcfileH\x0e\x88\x01\x01\x12\x41\n\x0e\x64isable_plugin\x18\x10 \x01(\x0b\x32$.cln.ListconfigsConfigsDisablepluginH\x0f\x88\x01\x01\x12\x44\n\x10\x61lways_use_proxy\x18\x11 \x01(\x0b\x32%.cln.ListconfigsConfigsAlwaysuseproxyH\x10\x88\x01\x01\x12\x32\n\x06\x64\x61\x65mon\x18\x12 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsDaemonH\x11\x88\x01\x01\x12\x32\n\x06wallet\x18\x13 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsWalletH\x12\x88\x01\x01\x12\x41\n\x0elarge_channels\x18\x14 \x01(\x0b\x32$.cln.ListconfigsConfigsLargechannelsH\x13\x88\x01\x01\x12P\n\x16\x65xperimental_dual_fund\x18\x15 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentaldualfundH\x14\x88\x01\x01\x12S\n\x15\x65xperimental_splicing\x18\x16 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentalsplicingB\x02\x18\x01H\x15\x88\x01\x01\x12i\n#experimental_shutdown_wrong_funding\x18\x19 \x01(\x0b\x32\x37.cln.ListconfigsConfigsExperimentalshutdownwrongfundingH\x16\x88\x01\x01\x12V\n\x19\x65xperimental_peer_storage\x18\x1a \x01(\x0b\x32..cln.ListconfigsConfigsExperimentalpeerstorageH\x17\x88\x01\x01\x12M\n\x14\x65xperimental_anchors\x18\x1b \x01(\x0b\x32*.cln.ListconfigsConfigsExperimentalanchorsH\x18\x88\x01\x01\x12\x45\n\x10\x64\x61tabase_upgrade\x18\x1c \x01(\x0b\x32&.cln.ListconfigsConfigsDatabaseupgradeH\x19\x88\x01\x01\x12,\n\x03rgb\x18\x1d \x01(\x0b\x32\x1a.cln.ListconfigsConfigsRgbH\x1a\x88\x01\x01\x12\x30\n\x05\x61lias\x18\x1e \x01(\x0b\x32\x1c.cln.ListconfigsConfigsAliasH\x1b\x88\x01\x01\x12\x35\n\x08pid_file\x18\x1f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsPidfileH\x1c\x88\x01\x01\x12\x46\n\x11ignore_fee_limits\x18 \x01(\x0b\x32&.cln.ListconfigsConfigsIgnorefeelimitsH\x1d\x88\x01\x01\x12\x45\n\x10watchtime_blocks\x18! \x01(\x0b\x32&.cln.ListconfigsConfigsWatchtimeblocksH\x1e\x88\x01\x01\x12\x45\n\x10\x66unding_confirms\x18# \x01(\x0b\x32&.cln.ListconfigsConfigsFundingconfirmsH\x1f\x88\x01\x01\x12\x39\n\ncltv_delta\x18$ \x01(\x0b\x32 .cln.ListconfigsConfigsCltvdeltaH \x88\x01\x01\x12\x39\n\ncltv_final\x18% \x01(\x0b\x32 .cln.ListconfigsConfigsCltvfinalH!\x88\x01\x01\x12;\n\x0b\x63ommit_time\x18& \x01(\x0b\x32!.cln.ListconfigsConfigsCommittimeH\"\x88\x01\x01\x12\x35\n\x08\x66\x65\x65_base\x18\' \x01(\x0b\x32\x1e.cln.ListconfigsConfigsFeebaseH#\x88\x01\x01\x12\x32\n\x06rescan\x18( \x01(\x0b\x32\x1d.cln.ListconfigsConfigsRescanH$\x88\x01\x01\x12\x42\n\x0f\x66\x65\x65_per_satoshi\x18) \x01(\x0b\x32$.cln.ListconfigsConfigsFeepersatoshiH%\x88\x01\x01\x12L\n\x14max_concurrent_htlcs\x18* \x01(\x0b\x32).cln.ListconfigsConfigsMaxconcurrenthtlcsH&\x88\x01\x01\x12\x46\n\x11htlc_minimum_msat\x18+ \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcminimummsatH\'\x88\x01\x01\x12\x46\n\x11htlc_maximum_msat\x18, \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcmaximummsatH(\x88\x01\x01\x12X\n\x1bmax_dust_htlc_exposure_msat\x18- \x01(\x0b\x32..cln.ListconfigsConfigsMaxdusthtlcexposuremsatH)\x88\x01\x01\x12\x44\n\x10min_capacity_sat\x18. \x01(\x0b\x32%.cln.ListconfigsConfigsMincapacitysatH*\x88\x01\x01\x12.\n\x04\x61\x64\x64r\x18/ \x01(\x0b\x32\x1b.cln.ListconfigsConfigsAddrH+\x88\x01\x01\x12?\n\rannounce_addr\x18\x30 \x01(\x0b\x32#.cln.ListconfigsConfigsAnnounceaddrH,\x88\x01\x01\x12\x37\n\tbind_addr\x18\x31 \x01(\x0b\x32\x1f.cln.ListconfigsConfigsBindaddrH-\x88\x01\x01\x12\x34\n\x07offline\x18\x32 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsOfflineH.\x88\x01\x01\x12:\n\nautolisten\x18\x33 \x01(\x0b\x32!.cln.ListconfigsConfigsAutolistenH/\x88\x01\x01\x12\x30\n\x05proxy\x18\x34 \x01(\x0b\x32\x1c.cln.ListconfigsConfigsProxyH0\x88\x01\x01\x12;\n\x0b\x64isable_dns\x18\x35 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablednsH1\x88\x01\x01\x12T\n\x18\x61nnounce_addr_discovered\x18\x36 \x01(\x0b\x32-.cln.ListconfigsConfigsAnnounceaddrdiscoveredH2\x88\x01\x01\x12]\n\x1d\x61nnounce_addr_discovered_port\x18\x37 \x01(\x0b\x32\x31.cln.ListconfigsConfigsAnnounceaddrdiscoveredportH3\x88\x01\x01\x12?\n\rencrypted_hsm\x18\x38 \x01(\x0b\x32#.cln.ListconfigsConfigsEncryptedhsmH4\x88\x01\x01\x12>\n\rrpc_file_mode\x18\x39 \x01(\x0b\x32\".cln.ListconfigsConfigsRpcfilemodeH5\x88\x01\x01\x12\x37\n\tlog_level\x18: \x01(\x0b\x32\x1f.cln.ListconfigsConfigsLoglevelH6\x88\x01\x01\x12\x39\n\nlog_prefix\x18; \x01(\x0b\x32 .cln.ListconfigsConfigsLogprefixH7\x88\x01\x01\x12\x35\n\x08log_file\x18< \x01(\x0b\x32\x1e.cln.ListconfigsConfigsLogfileH8\x88\x01\x01\x12\x41\n\x0elog_timestamps\x18= \x01(\x0b\x32$.cln.ListconfigsConfigsLogtimestampsH9\x88\x01\x01\x12\x41\n\x0e\x66orce_feerates\x18> \x01(\x0b\x32$.cln.ListconfigsConfigsForcefeeratesH:\x88\x01\x01\x12\x38\n\tsubdaemon\x18? \x01(\x0b\x32 .cln.ListconfigsConfigsSubdaemonH;\x88\x01\x01\x12Q\n\x16\x66\x65tchinvoice_noconnect\x18@ \x01(\x0b\x32,.cln.ListconfigsConfigsFetchinvoicenoconnectH<\x88\x01\x01\x12L\n\x14tor_service_password\x18\x42 \x01(\x0b\x32).cln.ListconfigsConfigsTorservicepasswordH=\x88\x01\x01\x12\x46\n\x11\x61nnounce_addr_dns\x18\x43 \x01(\x0b\x32&.cln.ListconfigsConfigsAnnounceaddrdnsH>\x88\x01\x01\x12T\n\x18require_confirmed_inputs\x18\x44 \x01(\x0b\x32-.cln.ListconfigsConfigsRequireconfirmedinputsH?\x88\x01\x01\x12\x39\n\ncommit_fee\x18\x45 \x01(\x0b\x32 .cln.ListconfigsConfigsCommitfeeH@\x88\x01\x01\x12N\n\x15\x63ommit_feerate_offset\x18\x46 \x01(\x0b\x32*.cln.ListconfigsConfigsCommitfeerateoffsetHA\x88\x01\x01\x12T\n\x18\x61utoconnect_seeker_peers\x18G \x01(\x0b\x32-.cln.ListconfigsConfigsAutoconnectseekerpeersHB\x88\x01\x01\x12R\n\x17\x63urrencyrate_add_source\x18J \x01(\x0b\x32,.cln.ListconfigsConfigsCurrencyrateaddsourceHC\x88\x01\x01\x12Z\n\x1b\x63urrencyrate_disable_source\x18K \x01(\x0b\x32\x30.cln.ListconfigsConfigsCurrencyratedisablesourceHD\x88\x01\x01\x12K\n\x13independent_secrets\x18L \x01(\x0b\x32).cln.ListconfigsConfigsIndependentsecretsHE\x88\x01\x01\x42\x07\n\x05_confB\x0c\n\n_developerB\x10\n\x0e_clear_pluginsB\x0e\n\x0c_disable_mppB\n\n\x08_mainnetB\n\n\x08_regtestB\t\n\x07_signetB\n\n\x08_testnetB\x13\n\x11_important_pluginB\t\n\x07_pluginB\r\n\x0b_plugin_dirB\x10\n\x0e_lightning_dirB\n\n\x08_networkB\x18\n\x16_allow_deprecated_apisB\x0b\n\t_rpc_fileB\x11\n\x0f_disable_pluginB\x13\n\x11_always_use_proxyB\t\n\x07_daemonB\t\n\x07_walletB\x11\n\x0f_large_channelsB\x19\n\x17_experimental_dual_fundB\x18\n\x16_experimental_splicingB&\n$_experimental_shutdown_wrong_fundingB\x1c\n\x1a_experimental_peer_storageB\x17\n\x15_experimental_anchorsB\x13\n\x11_database_upgradeB\x06\n\x04_rgbB\x08\n\x06_aliasB\x0b\n\t_pid_fileB\x14\n\x12_ignore_fee_limitsB\x13\n\x11_watchtime_blocksB\x13\n\x11_funding_confirmsB\r\n\x0b_cltv_deltaB\r\n\x0b_cltv_finalB\x0e\n\x0c_commit_timeB\x0b\n\t_fee_baseB\t\n\x07_rescanB\x12\n\x10_fee_per_satoshiB\x17\n\x15_max_concurrent_htlcsB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x1e\n\x1c_max_dust_htlc_exposure_msatB\x13\n\x11_min_capacity_satB\x07\n\x05_addrB\x10\n\x0e_announce_addrB\x0c\n\n_bind_addrB\n\n\x08_offlineB\r\n\x0b_autolistenB\x08\n\x06_proxyB\x0e\n\x0c_disable_dnsB\x1b\n\x19_announce_addr_discoveredB \n\x1e_announce_addr_discovered_portB\x10\n\x0e_encrypted_hsmB\x10\n\x0e_rpc_file_modeB\x0c\n\n_log_levelB\r\n\x0b_log_prefixB\x0b\n\t_log_fileB\x11\n\x0f_log_timestampsB\x11\n\x0f_force_feeratesB\x0c\n\n_subdaemonB\x19\n\x17_fetchinvoice_noconnectB\x17\n\x15_tor_service_passwordB\x14\n\x12_announce_addr_dnsB\x1b\n\x19_require_confirmed_inputsB\r\n\x0b_commit_feeB\x18\n\x16_commit_feerate_offsetB\x1b\n\x19_autoconnect_seeker_peersB\x1a\n\x18_currencyrate_add_sourceB\x1e\n\x1c_currencyrate_disable_sourceB\x16\n\x14_independent_secrets\"=\n\x16ListconfigsConfigsAddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsAlias\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"K\n%ListconfigsConfigsAllowdeprecatedapis\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n ListconfigsConfigsAlwaysuseproxy\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1eListconfigsConfigsAnnounceaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"\x80\x02\n(ListconfigsConfigsAnnounceaddrdiscovered\x12q\n\tvalue_str\x18\x01 \x01(\x0e\x32^.cln.ListconfigsConfigsAnnounceaddrdiscovered.ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n0ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x08\n\x04TRUE\x10\x00\x12\t\n\x05\x46\x41LSE\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\"Q\n,ListconfigsConfigsAnnounceaddrdiscoveredport\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsAnnounceaddrdns\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n(ListconfigsConfigsAutoconnectseekerpeers\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1cListconfigsConfigsAutolisten\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1aListconfigsConfigsBindaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsClearplugins\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvdelta\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvfinal\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCommitfee\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\"J\n%ListconfigsConfigsCommitfeerateoffset\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1cListconfigsConfigsCommittime\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\xa2\x01\n\x16ListconfigsConfigsConf\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12H\n\x06source\x18\x02 \x01(\x0e\x32\x38.cln.ListconfigsConfigsConf.ListconfigsConfigsConfSource\"+\n\x1cListconfigsConfigsConfSource\x12\x0b\n\x07\x43MDLINE\x10\x00\"n\n\'ListconfigsConfigsCurrencyrateaddsource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"r\n+ListconfigsConfigsCurrencyratedisablesource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"7\n\x18ListconfigsConfigsDaemon\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsDatabaseupgrade\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x1bListconfigsConfigsDeveloper\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\";\n\x1cListconfigsConfigsDisabledns\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"[\n\x1cListconfigsConfigsDisablempp\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"F\n\x1fListconfigsConfigsDisableplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsEncryptedhsm\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n%ListconfigsConfigsExperimentalanchors\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n&ListconfigsConfigsExperimentaldualfund\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n)ListconfigsConfigsExperimentalpeerstorage\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n2ListconfigsConfigsExperimentalshutdownwrongfunding\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n&ListconfigsConfigsExperimentalsplicing\x12\x0f\n\x03set\x18\x01 \x01(\x08\x42\x02\x18\x01\x12\x12\n\x06source\x18\x02 \x01(\tB\x02\x18\x01\">\n\x19ListconfigsConfigsFeebase\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n\x1fListconfigsConfigsFeepersatoshi\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"f\n\'ListconfigsConfigsFetchinvoicenoconnect\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"D\n\x1fListconfigsConfigsForcefeerates\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsFundingconfirms\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcmaximummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcminimummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsIgnorefeelimits\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n!ListconfigsConfigsImportantplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"C\n$ListconfigsConfigsIndependentsecrets\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x1fListconfigsConfigsLargechannels\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"C\n\x1eListconfigsConfigsLightningdir\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x19ListconfigsConfigsLogfile\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"?\n\x1aListconfigsConfigsLoglevel\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsLogprefix\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1fListconfigsConfigsLogtimestamps\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsMainnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsMaxconcurrenthtlcs\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\\\n)ListconfigsConfigsMaxdusthtlcexposuremsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"g\n ListconfigsConfigsMincapacitysat\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x14\n\x07\x64ynamic\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\n\n\x08_dynamic\">\n\x19ListconfigsConfigsNetwork\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsOffline\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsPidfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"?\n\x18ListconfigsConfigsPlugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"B\n\x1bListconfigsConfigsPlugindir\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsProxy\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsRegtest\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"N\n(ListconfigsConfigsRequireconfirmedinputs\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsRescan\x12\x11\n\tvalue_int\x18\x01 \x01(\x12\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x15ListconfigsConfigsRgb\x12\x11\n\tvalue_str\x18\x01 \x01(\x0c\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsRpcfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1dListconfigsConfigsRpcfilemode\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"7\n\x18ListconfigsConfigsSignet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1bListconfigsConfigsSubdaemon\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"8\n\x19ListconfigsConfigsTestnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsTorservicepassword\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsWallet\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsWatchtimeblocks\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\r\n\x0bStopRequest\"a\n\x0cStopResponse\x12,\n\x06result\x18\x01 \x01(\x0e\x32\x1c.cln.StopResponse.StopResult\"#\n\nStopResult\x12\x15\n\x11SHUTDOWN_COMPLETE\x10\x00\"/\n\x0bHelpRequest\x12\x14\n\x07\x63ommand\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_command\"\x95\x01\n\x0cHelpResponse\x12\x1b\n\x04help\x18\x01 \x03(\x0b\x32\r.cln.HelpHelp\x12:\n\x0b\x66ormat_hint\x18\x02 \x01(\x0e\x32 .cln.HelpResponse.HelpFormathintH\x00\x88\x01\x01\"\x1c\n\x0eHelpFormathint\x12\n\n\x06SIMPLE\x10\x00\x42\x0e\n\x0c_format_hint\"\x1b\n\x08HelpHelp\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\"g\n\x18PreapprovekeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\x1b\n\x19PreapprovekeysendResponse\"*\n\x18PreapproveinvoiceRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"\x1b\n\x19PreapproveinvoiceResponse\"\x15\n\x13StaticbackupRequest\"#\n\x14StaticbackupResponse\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"d\n\x16\x42kprchannelsapyRequest\x12\x17\n\nstart_time\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x17\x42kprchannelsapyResponse\x12\x35\n\x0c\x63hannels_apy\x18\x01 \x03(\x0b\x32\x1f.cln.BkprchannelsapyChannelsApy\"\xf9\x06\n\x1a\x42kprchannelsapyChannelsApy\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12$\n\x0frouted_out_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0erouted_in_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12(\n\x13lease_fee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12*\n\x15lease_fee_earned_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x0fpushed_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0epushed_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16our_start_balance_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12/\n\x1a\x63hannel_start_balance_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\rfees_out_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x0c\x66\x65\x65s_in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x17\n\x0futilization_out\x18\x0c \x01(\t\x12$\n\x17utilization_out_initial\x18\r \x01(\tH\x01\x88\x01\x01\x12\x16\n\x0eutilization_in\x18\x0e \x01(\t\x12#\n\x16utilization_in_initial\x18\x0f \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x07\x61py_out\x18\x10 \x01(\t\x12\x1c\n\x0f\x61py_out_initial\x18\x11 \x01(\tH\x03\x88\x01\x01\x12\x0e\n\x06\x61py_in\x18\x12 \x01(\t\x12\x1b\n\x0e\x61py_in_initial\x18\x13 \x01(\tH\x04\x88\x01\x01\x12\x11\n\tapy_total\x18\x14 \x01(\t\x12\x1e\n\x11\x61py_total_initial\x18\x15 \x01(\tH\x05\x88\x01\x01\x12\x16\n\tapy_lease\x18\x16 \x01(\tH\x06\x88\x01\x01\x42\x0f\n\r_fees_in_msatB\x1a\n\x18_utilization_out_initialB\x19\n\x17_utilization_in_initialB\x12\n\x10_apy_out_initialB\x11\n\x0f_apy_in_initialB\x14\n\x12_apy_total_initialB\x0c\n\n_apy_lease\"\xd2\x01\n\x18\x42kprdumpincomecsvRequest\x12\x12\n\ncsv_format\x18\x01 \x01(\t\x12\x15\n\x08\x63sv_file\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x63onsolidate_fees\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\x04H\x03\x88\x01\x01\x42\x0b\n\t_csv_fileB\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"\xd4\x01\n\x19\x42kprdumpincomecsvResponse\x12\x10\n\x08\x63sv_file\x18\x01 \x01(\t\x12M\n\ncsv_format\x18\x02 \x01(\x0e\x32\x39.cln.BkprdumpincomecsvResponse.BkprdumpincomecsvCsvFormat\"V\n\x1a\x42kprdumpincomecsvCsvFormat\x12\x0f\n\x0b\x43OINTRACKER\x10\x00\x12\n\n\x06KOINLY\x10\x01\x12\x0b\n\x07HARMONY\x10\x02\x12\x0e\n\nQUICKBOOKS\x10\x03\"%\n\x12\x42kprinspectRequest\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\"7\n\x13\x42kprinspectResponse\x12 \n\x03txs\x18\x01 \x03(\x0b\x32\x13.cln.BkprinspectTxs\"\x9a\x01\n\x0e\x42kprinspectTxs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x18\n\x0b\x62lockheight\x18\x02 \x01(\rH\x00\x88\x01\x01\x12#\n\x0e\x66\x65\x65s_paid_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x07outputs\x18\x04 \x03(\x0b\x32\x1a.cln.BkprinspectTxsOutputsB\x0e\n\x0c_blockheight\"\xbc\x03\n\x15\x42kprinspectTxsOutputs\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12&\n\x11output_value_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12%\n\x0b\x63redit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12$\n\ndebit_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12 \n\x13originating_account\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x17\n\noutput_tag\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tspend_tag\x18\t \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x42\x0e\n\x0c_credit_msatB\r\n\x0b_debit_msatB\x16\n\x14_originating_accountB\r\n\x0b_output_tagB\x0c\n\n_spend_tagB\x10\n\x0e_spending_txidB\r\n\x0b_payment_id\"h\n\x1c\x42kprlistaccounteventsRequest\x12\x14\n\x07\x61\x63\x63ount\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\npayment_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_accountB\r\n\x0b_payment_id\"Q\n\x1d\x42kprlistaccounteventsResponse\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .cln.BkprlistaccounteventsEvents\"\xcd\x05\n\x1b\x42kprlistaccounteventsEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12S\n\titem_type\x18\x02 \x01(\x0e\x32@.cln.BkprlistaccounteventsEvents.BkprlistaccounteventsEventsType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\t \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\n \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\x0c \x01(\x0cH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x05\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x07\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x08\x88\x01\x01\x12\x19\n\x0c\x63urrencyrate\x18\x11 \x01(\x01H\t\x88\x01\x01\"J\n\x1f\x42kprlistaccounteventsEventsType\x12\x0f\n\x0bONCHAIN_FEE\x10\x00\x12\t\n\x05\x43HAIN\x10\x01\x12\x0b\n\x07\x43HANNEL\x10\x02\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0e\n\x0c_descriptionB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_idB\x0f\n\r_currencyrate\"\x19\n\x17\x42kprlistbalancesRequest\"K\n\x18\x42kprlistbalancesResponse\x12/\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1d.cln.BkprlistbalancesAccounts\"\xc6\x02\n\x18\x42kprlistbalancesAccounts\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x37\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32%.cln.BkprlistbalancesAccountsBalances\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x16\n\twe_opened\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x61\x63\x63ount_closed\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x1d\n\x10\x61\x63\x63ount_resolved\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x1e\n\x11resolved_at_block\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\n\n\x08_peer_idB\x0c\n\n_we_openedB\x11\n\x0f_account_closedB\x13\n\x11_account_resolvedB\x14\n\x12_resolved_at_block\"X\n BkprlistbalancesAccountsBalances\x12!\n\x0c\x62\x61lance_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x02 \x01(\t\"\x97\x01\n\x15\x42kprlistincomeRequest\x12\x1d\n\x10\x63onsolidate_fees\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x17\n\nstart_time\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x16\x42kprlistincomeResponse\x12\x36\n\rincome_events\x18\x01 \x03(\x0b\x32\x1f.cln.BkprlistincomeIncomeEvents\"\xb4\x02\n\x1a\x42kprlistincomeIncomeEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12\x11\n\ttimestamp\x18\x06 \x01(\r\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\n \x01(\x0cH\x03\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_outpointB\x07\n\x05_txidB\r\n\x0b_payment_id\"P\n%BkpreditdescriptionbypaymentidRequest\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"e\n&BkpreditdescriptionbypaymentidResponse\x12;\n\x07updated\x18\x01 \x03(\x0b\x32*.cln.BkpreditdescriptionbypaymentidUpdated\"\xa3\x05\n%BkpreditdescriptionbypaymentidUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12g\n\titem_type\x18\x02 \x01(\x0e\x32T.cln.BkpreditdescriptionbypaymentidUpdated.BkpreditdescriptionbypaymentidUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"C\n)BkpreditdescriptionbypaymentidUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"M\n$BkpreditdescriptionbyoutpointRequest\x12\x10\n\x08outpoint\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"c\n%BkpreditdescriptionbyoutpointResponse\x12:\n\x07updated\x18\x01 \x03(\x0b\x32).cln.BkpreditdescriptionbyoutpointUpdated\"\x9f\x05\n$BkpreditdescriptionbyoutpointUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x65\n\titem_type\x18\x02 \x01(\x0e\x32R.cln.BkpreditdescriptionbyoutpointUpdated.BkpreditdescriptionbyoutpointUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"B\n(BkpreditdescriptionbyoutpointUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"\xb0\x01\n\x11\x42kprreportRequest\x12\x13\n\x06\x66ormat\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x07headers\x18\x02 \x03(\t\x12\x13\n\x06\x65scape\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\rH\x03\x88\x01\x01\x42\t\n\x07_formatB\t\n\x07_escapeB\r\n\x0b_start_timeB\x0b\n\t_end_time\"$\n\x12\x42kprreportResponse\x12\x0e\n\x06report\x18\x01 \x03(\t\"n\n\x14\x42lacklistruneRequest\x12\x12\n\x05start\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03\x65nd\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06relist\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_startB\x06\n\x04_endB\t\n\x07_relist\"G\n\x15\x42lacklistruneResponse\x12.\n\tblacklist\x18\x01 \x03(\x0b\x32\x1b.cln.BlacklistruneBlacklist\"4\n\x16\x42lacklistruneBlacklist\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\"p\n\x10\x43heckruneRequest\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x13\n\x06nodeid\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06params\x18\x04 \x03(\tB\t\n\x07_nodeidB\t\n\x07_method\"\"\n\x11\x43heckruneResponse\x12\r\n\x05valid\x18\x01 \x01(\x08\"E\n\x11\x43reateruneRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0crestrictions\x18\x02 \x03(\tB\x07\n\x05_rune\"{\n\x12\x43reateruneResponse\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12&\n\x19warning_unrestricted_rune\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x1c\n\x1a_warning_unrestricted_rune\".\n\x10ShowrunesRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_rune\"7\n\x11ShowrunesResponse\x12\"\n\x05runes\x18\x01 \x03(\x0b\x32\x13.cln.ShowrunesRunes\"\x9d\x02\n\x0eShowrunesRunes\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x35\n\x0crestrictions\x18\x03 \x03(\x0b\x32\x1f.cln.ShowrunesRunesRestrictions\x12\x1f\n\x17restrictions_as_english\x18\x04 \x01(\t\x12\x13\n\x06stored\x18\x05 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x0b\x62lacklisted\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tlast_used\x18\x07 \x01(\x01H\x02\x88\x01\x01\x12\x15\n\x08our_rune\x18\x08 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_storedB\x0e\n\x0c_blacklistedB\x0c\n\n_last_usedB\x0b\n\t_our_rune\"p\n\x1aShowrunesRunesRestrictions\x12\x41\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32+.cln.ShowrunesRunesRestrictionsAlternatives\x12\x0f\n\x07\x65nglish\x18\x02 \x01(\t\"n\n&ShowrunesRunesRestrictionsAlternatives\x12\x11\n\tfieldname\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x11\n\tcondition\x18\x03 \x01(\t\x12\x0f\n\x07\x65nglish\x18\x04 \x01(\t\"r\n\x17\x41skreneunreserveRequest\x12\'\n\x04path\x18\x01 \x03(\x0b\x32\x19.cln.AskreneunreservePath\x12\x1b\n\x0e\x64\x65v_remove_all\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_dev_remove_all\"\x1a\n\x18\x41skreneunreserveResponse\"t\n\x14\x41skreneunreservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"8\n\x18\x41skrenelistlayersRequest\x12\x12\n\x05layer\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"I\n\x19\x41skrenelistlayersResponse\x12,\n\x06layers\x18\x01 \x03(\x0b\x32\x1c.cln.AskrenelistlayersLayers\"\xaa\x03\n\x17\x41skrenelistlayersLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x16\n\x0e\x64isabled_nodes\x18\x02 \x03(\x0c\x12\x45\n\x10\x63reated_channels\x18\x03 \x03(\x0b\x32+.cln.AskrenelistlayersLayersCreatedChannels\x12<\n\x0b\x63onstraints\x18\x04 \x03(\x0b\x32\'.cln.AskrenelistlayersLayersConstraints\x12\x12\n\npersistent\x18\x05 \x01(\x08\x12\x19\n\x11\x64isabled_channels\x18\x06 \x03(\t\x12\x43\n\x0f\x63hannel_updates\x18\x07 \x03(\x0b\x32*.cln.AskrenelistlayersLayersChannelUpdates\x12\x32\n\x06\x62iases\x18\x08 \x03(\x0b\x32\".cln.AskrenelistlayersLayersBiases\x12;\n\x0bnode_biases\x18\t \x03(\x0b\x32&.cln.AskrenelistlayersLayersNodeBiases\"\x9b\x01\n\x1d\x41skrenelistlayersLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa8\x03\n%AskrenelistlayersLayersChannelUpdates\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x14\n\x07\x65nabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x07 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\xda\x01\n\"AskrenelistlayersLayersConstraints\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x05 \x01(\t\x12\x16\n\ttimestamp\x18\x06 \x01(\x04H\x02\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msatB\x0c\n\n_timestamp\"\x8b\x01\n&AskrenelistlayersLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x91\x01\n!AskrenelistlayersLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"R\n\x19\x41skrenecreatelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x17\n\npersistent\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_persistent\"K\n\x1a\x41skrenecreatelayerResponse\x12-\n\x06layers\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenecreatelayerLayers\"\xb0\x03\n\x18\x41skrenecreatelayerLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x12\n\npersistent\x18\x02 \x01(\x08\x12\x16\n\x0e\x64isabled_nodes\x18\x03 \x03(\x0c\x12\x19\n\x11\x64isabled_channels\x18\x04 \x03(\t\x12\x46\n\x10\x63reated_channels\x18\x05 \x03(\x0b\x32,.cln.AskrenecreatelayerLayersCreatedChannels\x12\x44\n\x0f\x63hannel_updates\x18\x06 \x03(\x0b\x32+.cln.AskrenecreatelayerLayersChannelUpdates\x12=\n\x0b\x63onstraints\x18\x07 \x03(\x0b\x32(.cln.AskrenecreatelayerLayersConstraints\x12\x33\n\x06\x62iases\x18\x08 \x03(\x0b\x32#.cln.AskrenecreatelayerLayersBiases\x12<\n\x0bnode_biases\x18\t \x03(\x0b\x32\'.cln.AskrenecreatelayerLayersNodeBiases\"\x9c\x01\n\x1e\x41skrenecreatelayerLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xd1\x02\n&AskrenecreatelayerLayersChannelUpdates\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x05 \x01(\rH\x04\x88\x01\x01\x42\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x08\n\x06_delay\"\xc4\x01\n#AskrenecreatelayerLayersConstraints\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\r\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8c\x01\n\'AskrenecreatelayerLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x92\x01\n\"AskrenecreatelayerLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"*\n\x19\x41skreneremovelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\"\x1c\n\x1a\x41skreneremovelayerResponse\"P\n!AskreneremovechannelupdateRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\"$\n\"AskreneremovechannelupdateResponse\">\n\x15\x41skrenereserveRequest\x12%\n\x04path\x18\x01 \x03(\x0b\x32\x17.cln.AskrenereservePath\"\x18\n\x16\x41skrenereserveResponse\"r\n\x12\x41skrenereservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"2\n\x11\x41skreneageRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06\x63utoff\x18\x02 \x01(\x04\"8\n\x12\x41skreneageResponse\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x13\n\x0bnum_removed\x18\x02 \x01(\x04\"\xe7\x01\n\x10GetroutesRequest\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12 \n\x0bmaxfee_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\nfinal_cltv\x18\x07 \x01(\r\x12\x15\n\x08maxdelay\x18\x08 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08maxparts\x18\t \x01(\rH\x01\x88\x01\x01\x42\x0b\n\t_maxdelayB\x0b\n\t_maxparts\"R\n\x11GetroutesResponse\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12$\n\x06routes\x18\x02 \x03(\x0b\x32\x14.cln.GetroutesRoutes\"\x88\x01\n\x0fGetroutesRoutes\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x04path\x18\x03 \x03(\x0b\x32\x18.cln.GetroutesRoutesPath\x12\x12\n\nfinal_cltv\x18\x04 \x01(\r\"\xd4\x03\n\x13GetroutesRoutesPath\x12)\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12\x1d\n\x0cnext_node_id\x18\x04 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x16\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12(\n\x0e\x61mount_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x17\n\nnode_id_in\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x14\n\x07\x63ltv_in\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\x0c \x01(\rH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0f\n\r_next_node_idB\x08\n\x06_delayB\x11\n\x0f_amount_in_msatB\x12\n\x10_amount_out_msatB\r\n\x0b_node_id_inB\x0e\n\x0c_node_id_outB\n\n\x08_cltv_inB\x0b\n\t_cltv_out\"8\n\x19\x41skrenedisablenodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\"\x1c\n\x1a\x41skrenedisablenodeResponse\"\x8a\x02\n\x1b\x41skreneinformchannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12K\n\x06inform\x18\x08 \x01(\x0e\x32;.cln.AskreneinformchannelRequest.AskreneinformchannelInform\"O\n\x1a\x41skreneinformchannelInform\x12\x0f\n\x0b\x43ONSTRAINED\x10\x00\x12\x11\n\rUNCONSTRAINED\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\"Y\n\x1c\x41skreneinformchannelResponse\x12\x39\n\x0b\x63onstraints\x18\x02 \x03(\x0b\x32$.cln.AskreneinformchannelConstraints\"\xd3\x01\n\x1f\x41skreneinformchannelConstraints\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\r\n\x05layer\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\x04\x12&\n\x0cmaximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8f\x01\n\x1b\x41skrenecreatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x03 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x04 \x01(\t\x12\"\n\rcapacity_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"\x1e\n\x1c\x41skrenecreatechannelResponse\"\xad\x03\n\x1b\x41skreneupdatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x14\n\x07\x65nabled\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x08 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\x1e\n\x1c\x41skreneupdatechannelResponse\"\xa4\x01\n\x19\x41skrenebiaschannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"K\n\x1a\x41skrenebiaschannelResponse\x12-\n\x06\x62iases\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenebiaschannelBiases\"\xa5\x01\n\x18\x41skrenebiaschannelBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x05 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa4\x01\n\x16\x41skrenebiasnodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x11\n\tdirection\x18\x03 \x01(\t\x12\x0c\n\x04\x62ias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x06 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"N\n\x17\x41skrenebiasnodeResponse\x12\x33\n\x0bnode_biases\x18\x01 \x03(\x0b\x32\x1e.cln.AskrenebiasnodeNodeBiases\"\x98\x01\n\x19\x41skrenebiasnodeNodeBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x03 \x01(\x12\x12\x10\n\x08out_bias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x06 \x01(\x04\x42\x0e\n\x0c_description\" \n\x1e\x41skrenelistreservationsRequest\"a\n\x1f\x41skrenelistreservationsResponse\x12>\n\x0creservations\x18\x01 \x03(\x0b\x32(.cln.AskrenelistreservationsReservations\"\x91\x01\n#AskrenelistreservationsReservations\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x16\n\x0e\x61ge_in_seconds\x18\x03 \x01(\x04\x12\x12\n\ncommand_id\x18\x04 \x01(\t\"\xf5\x02\n\x19InjectpaymentonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x63ltv_expiry\x18\x04 \x01(\r\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x0f\n\x07groupid\x18\x06 \x01(\x04\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12*\n\x10\x64\x65stination_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x0b \x01(\x0cH\x04\x88\x01\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x10\n\x0e_localinvreqidB\x13\n\x11_destination_msatB\x0e\n\x0c_destination\"w\n\x1aInjectpaymentonionResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\x04\x12\x14\n\x0c\x63ompleted_at\x18\x02 \x01(\x04\x12\x15\n\rcreated_index\x18\x03 \x01(\x04\x12\x18\n\x10payment_preimage\x18\x04 \x01(\x0c\">\n\x19InjectonionmessageRequest\x12\x10\n\x08path_key\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"\x1c\n\x1aInjectonionmessageResponse\"\xbb\x03\n\x0bXpayRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x02\x88\x01\x01\x12&\n\x0cpartial_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\x12\n\x05label\x18\t \x01(\tH\x06\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\n \x01(\x0cH\x07\x88\x01\x01\x12\x1b\n\x0e\x64\x65v_use_shadow\x18\x0b \x01(\x08H\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0f\n\r_partial_msatB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_labelB\x10\n\x0e_localinvreqidB\x11\n\x0f_dev_use_shadow\"\xa1\x01\n\x0cXpayResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"=\n\x19SignmessagewithkeyRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"`\n\x1aSignmessagewithkeyResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x0e\n\x06\x62\x61se64\x18\x04 \x01(\t\"\xcd\x01\n\x17ListchannelmovesRequest\x12\x46\n\x05index\x18\x01 \x01(\x0e\x32\x32.cln.ListchannelmovesRequest.ListchannelmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"$\n\x15ListchannelmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"S\n\x18ListchannelmovesResponse\x12\x37\n\x0c\x63hannelmoves\x18\x01 \x03(\x0b\x32!.cln.ListchannelmovesChannelmoves\"\xa9\x04\n\x1cListchannelmovesChannelmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12]\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32H.cln.ListchannelmovesChannelmoves.ListchannelmovesChannelmovesPrimaryTag\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x07part_id\x18\x08 \x01(\x04H\x01\x88\x01\x01\x12\x15\n\x08group_id\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x1e\n\tfees_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\"\x96\x01\n&ListchannelmovesChannelmovesPrimaryTag\x12\x0b\n\x07INVOICE\x10\x00\x12\n\n\x06ROUTED\x10\x01\x12\n\n\x06PUSHED\x10\x02\x12\r\n\tLEASE_FEE\x10\x03\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x04\x12\x0f\n\x0bPENALTY_ADJ\x10\x05\x12\x11\n\rJOURNAL_ENTRY\x10\x06\x42\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_id\"\xc5\x01\n\x15ListchainmovesRequest\x12\x42\n\x05index\x18\x01 \x01(\x0e\x32..cln.ListchainmovesRequest.ListchainmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"\"\n\x13ListchainmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"K\n\x16ListchainmovesResponse\x12\x31\n\nchainmoves\x18\x01 \x03(\x0b\x32\x1d.cln.ListchainmovesChainmoves\"\xd4\x06\n\x18ListchainmovesChainmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12U\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32@.cln.ListchainmovesChainmoves.ListchainmovesChainmovesPrimaryTag\x12\x14\n\x07peer_id\x18\x08 \x01(\x0cH\x00\x88\x01\x01\x12 \n\x13originating_account\x18\t \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x02\x88\x01\x01\x12\x1b\n\x04utxo\x18\x0b \x01(\x0b\x32\r.cln.Outpoint\x12\x19\n\x0cpayment_hash\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12 \n\x0boutput_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0coutput_count\x18\x0e \x01(\rH\x04\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0f \x01(\r\x12\x12\n\nextra_tags\x18\x10 \x03(\t\"\x95\x02\n\"ListchainmovesChainmovesPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x42\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x10\n\x0e_spending_txidB\x0f\n\r_payment_hashB\x0f\n\r_output_count\"\xe9\x01\n\x18ListnetworkeventsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12H\n\x05index\x18\x02 \x01(\x0e\x32\x34.cln.ListnetworkeventsRequest.ListnetworkeventsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"%\n\x16ListnetworkeventsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"W\n\x19ListnetworkeventsResponse\x12:\n\rnetworkevents\x18\x01 \x03(\x0b\x32#.cln.ListnetworkeventsNetworkevents\"\xf2\x01\n\x1eListnetworkeventsNetworkevents\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x0f\n\x07peer_id\x18\x03 \x01(\x0c\x12\x11\n\titem_type\x18\x04 \x01(\t\x12\x13\n\x06reason\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rduration_nsec\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x1e\n\x11\x63onnect_attempted\x18\x07 \x01(\x08H\x02\x88\x01\x01\x42\t\n\x07_reasonB\x10\n\x0e_duration_nsecB\x14\n\x12_connect_attempted\"/\n\x16\x44\x65lnetworkeventRequest\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\"\x19\n\x17\x44\x65lnetworkeventResponse\"\xf6\x01\n\x1a\x43lnrestregisterpathRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x12\n\nrpc_method\x18\x02 \x01(\t\x12H\n\x11rune_restrictions\x18\x03 \x01(\x0b\x32(.cln.ClnrestregisterpathRuneRestrictionsH\x00\x88\x01\x01\x12\x1a\n\rrune_required\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x18\n\x0bhttp_method\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x14\n\x12_rune_restrictionsB\x10\n\x0e_rune_requiredB\x0e\n\x0c_http_method\"\x1d\n\x1b\x43lnrestregisterpathResponse\"\xda\x01\n#ClnrestregisterpathRuneRestrictions\x12\x13\n\x06nodeid\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x44\n\x06params\x18\x03 \x03(\x0b\x32\x34.cln.ClnrestregisterpathRuneRestrictions.ParamsEntry\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_nodeidB\t\n\x07_method\",\n\x18ListcurrencyratesRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\"W\n\x19ListcurrencyratesResponse\x12:\n\rcurrencyrates\x18\x01 \x03(\x0b\x32#.cln.ListcurrencyratesCurrencyrates\"@\n\x1eListcurrencyratesCurrencyrates\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x01\":\n\x16\x43urrencyconvertRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x10\n\x08\x63urrency\x18\x02 \x01(\t\"4\n\x17\x43urrencyconvertResponse\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\"G\n\x13\x43urrencyrateRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_source\"$\n\x14\x43urrencyrateResponse\x12\x0c\n\x04rate\x18\x01 \x01(\x01\"\x95\x02\n\x11SendamountRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x17\n\npayer_note\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x12\n\x05label\x18\x08 \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_label\"\xa7\x01\n\x12SendamountResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"e\n\x12\x43reateproofRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\x11\n\x04note\x18\x02 \x01(\tH\x00\x88\x01\x01\x12 \n\x07include\x18\x03 \x03(\x0b\x32\x0f.cln.ProofFieldB\x07\n\x05_note\"=\n\x13\x43reateproofResponse\x12&\n\x06proofs\x18\x01 \x03(\x0b\x32\x16.cln.CreateproofProofs\"\xb6\x01\n\x11\x43reateproofProofs\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\x12.\n\x15offer_fields_included\x18\x02 \x03(\x0b\x32\x0f.cln.ProofField\x12/\n\x16invreq_fields_included\x18\x03 \x03(\x0b\x32\x0f.cln.ProofField\x12\x30\n\x17invoice_fields_included\x18\x04 \x03(\x0b\x32\x0f.cln.ProofField\"\xd7\x02\n\x0fXkeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x05 \x03(\t\x12\x16\n\tretry_for\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x36\n\textratlvs\x18\x08 \x03(\x0b\x32#.cln.XkeysendRequest.ExtratlvsEntry\x1a\x30\n\x0e\x45xtratlvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x08\n\x06_labelB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelay\"\xa5\x01\n\x10XkeysendResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"3\n\x0fGracefulRequest\x12\x14\n\x07timeout\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\"H\n\x10GracefulResponse\x12\x1d\n\x15pending_htlc_expiries\x18\x01 \x03(\r\x12\x15\n\rpending_peers\x18\x02 \x03(\x0c\"\x1e\n\x1cStreamBalanceSnapshotRequest\"\x86\x01\n\x1b\x42\x61lanceSnapshotNotification\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\r\x12.\n\x08\x61\x63\x63ounts\x18\x04 \x03(\x0b\x32\x1c.cln.BalanceSnapshotAccounts\"c\n\x17\x42\x61lanceSnapshotAccounts\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12!\n\x0c\x62\x61lance_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x03 \x01(\t\"\x19\n\x17StreamBlockAddedRequest\"6\n\x16\x42lockAddedNotification\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0e\n\x06height\x18\x02 \x01(\r\" \n\x1eStreamChannelOpenFailedRequest\"3\n\x1d\x43hannelOpenFailedNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"\x1c\n\x1aStreamChannelOpenedRequest\"w\n\x19\x43hannelOpenedNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12!\n\x0c\x66unding_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\x12\x15\n\rchannel_ready\x18\x04 \x01(\x08\"\"\n StreamChannelStateChangedRequest\"\xc1\x03\n\x1f\x43hannelStateChangedNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x04 \x01(\t\x12)\n\told_state\x18\x05 \x01(\x0e\x32\x11.cln.ChannelStateH\x01\x88\x01\x01\x12$\n\tnew_state\x18\x06 \x01(\x0e\x32\x11.cln.ChannelState\x12L\n\x05\x63\x61use\x18\x07 \x01(\x0e\x32=.cln.ChannelStateChangedNotification.ChannelStateChangedCause\x12\x14\n\x07message\x18\x08 \x01(\tH\x02\x88\x01\x01\"c\n\x18\x43hannelStateChangedCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\x13\n\x11_short_channel_idB\x0c\n\n_old_stateB\n\n\x08_message\"\x16\n\x14StreamConnectRequest\"\xbe\x01\n\x17PeerConnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x44\n\tdirection\x18\x02 \x01(\x0e\x32\x31.cln.PeerConnectNotification.PeerConnectDirection\x12(\n\x07\x61\x64\x64ress\x18\x03 \x01(\x0b\x32\x17.cln.PeerConnectAddress\"\'\n\x14PeerConnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\x9a\x02\n\x12PeerConnectAddress\x12\x41\n\titem_type\x18\x01 \x01(\x0e\x32..cln.PeerConnectAddress.PeerConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"c\n\x16PeerConnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"\x1b\n\x19StreamCoinMovementRequest\"\xaf\x0b\n\x18\x43oinMovementNotification\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x11\n\tcoin_type\x18\x02 \x01(\t\x12\x0f\n\x07node_id\x18\x03 \x01(\x0c\x12\x41\n\titem_type\x18\x04 \x01(\x0e\x32..cln.CoinMovementNotification.CoinMovementType\x12\x1a\n\rcreated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\naccount_id\x18\x06 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12\x10\n\x04tags\x18\n \x03(\tB\x02\x18\x01\x12N\n\x0bprimary_tag\x18\x0b \x01(\x0e\x32\x34.cln.CoinMovementNotification.CoinMovementPrimaryTagH\x01\x88\x01\x01\x12\x12\n\nextra_tags\x18\x0c \x03(\t\x12\x19\n\x0cpayment_hash\x18\r \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07part_id\x18\x0e \x01(\x04H\x03\x88\x01\x01\x12\x15\n\x08group_id\x18\x0f \x01(\x04H\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12 \n\x04utxo\x18\x11 \x01(\x0b\x32\r.cln.OutpointH\x06\x88\x01\x01\x12\x14\n\x07peer_id\x18\x12 \x01(\x0cH\x07\x88\x01\x01\x12 \n\x13originating_account\x18\x13 \x01(\tH\x08\x88\x01\x01\x12\x15\n\x04txid\x18\x14 \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12\x1a\n\rspending_txid\x18\x15 \x01(\x0cH\n\x88\x01\x01\x12\x1a\n\tutxo_txid\x18\x16 \x01(\x0c\x42\x02\x18\x01H\x0b\x88\x01\x01\x12\x15\n\x04vout\x18\x17 \x01(\rB\x02\x18\x01H\x0c\x88\x01\x01\x12%\n\x0boutput_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x19\n\x0coutput_count\x18\x19 \x01(\rH\x0e\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\x1a \x01(\rH\x0f\x88\x01\x01\"\xf7\x02\n\x16\x43oinMovementPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x12\x0b\n\x07INVOICE\x10\x10\x12\n\n\x06ROUTED\x10\x11\x12\n\n\x06PUSHED\x10\x12\x12\r\n\tLEASE_FEE\x10\x13\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x14\x12\x0f\n\x0bPENALTY_ADJ\x10\x15\x12\x11\n\rJOURNAL_ENTRY\x10\x16\"2\n\x10\x43oinMovementType\x12\x0f\n\x0b\x43HANNEL_MVT\x10\x00\x12\r\n\tCHAIN_MVT\x10\x01\x42\x10\n\x0e_created_indexB\x0e\n\x0c_primary_tagB\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_idB\x0c\n\n_fees_msatB\x07\n\x05_utxoB\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x07\n\x05_txidB\x10\n\x0e_spending_txidB\x0c\n\n_utxo_txidB\x07\n\x05_voutB\x0e\n\x0c_output_msatB\x0f\n\r_output_countB\x0e\n\x0c_blockheight\"\x18\n\x16StreamCustomMsgRequest\"9\n\x15\x43ustomMsgNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\" \n\x1eStreamDeprecatedOneshotRequest\"6\n\x1d\x44\x65precatedOneshotNotification\x12\x15\n\rdeprecated_ok\x18\x01 \x01(\x08\"\x19\n\x17StreamDisconnectRequest\"$\n\x16\x44isconnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\"\x1b\n\x19StreamForwardEventRequest\"\x88\x05\n\x18\x46orwardEventNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x12\n\nin_channel\x18\x02 \x01(\t\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x08out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12@\n\x06status\x18\x07 \x01(\x0e\x32\x30.cln.ForwardEventNotification.ForwardEventStatus\x12\x15\n\x08\x66\x61ilcode\x18\x08 \x01(\rH\x03\x88\x01\x01\x12\x17\n\nfailreason\x18\t \x01(\tH\x04\x88\x01\x01\x12\x43\n\x05style\x18\n \x01(\x0e\x32/.cln.ForwardEventNotification.ForwardEventStyleH\x05\x88\x01\x01\x12\x15\n\rreceived_time\x18\x0b \x01(\x01\x12\x1a\n\rresolved_time\x18\x0c \x01(\x01H\x06\x88\x01\x01\"L\n\x12\x46orwardEventStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"(\n\x11\x46orwardEventStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_out_msatB\x0b\n\t_fee_msatB\x0b\n\t_failcodeB\r\n\x0b_failreasonB\x08\n\x06_styleB\x10\n\x0e_resolved_time\"\x1e\n\x1cStreamInvoiceCreationRequest\"g\n\x1bInvoiceCreationNotification\x12\x1e\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12\r\n\x05label\x18\x03 \x01(\tB\x07\n\x05_msat\"\x1d\n\x1bStreamInvoicePaymentRequest\"\x8b\x01\n\x1aInvoicePaymentNotification\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12$\n\x08outpoint\x18\x03 \x01(\x0b\x32\r.cln.OutpointH\x00\x88\x01\x01\x12\r\n\x05label\x18\x04 \x01(\tB\x0b\n\t_outpoint\"\x12\n\x10StreamLogRequest\"\xca\x01\n\x0fLogNotification\x12,\n\x05level\x18\x01 \x01(\x0e\x32\x1d.cln.LogNotification.LogLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"K\n\x08LogLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05TRACE\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07UNUSUAL\x10\x04\x12\n\n\x06\x42ROKEN\x10\x05\"&\n$StreamOnionMessageForwardFailRequest\"\xef\x01\n#OnionMessageForwardFailNotification\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x10\n\x08incoming\x18\x02 \x01(\x0c\x12\x10\n\x08path_key\x18\x03 \x01(\x0c\x12\x15\n\x08outgoing\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x19\n\x0cnext_node_id\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12&\n\x19next_short_channel_id_dir\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_outgoingB\x0f\n\r_next_node_idB\x1c\n\x1a_next_short_channel_id_dir\"\"\n StreamOpenChannelPeerSigsRequest\"J\n\x1fOpenChannelPeerSigsNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"\x1c\n\x1aStreamPluginStartedRequest\"V\n\x19PluginStartedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1c\n\x1aStreamPluginStoppedRequest\"V\n\x19PluginStoppedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1d\n\x1bStreamSendPayFailureRequest\"b\n\x1aSendPayFailureNotification\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x17.cln.SendpayFailureData\"\xc1\t\n\x12SendpayFailureData\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x06\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x17\n\ncreated_at\x18\n \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\n\x88\x01\x01\x12\x45\n\x06status\x18\x0c \x01(\x0e\x32\x30.cln.SendpayFailureData.SendpayFailureDataStatusH\x0b\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x0c\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\r\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x0e\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x0f\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\x10\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\x11\x88\x01\x01\x12\x17\n\nonionreply\x18\x13 \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0c\x65rring_index\x18\x14 \x01(\rH\x13\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x15 \x01(\rH\x14\x88\x01\x01\x12\x19\n\x0c\x66\x61ilcodename\x18\x16 \x01(\tH\x15\x88\x01\x01\x12\x18\n\x0b\x65rring_node\x18\x17 \x01(\x0cH\x16\x88\x01\x01\x12\x1b\n\x0e\x65rring_channel\x18\x18 \x01(\tH\x17\x88\x01\x01\x12\x1d\n\x10\x65rring_direction\x18\x19 \x01(\rH\x18\x88\x01\x01\x12\x18\n\x0braw_message\x18\x1a \x01(\x0cH\x19\x88\x01\x01\"A\n\x18SendpayFailureDataStatus\x12\n\n\x06\x46\x41ILED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x10\n\x0e_created_indexB\x05\n\x03_idB\x0f\n\r_payment_hashB\n\n\x08_groupidB\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_created_atB\x0f\n\r_completed_atB\t\n\x07_statusB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronionB\r\n\x0b_onionreplyB\x0f\n\r_erring_indexB\x0b\n\t_failcodeB\x0f\n\r_failcodenameB\x0e\n\x0c_erring_nodeB\x11\n\x0f_erring_channelB\x13\n\x11_erring_directionB\x0e\n\x0c_raw_message\"\x1d\n\x1bStreamSendPaySuccessRequest\"\xcc\x05\n\x1aSendPaySuccessNotification\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\ncreated_at\x18\n \x01(\x04\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32\x34.cln.SendPaySuccessNotification.SendpaySuccessStatus\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x05\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\n\x88\x01\x01\"$\n\x14SendpaySuccessStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x0f\n\r_completed_atB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronion\"\x17\n\x15StreamShutdownRequest\"\x16\n\x14ShutdownNotification\"\x16\n\x14StreamWarningRequest\"\xae\x01\n\x13WarningNotification\x12\x34\n\x05level\x18\x01 \x01(\x0e\x32%.cln.WarningNotification.WarningLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"#\n\x0cWarningLevel\x12\x08\n\x04WARN\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"\x19\n\x17StreamPayPartEndRequest\"\xf1\x03\n\x16PayPartEndNotification\x12<\n\x06status\x18\x01 \x01(\x0e\x32,.cln.PayPartEndNotification.PayPartEndStatus\x12\x10\n\x08\x64uration\x18\x02 \x01(\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x17\n\nfailed_msg\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x61iled_node_id\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12$\n\x17\x66\x61iled_short_channel_id\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10\x66\x61iled_direction\x18\t \x01(\rH\x03\x88\x01\x01\x12\x17\n\nerror_code\x18\n \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rerror_message\x18\x0b \x01(\tH\x05\x88\x01\x01\",\n\x10PayPartEndStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x0b\n\x07\x46\x41ILURE\x10\x01\x42\r\n\x0b_failed_msgB\x11\n\x0f_failed_node_idB\x1a\n\x18_failed_short_channel_idB\x13\n\x11_failed_directionB\r\n\x0b_error_codeB\x10\n\x0e_error_message\"\x1b\n\x19StreamPayPartStartRequest\"\xc2\x01\n\x18PayPartStartNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x0e\n\x06partid\x18\x03 \x01(\x04\x12\'\n\x12total_payment_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x0c\x61ttempt_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x04hops\x18\x06 \x03(\x0b\x32\x15.cln.PayPartStartHops\"\x9f\x01\n\x10PayPartStartHops\x12\x11\n\tnext_node\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\r\x12$\n\x0f\x63hannel_in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x63hannel_out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount2\xbah\n\x04Node\x12\x36\n\x07Getinfo\x12\x13.cln.GetinfoRequest\x1a\x14.cln.GetinfoResponse\"\x00\x12<\n\tListPeers\x12\x15.cln.ListpeersRequest\x1a\x16.cln.ListpeersResponse\"\x00\x12<\n\tListFunds\x12\x15.cln.ListfundsRequest\x1a\x16.cln.ListfundsResponse\"\x00\x12\x36\n\x07SendPay\x12\x13.cln.SendpayRequest\x1a\x14.cln.SendpayResponse\"\x00\x12\x45\n\x0cListChannels\x12\x18.cln.ListchannelsRequest\x1a\x19.cln.ListchannelsResponse\"\x00\x12<\n\tAddGossip\x12\x15.cln.AddgossipRequest\x1a\x16.cln.AddgossipResponse\"\x00\x12H\n\rAddPsbtOutput\x12\x19.cln.AddpsbtoutputRequest\x1a\x1a.cln.AddpsbtoutputResponse\"\x00\x12H\n\rAutoCleanOnce\x12\x19.cln.AutocleanonceRequest\x1a\x1a.cln.AutocleanonceResponse\"\x00\x12N\n\x0f\x41utoCleanStatus\x12\x1b.cln.AutocleanstatusRequest\x1a\x1c.cln.AutocleanstatusResponse\"\x00\x12\x45\n\x0c\x43heckMessage\x12\x18.cln.CheckmessageRequest\x1a\x19.cln.CheckmessageResponse\"\x00\x12\x30\n\x05\x43lose\x12\x11.cln.CloseRequest\x1a\x12.cln.CloseResponse\"\x00\x12:\n\x0b\x43onnectPeer\x12\x13.cln.ConnectRequest\x1a\x14.cln.ConnectResponse\"\x00\x12H\n\rCreateInvoice\x12\x19.cln.CreateinvoiceRequest\x1a\x1a.cln.CreateinvoiceResponse\"\x00\x12<\n\tDatastore\x12\x15.cln.DatastoreRequest\x1a\x16.cln.DatastoreResponse\"\x00\x12K\n\x0e\x44\x61tastoreUsage\x12\x1a.cln.DatastoreusageRequest\x1a\x1b.cln.DatastoreusageResponse\"\x00\x12\x42\n\x0b\x43reateOnion\x12\x17.cln.CreateonionRequest\x1a\x18.cln.CreateonionResponse\"\x00\x12\x45\n\x0c\x44\x65lDatastore\x12\x18.cln.DeldatastoreRequest\x1a\x19.cln.DeldatastoreResponse\"\x00\x12?\n\nDelInvoice\x12\x16.cln.DelinvoiceRequest\x1a\x17.cln.DelinvoiceResponse\"\x00\x12Q\n\x10\x44\x65vForgetChannel\x12\x1c.cln.DevforgetchannelRequest\x1a\x1d.cln.DevforgetchannelResponse\"\x00\x12Q\n\x10\x45mergencyRecover\x12\x1c.cln.EmergencyrecoverRequest\x1a\x1d.cln.EmergencyrecoverResponse\"\x00\x12\x66\n\x17GetEmergencyRecoverData\x12#.cln.GetemergencyrecoverdataRequest\x1a$.cln.GetemergencyrecoverdataResponse\"\x00\x12\x45\n\x0c\x45xposeSecret\x12\x18.cln.ExposesecretRequest\x1a\x19.cln.ExposesecretResponse\"\x00\x12\x36\n\x07Recover\x12\x13.cln.RecoverRequest\x1a\x14.cln.RecoverResponse\"\x00\x12K\n\x0eRecoverChannel\x12\x1a.cln.RecoverchannelRequest\x1a\x1b.cln.RecoverchannelResponse\"\x00\x12\x36\n\x07Invoice\x12\x13.cln.InvoiceRequest\x1a\x14.cln.InvoiceResponse\"\x00\x12Q\n\x14\x43reateInvoiceRequest\x12\x1a.cln.InvoicerequestRequest\x1a\x1b.cln.InvoicerequestResponse\"\x00\x12`\n\x15\x44isableInvoiceRequest\x12!.cln.DisableinvoicerequestRequest\x1a\".cln.DisableinvoicerequestResponse\"\x00\x12Z\n\x13ListInvoiceRequests\x12\x1f.cln.ListinvoicerequestsRequest\x1a .cln.ListinvoicerequestsResponse\"\x00\x12H\n\rListDatastore\x12\x19.cln.ListdatastoreRequest\x1a\x1a.cln.ListdatastoreResponse\"\x00\x12\x45\n\x0cListInvoices\x12\x18.cln.ListinvoicesRequest\x1a\x19.cln.ListinvoicesResponse\"\x00\x12<\n\tSendOnion\x12\x15.cln.SendonionRequest\x1a\x16.cln.SendonionResponse\"\x00\x12\x45\n\x0cListSendPays\x12\x18.cln.ListsendpaysRequest\x1a\x19.cln.ListsendpaysResponse\"\x00\x12Q\n\x10ListTransactions\x12\x1c.cln.ListtransactionsRequest\x1a\x1d.cln.ListtransactionsResponse\"\x00\x12?\n\nMakeSecret\x12\x16.cln.MakesecretRequest\x1a\x17.cln.MakesecretResponse\"\x00\x12*\n\x03Pay\x12\x0f.cln.PayRequest\x1a\x10.cln.PayResponse\"\x00\x12<\n\tListNodes\x12\x15.cln.ListnodesRequest\x1a\x16.cln.ListnodesResponse\"\x00\x12K\n\x0eWaitAnyInvoice\x12\x1a.cln.WaitanyinvoiceRequest\x1a\x1b.cln.WaitanyinvoiceResponse\"\x00\x12\x42\n\x0bWaitInvoice\x12\x17.cln.WaitinvoiceRequest\x1a\x18.cln.WaitinvoiceResponse\"\x00\x12\x42\n\x0bWaitSendPay\x12\x17.cln.WaitsendpayRequest\x1a\x18.cln.WaitsendpayResponse\"\x00\x12\x36\n\x07NewAddr\x12\x13.cln.NewaddrRequest\x1a\x14.cln.NewaddrResponse\"\x00\x12\x39\n\x08Withdraw\x12\x14.cln.WithdrawRequest\x1a\x15.cln.WithdrawResponse\"\x00\x12\x36\n\x07KeySend\x12\x13.cln.KeysendRequest\x1a\x14.cln.KeysendResponse\"\x00\x12\x39\n\x08\x46undPsbt\x12\x14.cln.FundpsbtRequest\x1a\x15.cln.FundpsbtResponse\"\x00\x12\x39\n\x08SendPsbt\x12\x14.cln.SendpsbtRequest\x1a\x15.cln.SendpsbtResponse\"\x00\x12\x39\n\x08SignPsbt\x12\x14.cln.SignpsbtRequest\x1a\x15.cln.SignpsbtResponse\"\x00\x12\x39\n\x08UtxoPsbt\x12\x14.cln.UtxopsbtRequest\x1a\x15.cln.UtxopsbtResponse\"\x00\x12<\n\tTxDiscard\x12\x15.cln.TxdiscardRequest\x1a\x16.cln.TxdiscardResponse\"\x00\x12<\n\tTxPrepare\x12\x15.cln.TxprepareRequest\x1a\x16.cln.TxprepareResponse\"\x00\x12\x33\n\x06TxSend\x12\x12.cln.TxsendRequest\x1a\x13.cln.TxsendResponse\"\x00\x12Q\n\x10ListPeerChannels\x12\x1c.cln.ListpeerchannelsRequest\x1a\x1d.cln.ListpeerchannelsResponse\"\x00\x12W\n\x12ListClosedChannels\x12\x1e.cln.ListclosedchannelsRequest\x1a\x1f.cln.ListclosedchannelsResponse\"\x00\x12\x33\n\x06\x44\x65\x63ode\x12\x12.cln.DecodeRequest\x1a\x13.cln.DecodeResponse\"\x00\x12\x33\n\x06\x44\x65lPay\x12\x12.cln.DelpayRequest\x1a\x13.cln.DelpayResponse\"\x00\x12?\n\nDelForward\x12\x16.cln.DelforwardRequest\x1a\x17.cln.DelforwardResponse\"\x00\x12\x45\n\x0c\x44isableOffer\x12\x18.cln.DisableofferRequest\x1a\x19.cln.DisableofferResponse\"\x00\x12\x42\n\x0b\x45nableOffer\x12\x17.cln.EnableofferRequest\x1a\x18.cln.EnableofferResponse\"\x00\x12?\n\nDisconnect\x12\x16.cln.DisconnectRequest\x1a\x17.cln.DisconnectResponse\"\x00\x12\x39\n\x08\x46\x65\x65rates\x12\x14.cln.FeeratesRequest\x1a\x15.cln.FeeratesResponse\"\x00\x12\x42\n\x0b\x46\x65tchBip353\x12\x17.cln.Fetchbip353Request\x1a\x18.cln.Fetchbip353Response\"\x00\x12\x45\n\x0c\x46\x65tchInvoice\x12\x18.cln.FetchinvoiceRequest\x1a\x19.cln.FetchinvoiceResponse\"\x00\x12\x63\n\x16\x43\x61ncelRecurringInvoice\x12\".cln.CancelrecurringinvoiceRequest\x1a#.cln.CancelrecurringinvoiceResponse\"\x00\x12T\n\x11\x46undChannelCancel\x12\x1d.cln.FundchannelCancelRequest\x1a\x1e.cln.FundchannelCancelResponse\"\x00\x12Z\n\x13\x46undChannelComplete\x12\x1f.cln.FundchannelCompleteRequest\x1a .cln.FundchannelCompleteResponse\"\x00\x12\x42\n\x0b\x46undChannel\x12\x17.cln.FundchannelRequest\x1a\x18.cln.FundchannelResponse\"\x00\x12Q\n\x10\x46undChannelStart\x12\x1c.cln.FundchannelStartRequest\x1a\x1d.cln.FundchannelStartResponse\"\x00\x12\x33\n\x06GetLog\x12\x12.cln.GetlogRequest\x1a\x13.cln.GetlogResponse\"\x00\x12\x45\n\x0c\x46underUpdate\x12\x18.cln.FunderupdateRequest\x1a\x19.cln.FunderupdateResponse\"\x00\x12\x39\n\x08GetRoute\x12\x14.cln.GetrouteRequest\x1a\x15.cln.GetrouteResponse\"\x00\x12H\n\rListAddresses\x12\x19.cln.ListaddressesRequest\x1a\x1a.cln.ListaddressesResponse\"\x00\x12\x45\n\x0cListForwards\x12\x18.cln.ListforwardsRequest\x1a\x19.cln.ListforwardsResponse\"\x00\x12?\n\nListOffers\x12\x16.cln.ListoffersRequest\x1a\x17.cln.ListoffersResponse\"\x00\x12\x39\n\x08ListPays\x12\x14.cln.ListpaysRequest\x1a\x15.cln.ListpaysResponse\"\x00\x12<\n\tListHtlcs\x12\x15.cln.ListhtlcsRequest\x1a\x16.cln.ListhtlcsResponse\"\x00\x12Q\n\x10MultiFundChannel\x12\x1c.cln.MultifundchannelRequest\x1a\x1d.cln.MultifundchannelResponse\"\x00\x12H\n\rMultiWithdraw\x12\x19.cln.MultiwithdrawRequest\x1a\x1a.cln.MultiwithdrawResponse\"\x00\x12\x30\n\x05Offer\x12\x11.cln.OfferRequest\x1a\x12.cln.OfferResponse\"\x00\x12Q\n\x10OpenChannelAbort\x12\x1c.cln.OpenchannelAbortRequest\x1a\x1d.cln.OpenchannelAbortResponse\"\x00\x12N\n\x0fOpenChannelBump\x12\x1b.cln.OpenchannelBumpRequest\x1a\x1c.cln.OpenchannelBumpResponse\"\x00\x12N\n\x0fOpenChannelInit\x12\x1b.cln.OpenchannelInitRequest\x1a\x1c.cln.OpenchannelInitResponse\"\x00\x12T\n\x11OpenChannelSigned\x12\x1d.cln.OpenchannelSignedRequest\x1a\x1e.cln.OpenchannelSignedResponse\"\x00\x12T\n\x11OpenChannelUpdate\x12\x1d.cln.OpenchannelUpdateRequest\x1a\x1e.cln.OpenchannelUpdateResponse\"\x00\x12-\n\x04Ping\x12\x10.cln.PingRequest\x1a\x11.cln.PingResponse\"\x00\x12\x33\n\x06Plugin\x12\x12.cln.PluginRequest\x1a\x13.cln.PluginResponse\"\x00\x12H\n\rRenePayStatus\x12\x19.cln.RenepaystatusRequest\x1a\x1a.cln.RenepaystatusResponse\"\x00\x12\x36\n\x07RenePay\x12\x13.cln.RenepayRequest\x1a\x14.cln.RenepayResponse\"\x00\x12H\n\rReserveInputs\x12\x19.cln.ReserveinputsRequest\x1a\x1a.cln.ReserveinputsResponse\"\x00\x12H\n\rSendCustomMsg\x12\x19.cln.SendcustommsgRequest\x1a\x1a.cln.SendcustommsgResponse\"\x00\x12\x42\n\x0bSendInvoice\x12\x17.cln.SendinvoiceRequest\x1a\x18.cln.SendinvoiceResponse\"\x00\x12?\n\nSetChannel\x12\x16.cln.SetchannelRequest\x1a\x17.cln.SetchannelResponse\"\x00\x12<\n\tSetConfig\x12\x15.cln.SetconfigRequest\x1a\x16.cln.SetconfigResponse\"\x00\x12K\n\x0eSetPsbtVersion\x12\x1a.cln.SetpsbtversionRequest\x1a\x1b.cln.SetpsbtversionResponse\"\x00\x12\x42\n\x0bSignInvoice\x12\x17.cln.SigninvoiceRequest\x1a\x18.cln.SigninvoiceResponse\"\x00\x12\x42\n\x0bSignMessage\x12\x17.cln.SignmessageRequest\x1a\x18.cln.SignmessageResponse\"\x00\x12?\n\nSpliceInit\x12\x16.cln.SpliceInitRequest\x1a\x17.cln.SpliceInitResponse\"\x00\x12\x45\n\x0cSpliceSigned\x12\x18.cln.SpliceSignedRequest\x1a\x19.cln.SpliceSignedResponse\"\x00\x12\x45\n\x0cSpliceUpdate\x12\x18.cln.SpliceUpdateRequest\x1a\x19.cln.SpliceUpdateResponse\"\x00\x12\x39\n\x08SpliceIn\x12\x14.cln.SpliceinRequest\x1a\x15.cln.SpliceinResponse\"\x00\x12<\n\tSpliceOut\x12\x15.cln.SpliceoutRequest\x1a\x16.cln.SpliceoutResponse\"\x00\x12<\n\tDevSplice\x12\x15.cln.DevspliceRequest\x1a\x16.cln.DevspliceResponse\"\x00\x12N\n\x0fUnreserveInputs\x12\x1b.cln.UnreserveinputsRequest\x1a\x1c.cln.UnreserveinputsResponse\"\x00\x12H\n\rUpgradeWallet\x12\x19.cln.UpgradewalletRequest\x1a\x1a.cln.UpgradewalletResponse\"\x00\x12N\n\x0fWaitBlockHeight\x12\x1b.cln.WaitblockheightRequest\x1a\x1c.cln.WaitblockheightResponse\"\x00\x12-\n\x04Wait\x12\x10.cln.WaitRequest\x1a\x11.cln.WaitResponse\"\x00\x12\x42\n\x0bListConfigs\x12\x17.cln.ListconfigsRequest\x1a\x18.cln.ListconfigsResponse\"\x00\x12-\n\x04Stop\x12\x10.cln.StopRequest\x1a\x11.cln.StopResponse\"\x00\x12-\n\x04Help\x12\x10.cln.HelpRequest\x1a\x11.cln.HelpResponse\"\x00\x12T\n\x11PreApproveKeysend\x12\x1d.cln.PreapprovekeysendRequest\x1a\x1e.cln.PreapprovekeysendResponse\"\x00\x12T\n\x11PreApproveInvoice\x12\x1d.cln.PreapproveinvoiceRequest\x1a\x1e.cln.PreapproveinvoiceResponse\"\x00\x12\x45\n\x0cStaticBackup\x12\x18.cln.StaticbackupRequest\x1a\x19.cln.StaticbackupResponse\"\x00\x12N\n\x0f\x42kprChannelsApy\x12\x1b.cln.BkprchannelsapyRequest\x1a\x1c.cln.BkprchannelsapyResponse\"\x00\x12T\n\x11\x42kprDumpIncomeCsv\x12\x1d.cln.BkprdumpincomecsvRequest\x1a\x1e.cln.BkprdumpincomecsvResponse\"\x00\x12\x42\n\x0b\x42kprInspect\x12\x17.cln.BkprinspectRequest\x1a\x18.cln.BkprinspectResponse\"\x00\x12`\n\x15\x42kprListAccountEvents\x12!.cln.BkprlistaccounteventsRequest\x1a\".cln.BkprlistaccounteventsResponse\"\x00\x12Q\n\x10\x42kprListBalances\x12\x1c.cln.BkprlistbalancesRequest\x1a\x1d.cln.BkprlistbalancesResponse\"\x00\x12K\n\x0e\x42kprListIncome\x12\x1a.cln.BkprlistincomeRequest\x1a\x1b.cln.BkprlistincomeResponse\"\x00\x12{\n\x1e\x42kprEditDescriptionByPaymentId\x12*.cln.BkpreditdescriptionbypaymentidRequest\x1a+.cln.BkpreditdescriptionbypaymentidResponse\"\x00\x12x\n\x1d\x42kprEditDescriptionByOutpoint\x12).cln.BkpreditdescriptionbyoutpointRequest\x1a*.cln.BkpreditdescriptionbyoutpointResponse\"\x00\x12?\n\nBkprReport\x12\x16.cln.BkprreportRequest\x1a\x17.cln.BkprreportResponse\"\x00\x12H\n\rBlacklistRune\x12\x19.cln.BlacklistruneRequest\x1a\x1a.cln.BlacklistruneResponse\"\x00\x12<\n\tCheckRune\x12\x15.cln.CheckruneRequest\x1a\x16.cln.CheckruneResponse\"\x00\x12?\n\nCreateRune\x12\x16.cln.CreateruneRequest\x1a\x17.cln.CreateruneResponse\"\x00\x12<\n\tShowRunes\x12\x15.cln.ShowrunesRequest\x1a\x16.cln.ShowrunesResponse\"\x00\x12Q\n\x10\x41skReneUnreserve\x12\x1c.cln.AskreneunreserveRequest\x1a\x1d.cln.AskreneunreserveResponse\"\x00\x12T\n\x11\x41skReneListLayers\x12\x1d.cln.AskrenelistlayersRequest\x1a\x1e.cln.AskrenelistlayersResponse\"\x00\x12W\n\x12\x41skReneCreateLayer\x12\x1e.cln.AskrenecreatelayerRequest\x1a\x1f.cln.AskrenecreatelayerResponse\"\x00\x12W\n\x12\x41skReneRemoveLayer\x12\x1e.cln.AskreneremovelayerRequest\x1a\x1f.cln.AskreneremovelayerResponse\"\x00\x12o\n\x1a\x41skReneRemoveChannelUpdate\x12&.cln.AskreneremovechannelupdateRequest\x1a\'.cln.AskreneremovechannelupdateResponse\"\x00\x12K\n\x0e\x41skReneReserve\x12\x1a.cln.AskrenereserveRequest\x1a\x1b.cln.AskrenereserveResponse\"\x00\x12?\n\nAskReneAge\x12\x16.cln.AskreneageRequest\x1a\x17.cln.AskreneageResponse\"\x00\x12<\n\tGetRoutes\x12\x15.cln.GetroutesRequest\x1a\x16.cln.GetroutesResponse\"\x00\x12W\n\x12\x41skReneDisableNode\x12\x1e.cln.AskrenedisablenodeRequest\x1a\x1f.cln.AskrenedisablenodeResponse\"\x00\x12]\n\x14\x41skReneInformChannel\x12 .cln.AskreneinformchannelRequest\x1a!.cln.AskreneinformchannelResponse\"\x00\x12]\n\x14\x41skReneCreateChannel\x12 .cln.AskrenecreatechannelRequest\x1a!.cln.AskrenecreatechannelResponse\"\x00\x12]\n\x14\x41skReneUpdateChannel\x12 .cln.AskreneupdatechannelRequest\x1a!.cln.AskreneupdatechannelResponse\"\x00\x12W\n\x12\x41skReneBiasChannel\x12\x1e.cln.AskrenebiaschannelRequest\x1a\x1f.cln.AskrenebiaschannelResponse\"\x00\x12N\n\x0f\x41skreneBiasNode\x12\x1b.cln.AskrenebiasnodeRequest\x1a\x1c.cln.AskrenebiasnodeResponse\"\x00\x12\x66\n\x17\x41skReneListReservations\x12#.cln.AskrenelistreservationsRequest\x1a$.cln.AskrenelistreservationsResponse\"\x00\x12W\n\x12InjectPaymentOnion\x12\x1e.cln.InjectpaymentonionRequest\x1a\x1f.cln.InjectpaymentonionResponse\"\x00\x12W\n\x12InjectOnionMessage\x12\x1e.cln.InjectonionmessageRequest\x1a\x1f.cln.InjectonionmessageResponse\"\x00\x12-\n\x04Xpay\x12\x10.cln.XpayRequest\x1a\x11.cln.XpayResponse\"\x00\x12W\n\x12SignMessageWithKey\x12\x1e.cln.SignmessagewithkeyRequest\x1a\x1f.cln.SignmessagewithkeyResponse\"\x00\x12Q\n\x10ListChannelMoves\x12\x1c.cln.ListchannelmovesRequest\x1a\x1d.cln.ListchannelmovesResponse\"\x00\x12K\n\x0eListChainMoves\x12\x1a.cln.ListchainmovesRequest\x1a\x1b.cln.ListchainmovesResponse\"\x00\x12T\n\x11ListNetworkEvents\x12\x1d.cln.ListnetworkeventsRequest\x1a\x1e.cln.ListnetworkeventsResponse\"\x00\x12N\n\x0f\x44\x65lNetworkEvent\x12\x1b.cln.DelnetworkeventRequest\x1a\x1c.cln.DelnetworkeventResponse\"\x00\x12Z\n\x13\x43lnrestRegisterPath\x12\x1f.cln.ClnrestregisterpathRequest\x1a .cln.ClnrestregisterpathResponse\"\x00\x12T\n\x11ListCurrencyRates\x12\x1d.cln.ListcurrencyratesRequest\x1a\x1e.cln.ListcurrencyratesResponse\"\x00\x12N\n\x0f\x43urrencyConvert\x12\x1b.cln.CurrencyconvertRequest\x1a\x1c.cln.CurrencyconvertResponse\"\x00\x12\x45\n\x0c\x43urrencyRate\x12\x18.cln.CurrencyrateRequest\x1a\x19.cln.CurrencyrateResponse\"\x00\x12?\n\nSendAmount\x12\x16.cln.SendamountRequest\x1a\x17.cln.SendamountResponse\"\x00\x12\x42\n\x0b\x43reateProof\x12\x17.cln.CreateproofRequest\x1a\x18.cln.CreateproofResponse\"\x00\x12\x39\n\x08Xkeysend\x12\x14.cln.XkeysendRequest\x1a\x15.cln.XkeysendResponse\"\x00\x12\x39\n\x08Graceful\x12\x14.cln.GracefulRequest\x1a\x15.cln.GracefulResponse\"\x00\x12\x63\n\x18SubscribeBalanceSnapshot\x12!.cln.StreamBalanceSnapshotRequest\x1a .cln.BalanceSnapshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeBlockAdded\x12\x1c.cln.StreamBlockAddedRequest\x1a\x1b.cln.BlockAddedNotification\"\x00\x30\x01\x12i\n\x1aSubscribeChannelOpenFailed\x12#.cln.StreamChannelOpenFailedRequest\x1a\".cln.ChannelOpenFailedNotification\"\x00\x30\x01\x12]\n\x16SubscribeChannelOpened\x12\x1f.cln.StreamChannelOpenedRequest\x1a\x1e.cln.ChannelOpenedNotification\"\x00\x30\x01\x12o\n\x1cSubscribeChannelStateChanged\x12%.cln.StreamChannelStateChangedRequest\x1a$.cln.ChannelStateChangedNotification\"\x00\x30\x01\x12O\n\x10SubscribeConnect\x12\x19.cln.StreamConnectRequest\x1a\x1c.cln.PeerConnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeCoinMovement\x12\x1e.cln.StreamCoinMovementRequest\x1a\x1d.cln.CoinMovementNotification\"\x00\x30\x01\x12Q\n\x12SubscribeCustomMsg\x12\x1b.cln.StreamCustomMsgRequest\x1a\x1a.cln.CustomMsgNotification\"\x00\x30\x01\x12i\n\x1aSubscribeDeprecatedOneshot\x12#.cln.StreamDeprecatedOneshotRequest\x1a\".cln.DeprecatedOneshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeDisconnect\x12\x1c.cln.StreamDisconnectRequest\x1a\x1b.cln.DisconnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeForwardEvent\x12\x1e.cln.StreamForwardEventRequest\x1a\x1d.cln.ForwardEventNotification\"\x00\x30\x01\x12\x63\n\x18SubscribeInvoiceCreation\x12!.cln.StreamInvoiceCreationRequest\x1a .cln.InvoiceCreationNotification\"\x00\x30\x01\x12`\n\x17SubscribeInvoicePayment\x12 .cln.StreamInvoicePaymentRequest\x1a\x1f.cln.InvoicePaymentNotification\"\x00\x30\x01\x12?\n\x0cSubscribeLog\x12\x15.cln.StreamLogRequest\x1a\x14.cln.LogNotification\"\x00\x30\x01\x12{\n SubscribeOnionMessageForwardFail\x12).cln.StreamOnionMessageForwardFailRequest\x1a(.cln.OnionMessageForwardFailNotification\"\x00\x30\x01\x12o\n\x1cSubscribeOpenChannelPeerSigs\x12%.cln.StreamOpenChannelPeerSigsRequest\x1a$.cln.OpenChannelPeerSigsNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStarted\x12\x1f.cln.StreamPluginStartedRequest\x1a\x1e.cln.PluginStartedNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStopped\x12\x1f.cln.StreamPluginStoppedRequest\x1a\x1e.cln.PluginStoppedNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPayFailure\x12 .cln.StreamSendPayFailureRequest\x1a\x1f.cln.SendPayFailureNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPaySuccess\x12 .cln.StreamSendPaySuccessRequest\x1a\x1f.cln.SendPaySuccessNotification\"\x00\x30\x01\x12N\n\x11SubscribeShutdown\x12\x1a.cln.StreamShutdownRequest\x1a\x19.cln.ShutdownNotification\"\x00\x30\x01\x12K\n\x10SubscribeWarning\x12\x19.cln.StreamWarningRequest\x1a\x18.cln.WarningNotification\"\x00\x30\x01\x12T\n\x13SubscribePayPartEnd\x12\x1c.cln.StreamPayPartEndRequest\x1a\x1b.cln.PayPartEndNotification\"\x00\x30\x01\x12Z\n\x15SubscribePayPartStart\x12\x1e.cln.StreamPayPartStartRequest\x1a\x1d.cln.PayPartStartNotification\"\x00\x30\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -1077,581 +1077,583 @@ _globals['_LISTCONFIGSRESPONSE']._serialized_start=72056 _globals['_LISTCONFIGSRESPONSE']._serialized_end=72136 _globals['_LISTCONFIGSCONFIGS']._serialized_start=72139 - _globals['_LISTCONFIGSCONFIGS']._serialized_end=78047 - _globals['_LISTCONFIGSCONFIGSADDR']._serialized_start=78049 - _globals['_LISTCONFIGSCONFIGSADDR']._serialized_end=78110 - _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_start=78112 - _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_end=78172 - _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_start=78174 - _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_end=78249 - _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_start=78251 - _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_end=78321 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_start=78323 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_end=78392 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_start=78395 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_end=78651 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_start=78570 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_end=78651 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_start=78653 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_end=78734 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_start=78736 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_end=78807 - _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_start=78809 - _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_end=78886 - _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_start=78888 - _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_end=78954 - _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_start=78956 - _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_end=79021 - _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_start=79023 - _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_end=79084 - _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_start=79086 - _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_end=79150 - _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_start=79152 - _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_end=79216 - _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_start=79218 - _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_end=79282 - _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_start=79284 - _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_end=79358 - _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_start=79360 - _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_end=79425 - _globals['_LISTCONFIGSCONFIGSCONF']._serialized_start=79428 - _globals['_LISTCONFIGSCONFIGSCONF']._serialized_end=79590 - _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_start=79547 - _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_end=79590 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_start=79592 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_end=79702 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_start=79704 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_end=79818 - _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_start=79820 - _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_end=79875 - _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_start=79877 - _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_end=79948 - _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_start=79950 - _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_end=80008 - _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_start=80010 - _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_end=80069 - _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_start=80071 - _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_end=80162 - _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_start=80164 - _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_end=80234 - _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_start=80236 - _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_end=80297 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_start=80299 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_end=80367 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_start=80369 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_end=80438 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_start=80440 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_end=80512 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_start=80514 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_end=80595 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_start=80597 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_end=80674 - _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_start=80676 - _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_end=80738 - _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_start=80740 - _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_end=80808 - _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_start=80810 - _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_end=80912 - _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_start=80914 - _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_end=80982 - _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_start=80984 - _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_end=81054 - _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_start=81056 - _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_end=81140 - _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_start=81142 - _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_end=81226 - _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_start=81228 - _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_end=81299 - _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_start=81301 - _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_end=81373 - _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_start=81375 - _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_end=81437 - _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_start=81439 - _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_end=81506 - _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_start=81508 - _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_end=81572 - _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_start=81574 - _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_end=81637 - _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_start=81639 - _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_end=81703 - _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_start=81705 - _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_end=81774 - _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_start=81776 - _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_end=81832 - _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_start=81834 - _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_end=81907 - _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_start=81909 - _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_end=82001 - _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_start=82003 - _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_end=82106 - _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_start=82108 - _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_end=82170 - _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_start=82172 - _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_end=82228 - _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_start=82230 - _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_end=82292 - _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_start=82294 - _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_end=82357 - _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_start=82359 - _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_end=82425 - _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_start=82427 - _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_end=82487 - _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_start=82489 - _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_end=82545 - _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_start=82547 - _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_end=82625 - _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_start=82627 - _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_end=82688 - _globals['_LISTCONFIGSCONFIGSRGB']._serialized_start=82690 - _globals['_LISTCONFIGSCONFIGSRGB']._serialized_end=82748 - _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_start=82750 - _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_end=82812 - _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_start=82814 - _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_end=82880 - _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_start=82882 - _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_end=82937 - _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_start=82939 - _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_end=83005 - _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_start=83007 - _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_end=83063 - _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_start=83065 - _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_end=83138 - _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_start=83140 - _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_end=83201 - _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_start=83203 - _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_end=83273 - _globals['_STOPREQUEST']._serialized_start=83275 - _globals['_STOPREQUEST']._serialized_end=83288 - _globals['_STOPRESPONSE']._serialized_start=83290 - _globals['_STOPRESPONSE']._serialized_end=83387 - _globals['_STOPRESPONSE_STOPRESULT']._serialized_start=83352 - _globals['_STOPRESPONSE_STOPRESULT']._serialized_end=83387 - _globals['_HELPREQUEST']._serialized_start=83389 - _globals['_HELPREQUEST']._serialized_end=83436 - _globals['_HELPRESPONSE']._serialized_start=83439 - _globals['_HELPRESPONSE']._serialized_end=83588 - _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_start=83544 - _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_end=83572 - _globals['_HELPHELP']._serialized_start=83590 - _globals['_HELPHELP']._serialized_end=83617 - _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_start=83619 - _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_end=83722 - _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_start=83724 - _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_end=83751 - _globals['_PREAPPROVEINVOICEREQUEST']._serialized_start=83753 - _globals['_PREAPPROVEINVOICEREQUEST']._serialized_end=83795 - _globals['_PREAPPROVEINVOICERESPONSE']._serialized_start=83797 - _globals['_PREAPPROVEINVOICERESPONSE']._serialized_end=83824 - _globals['_STATICBACKUPREQUEST']._serialized_start=83826 - _globals['_STATICBACKUPREQUEST']._serialized_end=83847 - _globals['_STATICBACKUPRESPONSE']._serialized_start=83849 - _globals['_STATICBACKUPRESPONSE']._serialized_end=83884 - _globals['_BKPRCHANNELSAPYREQUEST']._serialized_start=83886 - _globals['_BKPRCHANNELSAPYREQUEST']._serialized_end=83986 - _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_start=83988 - _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_end=84068 - _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_start=84071 - _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_end=84960 - _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_start=84963 - _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_end=85173 - _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_start=85176 - _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_end=85388 - _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_start=85302 - _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_end=85388 - _globals['_BKPRINSPECTREQUEST']._serialized_start=85390 - _globals['_BKPRINSPECTREQUEST']._serialized_end=85427 - _globals['_BKPRINSPECTRESPONSE']._serialized_start=85429 - _globals['_BKPRINSPECTRESPONSE']._serialized_end=85484 - _globals['_BKPRINSPECTTXS']._serialized_start=85487 - _globals['_BKPRINSPECTTXS']._serialized_end=85641 - _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_start=85644 - _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_end=86088 - _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_start=86090 - _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_end=86194 - _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_start=86196 - _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_end=86277 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_start=86280 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_end=86997 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_start=86783 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_end=86857 - _globals['_BKPRLISTBALANCESREQUEST']._serialized_start=86999 - _globals['_BKPRLISTBALANCESREQUEST']._serialized_end=87024 - _globals['_BKPRLISTBALANCESRESPONSE']._serialized_start=87026 - _globals['_BKPRLISTBALANCESRESPONSE']._serialized_end=87101 - _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_start=87104 - _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_end=87430 - _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_start=87432 - _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_end=87520 - _globals['_BKPRLISTINCOMEREQUEST']._serialized_start=87523 - _globals['_BKPRLISTINCOMEREQUEST']._serialized_end=87674 - _globals['_BKPRLISTINCOMERESPONSE']._serialized_start=87676 - _globals['_BKPRLISTINCOMERESPONSE']._serialized_end=87756 - _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_start=87759 - _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_end=88067 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_start=88069 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_end=88149 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_start=88151 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_end=88252 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_start=88255 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_end=88930 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_start=88756 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_end=88823 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_start=88932 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_end=89009 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_start=89011 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_end=89110 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_start=89113 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_end=89784 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_start=89611 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_end=89677 - _globals['_BKPRREPORTREQUEST']._serialized_start=89787 - _globals['_BKPRREPORTREQUEST']._serialized_end=89963 - _globals['_BKPRREPORTRESPONSE']._serialized_start=89965 - _globals['_BKPRREPORTRESPONSE']._serialized_end=90001 - _globals['_BLACKLISTRUNEREQUEST']._serialized_start=90003 - _globals['_BLACKLISTRUNEREQUEST']._serialized_end=90113 - _globals['_BLACKLISTRUNERESPONSE']._serialized_start=90115 - _globals['_BLACKLISTRUNERESPONSE']._serialized_end=90186 - _globals['_BLACKLISTRUNEBLACKLIST']._serialized_start=90188 - _globals['_BLACKLISTRUNEBLACKLIST']._serialized_end=90240 - _globals['_CHECKRUNEREQUEST']._serialized_start=90242 - _globals['_CHECKRUNEREQUEST']._serialized_end=90354 - _globals['_CHECKRUNERESPONSE']._serialized_start=90356 - _globals['_CHECKRUNERESPONSE']._serialized_end=90390 - _globals['_CREATERUNEREQUEST']._serialized_start=90392 - _globals['_CREATERUNEREQUEST']._serialized_end=90461 - _globals['_CREATERUNERESPONSE']._serialized_start=90463 - _globals['_CREATERUNERESPONSE']._serialized_end=90586 - _globals['_SHOWRUNESREQUEST']._serialized_start=90588 - _globals['_SHOWRUNESREQUEST']._serialized_end=90634 - _globals['_SHOWRUNESRESPONSE']._serialized_start=90636 - _globals['_SHOWRUNESRESPONSE']._serialized_end=90691 - _globals['_SHOWRUNESRUNES']._serialized_start=90694 - _globals['_SHOWRUNESRUNES']._serialized_end=90979 - _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_start=90981 - _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_end=91093 - _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_start=91095 - _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_end=91205 - _globals['_ASKRENEUNRESERVEREQUEST']._serialized_start=91207 - _globals['_ASKRENEUNRESERVEREQUEST']._serialized_end=91321 - _globals['_ASKRENEUNRESERVERESPONSE']._serialized_start=91323 - _globals['_ASKRENEUNRESERVERESPONSE']._serialized_end=91349 - _globals['_ASKRENEUNRESERVEPATH']._serialized_start=91351 - _globals['_ASKRENEUNRESERVEPATH']._serialized_end=91467 - _globals['_ASKRENELISTLAYERSREQUEST']._serialized_start=91469 - _globals['_ASKRENELISTLAYERSREQUEST']._serialized_end=91525 - _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_start=91527 - _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_end=91600 - _globals['_ASKRENELISTLAYERSLAYERS']._serialized_start=91603 - _globals['_ASKRENELISTLAYERSLAYERS']._serialized_end=92029 - _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_start=92032 - _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_end=92187 - _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_start=92190 - _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_end=92614 - _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_start=92617 - _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_end=92835 - _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_start=92838 - _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_end=92977 - _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_start=92980 - _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_end=93125 - _globals['_ASKRENECREATELAYERREQUEST']._serialized_start=93127 - _globals['_ASKRENECREATELAYERREQUEST']._serialized_end=93209 - _globals['_ASKRENECREATELAYERRESPONSE']._serialized_start=93211 - _globals['_ASKRENECREATELAYERRESPONSE']._serialized_end=93286 - _globals['_ASKRENECREATELAYERLAYERS']._serialized_start=93289 - _globals['_ASKRENECREATELAYERLAYERS']._serialized_end=93721 - _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_start=93724 - _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_end=93880 - _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_start=93883 - _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_end=94220 - _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_start=94223 - _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_end=94419 - _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_start=94422 - _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_end=94562 - _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_start=94565 - _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_end=94711 - _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_start=94713 - _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_end=94755 - _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_start=94757 - _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_end=94785 - _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_start=94787 - _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_end=94867 - _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_start=94869 - _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_end=94905 - _globals['_ASKRENERESERVEREQUEST']._serialized_start=94907 - _globals['_ASKRENERESERVEREQUEST']._serialized_end=94969 - _globals['_ASKRENERESERVERESPONSE']._serialized_start=94971 - _globals['_ASKRENERESERVERESPONSE']._serialized_end=94995 - _globals['_ASKRENERESERVEPATH']._serialized_start=94997 - _globals['_ASKRENERESERVEPATH']._serialized_end=95111 - _globals['_ASKRENEAGEREQUEST']._serialized_start=95113 - _globals['_ASKRENEAGEREQUEST']._serialized_end=95163 - _globals['_ASKRENEAGERESPONSE']._serialized_start=95165 - _globals['_ASKRENEAGERESPONSE']._serialized_end=95221 - _globals['_GETROUTESREQUEST']._serialized_start=95224 - _globals['_GETROUTESREQUEST']._serialized_end=95455 - _globals['_GETROUTESRESPONSE']._serialized_start=95457 - _globals['_GETROUTESRESPONSE']._serialized_end=95539 - _globals['_GETROUTESROUTES']._serialized_start=95542 - _globals['_GETROUTESROUTES']._serialized_end=95678 - _globals['_GETROUTESROUTESPATH']._serialized_start=95681 - _globals['_GETROUTESROUTESPATH']._serialized_end=96149 - _globals['_ASKRENEDISABLENODEREQUEST']._serialized_start=96151 - _globals['_ASKRENEDISABLENODEREQUEST']._serialized_end=96207 - _globals['_ASKRENEDISABLENODERESPONSE']._serialized_start=96209 - _globals['_ASKRENEDISABLENODERESPONSE']._serialized_end=96237 - _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_start=96240 - _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_end=96506 - _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_start=96427 - _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_end=96506 - _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_start=96508 - _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_end=96597 - _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_start=96600 - _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_end=96811 - _globals['_ASKRENECREATECHANNELREQUEST']._serialized_start=96814 - _globals['_ASKRENECREATECHANNELREQUEST']._serialized_end=96957 - _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_start=96959 - _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_end=96989 - _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_start=96992 - _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_end=97421 - _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_start=97423 - _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_end=97453 - _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_start=97456 - _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_end=97620 - _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_start=97622 - _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_end=97697 - _globals['_ASKRENEBIASCHANNELBIASES']._serialized_start=97700 - _globals['_ASKRENEBIASCHANNELBIASES']._serialized_end=97865 - _globals['_ASKRENEBIASNODEREQUEST']._serialized_start=97868 - _globals['_ASKRENEBIASNODEREQUEST']._serialized_end=98032 - _globals['_ASKRENEBIASNODERESPONSE']._serialized_start=98034 - _globals['_ASKRENEBIASNODERESPONSE']._serialized_end=98112 - _globals['_ASKRENEBIASNODENODEBIASES']._serialized_start=98115 - _globals['_ASKRENEBIASNODENODEBIASES']._serialized_end=98267 - _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_start=98269 - _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_end=98301 - _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_start=98303 - _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_end=98400 - _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_start=98403 - _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_end=98548 - _globals['_INJECTPAYMENTONIONREQUEST']._serialized_start=98551 - _globals['_INJECTPAYMENTONIONREQUEST']._serialized_end=98924 - _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_start=98926 - _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_end=99045 - _globals['_INJECTONIONMESSAGEREQUEST']._serialized_start=99047 - _globals['_INJECTONIONMESSAGEREQUEST']._serialized_end=99109 - _globals['_INJECTONIONMESSAGERESPONSE']._serialized_start=99111 - _globals['_INJECTONIONMESSAGERESPONSE']._serialized_end=99139 - _globals['_XPAYREQUEST']._serialized_start=99142 - _globals['_XPAYREQUEST']._serialized_end=99585 - _globals['_XPAYRESPONSE']._serialized_start=99588 - _globals['_XPAYRESPONSE']._serialized_end=99749 - _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_start=99751 - _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_end=99812 - _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_start=99814 - _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_end=99910 - _globals['_LISTCHANNELMOVESREQUEST']._serialized_start=99913 - _globals['_LISTCHANNELMOVESREQUEST']._serialized_end=100118 - _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_start=100052 - _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_end=100088 - _globals['_LISTCHANNELMOVESRESPONSE']._serialized_start=100120 - _globals['_LISTCHANNELMOVESRESPONSE']._serialized_end=100203 - _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_start=100206 - _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_end=100759 - _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_start=100567 - _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_end=100717 - _globals['_LISTCHAINMOVESREQUEST']._serialized_start=100762 - _globals['_LISTCHAINMOVESREQUEST']._serialized_end=100959 - _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_start=100895 - _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_end=100929 - _globals['_LISTCHAINMOVESRESPONSE']._serialized_start=100961 - _globals['_LISTCHAINMOVESRESPONSE']._serialized_end=101036 - _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_start=101039 - _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_end=101891 - _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_start=101526 - _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_end=101803 - _globals['_LISTNETWORKEVENTSREQUEST']._serialized_start=101894 - _globals['_LISTNETWORKEVENTSREQUEST']._serialized_end=102127 - _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_start=102053 - _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_end=102090 - _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_start=102129 - _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_end=102216 - _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_start=102219 - _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_end=102461 - _globals['_DELNETWORKEVENTREQUEST']._serialized_start=102463 - _globals['_DELNETWORKEVENTREQUEST']._serialized_end=102510 - _globals['_DELNETWORKEVENTRESPONSE']._serialized_start=102512 - _globals['_DELNETWORKEVENTRESPONSE']._serialized_end=102537 - _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_start=102540 - _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_end=102786 - _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_start=102788 - _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_end=102817 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_start=102820 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_end=103038 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_start=102971 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_end=103016 - _globals['_LISTCURRENCYRATESREQUEST']._serialized_start=103040 - _globals['_LISTCURRENCYRATESREQUEST']._serialized_end=103084 - _globals['_LISTCURRENCYRATESRESPONSE']._serialized_start=103086 - _globals['_LISTCURRENCYRATESRESPONSE']._serialized_end=103173 - _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_start=103175 - _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_end=103239 - _globals['_CURRENCYCONVERTREQUEST']._serialized_start=103241 - _globals['_CURRENCYCONVERTREQUEST']._serialized_end=103299 - _globals['_CURRENCYCONVERTRESPONSE']._serialized_start=103301 - _globals['_CURRENCYCONVERTRESPONSE']._serialized_end=103353 - _globals['_CURRENCYRATEREQUEST']._serialized_start=103355 - _globals['_CURRENCYRATEREQUEST']._serialized_end=103426 - _globals['_CURRENCYRATERESPONSE']._serialized_start=103428 - _globals['_CURRENCYRATERESPONSE']._serialized_end=103464 - _globals['_SENDAMOUNTREQUEST']._serialized_start=103467 - _globals['_SENDAMOUNTREQUEST']._serialized_end=103744 - _globals['_SENDAMOUNTRESPONSE']._serialized_start=103747 - _globals['_SENDAMOUNTRESPONSE']._serialized_end=103914 - _globals['_CREATEPROOFREQUEST']._serialized_start=103916 - _globals['_CREATEPROOFREQUEST']._serialized_end=104017 - _globals['_CREATEPROOFRESPONSE']._serialized_start=104019 - _globals['_CREATEPROOFRESPONSE']._serialized_end=104080 - _globals['_CREATEPROOFPROOFS']._serialized_start=104083 - _globals['_CREATEPROOFPROOFS']._serialized_end=104265 - _globals['_XKEYSENDREQUEST']._serialized_start=104268 - _globals['_XKEYSENDREQUEST']._serialized_end=104611 - _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_start=104515 - _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_end=104563 - _globals['_XKEYSENDRESPONSE']._serialized_start=104614 - _globals['_XKEYSENDRESPONSE']._serialized_end=104779 - _globals['_GRACEFULREQUEST']._serialized_start=104781 - _globals['_GRACEFULREQUEST']._serialized_end=104832 - _globals['_GRACEFULRESPONSE']._serialized_start=104834 - _globals['_GRACEFULRESPONSE']._serialized_end=104906 - _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_start=104908 - _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_end=104938 - _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_start=104941 - _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_end=105075 - _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_start=105077 - _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_end=105176 - _globals['_STREAMBLOCKADDEDREQUEST']._serialized_start=105178 - _globals['_STREAMBLOCKADDEDREQUEST']._serialized_end=105203 - _globals['_BLOCKADDEDNOTIFICATION']._serialized_start=105205 - _globals['_BLOCKADDEDNOTIFICATION']._serialized_end=105259 - _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_start=105261 - _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_end=105293 - _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_start=105295 - _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_end=105346 - _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_start=105348 - _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_end=105376 - _globals['_CHANNELOPENEDNOTIFICATION']._serialized_start=105378 - _globals['_CHANNELOPENEDNOTIFICATION']._serialized_end=105497 - _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_start=105499 - _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_end=105533 - _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_start=105536 - _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_end=105985 - _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_start=105839 - _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_end=105938 - _globals['_STREAMCONNECTREQUEST']._serialized_start=105987 - _globals['_STREAMCONNECTREQUEST']._serialized_end=106009 - _globals['_PEERCONNECTNOTIFICATION']._serialized_start=106012 - _globals['_PEERCONNECTNOTIFICATION']._serialized_end=106202 - _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_start=106163 - _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_end=106202 - _globals['_PEERCONNECTADDRESS']._serialized_start=106205 - _globals['_PEERCONNECTADDRESS']._serialized_end=106487 - _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_start=106356 - _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_end=106455 - _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_start=106489 - _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_end=106516 - _globals['_COINMOVEMENTNOTIFICATION']._serialized_start=106519 - _globals['_COINMOVEMENTNOTIFICATION']._serialized_end=107974 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_start=107313 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_end=107688 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_start=107690 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_end=107740 - _globals['_STREAMCUSTOMMSGREQUEST']._serialized_start=107976 - _globals['_STREAMCUSTOMMSGREQUEST']._serialized_end=108000 - _globals['_CUSTOMMSGNOTIFICATION']._serialized_start=108002 - _globals['_CUSTOMMSGNOTIFICATION']._serialized_end=108059 - _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_start=108061 - _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_end=108093 - _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_start=108095 - _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_end=108149 - _globals['_STREAMDISCONNECTREQUEST']._serialized_start=108151 - _globals['_STREAMDISCONNECTREQUEST']._serialized_end=108176 - _globals['_DISCONNECTNOTIFICATION']._serialized_start=108178 - _globals['_DISCONNECTNOTIFICATION']._serialized_end=108214 - _globals['_STREAMFORWARDEVENTREQUEST']._serialized_start=108216 - _globals['_STREAMFORWARDEVENTREQUEST']._serialized_end=108243 - _globals['_FORWARDEVENTNOTIFICATION']._serialized_start=108246 - _globals['_FORWARDEVENTNOTIFICATION']._serialized_end=108894 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_start=108678 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_end=108754 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_start=108756 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_end=108796 - _globals['_STREAMINVOICECREATIONREQUEST']._serialized_start=108896 - _globals['_STREAMINVOICECREATIONREQUEST']._serialized_end=108926 - _globals['_INVOICECREATIONNOTIFICATION']._serialized_start=108928 - _globals['_INVOICECREATIONNOTIFICATION']._serialized_end=109031 - _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_start=109033 - _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_end=109062 - _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_start=109065 - _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_end=109204 - _globals['_STREAMLOGREQUEST']._serialized_start=109206 - _globals['_STREAMLOGREQUEST']._serialized_end=109224 - _globals['_LOGNOTIFICATION']._serialized_start=109227 - _globals['_LOGNOTIFICATION']._serialized_end=109429 - _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_start=109354 - _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_end=109429 - _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_start=109431 - _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_end=109469 - _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_start=109472 - _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_end=109711 - _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_start=109713 - _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_end=109747 - _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_start=109749 - _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_end=109823 - _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_start=109825 - _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_end=109853 - _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_start=109855 - _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_end=109941 - _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_start=109943 - _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_end=109971 - _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_start=109973 - _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_end=110059 - _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_start=110061 - _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_end=110090 - _globals['_SENDPAYFAILURENOTIFICATION']._serialized_start=110092 - _globals['_SENDPAYFAILURENOTIFICATION']._serialized_end=110190 - _globals['_SENDPAYFAILUREDATA']._serialized_start=110193 - _globals['_SENDPAYFAILUREDATA']._serialized_end=111410 - _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_start=110948 - _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_end=111013 - _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_start=111412 - _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_end=111441 - _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_start=111444 - _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_end=112160 - _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_start=111962 - _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_end=111998 - _globals['_STREAMSHUTDOWNREQUEST']._serialized_start=112162 - _globals['_STREAMSHUTDOWNREQUEST']._serialized_end=112185 - _globals['_SHUTDOWNNOTIFICATION']._serialized_start=112187 - _globals['_SHUTDOWNNOTIFICATION']._serialized_end=112209 - _globals['_STREAMWARNINGREQUEST']._serialized_start=112211 - _globals['_STREAMWARNINGREQUEST']._serialized_end=112233 - _globals['_WARNINGNOTIFICATION']._serialized_start=112236 - _globals['_WARNINGNOTIFICATION']._serialized_end=112410 - _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_start=112375 - _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_end=112410 - _globals['_STREAMPAYPARTENDREQUEST']._serialized_start=112412 - _globals['_STREAMPAYPARTENDREQUEST']._serialized_end=112437 - _globals['_PAYPARTENDNOTIFICATION']._serialized_start=112440 - _globals['_PAYPARTENDNOTIFICATION']._serialized_end=112937 - _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_start=112777 - _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_end=112821 - _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_start=112939 - _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_end=112966 - _globals['_PAYPARTSTARTNOTIFICATION']._serialized_start=112969 - _globals['_PAYPARTSTARTNOTIFICATION']._serialized_end=113163 - _globals['_PAYPARTSTARTHOPS']._serialized_start=113166 - _globals['_PAYPARTSTARTHOPS']._serialized_end=113325 - _globals['_NODE']._serialized_start=113328 - _globals['_NODE']._serialized_end=126698 + _globals['_LISTCONFIGSCONFIGS']._serialized_end=78148 + _globals['_LISTCONFIGSCONFIGSADDR']._serialized_start=78150 + _globals['_LISTCONFIGSCONFIGSADDR']._serialized_end=78211 + _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_start=78213 + _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_end=78273 + _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_start=78275 + _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_end=78350 + _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_start=78352 + _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_end=78422 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_start=78424 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_end=78493 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_start=78496 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_end=78752 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_start=78671 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_end=78752 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_start=78754 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_end=78835 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_start=78837 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_end=78908 + _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_start=78910 + _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_end=78987 + _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_start=78989 + _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_end=79055 + _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_start=79057 + _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_end=79122 + _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_start=79124 + _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_end=79185 + _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_start=79187 + _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_end=79251 + _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_start=79253 + _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_end=79317 + _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_start=79319 + _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_end=79383 + _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_start=79385 + _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_end=79459 + _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_start=79461 + _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_end=79526 + _globals['_LISTCONFIGSCONFIGSCONF']._serialized_start=79529 + _globals['_LISTCONFIGSCONFIGSCONF']._serialized_end=79691 + _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_start=79648 + _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_end=79691 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_start=79693 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_end=79803 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_start=79805 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_end=79919 + _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_start=79921 + _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_end=79976 + _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_start=79978 + _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_end=80049 + _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_start=80051 + _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_end=80109 + _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_start=80111 + _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_end=80170 + _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_start=80172 + _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_end=80263 + _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_start=80265 + _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_end=80335 + _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_start=80337 + _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_end=80398 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_start=80400 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_end=80468 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_start=80470 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_end=80539 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_start=80541 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_end=80613 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_start=80615 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_end=80696 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_start=80698 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_end=80775 + _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_start=80777 + _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_end=80839 + _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_start=80841 + _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_end=80909 + _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_start=80911 + _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_end=81013 + _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_start=81015 + _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_end=81083 + _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_start=81085 + _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_end=81155 + _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_start=81157 + _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_end=81241 + _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_start=81243 + _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_end=81327 + _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_start=81329 + _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_end=81400 + _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_start=81402 + _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_end=81474 + _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_start=81476 + _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_end=81543 + _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_start=81545 + _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_end=81607 + _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_start=81609 + _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_end=81676 + _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_start=81678 + _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_end=81742 + _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_start=81744 + _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_end=81807 + _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_start=81809 + _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_end=81873 + _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_start=81875 + _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_end=81944 + _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_start=81946 + _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_end=82002 + _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_start=82004 + _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_end=82077 + _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_start=82079 + _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_end=82171 + _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_start=82173 + _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_end=82276 + _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_start=82278 + _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_end=82340 + _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_start=82342 + _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_end=82398 + _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_start=82400 + _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_end=82462 + _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_start=82464 + _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_end=82527 + _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_start=82529 + _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_end=82595 + _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_start=82597 + _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_end=82657 + _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_start=82659 + _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_end=82715 + _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_start=82717 + _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_end=82795 + _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_start=82797 + _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_end=82858 + _globals['_LISTCONFIGSCONFIGSRGB']._serialized_start=82860 + _globals['_LISTCONFIGSCONFIGSRGB']._serialized_end=82918 + _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_start=82920 + _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_end=82982 + _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_start=82984 + _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_end=83050 + _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_start=83052 + _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_end=83107 + _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_start=83109 + _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_end=83175 + _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_start=83177 + _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_end=83233 + _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_start=83235 + _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_end=83308 + _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_start=83310 + _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_end=83371 + _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_start=83373 + _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_end=83443 + _globals['_STOPREQUEST']._serialized_start=83445 + _globals['_STOPREQUEST']._serialized_end=83458 + _globals['_STOPRESPONSE']._serialized_start=83460 + _globals['_STOPRESPONSE']._serialized_end=83557 + _globals['_STOPRESPONSE_STOPRESULT']._serialized_start=83522 + _globals['_STOPRESPONSE_STOPRESULT']._serialized_end=83557 + _globals['_HELPREQUEST']._serialized_start=83559 + _globals['_HELPREQUEST']._serialized_end=83606 + _globals['_HELPRESPONSE']._serialized_start=83609 + _globals['_HELPRESPONSE']._serialized_end=83758 + _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_start=83714 + _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_end=83742 + _globals['_HELPHELP']._serialized_start=83760 + _globals['_HELPHELP']._serialized_end=83787 + _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_start=83789 + _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_end=83892 + _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_start=83894 + _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_end=83921 + _globals['_PREAPPROVEINVOICEREQUEST']._serialized_start=83923 + _globals['_PREAPPROVEINVOICEREQUEST']._serialized_end=83965 + _globals['_PREAPPROVEINVOICERESPONSE']._serialized_start=83967 + _globals['_PREAPPROVEINVOICERESPONSE']._serialized_end=83994 + _globals['_STATICBACKUPREQUEST']._serialized_start=83996 + _globals['_STATICBACKUPREQUEST']._serialized_end=84017 + _globals['_STATICBACKUPRESPONSE']._serialized_start=84019 + _globals['_STATICBACKUPRESPONSE']._serialized_end=84054 + _globals['_BKPRCHANNELSAPYREQUEST']._serialized_start=84056 + _globals['_BKPRCHANNELSAPYREQUEST']._serialized_end=84156 + _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_start=84158 + _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_end=84238 + _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_start=84241 + _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_end=85130 + _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_start=85133 + _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_end=85343 + _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_start=85346 + _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_end=85558 + _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_start=85472 + _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_end=85558 + _globals['_BKPRINSPECTREQUEST']._serialized_start=85560 + _globals['_BKPRINSPECTREQUEST']._serialized_end=85597 + _globals['_BKPRINSPECTRESPONSE']._serialized_start=85599 + _globals['_BKPRINSPECTRESPONSE']._serialized_end=85654 + _globals['_BKPRINSPECTTXS']._serialized_start=85657 + _globals['_BKPRINSPECTTXS']._serialized_end=85811 + _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_start=85814 + _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_end=86258 + _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_start=86260 + _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_end=86364 + _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_start=86366 + _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_end=86447 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_start=86450 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_end=87167 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_start=86953 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_end=87027 + _globals['_BKPRLISTBALANCESREQUEST']._serialized_start=87169 + _globals['_BKPRLISTBALANCESREQUEST']._serialized_end=87194 + _globals['_BKPRLISTBALANCESRESPONSE']._serialized_start=87196 + _globals['_BKPRLISTBALANCESRESPONSE']._serialized_end=87271 + _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_start=87274 + _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_end=87600 + _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_start=87602 + _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_end=87690 + _globals['_BKPRLISTINCOMEREQUEST']._serialized_start=87693 + _globals['_BKPRLISTINCOMEREQUEST']._serialized_end=87844 + _globals['_BKPRLISTINCOMERESPONSE']._serialized_start=87846 + _globals['_BKPRLISTINCOMERESPONSE']._serialized_end=87926 + _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_start=87929 + _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_end=88237 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_start=88239 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_end=88319 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_start=88321 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_end=88422 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_start=88425 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_end=89100 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_start=88926 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_end=88993 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_start=89102 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_end=89179 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_start=89181 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_end=89280 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_start=89283 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_end=89954 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_start=89781 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_end=89847 + _globals['_BKPRREPORTREQUEST']._serialized_start=89957 + _globals['_BKPRREPORTREQUEST']._serialized_end=90133 + _globals['_BKPRREPORTRESPONSE']._serialized_start=90135 + _globals['_BKPRREPORTRESPONSE']._serialized_end=90171 + _globals['_BLACKLISTRUNEREQUEST']._serialized_start=90173 + _globals['_BLACKLISTRUNEREQUEST']._serialized_end=90283 + _globals['_BLACKLISTRUNERESPONSE']._serialized_start=90285 + _globals['_BLACKLISTRUNERESPONSE']._serialized_end=90356 + _globals['_BLACKLISTRUNEBLACKLIST']._serialized_start=90358 + _globals['_BLACKLISTRUNEBLACKLIST']._serialized_end=90410 + _globals['_CHECKRUNEREQUEST']._serialized_start=90412 + _globals['_CHECKRUNEREQUEST']._serialized_end=90524 + _globals['_CHECKRUNERESPONSE']._serialized_start=90526 + _globals['_CHECKRUNERESPONSE']._serialized_end=90560 + _globals['_CREATERUNEREQUEST']._serialized_start=90562 + _globals['_CREATERUNEREQUEST']._serialized_end=90631 + _globals['_CREATERUNERESPONSE']._serialized_start=90633 + _globals['_CREATERUNERESPONSE']._serialized_end=90756 + _globals['_SHOWRUNESREQUEST']._serialized_start=90758 + _globals['_SHOWRUNESREQUEST']._serialized_end=90804 + _globals['_SHOWRUNESRESPONSE']._serialized_start=90806 + _globals['_SHOWRUNESRESPONSE']._serialized_end=90861 + _globals['_SHOWRUNESRUNES']._serialized_start=90864 + _globals['_SHOWRUNESRUNES']._serialized_end=91149 + _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_start=91151 + _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_end=91263 + _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_start=91265 + _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_end=91375 + _globals['_ASKRENEUNRESERVEREQUEST']._serialized_start=91377 + _globals['_ASKRENEUNRESERVEREQUEST']._serialized_end=91491 + _globals['_ASKRENEUNRESERVERESPONSE']._serialized_start=91493 + _globals['_ASKRENEUNRESERVERESPONSE']._serialized_end=91519 + _globals['_ASKRENEUNRESERVEPATH']._serialized_start=91521 + _globals['_ASKRENEUNRESERVEPATH']._serialized_end=91637 + _globals['_ASKRENELISTLAYERSREQUEST']._serialized_start=91639 + _globals['_ASKRENELISTLAYERSREQUEST']._serialized_end=91695 + _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_start=91697 + _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_end=91770 + _globals['_ASKRENELISTLAYERSLAYERS']._serialized_start=91773 + _globals['_ASKRENELISTLAYERSLAYERS']._serialized_end=92199 + _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_start=92202 + _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_end=92357 + _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_start=92360 + _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_end=92784 + _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_start=92787 + _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_end=93005 + _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_start=93008 + _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_end=93147 + _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_start=93150 + _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_end=93295 + _globals['_ASKRENECREATELAYERREQUEST']._serialized_start=93297 + _globals['_ASKRENECREATELAYERREQUEST']._serialized_end=93379 + _globals['_ASKRENECREATELAYERRESPONSE']._serialized_start=93381 + _globals['_ASKRENECREATELAYERRESPONSE']._serialized_end=93456 + _globals['_ASKRENECREATELAYERLAYERS']._serialized_start=93459 + _globals['_ASKRENECREATELAYERLAYERS']._serialized_end=93891 + _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_start=93894 + _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_end=94050 + _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_start=94053 + _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_end=94390 + _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_start=94393 + _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_end=94589 + _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_start=94592 + _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_end=94732 + _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_start=94735 + _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_end=94881 + _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_start=94883 + _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_end=94925 + _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_start=94927 + _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_end=94955 + _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_start=94957 + _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_end=95037 + _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_start=95039 + _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_end=95075 + _globals['_ASKRENERESERVEREQUEST']._serialized_start=95077 + _globals['_ASKRENERESERVEREQUEST']._serialized_end=95139 + _globals['_ASKRENERESERVERESPONSE']._serialized_start=95141 + _globals['_ASKRENERESERVERESPONSE']._serialized_end=95165 + _globals['_ASKRENERESERVEPATH']._serialized_start=95167 + _globals['_ASKRENERESERVEPATH']._serialized_end=95281 + _globals['_ASKRENEAGEREQUEST']._serialized_start=95283 + _globals['_ASKRENEAGEREQUEST']._serialized_end=95333 + _globals['_ASKRENEAGERESPONSE']._serialized_start=95335 + _globals['_ASKRENEAGERESPONSE']._serialized_end=95391 + _globals['_GETROUTESREQUEST']._serialized_start=95394 + _globals['_GETROUTESREQUEST']._serialized_end=95625 + _globals['_GETROUTESRESPONSE']._serialized_start=95627 + _globals['_GETROUTESRESPONSE']._serialized_end=95709 + _globals['_GETROUTESROUTES']._serialized_start=95712 + _globals['_GETROUTESROUTES']._serialized_end=95848 + _globals['_GETROUTESROUTESPATH']._serialized_start=95851 + _globals['_GETROUTESROUTESPATH']._serialized_end=96319 + _globals['_ASKRENEDISABLENODEREQUEST']._serialized_start=96321 + _globals['_ASKRENEDISABLENODEREQUEST']._serialized_end=96377 + _globals['_ASKRENEDISABLENODERESPONSE']._serialized_start=96379 + _globals['_ASKRENEDISABLENODERESPONSE']._serialized_end=96407 + _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_start=96410 + _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_end=96676 + _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_start=96597 + _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_end=96676 + _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_start=96678 + _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_end=96767 + _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_start=96770 + _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_end=96981 + _globals['_ASKRENECREATECHANNELREQUEST']._serialized_start=96984 + _globals['_ASKRENECREATECHANNELREQUEST']._serialized_end=97127 + _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_start=97129 + _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_end=97159 + _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_start=97162 + _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_end=97591 + _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_start=97593 + _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_end=97623 + _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_start=97626 + _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_end=97790 + _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_start=97792 + _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_end=97867 + _globals['_ASKRENEBIASCHANNELBIASES']._serialized_start=97870 + _globals['_ASKRENEBIASCHANNELBIASES']._serialized_end=98035 + _globals['_ASKRENEBIASNODEREQUEST']._serialized_start=98038 + _globals['_ASKRENEBIASNODEREQUEST']._serialized_end=98202 + _globals['_ASKRENEBIASNODERESPONSE']._serialized_start=98204 + _globals['_ASKRENEBIASNODERESPONSE']._serialized_end=98282 + _globals['_ASKRENEBIASNODENODEBIASES']._serialized_start=98285 + _globals['_ASKRENEBIASNODENODEBIASES']._serialized_end=98437 + _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_start=98439 + _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_end=98471 + _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_start=98473 + _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_end=98570 + _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_start=98573 + _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_end=98718 + _globals['_INJECTPAYMENTONIONREQUEST']._serialized_start=98721 + _globals['_INJECTPAYMENTONIONREQUEST']._serialized_end=99094 + _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_start=99096 + _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_end=99215 + _globals['_INJECTONIONMESSAGEREQUEST']._serialized_start=99217 + _globals['_INJECTONIONMESSAGEREQUEST']._serialized_end=99279 + _globals['_INJECTONIONMESSAGERESPONSE']._serialized_start=99281 + _globals['_INJECTONIONMESSAGERESPONSE']._serialized_end=99309 + _globals['_XPAYREQUEST']._serialized_start=99312 + _globals['_XPAYREQUEST']._serialized_end=99755 + _globals['_XPAYRESPONSE']._serialized_start=99758 + _globals['_XPAYRESPONSE']._serialized_end=99919 + _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_start=99921 + _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_end=99982 + _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_start=99984 + _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_end=100080 + _globals['_LISTCHANNELMOVESREQUEST']._serialized_start=100083 + _globals['_LISTCHANNELMOVESREQUEST']._serialized_end=100288 + _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_start=100222 + _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_end=100258 + _globals['_LISTCHANNELMOVESRESPONSE']._serialized_start=100290 + _globals['_LISTCHANNELMOVESRESPONSE']._serialized_end=100373 + _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_start=100376 + _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_end=100929 + _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_start=100737 + _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_end=100887 + _globals['_LISTCHAINMOVESREQUEST']._serialized_start=100932 + _globals['_LISTCHAINMOVESREQUEST']._serialized_end=101129 + _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_start=101065 + _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_end=101099 + _globals['_LISTCHAINMOVESRESPONSE']._serialized_start=101131 + _globals['_LISTCHAINMOVESRESPONSE']._serialized_end=101206 + _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_start=101209 + _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_end=102061 + _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_start=101696 + _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_end=101973 + _globals['_LISTNETWORKEVENTSREQUEST']._serialized_start=102064 + _globals['_LISTNETWORKEVENTSREQUEST']._serialized_end=102297 + _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_start=102223 + _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_end=102260 + _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_start=102299 + _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_end=102386 + _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_start=102389 + _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_end=102631 + _globals['_DELNETWORKEVENTREQUEST']._serialized_start=102633 + _globals['_DELNETWORKEVENTREQUEST']._serialized_end=102680 + _globals['_DELNETWORKEVENTRESPONSE']._serialized_start=102682 + _globals['_DELNETWORKEVENTRESPONSE']._serialized_end=102707 + _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_start=102710 + _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_end=102956 + _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_start=102958 + _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_end=102987 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_start=102990 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_end=103208 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_start=103141 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_end=103186 + _globals['_LISTCURRENCYRATESREQUEST']._serialized_start=103210 + _globals['_LISTCURRENCYRATESREQUEST']._serialized_end=103254 + _globals['_LISTCURRENCYRATESRESPONSE']._serialized_start=103256 + _globals['_LISTCURRENCYRATESRESPONSE']._serialized_end=103343 + _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_start=103345 + _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_end=103409 + _globals['_CURRENCYCONVERTREQUEST']._serialized_start=103411 + _globals['_CURRENCYCONVERTREQUEST']._serialized_end=103469 + _globals['_CURRENCYCONVERTRESPONSE']._serialized_start=103471 + _globals['_CURRENCYCONVERTRESPONSE']._serialized_end=103523 + _globals['_CURRENCYRATEREQUEST']._serialized_start=103525 + _globals['_CURRENCYRATEREQUEST']._serialized_end=103596 + _globals['_CURRENCYRATERESPONSE']._serialized_start=103598 + _globals['_CURRENCYRATERESPONSE']._serialized_end=103634 + _globals['_SENDAMOUNTREQUEST']._serialized_start=103637 + _globals['_SENDAMOUNTREQUEST']._serialized_end=103914 + _globals['_SENDAMOUNTRESPONSE']._serialized_start=103917 + _globals['_SENDAMOUNTRESPONSE']._serialized_end=104084 + _globals['_CREATEPROOFREQUEST']._serialized_start=104086 + _globals['_CREATEPROOFREQUEST']._serialized_end=104187 + _globals['_CREATEPROOFRESPONSE']._serialized_start=104189 + _globals['_CREATEPROOFRESPONSE']._serialized_end=104250 + _globals['_CREATEPROOFPROOFS']._serialized_start=104253 + _globals['_CREATEPROOFPROOFS']._serialized_end=104435 + _globals['_XKEYSENDREQUEST']._serialized_start=104438 + _globals['_XKEYSENDREQUEST']._serialized_end=104781 + _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_start=104685 + _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_end=104733 + _globals['_XKEYSENDRESPONSE']._serialized_start=104784 + _globals['_XKEYSENDRESPONSE']._serialized_end=104949 + _globals['_GRACEFULREQUEST']._serialized_start=104951 + _globals['_GRACEFULREQUEST']._serialized_end=105002 + _globals['_GRACEFULRESPONSE']._serialized_start=105004 + _globals['_GRACEFULRESPONSE']._serialized_end=105076 + _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_start=105078 + _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_end=105108 + _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_start=105111 + _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_end=105245 + _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_start=105247 + _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_end=105346 + _globals['_STREAMBLOCKADDEDREQUEST']._serialized_start=105348 + _globals['_STREAMBLOCKADDEDREQUEST']._serialized_end=105373 + _globals['_BLOCKADDEDNOTIFICATION']._serialized_start=105375 + _globals['_BLOCKADDEDNOTIFICATION']._serialized_end=105429 + _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_start=105431 + _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_end=105463 + _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_start=105465 + _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_end=105516 + _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_start=105518 + _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_end=105546 + _globals['_CHANNELOPENEDNOTIFICATION']._serialized_start=105548 + _globals['_CHANNELOPENEDNOTIFICATION']._serialized_end=105667 + _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_start=105669 + _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_end=105703 + _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_start=105706 + _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_end=106155 + _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_start=106009 + _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_end=106108 + _globals['_STREAMCONNECTREQUEST']._serialized_start=106157 + _globals['_STREAMCONNECTREQUEST']._serialized_end=106179 + _globals['_PEERCONNECTNOTIFICATION']._serialized_start=106182 + _globals['_PEERCONNECTNOTIFICATION']._serialized_end=106372 + _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_start=106333 + _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_end=106372 + _globals['_PEERCONNECTADDRESS']._serialized_start=106375 + _globals['_PEERCONNECTADDRESS']._serialized_end=106657 + _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_start=106526 + _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_end=106625 + _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_start=106659 + _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_end=106686 + _globals['_COINMOVEMENTNOTIFICATION']._serialized_start=106689 + _globals['_COINMOVEMENTNOTIFICATION']._serialized_end=108144 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_start=107483 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_end=107858 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_start=107860 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_end=107910 + _globals['_STREAMCUSTOMMSGREQUEST']._serialized_start=108146 + _globals['_STREAMCUSTOMMSGREQUEST']._serialized_end=108170 + _globals['_CUSTOMMSGNOTIFICATION']._serialized_start=108172 + _globals['_CUSTOMMSGNOTIFICATION']._serialized_end=108229 + _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_start=108231 + _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_end=108263 + _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_start=108265 + _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_end=108319 + _globals['_STREAMDISCONNECTREQUEST']._serialized_start=108321 + _globals['_STREAMDISCONNECTREQUEST']._serialized_end=108346 + _globals['_DISCONNECTNOTIFICATION']._serialized_start=108348 + _globals['_DISCONNECTNOTIFICATION']._serialized_end=108384 + _globals['_STREAMFORWARDEVENTREQUEST']._serialized_start=108386 + _globals['_STREAMFORWARDEVENTREQUEST']._serialized_end=108413 + _globals['_FORWARDEVENTNOTIFICATION']._serialized_start=108416 + _globals['_FORWARDEVENTNOTIFICATION']._serialized_end=109064 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_start=108848 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_end=108924 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_start=108926 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_end=108966 + _globals['_STREAMINVOICECREATIONREQUEST']._serialized_start=109066 + _globals['_STREAMINVOICECREATIONREQUEST']._serialized_end=109096 + _globals['_INVOICECREATIONNOTIFICATION']._serialized_start=109098 + _globals['_INVOICECREATIONNOTIFICATION']._serialized_end=109201 + _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_start=109203 + _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_end=109232 + _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_start=109235 + _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_end=109374 + _globals['_STREAMLOGREQUEST']._serialized_start=109376 + _globals['_STREAMLOGREQUEST']._serialized_end=109394 + _globals['_LOGNOTIFICATION']._serialized_start=109397 + _globals['_LOGNOTIFICATION']._serialized_end=109599 + _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_start=109524 + _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_end=109599 + _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_start=109601 + _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_end=109639 + _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_start=109642 + _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_end=109881 + _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_start=109883 + _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_end=109917 + _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_start=109919 + _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_end=109993 + _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_start=109995 + _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_end=110023 + _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_start=110025 + _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_end=110111 + _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_start=110113 + _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_end=110141 + _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_start=110143 + _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_end=110229 + _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_start=110231 + _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_end=110260 + _globals['_SENDPAYFAILURENOTIFICATION']._serialized_start=110262 + _globals['_SENDPAYFAILURENOTIFICATION']._serialized_end=110360 + _globals['_SENDPAYFAILUREDATA']._serialized_start=110363 + _globals['_SENDPAYFAILUREDATA']._serialized_end=111580 + _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_start=111118 + _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_end=111183 + _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_start=111582 + _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_end=111611 + _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_start=111614 + _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_end=112330 + _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_start=112132 + _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_end=112168 + _globals['_STREAMSHUTDOWNREQUEST']._serialized_start=112332 + _globals['_STREAMSHUTDOWNREQUEST']._serialized_end=112355 + _globals['_SHUTDOWNNOTIFICATION']._serialized_start=112357 + _globals['_SHUTDOWNNOTIFICATION']._serialized_end=112379 + _globals['_STREAMWARNINGREQUEST']._serialized_start=112381 + _globals['_STREAMWARNINGREQUEST']._serialized_end=112403 + _globals['_WARNINGNOTIFICATION']._serialized_start=112406 + _globals['_WARNINGNOTIFICATION']._serialized_end=112580 + _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_start=112545 + _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_end=112580 + _globals['_STREAMPAYPARTENDREQUEST']._serialized_start=112582 + _globals['_STREAMPAYPARTENDREQUEST']._serialized_end=112607 + _globals['_PAYPARTENDNOTIFICATION']._serialized_start=112610 + _globals['_PAYPARTENDNOTIFICATION']._serialized_end=113107 + _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_start=112947 + _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_end=112991 + _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_start=113109 + _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_end=113136 + _globals['_PAYPARTSTARTNOTIFICATION']._serialized_start=113139 + _globals['_PAYPARTSTARTNOTIFICATION']._serialized_end=113333 + _globals['_PAYPARTSTARTHOPS']._serialized_start=113336 + _globals['_PAYPARTSTARTHOPS']._serialized_end=113495 + _globals['_NODE']._serialized_start=113498 + _globals['_NODE']._serialized_end=126868 # @@protoc_insertion_point(module_scope) diff --git a/contrib/pyln-testing/pyln/testing/grpc2py.py b/contrib/pyln-testing/pyln/testing/grpc2py.py index c8f6f15adeeb..30bed0aded14 100644 --- a/contrib/pyln-testing/pyln/testing/grpc2py.py +++ b/contrib/pyln-testing/pyln/testing/grpc2py.py @@ -2505,6 +2505,13 @@ def listconfigs_configs_important_plugin2py(m): }) +def listconfigs_configs_independent_secrets2py(m): + return remove_default({ + "set": m.set, # PrimitiveField in generate_composite + "source": m.source, # PrimitiveField in generate_composite + }) + + def listconfigs_configs_large_channels2py(m): return remove_default({ "set": m.set, # PrimitiveField in generate_composite diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md index ae97c8ec4847..0d2c11cbc764 100644 --- a/doc/lightningd-config.5.md +++ b/doc/lightningd-config.5.md @@ -444,6 +444,22 @@ use the RPC call lightning-setchannel(7). we tell our peer that this is how long they'll have to wait if they perform a unilateral close. +* **independent-secrets** + + Offer `option_independent_secrets` (feature 267), so that a new channel +with a peer which offers it too uses it: the peer may then generate its +per-commitment secrets any way it likes, rather than from a shachain, for +example jointly with several signers. Secrets which fit a shachain still go in +one, as they always do from a peer which uses one; from the first which +doesn't, we store every secret it reveals (about 60 bytes each, in sqlite3) +until the channel has closed and its outputs are resolved, then only the last. +Off by default. It can't be used with an external signer (an hsmd replaced +with `--subdaemon`), which expects the peer's secrets to come from a shachain. +Channels already open keep the channel type they opened with, so lightningd +also refuses an external signer while one with the add-on is open or being +resolved, with or without this option. Not available on Liquid. (Added in +v26.06.9-blake2b.8). + * (deprecated in v23.05) **max-locktime-blocks**=*BLOCKS* The longest our funds can be delayed (ie. the longest diff --git a/doc/schemas/listconfigs.json b/doc/schemas/listconfigs.json index f2a552506b71..ef320ad8d4e0 100644 --- a/doc/schemas/listconfigs.json +++ b/doc/schemas/listconfigs.json @@ -506,6 +506,29 @@ } } }, + "independent-secrets": { + "added": "v26.06.9-blake2b.8", + "type": "object", + "additionalProperties": false, + "required": [ + "set", + "source" + ], + "properties": { + "set": { + "type": "boolean", + "description": [ + "`true` if set in config or cmdline." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + }, "experimental-dual-fund": { "type": "object", "additionalProperties": false, @@ -1926,6 +1949,10 @@ "set": true, "source": "cmdline" }, + "independent-secrets": { + "set": false, + "source": "default" + }, "disable-mpp": { "set": false, "source": "default", diff --git a/lightningd/channel.c b/lightningd/channel.c index 0b9b21ac5339..daf35598a304 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -274,6 +274,11 @@ struct channel_type *desired_channel_type(const tal_t *ctx, type = channel_type_static_remotekey(ctx); if (feature_offered(our_features->bits[INIT_FEATURE], OPT_UNIFIED_SIGS)) set_feature_bit(&type->features, OPT_UNIFIED_SIGS); + /* Unlike the unified signer, this one is only for peers which have + * it too: everyone else gets the usual shachain channel. */ + if (feature_negotiated(our_features, their_features, + OPT_INDEPENDENT_SECRETS)) + channel_type_set_independent_secrets(type); return type; } diff --git a/lightningd/dual_open_control.c b/lightningd/dual_open_control.c index 25b34247f8be..b426ec070054 100644 --- a/lightningd/dual_open_control.c +++ b/lightningd/dual_open_control.c @@ -3508,11 +3508,21 @@ static struct command_result *json_openchannel_init(struct command *cmd, if (!info->ctype) info->ctype = desired_channel_type(info, cmd->ld->our_features, peer->their_features); - /* We require the unified signer on new channels, so add it to a - * caller-supplied type rather than refusing the request. */ - else if (feature_offered(cmd->ld->our_features->bits[INIT_FEATURE], - OPT_UNIFIED_SIGS)) - channel_type_set_unified_sigs(info->ctype); + else { + /* We require the unified signer on new channels, so add it + * to a caller-supplied type rather than refusing the + * request. */ + if (feature_offered(cmd->ld->our_features->bits[INIT_FEATURE], + OPT_UNIFIED_SIGS)) + channel_type_set_unified_sigs(info->ctype); + /* option_independent_secrets changes which secrets we + * accept, not the commitment, so it joins whenever both of us + * have it. */ + if (feature_negotiated(cmd->ld->our_features, + peer->their_features, + OPT_INDEPENDENT_SECRETS)) + channel_type_set_independent_secrets(info->ctype); + } if (!cmd->ld->dev_any_channel_type && !channel_type_accept(tmpctx, diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index 879af2d63f11..179c331f8a0c 100644 --- a/lightningd/lightningd.c +++ b/lightningd/lightningd.c @@ -1179,6 +1179,45 @@ static void setup_fd_limit(struct lightningd *ld, size_t num_channels) } } +/*~ With option_independent_secrets we keep a peer's per-commitment secrets + * which don't fit a shachain, and punish with them. An external signer + * (an hsmd replaced with --subdaemon, such as VLS) checks those secrets + * itself, against a shachain, so we refuse to offer it with one. */ +static void check_independent_secrets(struct lightningd *ld) +{ + if (!feature_offered(ld->our_features->bits[INIT_FEATURE], + OPT_INDEPENDENT_SECRETS)) + return; + if (strmap_get(&ld->alt_subdaemons, "hsmd")) + errx(1, "--independent-secrets can't be used with an external" + " signer (--subdaemon=hsmd:...), which expects the peer's" + " per-commitment secrets to come from a shachain"); +} + +/*~ A channel opened with option_independent_secrets keeps it after + * --independent-secrets is removed, so we also refuse an external signer + * while any such channel is open or being resolved. */ +static void check_independent_secrets_channels(struct lightningd *ld) +{ + struct peer *peer; + struct peer_node_id_map_iter it; + struct channel *channel; + + if (!strmap_get(&ld->alt_subdaemons, "hsmd")) + return; + for (peer = peer_node_id_map_first(ld->peers, &it); + peer; + peer = peer_node_id_map_next(ld->peers, &it)) { + list_for_each(&peer->channels, channel, list) { + if (channel_has(channel, OPT_INDEPENDENT_SECRETS)) + errx(1, "Channel %s has option_independent_secrets," + " which can't be used with an external" + " signer (--subdaemon=hsmd:...)", + fmt_channel_id(tmpctx, &channel->cid)); + } + } +} + int main(int argc, char *argv[]) { struct lightningd *ld; @@ -1278,6 +1317,7 @@ int main(int argc, char *argv[]) /*~ Handle options and config. */ handle_opts(ld); + check_independent_secrets(ld); /*~ Now create the PID file: this errors out if there's already a * daemon running, so we call before doing almost anything else. */ @@ -1373,6 +1413,7 @@ int main(int argc, char *argv[]) * know the blockheight. */ unconnected_htlcs_in = notleak(load_channels_from_wallet(ld, &num_channels)); + check_independent_secrets_channels(ld); db_commit_transaction(ld->wallet->db); /*~ Now we have channels, try to ensure we have enough file descriptors diff --git a/lightningd/opening_control.c b/lightningd/opening_control.c index 1c497b7c137f..570158077ba7 100644 --- a/lightningd/opening_control.c +++ b/lightningd/opening_control.c @@ -1452,6 +1452,13 @@ static struct command_result *json_fundchannel_start(struct command *cmd, if (!fc->channel_type) fc->channel_type = desired_channel_type(fc, cmd->ld->our_features, peer->their_features); + /* option_independent_secrets changes which secrets we accept, not + * the commitment, so it joins a type the caller named whenever both + * of us have it. */ + else if (feature_negotiated(cmd->ld->our_features, + peer->their_features, + OPT_INDEPENDENT_SECRETS)) + channel_type_set_independent_secrets(fc->channel_type); fc->push = push_msat ? *push_msat : AMOUNT_MSAT(0); fc->channel_flags = OUR_CHANNEL_FLAGS; diff --git a/lightningd/options.c b/lightningd/options.c index 9084c080b952..2ce4fca57727 100644 --- a/lightningd/options.c +++ b/lightningd/options.c @@ -1327,6 +1327,19 @@ static char *opt_set_shutdown_wrong_funding(struct lightningd *ld) return NULL; } +static char *opt_set_independent_secrets(struct lightningd *ld) +{ + /* Like option_blake2b and option_unified_sigs, it is for the BLAKE2b + * network. */ + if (chainparams->is_elements) + return "--independent-secrets is not available on Liquid"; + /* False if given twice, which is fine. */ + feature_set_or(ld->our_features, + take(feature_set_for_feature(NULL, + OPTIONAL_FEATURE(OPT_INDEPENDENT_SECRETS)))); + return NULL; +} + static char *opt_set_peer_storage(struct lightningd *ld) { if (!opt_deprecated_ok(ld, "experimental-peer-storage", NULL, @@ -1564,6 +1577,13 @@ static void register_opts(struct lightningd *ld) opt_register_early_noarg("--experimental-peer-storage", opt_set_peer_storage, ld, opt_hidden); + /* This affects our features, so set early. */ + opt_register_early_noarg("--independent-secrets", + opt_set_independent_secrets, ld, + "Offer option_independent_secrets, so new channels" + " with a peer which offers it too accept" + " per-commitment secrets which don't come from a" + " shachain, and store each one"); clnopt_noarg("--help|-h", OPT_EXITS, opt_lightningd_usage, ld, "Print this message."); From a5c73cd25ae46c25cdeac0480e5552576fcb425a Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Tue, 6 Oct 2026 02:41:08 +0200 Subject: [PATCH 07/28] hsmd, lightningd: --dev-independent-secrets-sender To exercise a peer's support for option_independent_secrets, this developer option makes hsmd derive our own per-commitment secrets as HMAC-SHA256(shaseed, "independent-per-commitment-secret" || n || counter), the same function as Lightning Fork's dev option, instead of from a shachain. Like the shachain it needs nothing but the seed, so every secret can be produced again. It applies to every channel, so lightningd refuses to start with it changed while any channel is open or being resolved, and it needs --independent-secrets, since only a peer with the add-on accepts them. --- common/hsm_version.h | 1 + hsmd/hsmd.c | 8 +++-- hsmd/hsmd_wire.csv | 2 ++ hsmd/libhsmd.c | 78 +++++++++++++++++++++++++++++++++++----- hsmd/libhsmd.h | 2 ++ lightningd/hsm_control.c | 3 ++ lightningd/lightningd.c | 30 +++++++++++++++- lightningd/lightningd.h | 3 ++ lightningd/options.c | 6 ++++ 9 files changed, 122 insertions(+), 11 deletions(-) diff --git a/common/hsm_version.h b/common/hsm_version.h index e58a30e20d69..548f2efdb5df 100644 --- a/common/hsm_version.h +++ b/common/hsm_version.h @@ -35,6 +35,7 @@ * v6 with bip86_base in TLV: 6bb6e6ee256f22a6fb41856c90feebde3065a9074e79a46731e453a932be83f0 * v6 with hsmd_sign_local_htlc_tx removed: 0e28ca3699196cf9d26d38f8f621d1bf68c76cf5e2cdc1f4157a6937b02dc2f6 * v6 with sign_htlc_tx_mingle_unified: 290bcb0cc0c03319fc0f1a91d6e396ac9e80c77c709da0d2905b98f058714059 + * v6 with dev_independent_secrets_sender: 287b3bca10c5514c49efa04abaec19ecf09272406c63a06104e4676f525aec16 */ #define HSM_MIN_VERSION 5 #define HSM_MAX_VERSION 6 diff --git a/hsmd/hsmd.c b/hsmd/hsmd.c index ee93ac869f34..1b6969cdaecd 100644 --- a/hsmd/hsmd.c +++ b/hsmd/hsmd.c @@ -501,8 +501,12 @@ static struct io_plan *preinit_hsm(struct io_conn *conn, if (tlv->warn_on_overgrind) dev_warn_on_overgrind = *tlv->warn_on_overgrind; - status_debug("preinit: dev_fail_preapprove = %u, dev_no_preapprove_check = %u, dev_warn_on_overgrind = %u", - dev_fail_preapprove, dev_no_preapprove_check, dev_warn_on_overgrind); + if (tlv->independent_secrets_sender) + dev_independent_secrets_sender = *tlv->independent_secrets_sender; + + status_debug("preinit: dev_fail_preapprove = %u, dev_no_preapprove_check = %u, dev_warn_on_overgrind = %u, dev_independent_secrets_sender = %u", + dev_fail_preapprove, dev_no_preapprove_check, dev_warn_on_overgrind, + dev_independent_secrets_sender); /* We don't send a reply, just read next */ return client_read_next(conn, c); } diff --git a/hsmd/hsmd_wire.csv b/hsmd/hsmd_wire.csv index 10122d819270..32bc79ca2eaf 100644 --- a/hsmd/hsmd_wire.csv +++ b/hsmd/hsmd_wire.csv @@ -16,6 +16,8 @@ tlvtype,hsmd_dev_preinit_tlvs,no_preapprove_check,3 tlvdata,hsmd_dev_preinit_tlvs,no_preapprove_check,disable,bool, tlvtype,hsmd_dev_preinit_tlvs,warn_on_overgrind,5 tlvdata,hsmd_dev_preinit_tlvs,warn_on_overgrind,enable,bool, +tlvtype,hsmd_dev_preinit_tlvs,independent_secrets_sender,7 +tlvdata,hsmd_dev_preinit_tlvs,independent_secrets_sender,enable,bool, #include # Start the HSM. diff --git a/hsmd/libhsmd.c b/hsmd/libhsmd.c index 95b8997c66f2..8a67da6a08ae 100644 --- a/hsmd/libhsmd.c +++ b/hsmd/libhsmd.c @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #include #include @@ -55,6 +57,66 @@ static struct bip32_key_version network_bip32_key_version; bool dev_fail_preapprove = false; bool dev_no_preapprove_check = false; bool dev_warn_on_overgrind = false; +bool dev_independent_secrets_sender = false; + +/*~ With option_independent_secrets a peer stores every per-commitment + * secret we reveal, so they need not come from a shachain. We still use one + * (single signer, nothing to gain), except in developer mode with + * --dev-independent-secrets-sender, which exists to exercise a peer's support: + * then secret n is HMAC-SHA256(shaseed, tag || n || counter), with n 8 bytes + * big-endian and the 1-byte counter the first giving a valid secret key, as + * lnd's dev sender does. Like the shachain, that needs nothing but the seed, + * so we can always produce any secret again. */ +static bool dev_independent_secret(const struct sha256 *shaseed, + struct secret *secret, + u64 n) +{ + static const char tag[] = "independent-per-commitment-secret"; + u8 msg[sizeof(tag) - 1 + sizeof(be64) + 1]; + be64 n_be = cpu_to_be64(n); + + if (n >= (1ULL << SHACHAIN_BITS)) + return false; + + memcpy(msg, tag, sizeof(tag) - 1); + memcpy(msg + sizeof(tag) - 1, &n_be, sizeof(n_be)); + for (size_t counter = 0; counter < 256; counter++) { + struct hmac_sha256 hmac; + + msg[sizeof(msg) - 1] = counter; + hmac_sha256(&hmac, shaseed, sizeof(*shaseed), msg, sizeof(msg)); + BUILD_ASSERT(sizeof(hmac) == sizeof(*secret)); + memcpy(secret->data, &hmac, sizeof(secret->data)); + if (secp256k1_ec_seckey_verify(secp256k1_ctx, secret->data) == 1) + return true; + } + return false; +} + +/* Our per-commitment secret for commitment n. */ +static bool hsmd_per_commit_secret(const struct sha256 *shaseed, + struct secret *secret, + u64 n) +{ + if (dev_independent_secrets_sender) + return dev_independent_secret(shaseed, secret, n); + return per_commit_secret(shaseed, secret, n); +} + +/* Our per-commitment point for commitment n. */ +static bool hsmd_per_commit_point(const struct sha256 *shaseed, + struct pubkey *point, + u64 n) +{ + struct secret secret; + + if (!dev_independent_secrets_sender) + return per_commit_point(shaseed, point, n); + if (!dev_independent_secret(shaseed, &secret, n)) + return false; + return secp256k1_ec_pubkey_create(secp256k1_ctx, &point->pubkey, + secret.data) == 1; +} struct hsmd_client *hsmd_client_new_main(const tal_t *ctx, u64 capabilities, void *extra) @@ -1242,7 +1304,7 @@ static u8 *handle_check_future_secret(struct hsmd_client *c, const u8 *msg_in) return hsmd_status_bad_request_fmt(c, msg_in, "bad derive_shaseed"); - if (!per_commit_secret(&shaseed, &secret, n)) + if (!hsmd_per_commit_secret(&shaseed, &secret, n)) return hsmd_status_bad_request_fmt( c, msg_in, "bad commit secret #%" PRIu64, n); @@ -1489,13 +1551,13 @@ static u8 *handle_get_per_commitment_point(struct hsmd_client *c, const u8 *msg_ if (!derive_shaseed(&channel_seed, &shaseed)) return hsmd_status_bad_request(c, msg_in, "bad derive_shaseed"); - if (!per_commit_point(&shaseed, &per_commitment_point, n)) + if (!hsmd_per_commit_point(&shaseed, &per_commitment_point, n)) return hsmd_status_bad_request_fmt( c, msg_in, "bad per_commit_point %" PRIu64, n); if (hsmd_mutual_version < 6 && n >= 2) { old_secret = tal(tmpctx, struct secret); - if (!per_commit_secret(&shaseed, old_secret, n - 2)) { + if (!hsmd_per_commit_secret(&shaseed, old_secret, n - 2)) { return hsmd_status_bad_request_fmt( c, msg_in, "Cannot derive secret %" PRIu64, n - 2); } @@ -1625,7 +1687,7 @@ static u8 *derive_local_htlc_key(struct hsmd_client *c, return hsmd_status_bad_request_fmt(c, msg_in, "bad derive_shaseed"); - if (!per_commit_point(&shaseed, &per_commitment_point, commit_num)) + if (!hsmd_per_commit_point(&shaseed, &per_commitment_point, commit_num)) return hsmd_status_bad_request_fmt( c, msg_in, "bad per_commitment_point %" PRIu64, commit_num); @@ -2210,7 +2272,7 @@ static u8 *handle_validate_commitment_tx(struct hsmd_client *c, const u8 *msg_in if (!derive_shaseed(&channel_seed, &shaseed)) return hsmd_status_bad_request(c, msg_in, "bad derive_shaseed"); - if (!per_commit_point(&shaseed, &next_per_commitment_point, commit_num + 1)) + if (!hsmd_per_commit_point(&shaseed, &next_per_commitment_point, commit_num + 1)) return hsmd_status_bad_request_fmt( c, msg_in, "bad per_commit_point %" PRIu64, commit_num + 1); @@ -2252,12 +2314,12 @@ static u8 *handle_revoke_commitment_tx(struct hsmd_client *c, const u8 *msg_in) if (!derive_shaseed(&channel_seed, &shaseed)) return hsmd_status_bad_request(c, msg_in, "bad derive_shaseed"); - if (!per_commit_point(&shaseed, &next_per_commitment_point, commit_num + 2)) + if (!hsmd_per_commit_point(&shaseed, &next_per_commitment_point, commit_num + 2)) return hsmd_status_bad_request_fmt( c, msg_in, "bad per_commit_point %" PRIu64, commit_num + 2); old_secret = tal(tmpctx, struct secret); - if (!per_commit_secret(&shaseed, old_secret, commit_num)) { + if (!hsmd_per_commit_secret(&shaseed, old_secret, commit_num)) { return hsmd_status_bad_request_fmt( c, msg_in, "Cannot derive secret %" PRIu64, commit_num); } @@ -2410,7 +2472,7 @@ static u8 *do_sign_delayed_payment_to_us(struct hsmd_client *c, /*~ BOLT #3 describes exactly how this is used to generate the Nth * per-commitment point. */ - if (!per_commit_point(&shaseed, &per_commitment_point, commit_num)) + if (!hsmd_per_commit_point(&shaseed, &per_commitment_point, commit_num)) return hsmd_status_bad_request_fmt( c, msg_in, "bad per_commitment_point %" PRIu64, commit_num); diff --git a/hsmd/libhsmd.h b/hsmd/libhsmd.h index f69e9f0f59b1..d1dd7c633ff0 100644 --- a/hsmd/libhsmd.h +++ b/hsmd/libhsmd.h @@ -113,4 +113,6 @@ extern bool dev_fail_preapprove; extern bool dev_no_preapprove_check; /* If they specify --dev-warn-on-overgrind it ends up in here. */ extern bool dev_warn_on_overgrind; +/* If they specify --dev-independent-secrets-sender it ends up in here. */ +extern bool dev_independent_secrets_sender; #endif /* LIGHTNING_HSMD_LIBHSMD_H */ diff --git a/lightningd/hsm_control.c b/lightningd/hsm_control.c index c76fae05950e..877fc4783f45 100644 --- a/lightningd/hsm_control.c +++ b/lightningd/hsm_control.c @@ -110,6 +110,9 @@ struct ext_key *hsm_init(struct lightningd *ld) &ld->dev_hsmd_no_preapprove_check); tlv->warn_on_overgrind = tal_dup(tlv, bool, &ld->dev_hsmd_warn_on_overgrind); + tlv->independent_secrets_sender + = tal_dup(tlv, bool, + &ld->dev_hsmd_independent_secrets_sender); msg = towire_hsmd_dev_preinit(tmpctx, tlv); if (!wire_sync_write(ld->hsm_fd, msg)) diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index 179c331f8a0c..09fcfb0c9ec5 100644 --- a/lightningd/lightningd.c +++ b/lightningd/lightningd.c @@ -160,6 +160,7 @@ static struct lightningd *new_lightningd(const tal_t *ctx) ld->dev_hsmd_no_preapprove_check = false; ld->dev_hsmd_fail_preapprove = false; ld->dev_hsmd_warn_on_overgrind = false; + ld->dev_hsmd_independent_secrets_sender = false; ld->dev_handshake_no_reply = false; ld->dev_strict_forwarding = false; ld->dev_limit_connections_inflight = false; @@ -1186,8 +1187,13 @@ static void setup_fd_limit(struct lightningd *ld, size_t num_channels) static void check_independent_secrets(struct lightningd *ld) { if (!feature_offered(ld->our_features->bits[INIT_FEATURE], - OPT_INDEPENDENT_SECRETS)) + OPT_INDEPENDENT_SECRETS)) { + /* Only such a peer accepts the secrets it makes. */ + if (ld->dev_hsmd_independent_secrets_sender) + errx(1, "--dev-independent-secrets-sender needs" + " --independent-secrets"); return; + } if (strmap_get(&ld->alt_subdaemons, "hsmd")) errx(1, "--independent-secrets can't be used with an external" " signer (--subdaemon=hsmd:...), which expects the peer's" @@ -1218,6 +1224,27 @@ static void check_independent_secrets_channels(struct lightningd *ld) } } +/*~ --dev-independent-secrets-sender changes how hsmd derives the + * per-commitment secrets of every channel. Flipping it under a channel which + * is open or still being resolved would make that channel fail at its next + * update, and leave the outputs of our own unilateral close unspendable, so + * we refuse to start. */ +static void check_dev_independent_secrets_sender(struct lightningd *ld, + size_t num_channels) +{ + s64 was = db_get_intvar(ld->wallet->db, + "dev_independent_secrets_sender", 0); + + if (was == ld->dev_hsmd_independent_secrets_sender) + return; + if (num_channels != 0) + errx(1, "Our channels were made with --dev-independent-secrets-sender" + " %s: it can't change while any is open or being resolved", + was ? "set" : "unset"); + db_set_intvar(ld->wallet->db, "dev_independent_secrets_sender", + ld->dev_hsmd_independent_secrets_sender); +} + int main(int argc, char *argv[]) { struct lightningd *ld; @@ -1413,6 +1440,7 @@ int main(int argc, char *argv[]) * know the blockheight. */ unconnected_htlcs_in = notleak(load_channels_from_wallet(ld, &num_channels)); + check_dev_independent_secrets_sender(ld, num_channels); check_independent_secrets_channels(ld); db_commit_transaction(ld->wallet->db); diff --git a/lightningd/lightningd.h b/lightningd/lightningd.h index 4f8c0f7501ef..da5f1ac1dddf 100644 --- a/lightningd/lightningd.h +++ b/lightningd/lightningd.h @@ -415,6 +415,9 @@ struct lightningd { bool dev_hsmd_no_preapprove_check; bool dev_hsmd_fail_preapprove; bool dev_hsmd_warn_on_overgrind; + /* Generate our per-commitment secrets without a shachain, to + * exercise a peer's option_independent_secrets. */ + bool dev_hsmd_independent_secrets_sender; /* Tell connectd not to talk after handshake */ bool dev_handshake_no_reply; diff --git a/lightningd/options.c b/lightningd/options.c index 2ce4fca57727..15eae99d34ae 100644 --- a/lightningd/options.c +++ b/lightningd/options.c @@ -1003,6 +1003,12 @@ static void dev_register_opts(struct lightningd *ld) opt_set_bool, &ld->dev_hsmd_warn_on_overgrind, "Warn if we create signatures that are not exactly 71 bytes."); + clnopt_noarg("--dev-independent-secrets-sender", OPT_DEV, + opt_set_bool, + &ld->dev_hsmd_independent_secrets_sender, + "Generate our per-commitment secrets without a shachain," + " which only a peer with option_independent_secrets" + " accepts"); clnopt_witharg("--dev-save-plugin-io", OPT_DEV, opt_set_charp, opt_show_charp, &ld->plugins->dev_save_io, From 7a2bc6d14aeb2837469fba284eef0bffe6b49809 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Tue, 6 Oct 2026 02:41:08 +0200 Subject: [PATCH 08/28] pytest: test option_independent_secrets Negotiation, which only --independent-secrets offers, and the options it refuses (an external signer, also while a channel with the add-on is open, and the dev sender without it); that a channel keeps the add-on, storing and punishing, after a restart without the option; that a peer which uses a shachain costs nothing, including to a static backup (test_emergencyrecoverpenaltytxn now also runs with the add-on); storage across restarts and reconnections; that a shachain channel refuses the dev sender's secrets (which shows the other tests really give the receiver unrelated ones); the startup guard on the dev option; penalties from the db and from the shachain part, with and without an HTLC, and across restarts of onchaind; the peer's own unilateral close; pruning once the channel is forgotten, and channel_reestablish for it afterwards. Most run with both v1 and v2 opens. --- tests/test_independent_secrets.py | 461 ++++++++++++++++++++++++++++++ tests/test_misc.py | 12 +- 2 files changed, 470 insertions(+), 3 deletions(-) create mode 100644 tests/test_independent_secrets.py diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py new file mode 100644 index 000000000000..4e9fb688c416 --- /dev/null +++ b/tests/test_independent_secrets.py @@ -0,0 +1,461 @@ +"""option_independent_secrets: a peer's per-commitment secrets need not come +from a shachain. They still go in one for as long as they fit it, as they +always do from a peer which uses one; from the first which doesn't, we store +every one in the db. + +Nodes signal it with --independent-secrets, which is off by default, and it +joins the channel type whenever both peers have it. +--dev-independent-secrets-sender makes a node generate its own +secrets without a shachain, which is how these tests give the receiving side +something no shachain would accept: any first secret fits a shachain, so with +it the db holds every secret from the second on. +""" +from fixtures import * # noqa: F401,F403 +from pyln.client import RpcError +from utils import ( + TEST_NETWORK, only_one, wait_for, sync_blockheight, first_scid, + expected_peer_features +) + +import pytest + + +pytestmark = pytest.mark.skipif(TEST_NETWORK != 'regtest', + reason='option_independent_secrets is for the BLAKE2b network') + +OPT_INDEPENDENT_SECRETS = 266 + +# Offers option_independent_secrets. +ON = {'independent-secrets': None} +# Also generates our own secrets without a shachain. +SENDER = {**ON, 'dev-independent-secrets-sender': None} + +# The cheater's own onchaind can't believe what it sees. +CHEATER_OPTS = {'may_fail': True, + 'broken_log': r"onchaind-chan#[0-9]*: Could not find resolution for output .*: did \*we\* cheat\?"} + + +def channel_type(node, peer): + return only_one(node.rpc.listpeerchannels(peer.info['id'])['channels'])['channel_type'] + + +def has_independent_secrets(node, peer): + ctype = channel_type(node, peer) + has_bit = OPT_INDEPENDENT_SECRETS in ctype['bits'] + assert has_bit == ('independent_secrets/even' in ctype['names']) + return has_bit + + +def stored_secrets(node): + """The numbers of the commitments whose secrets node holds in its db, in + order: those from the first which didn't fit the shachain.""" + return [r['commitnum'] for r in node.db_query( + 'SELECT commitnum FROM channel_revocation_secrets ORDER BY commitnum;')] + + +def their_revocations(node, peer): + """How many of peer's commitments node holds the secret for, once they + outgrew the shachain: what node tells peer in channel_reestablish as + next_revocation_number.""" + nums = stored_secrets(node) + # From the first which didn't fit, every one, without gaps. + assert nums == list(range(nums[0], nums[0] + len(nums))) + return nums[-1] + 1 + + +def settle(l1, l2): + """Until both sides have every revocation: then the counts are final.""" + wait_for(lambda: all([only_one(n.rpc.listpeerchannels()['channels'])['htlcs'] == [] for n in (l1, l2)])) + + +def pay_back_and_forth(l1, l2, rounds): + """Each payment revokes commitments on both sides.""" + for _ in range(rounds): + l1.pay(l2, 50_000_000) + l2.pay(l1, 10_000_000) + settle(l1, l2) + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_negotiated(node_factory, bitcoind): + """It joins the channel type when both peers signal it, which only + --independent-secrets does, and not otherwise.""" + l1, l2, l3 = node_factory.get_nodes(3, opts=[ON, ON, {}]) + + # Signalled in init and node_announcement with the option, odd. + assert l1.rpc.getinfo()['our_features']['init'] == expected_peer_features([OPT_INDEPENDENT_SECRETS + 1]) + assert l3.rpc.getinfo()['our_features']['init'] == expected_peer_features() + for node, offered in ((l1, True), (l3, False)): + for place in ('init', 'node'): + bits = int(node.rpc.getinfo()['our_features'][place], 16) + assert (bits >> (OPT_INDEPENDENT_SECRETS + 1)) & 1 == offered + assert (bits >> OPT_INDEPENDENT_SECRETS) & 1 == 0 + assert l1.rpc.listconfigs('independent-secrets')['configs']['independent-secrets']['set'] is True + assert l3.rpc.listconfigs('independent-secrets')['configs']['independent-secrets']['set'] is False + + node_factory.join_nodes([l1, l2]) + node_factory.join_nodes([l1, l3]) + assert has_independent_secrets(l1, l2) + assert has_independent_secrets(l2, l1) + assert not has_independent_secrets(l1, l3) + assert not has_independent_secrets(l3, l1) + + # A caller-supplied channel_type gets it too: it changes nothing but + # which secrets the receiver accepts. + l2.fundwallet(10**7) + ret = l2.rpc.fundchannel(l1.info['id'], 10**6, channel_type=[12, 22]) + assert OPT_INDEPENDENT_SECRETS in ret['channel_type']['bits'] + # Confirm its change, for the next. + bitcoind.generate_block(1, wait_for_mempool=1) + sync_blockheight(bitcoind, [l2]) + + # And a node which doesn't offer it refuses it (fundchannel uses + # openchannel_init with dual-funding, fundchannel_start without). + l2.rpc.connect(l3.info['id'], 'localhost', l3.port) + with pytest.raises(RpcError, match=r'Did not support channel_type'): + l2.rpc.fundchannel(l3.info['id'], 10**6, + channel_type=[12, 22, 514, OPT_INDEPENDENT_SECRETS]) + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_shachain_channel_unchanged(node_factory): + """Without the feature, the peer's secrets go in the shachain as before, + and none in the new table.""" + l1, l2 = node_factory.line_graph(2) + assert not has_independent_secrets(l1, l2) + pay_back_and_forth(l1, l2, 3) + assert stored_secrets(l1) == [] + assert stored_secrets(l2) == [] + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_shachain_peer(node_factory): + """A peer which uses a shachain, as every node does unless it has a + reason not to, sends secrets which fit one: on a channel with the + add-on they stay in the shachain, so nothing is stored individually and + a static channel backup still holds them all + (test_emergencyrecoverpenaltytxn[True] punishes with one).""" + l1, l2 = node_factory.line_graph(2, opts={**ON, 'may_reconnect': True}) + assert has_independent_secrets(l1, l2) + pay_back_and_forth(l1, l2, 3) + l1.restart() + l1.rpc.connect(l2.info['id'], 'localhost', l2.port) + wait_for(lambda: only_one(l1.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_NORMAL') + pay_back_and_forth(l1, l2, 1) + assert stored_secrets(l1) == [] + assert stored_secrets(l2) == [] + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_stored(node_factory): + """Once the peer's secrets outgrow the shachain, each one it reveals is + stored, and they survive a restart and reconnection, both ways round.""" + l1, l2 = node_factory.line_graph(2, opts={**SENDER, 'may_reconnect': True}) + assert has_independent_secrets(l1, l2) + + pay_back_and_forth(l1, l2, 3) + # The first secret fits a shachain, the second can't. + assert stored_secrets(l1)[0] == 1 + assert stored_secrets(l2)[0] == 1 + n1, n2 = their_revocations(l1, l2), their_revocations(l2, l1) + + # channel_reestablish carries the count and the last secret from the + # db; each side checks the last secret is the one it revealed. + l1.restart() + l2.restart() + l1.rpc.connect(l2.info['id'], 'localhost', l2.port) + wait_for(lambda: only_one(l1.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_NORMAL') + wait_for(lambda: only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_NORMAL') + assert not l1.daemon.is_in_log('bad reestablish') + assert not l2.daemon.is_in_log('bad reestablish') + + l2.rpc.disconnect(l1.info['id'], force=True) + l1.rpc.connect(l2.info['id'], 'localhost', l2.port) + pay_back_and_forth(l1, l2, 2) + assert their_revocations(l1, l2) > n1 + assert their_revocations(l2, l1) > n2 + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_kept_without_the_option(node_factory, bitcoind): + """A channel opened with the add-on keeps it, and keeps storing and + punishing with the peer's secrets, after the node restarts without + --independent-secrets, which then only stops new channels using it.""" + l1, l2 = node_factory.line_graph(2, opts=[{**CHEATER_OPTS, **SENDER, 'may_reconnect': True}, + {**ON, 'may_reconnect': True}]) + pay_back_and_forth(l1, l2, 2) + n = their_revocations(l2, l1) + + del l2.daemon.opts['independent-secrets'] + l2.restart() + assert (int(l2.rpc.getinfo()['our_features']['init'], 16) >> (OPT_INDEPENDENT_SECRETS + 1)) & 1 == 0 + l2.rpc.connect(l1.info['id'], 'localhost', l1.port) + wait_for(lambda: only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_NORMAL') + assert has_independent_secrets(l2, l1) + + l1.pay(l2, 100_000_000) + settle(l1, l2) + old_tx = l1.rpc.dev_sign_last_tx(l2.info['id'])['tx'] + old_num = their_revocations(l2, l1) + pay_back_and_forth(l1, l2, 2) + assert old_num > n + assert old_num in stored_secrets(l2) + + bitcoind.rpc.sendrawtransaction(old_tx) + bitcoind.generate_block(1) + l2.daemon.wait_for_log(' to ONCHAIN') + ((_, txid, blocks),) = l2.wait_for_onchaind_txs( + ('OUR_PENALTY_TX', 'THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM')) + assert blocks == 0 + bitcoind.generate_block(1, wait_for_mempool=txid) + l2.daemon.wait_for_log(r'Resolved THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM by our proposal OUR_PENALTY_TX') + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_need_the_feature(node_factory, executor): + """A sender whose secrets don't form a shachain fails a channel without + option_independent_secrets: that is what the feature is for, and it shows + the other tests really do give the receiver unrelated secrets.""" + l1, l2 = node_factory.line_graph(2, opts=[SENDER, {}]) + assert not has_independent_secrets(l2, l1) + + # Any first secret starts a shachain, but the second has to derive it. + # A payment revokes two of l1's commitments. + inv = l2.rpc.invoice(10_000_000, 'test', 'test')['bolt11'] + executor.submit(l1.rpc.xpay, inv) + l2.daemon.wait_for_log(r'Bad per_commitment_secret [0-9a-f]{64} for 1') + wait_for(lambda: only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'AWAITING_UNILATERAL') + + +def test_independent_secrets_refused_options(node_factory): + """--independent-secrets can't be used with an external signer, which + checks the peer's secrets against a shachain, and the dev sender needs it, + since only a peer with the add-on accepts its secrets.""" + for opts, err in (({**ON, 'subdaemon': 'hsmd:lightning_hsmd'}, + r"--independent-secrets can't be used with an external signer"), + ({'dev-independent-secrets-sender': None}, + r'--dev-independent-secrets-sender needs --independent-secrets')): + node = node_factory.get_node(start=False, expect_fail=True, options=opts) + node.daemon.start(wait_for_initialized=False, stderr_redir=True) + assert node.daemon.wait() == 1 + assert node.daemon.is_in_stderr(err) + + # Without the option, replacing hsmd is fine. + node_factory.get_node(options={'subdaemon': 'hsmd:lightning_hsmd'}) + + +def test_independent_secrets_external_signer_channels(node_factory): + """A channel keeps the add-on after --independent-secrets is removed, so + an external signer is refused while it is open, even without the option.""" + l1, l2 = node_factory.line_graph(2, opts=[{**ON, 'may_fail': True}, ON]) + assert has_independent_secrets(l1, l2) + l1.stop() + del l1.daemon.opts['independent-secrets'] + l1.daemon.opts['subdaemon'] = 'hsmd:lightning_hsmd' + l1.daemon.start(wait_for_initialized=False, stderr_redir=True) + assert l1.daemon.wait() == 1 + assert l1.daemon.is_in_stderr(r'Channel [0-9a-f]{64} has option_independent_secrets,' + r" which can't be used with an external signer") + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_sender_cannot_flip(node_factory): + """--dev-independent-secrets-sender changes how hsmd derives every + channel's secrets, so a node with a channel won't start with it flipped: + the channel would fail, and our own unilateral close couldn't be swept.""" + l1, l2 = node_factory.line_graph(2, opts=[{**ON, 'may_fail': True, 'may_reconnect': True}, + {**ON, 'may_reconnect': True}]) + l1.stop() + l1.daemon.opts['dev-independent-secrets-sender'] = None + l1.daemon.start(wait_for_initialized=False, stderr_redir=True) + assert l1.daemon.wait() == 1 + assert l1.daemon.is_in_stderr(r'Our channels were made with' + r' --dev-independent-secrets-sender unset') + + del l1.daemon.opts['dev-independent-secrets-sender'] + l1.start() + l1.rpc.connect(l2.info['id'], 'localhost', l2.port) + wait_for(lambda: only_one(l1.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_NORMAL') + l1.pay(l2, 10_000_000) + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +@pytest.mark.parametrize("restart", [False, True]) +def test_independent_secrets_penalty(node_factory, bitcoind, executor, restart): + """When a peer broadcasts a revoked commitment, we take everything, + using the secret it revealed for that commitment, from the db. + + l1 cheats, so l1 is the one whose secrets l2 stores.""" + l1, l2 = node_factory.line_graph(2, opts=[{**CHEATER_OPTS, **SENDER}, ON]) + assert has_independent_secrets(l2, l1) + scid = first_scid(l1, l2) + + l1.pay(l2, 100_000_000) + settle(l1, l2) + old_tx = l1.rpc.dev_sign_last_tx(l2.info['id'])['tx'] + old_num = their_revocations(l2, l1) + + # Revoke that one, and plenty after it. + pay_back_and_forth(l1, l2, 4) + revocations = their_revocations(l2, l1) + assert revocations > old_num + 4 + # So its secret is one of those in the db. + assert old_num in stored_secrets(l2) + + if restart: + l2.restart() + + bitcoind.rpc.sendrawtransaction(old_tx) + bitcoind.generate_block(1) + l2.daemon.wait_for_log(' to ONCHAIN') + wait_for(lambda: l2.is_local_channel_active(scid) is False) + wait_for(lambda: l2.daemon.is_in_log(f'commitnum = {old_num}, revocations_received = {revocations}')) + + if restart: + # onchaind is started again from the db, and gets the secret again. + l2.restart() + + ((_, txid, blocks),) = l2.wait_for_onchaind_txs( + ('OUR_PENALTY_TX', 'THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM')) + assert blocks == 0 + bitcoind.generate_block(1, wait_for_mempool=txid) + l2.daemon.wait_for_log(r'Resolved THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM by our proposal OUR_PENALTY_TX') + + # Once that is irrevocable, the channel is forgotten, and we keep only + # the last secret, for channel_reestablish. + last = stored_secrets(l2)[-1] + bitcoind.generate_block(100) + sync_blockheight(bitcoind, [l2]) + wait_for(lambda: l2.rpc.listpeerchannels()['channels'] == []) + assert stored_secrets(l2) == [last] + + closed = only_one(l2.rpc.listclosedchannels()['closedchannels']) + assert OPT_INDEPENDENT_SECRETS in closed['channel_type']['bits'] + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_penalty_from_shachain(node_factory, bitcoind): + """Once a peer's secrets outgrow the shachain, those before stay in it: + a revoked commitment whose secret is one of them is punished from the + shachain. With the dev sender only the first fits, so l1 broadcasts + commitment 0.""" + l1, l2 = node_factory.line_graph(2, opts=[{**CHEATER_OPTS, **SENDER}, ON]) + commitment_0 = l1.rpc.dev_sign_last_tx(l2.info['id'])['tx'] + pay_back_and_forth(l1, l2, 2) + revocations = their_revocations(l2, l1) + assert stored_secrets(l2)[0] == 1 + + bitcoind.rpc.sendrawtransaction(commitment_0) + bitcoind.generate_block(1) + l2.daemon.wait_for_log(' to ONCHAIN') + wait_for(lambda: l2.daemon.is_in_log(f'commitnum = 0, revocations_received = {revocations}')) + ((_, txid, blocks),) = l2.wait_for_onchaind_txs( + ('OUR_PENALTY_TX', 'THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM')) + assert blocks == 0 + bitcoind.generate_block(1, wait_for_mempool=txid) + l2.daemon.wait_for_log(r'Resolved THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM by our proposal OUR_PENALTY_TX') + + +def test_independent_secrets_penalty_htlc(node_factory, bitcoind, executor): + """As test_penalty_inhtlc: the revoked commitment has an HTLC on it, which + we take as well.""" + opts = {'dev-disable-commit-after': 1, **SENDER} + l1, l2 = node_factory.line_graph(2, opts=[{**opts, **CHEATER_OPTS, + 'feerates': (7500, 7500, 7500, 7500)}, + opts]) + assert has_independent_secrets(l2, l1) + + t = executor.submit(l1.pay, l2, 100000000) + l1.daemon.wait_for_log('dev-disable-commit-after: disabling') + l2.daemon.wait_for_log('dev-disable-commit-after: disabling') + l1.daemon.wait_for_log('got commitsig') + old_tx = l1.rpc.dev_sign_last_tx(l2.info['id'])['tx'] + + l1.rpc.dev_reenable_commit(l2.info['id']) + l2.rpc.dev_reenable_commit(l1.info['id']) + t.result(timeout=30) + settle(l1, l2) + + bitcoind.rpc.sendrawtransaction(old_tx) + bitcoind.generate_block(1) + l2.daemon.wait_for_log(' to ONCHAIN') + + ((_, txid1, blocks1), (_, txid2, blocks2)) = \ + l2.wait_for_onchaind_txs(('OUR_PENALTY_TX', + 'THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM'), + ('OUR_PENALTY_TX', + 'THEIR_REVOKED_UNILATERAL/THEIR_HTLC')) + assert blocks1 == 0 + assert blocks2 == 0 + bitcoind.generate_block(1, wait_for_mempool=[txid1, txid2]) + l2.daemon.wait_for_logs([r'Resolved THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM by our proposal OUR_PENALTY_TX', + r'Resolved THEIR_REVOKED_UNILATERAL/THEIR_HTLC by our proposal OUR_PENALTY_TX']) + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_their_unilateral(node_factory, bitcoind): + """Their latest commitment isn't revoked: no penalty, just our output, + and no complaint about a missing secret.""" + l1, l2 = node_factory.line_graph(2, opts=SENDER) + pay_back_and_forth(l1, l2, 2) + + l1.rpc.dev_fail(l2.info['id']) + l1.wait_for_channel_onchain(l2.info['id']) + bitcoind.generate_block(1) + l2.daemon.wait_for_log(r'Their unilateral tx, (old|new) commit point') + assert not l2.daemon.is_in_log('No per-commitment secret stored') + assert not l2.daemon.is_in_log('OUR_PENALTY_TX') + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_closed_channel_reestablish(node_factory, bitcoind): + """As test_reestablish_closed_channels: long after l1 has forgotten the + channel, it still answers l2's reestablish with the last secret l2 + revealed, which is all it keeps of them, and l2 checks it.""" + l1, l2 = node_factory.line_graph(2, opts=[{**ON, + 'may_reconnect': True, + 'dev-no-reconnect': None}, + {**SENDER, + 'may_reconnect': True, + 'dev-no-reconnect': None}]) + + # We block l2 from seeing close, so it will try to reestablish. + def no_new_blocks(req): + return {"error": {"code": -8, "message": "Block height out of range"}} + l2.daemon.rpcproxy.mock_rpc('getblockhash', no_new_blocks) + + pay_back_and_forth(l1, l2, 2) + n = their_revocations(l1, l2) + + l1.rpc.disconnect(l2.info['id'], force=True) + l1.rpc.close(l2.info['id'], unilateraltimeout=1) + bitcoind.generate_block(5, wait_for_mempool=1) + bitcoind.generate_block(100, wait_for_mempool=1) + wait_for(lambda: l1.rpc.listclosedchannels()['closedchannels'] != []) + assert stored_secrets(l1) == [n - 1] + + # Closed channels are loaded at startup too. + l1.restart() + + try: + l1.rpc.connect(l2.info['id'], 'localhost', l2.port) + except RpcError as err: + assert "disconnected during connection" in err.error['message'] + l1.daemon.wait_for_log('Responded to reestablish for long-closed channel') + l2.daemon.wait_for_log('peer_in WIRE_CHANNEL_REESTABLISH') + l2.daemon.wait_for_log('peer_in WIRE_ERROR') + assert not l2.daemon.is_in_log('bad reestablish') + assert not l1.daemon.is_in_log('cannot get') + + l2.daemon.rpcproxy.mock_rpc('getblockhash', None) diff --git a/tests/test_misc.py b/tests/test_misc.py index 399e5ee7744f..78a3524055d9 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -3138,19 +3138,25 @@ def test_emergencyrecover_old_format_handling(node_factory, bitcoind): @unittest.skipIf(TEST_NETWORK == 'liquid-regtest', "Txid on elements is different") @unittest.skipIf(os.getenv('TEST_DB_PROVIDER', 'sqlite3') != 'sqlite3', "deletes database, which is assumed sqlite3") -def test_emergencyrecoverpenaltytxn(node_factory, bitcoind): +@pytest.mark.parametrize("independent_secrets", [False, True]) +def test_emergencyrecoverpenaltytxn(node_factory, bitcoind, independent_secrets): """ Test test_emergencyrecoverpenaltytxn + + With option_independent_secrets, a peer which uses a shachain still has + its secrets kept in one, so the backup can still punish it. """ + extra = {'independent-secrets': None} if independent_secrets else {} l1, l2 = node_factory.get_nodes(2, [{'broken_log': r"onchaind-chan#[0-9]*: Could not find resolution for output .*: did \*we\* cheat\?", 'may_reconnect': True, 'allow_bad_gossip': True, - 'rescan': 10}, + 'rescan': 10, **extra}, {'broken_log': r"onchaind-chan#[0-9]*: Could not find resolution for output .*: did \*we\* cheat\?", - 'may_reconnect': True}]) + 'may_reconnect': True, **extra}]) l1.rpc.connect(l2.info['id'], 'localhost', l2.port) c12, _ = l2.fundchannel(l1, 10**5) + assert (266 in _['channel_type']['bits']) == independent_secrets stubs = l1.rpc.emergencyrecover()["stubs"] assert l1.daemon.is_in_log('channel {} already exists!'.format(_['channel_id'])) From 1b45dd0f644d33500e9625aa73af8ee7ff7a4486 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Tue, 6 Oct 2026 02:41:08 +0200 Subject: [PATCH 09/28] doc: describe option_independent_secrets What the add-on is for, what this node does with it, how to turn it on, its limits (static channel backups, external signers, downgrades) and the dev option. --- README.md | 3 +- doc/independent-secrets.md | 98 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 doc/independent-secrets.md diff --git a/README.md b/README.md index 6a474f990c83..c109c5107d25 100644 --- a/README.md +++ b/README.md @@ -10,12 +10,13 @@ This is an unofficial version of [Core Lightning](https://github.com/ElementsPro - **Unified signatures.** Wallet transactions and new channels are signed with the opt-in `SIGHASH_UNIFIED` digest, so a channel funded past activation from coins received past activation is signed in a way a node that has not upgraded rejects, and cannot be replayed on the SHA256d fork. Built on [connorslab's](https://github.com/connorslab/lightning) unified-sigs work. - **A required peer feature bit.** The node advertises `option_blake2b` as compulsory, so it will not connect to a Lightning node that has not upgraded. - **Downgrades are refused.** A build without unified signing computes a different signature hash and could not close the channels this one opens, so `lightning-downgrade` stops before touching the database. +- **Independent per-commitment secrets.** With `--independent-secrets` (off by default), on a new channel with a peer which also offers `option_independent_secrets`, the node accepts per-commitment secrets that don't come from a shachain and keeps each one it needs to punish a breach, so the peer can generate them k-of-n and no single signer can give away the secret of its current state. Secrets from a peer which uses a shachain still go in one, so nothing changes with such a peer. See [doc/independent-secrets.md](doc/independent-secrets.md). ## Before opening channels The required feature bit means you **cannot cooperatively close a channel opened before activation** with a counterparty that has not upgraded. -The feature bits are the ones proposed for BOLT 9: 512 for `option_blake2b` and 514 for `option_unified_sigs`. A stored channel type using the earlier bit 70 is moved to 514 on upgrade. +The feature bits are the ones proposed for BOLT 9: 512 for `option_blake2b` and 514 for `option_unified_sigs`. `option_independent_secrets` uses 266, from a draft bLIP. A stored channel type using the earlier bit 70 is moved to 514 on upgrade. Fund channels only from coins received past activation. A channel funded from a coin received before activation has a funding transaction a node that has not upgraded also accepts, which reopens the exposure unified signing exists to close. diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md new file mode 100644 index 000000000000..b9af362291ea --- /dev/null +++ b/doc/independent-secrets.md @@ -0,0 +1,98 @@ +# Independent per-commitment secrets + +This version of Core Lightning supports `option_independent_secrets` (feature +bits 266/267, proposed in a draft bLIP). On a +channel with it, the node accepts per-commitment secrets from its peer that do +not come from a shachain, and keeps each one it needs to punish a breach. + +## Why + +Each time a channel updates, each side reveals a secret that cancels its old +state. If it later broadcasts that old state anyway, the other side uses the +secret to take the whole channel. + +BOLT 3 requires those secrets to come from one seed (a shachain), so the +receiver can store them in 49 entries. A node whose keys are held k-of-n then +has to give that seed to every signer, and any one signer can pass it to the +channel peer, which can then steal the channel the moment the node broadcasts +its current state. Secrets that need not come from one seed can be generated +jointly by the signers, so no single signer ever holds them. + +This node's part is to accept such secrets. It does not change how this node +generates its own: they still come from its shachain. + +## What it does + +- **Off by default.** With `independent-secrets` in the config, the optional + bit 267 is set in `init` and `node_announcement` (it isn't available on + Liquid). A new + channel uses the add-on when both peers signal it, and it is added to a `channel_type` you name to + `fundchannel` or `openchannel_init` as well, since it changes nothing but + what the receiver accepts. With a peer that doesn't signal it, the channel + opens the normal way. +- **Storage.** A secret still goes in the channel's shachain if it fits it, as + it always does from a peer which uses one, so with such a peer nothing + changes, down to what a static channel backup can do. From the first secret + which doesn't fit, each goes in the `channel_revocation_secrets` table, in + the same database transaction as the rest of the revocation: about 60 bytes + per revoked state in sqlite3. Once the channel has closed and its outputs + are resolved, only the last of those is kept, which is what + `channel_reestablish` needs. +- **Checks.** A secret must be a valid private key that generates the point of + the commitment it revokes. It doesn't have to be related to earlier secrets. +- **Breaches.** When the funding output is spent, lightningd works out which + commitment the transaction is from its locktime and sequence. If it is a + commitment of the peer's which they revoked, and its secret is in the + database rather than the shachain, lightningd hands it to onchaind, which + then takes every output, as it would on any other channel. +- **Existing channels** keep their type and behave exactly as before. + +`listpeerchannels` and `listclosedchannels` show the add-on in `channel_type` +as bit 266, `independent_secrets/even`. + +## Turning it on + +``` +independent-secrets +``` + +Without it, new channels keep requiring shachain secrets. A channel opened with +the add-on keeps it for its whole life, even if the option is later removed. + +## Limits + +- **Static channel backups** carry the peer's shachain, and not the secrets in + the database. So once a peer sends secrets that don't fit a shachain, a node + restored with `recoverchannel` or `emergencyrecover` can't punish a state + revoked after that; recovering its own balance works as for any other + channel. With a peer that uses a shachain, backups are as before. +- **External signers.** The built-in hsmd doesn't check the peer's secrets + (`hsmd_validate_revocation`); channeld does. A signer that keeps them in a + shachain of its own, such as VLS, would refuse them, so lightningd won't + start with an hsmd replaced with `--subdaemon` if `independent-secrets` is + set, or while any channel with the add-on is open or being resolved. +- **Downgrading.** An older build refuses to start on a database this one has + upgraded, and `lightning-downgrade` refuses wallets of this version anyway. + The new table's own revert also refuses while a channel which hasn't closed + uses the add-on. + +## Testing against it + +In developer mode, `--dev-independent-secrets-sender` (which needs +`--independent-secrets`) makes hsmd generate this node's secrets with a key derivation function instead of a shachain: + +``` +secret(n) = HMAC-SHA256(shaseed, "independent-per-commitment-secret" || + n as 8 bytes big-endian || counter as 1 byte) +``` + +The counter starts at 0 and only goes up in the negligible case that the result +is not a valid private key. This is the same function as Lightning Fork's dev +option, and like the shachain it needs nothing but the seed, so a restarted +node produces the same secrets. It applies to every channel the node has, so +only a peer with `option_independent_secrets` accepts them: any other fails the +channel at the second revocation. For the same reason lightningd won't start +with the option changed while any channel is open or still being resolved, +since that channel's secrets, and the keys for our own unilateral close, would +change under it. It is not available outside developer mode: a single signer +gains nothing from it. From b251c640de6330d4a86d2aa0ef08632790c3d0ba Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Sat, 17 Oct 2026 12:01:56 +0200 Subject: [PATCH 10/28] lightningd: report a channel's stored secrets in listpeerchannels On a channel with option_independent_secrets, listpeerchannels now shows independent_secrets_stored: how many of the peer's per-commitment secrets we store one by one, from the first which didn't fit the shachain. It stays 0 with a peer which uses one, and it is how an operator sees what the add-on costs on each channel. Changelog-Added: JSON-RPC: `listpeerchannels` shows `independent_secrets_stored` on channels with `option_independent_secrets`. --- .msggen.json | 5 + cln-grpc/proto/node.proto | 1 + cln-grpc/src/convert.rs | 1 + cln-rpc/src/model.rs | 2 + contrib/msggen/msggen/schema.json | 11 + contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py | 2024 ++++++++--------- contrib/pyln-testing/pyln/testing/grpc2py.py | 1 + doc/independent-secrets.md | 3 + doc/schemas/listpeerchannels.json | 11 + lightningd/channel.c | 10 + lightningd/channel.h | 5 + lightningd/peer_control.c | 3 + lightningd/test/run-invoice-select-inchan.c | 10 + tests/test_independent_secrets.py | 16 + 14 files changed, 1091 insertions(+), 1012 deletions(-) diff --git a/.msggen.json b/.msggen.json index 0e980f308021..5b03decaea39 100644 --- a/.msggen.json +++ b/.msggen.json @@ -3247,6 +3247,7 @@ "ListPeerChannels.channels[].in_offered_msat": 45, "ListPeerChannels.channels[].in_payments_fulfilled": 46, "ListPeerChannels.channels[].in_payments_offered": 44, + "ListPeerChannels.channels[].independent_secrets_stored": 64, "ListPeerChannels.channels[].inflight[]": 16, "ListPeerChannels.channels[].initial_feerate": 12, "ListPeerChannels.channels[].last_feerate": 13, @@ -11788,6 +11789,10 @@ "added": "v23.02", "deprecated": null }, + "ListPeerChannels.channels[].independent_secrets_stored": { + "added": "v26.06.9-blake2b.8", + "deprecated": null + }, "ListPeerChannels.channels[].inflight[]": { "added": "v23.02", "deprecated": null diff --git a/cln-grpc/proto/node.proto b/cln-grpc/proto/node.proto index 290f82feeca1..b78de63c6796 100644 --- a/cln-grpc/proto/node.proto +++ b/cln-grpc/proto/node.proto @@ -1500,6 +1500,7 @@ message ListpeerchannelsChannels { optional Amount their_max_htlc_value_in_flight_msat = 61; optional Amount our_max_htlc_value_in_flight_msat = 62; repeated string features = 63; + optional uint64 independent_secrets_stored = 64; } message ListpeerchannelsChannelsAlias { diff --git a/cln-grpc/src/convert.rs b/cln-grpc/src/convert.rs index 8b70c2b4e10c..b060cab19b36 100644 --- a/cln-grpc/src/convert.rs +++ b/cln-grpc/src/convert.rs @@ -1392,6 +1392,7 @@ impl From for pb::ListpeerchannelsChannels in_offered_msat: c.in_offered_msat.map(|f| f.into()), // Rule #2 for type msat? in_payments_fulfilled: c.in_payments_fulfilled, // Rule #2 for type u64? in_payments_offered: c.in_payments_offered, // Rule #2 for type u64? + independent_secrets_stored: c.independent_secrets_stored, // Rule #2 for type u64? // Field: ListPeerChannels.channels[].inflight[] inflight: c.inflight.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 initial_feerate: c.initial_feerate, // Rule #2 for type string? diff --git a/cln-rpc/src/model.rs b/cln-rpc/src/model.rs index a89bee6bb7f4..a0fbb7367fe2 100644 --- a/cln-rpc/src/model.rs +++ b/cln-rpc/src/model.rs @@ -7977,6 +7977,8 @@ pub mod responses { #[serde(skip_serializing_if = "Option::is_none")] pub in_payments_offered: Option, #[serde(skip_serializing_if = "Option::is_none")] + pub independent_secrets_stored: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub initial_feerate: Option, #[serde(skip_serializing_if = "Option::is_none")] pub last_feerate: Option, diff --git a/contrib/msggen/msggen/schema.json b/contrib/msggen/msggen/schema.json index 2785a05bfe7b..ae53c0c9adeb 100644 --- a/contrib/msggen/msggen/schema.json +++ b/contrib/msggen/msggen/schema.json @@ -25032,6 +25032,13 @@ } } }, + "independent_secrets_stored": { + "type": "u64", + "added": "v26.06.9-blake2b.8", + "description": [ + "Only for a channel with *independent_secrets/even* in its channel_type: how many of the peer's per-commitment secrets we store one by one in the database, because they don't fit a shachain (0 while they all do)." + ] + }, "updates": { "type": "object", "added": "v24.02", @@ -25915,6 +25922,7 @@ "reestablished": {}, "scratch_txid": {}, "channel_type": {}, + "independent_secrets_stored": {}, "feerate": {}, "ignore_fee_limits": {}, "lost_state": {}, @@ -26015,6 +26023,7 @@ "alias": {}, "scratch_txid": {}, "channel_type": {}, + "independent_secrets_stored": {}, "feerate": {}, "ignore_fee_limits": {}, "lost_state": {}, @@ -26114,6 +26123,7 @@ "state": {}, "scratch_txid": {}, "channel_type": {}, + "independent_secrets_stored": {}, "feerate": {}, "ignore_fee_limits": {}, "lost_state": {}, @@ -26214,6 +26224,7 @@ "reestablished": {}, "scratch_txid": {}, "channel_type": {}, + "independent_secrets_stored": {}, "feerate": {}, "ignore_fee_limits": {}, "lost_state": {}, diff --git a/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py b/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py index 10b13204307e..54a4cce324b1 100644 --- a/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py +++ b/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py @@ -25,7 +25,7 @@ from pyln.grpc import primitives_pb2 as primitives__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nnode.proto\x12\x03\x63ln\x1a\x10primitives.proto\"\x10\n\x0eGetinfoRequest\"\xb1\x04\n\x0fGetinfoResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\r\n\x05\x63olor\x18\x03 \x01(\x0c\x12\x11\n\tnum_peers\x18\x04 \x01(\r\x12\x1c\n\x14num_pending_channels\x18\x05 \x01(\r\x12\x1b\n\x13num_active_channels\x18\x06 \x01(\r\x12\x1d\n\x15num_inactive_channels\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\t\x12\x15\n\rlightning_dir\x18\t \x01(\t\x12\x32\n\x0cour_features\x18\n \x01(\x0b\x32\x17.cln.GetinfoOurFeaturesH\x00\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0b \x01(\r\x12\x0f\n\x07network\x18\x0c \x01(\t\x12(\n\x13\x66\x65\x65s_collected_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x07\x61\x64\x64ress\x18\x0e \x03(\x0b\x32\x13.cln.GetinfoAddress\x12$\n\x07\x62inding\x18\x0f \x03(\x0b\x32\x13.cln.GetinfoBinding\x12\"\n\x15warning_bitcoind_sync\x18\x10 \x01(\tH\x01\x88\x01\x01\x12$\n\x17warning_lightningd_sync\x18\x11 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_our_featuresB\x18\n\x16_warning_bitcoind_syncB\x1a\n\x18_warning_lightningd_sync\"\xc4\x01\n\x0eGetinfoAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoAddress.GetinfoAddressType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"G\n\x12GetinfoAddressType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xac\x02\n\x0eGetinfoBinding\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoBinding.GetinfoBindingType\x12\x14\n\x07\x61\x64\x64ress\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06socket\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07subtype\x18\x05 \x01(\tH\x03\x88\x01\x01\"_\n\x12GetinfoBindingType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\n\n\x08_addressB\x07\n\x05_portB\t\n\x07_socketB\n\n\x08_subtype\"R\n\x12GetinfoOurFeatures\x12\x0c\n\x04init\x18\x01 \x01(\x0c\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63hannel\x18\x03 \x01(\x0c\x12\x0f\n\x07invoice\x18\x04 \x01(\x0c\"\xb5\x01\n\x10ListpeersRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x38\n\x05level\x18\x02 \x01(\x0e\x32$.cln.ListpeersRequest.ListpeersLevelH\x01\x88\x01\x01\"E\n\x0eListpeersLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\x0b\n\x07UNUSUAL\x10\x03\x12\t\n\x05TRACE\x10\x04\x42\x05\n\x03_idB\x08\n\x06_level\"7\n\x11ListpeersResponse\x12\"\n\x05peers\x18\x01 \x03(\x0b\x32\x13.cln.ListpeersPeers\"\xc9\x01\n\x0eListpeersPeers\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12#\n\x03log\x18\x03 \x03(\x0b\x32\x16.cln.ListpeersPeersLog\x12\x0f\n\x07netaddr\x18\x05 \x03(\t\x12\x15\n\x08\x66\x65\x61tures\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bremote_addr\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cnum_channels\x18\x08 \x01(\rB\x0b\n\t_featuresB\x0e\n\x0c_remote_addr\"\x88\x03\n\x11ListpeersPeersLog\x12?\n\titem_type\x18\x01 \x01(\x0e\x32,.cln.ListpeersPeersLog.ListpeersPeersLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"t\n\x15ListpeersPeersLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"0\n\x10ListfundsRequest\x12\x12\n\x05spent\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_spent\"e\n\x11ListfundsResponse\x12&\n\x07outputs\x18\x01 \x03(\x0b\x32\x15.cln.ListfundsOutputs\x12(\n\x08\x63hannels\x18\x02 \x03(\x0b\x32\x16.cln.ListfundsChannels\"\x97\x02\n\x11ListfundsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12$\n\x0four_amount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x04 \x01(\x0c\x12\x16\n\x0e\x66unding_output\x18\x05 \x01(\r\x12\x11\n\tconnected\x18\x06 \x01(\x08\x12 \n\x05state\x18\x07 \x01(\x0e\x32\x11.cln.ChannelState\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\t \x01(\x0c\x42\x13\n\x11_short_channel_id\"\xb9\x03\n\x10ListfundsOutputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06output\x18\x02 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0cscriptpubkey\x18\x04 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0credeemscript\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12<\n\x06status\x18\x07 \x01(\x0e\x32,.cln.ListfundsOutputs.ListfundsOutputsStatus\x12\x18\n\x0b\x62lockheight\x18\x08 \x01(\rH\x02\x88\x01\x01\x12\x10\n\x08reserved\x18\t \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\n \x01(\rH\x03\x88\x01\x01\"Q\n\x16ListfundsOutputsStatus\x12\x0f\n\x0bUNCONFIRMED\x10\x00\x12\r\n\tCONFIRMED\x10\x01\x12\t\n\x05SPENT\x10\x02\x12\x0c\n\x08IMMATURE\x10\x03\x42\n\n\x08_addressB\x0f\n\r_redeemscriptB\x0e\n\x0c_blockheightB\x14\n\x12_reserved_to_block\"\xbb\x03\n\x0eSendpayRequest\x12 \n\x05route\x18\x01 \x03(\x0b\x32\x11.cln.SendpayRoute\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x13\n\x06partid\x18\x07 \x01(\x04H\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\t \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_bolt11B\x11\n\x0f_payment_secretB\t\n\x07_partidB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x13\n\x11_payment_metadataB\x0e\n\x0c_description\"\x96\x05\n\x0fSendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x32\n\x06status\x18\x04 \x01(\x0e\x32\".cln.SendpayResponse.SendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x14\n\x07message\x18\x0e \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0f \x01(\x04H\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\"*\n\rSendpayStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\xe6\x02\n\x0cSendpayRoute\x12\x0f\n\x02id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x04 \x01(\tH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12!\n\x14short_channel_id_dir\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\t \x01(\rH\x07\x88\x01\x01\x42\x05\n\x03_idB\x08\n\x06_delayB\n\n\x08_channelB\x0e\n\x0c_amount_msatB\x17\n\x15_short_channel_id_dirB\x0e\n\x0c_node_id_outB\x12\n\x10_amount_out_msatB\x0b\n\t_cltv_out\"\x93\x01\n\x13ListchannelsRequest\x12\x1d\n\x10short_channel_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06source\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\t\n\x07_sourceB\x0e\n\x0c_destination\"C\n\x14ListchannelsResponse\x12+\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x19.cln.ListchannelsChannels\"\xb3\x03\n\x14ListchannelsChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\x0e\n\x06public\x18\x04 \x01(\x08\x12 \n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\rmessage_flags\x18\x06 \x01(\r\x12\x15\n\rchannel_flags\x18\x07 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x08 \x01(\x08\x12\x13\n\x0blast_update\x18\t \x01(\r\x12\x1d\n\x15\x62\x61se_fee_millisatoshi\x18\n \x01(\r\x12\x19\n\x11\x66\x65\x65_per_millionth\x18\x0b \x01(\r\x12\r\n\x05\x64\x65lay\x18\x0c \x01(\r\x12&\n\x11htlc_minimum_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x11htlc_maximum_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x0f \x01(\x0c\x12\x11\n\tdirection\x18\x10 \x01(\rB\x14\n\x12_htlc_maximum_msat\"#\n\x10\x41\x64\x64gossipRequest\x12\x0f\n\x07message\x18\x01 \x01(\x0c\"\x13\n\x11\x41\x64\x64gossipResponse\"\xac\x01\n\x14\x41\x64\x64psbtoutputRequest\x12\x1c\n\x07satoshi\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\x08locktime\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_locktimeB\x0e\n\x0c_initialpsbtB\x0e\n\x0c_destination\"U\n\x15\x41\x64\x64psbtoutputResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1e\n\x16\x65stimated_added_weight\x18\x02 \x01(\r\x12\x0e\n\x06outnum\x18\x03 \x01(\r\"O\n\x14\x41utocleanonceRequest\x12*\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystem\x12\x0b\n\x03\x61ge\x18\x02 \x01(\x04\"G\n\x15\x41utocleanonceResponse\x12.\n\tautoclean\x18\x01 \x01(\x0b\x32\x1b.cln.AutocleanonceAutoclean\"\x89\x05\n\x16\x41utocleanonceAutoclean\x12L\n\x11succeededforwards\x18\x01 \x01(\x0b\x32,.cln.AutocleanonceAutocleanSucceededforwardsH\x00\x88\x01\x01\x12\x46\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32).cln.AutocleanonceAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x44\n\rsucceededpays\x18\x03 \x01(\x0b\x32(.cln.AutocleanonceAutocleanSucceededpaysH\x02\x88\x01\x01\x12>\n\nfailedpays\x18\x04 \x01(\x0b\x32%.cln.AutocleanonceAutocleanFailedpaysH\x03\x88\x01\x01\x12\x42\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32\'.cln.AutocleanonceAutocleanPaidinvoicesH\x04\x88\x01\x01\x12H\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32*.cln.AutocleanonceAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x44\n\rnetworkevents\x18\x07 \x01(\x0b\x32(.cln.AutocleanonceAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"K\n%AutocleanonceAutocleanExpiredinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"J\n$AutocleanonceAutocleanFailedforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"F\n AutocleanonceAutocleanFailedpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanNetworkevents\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"H\n\"AutocleanonceAutocleanPaidinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"M\n\'AutocleanonceAutocleanSucceededforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanSucceededpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"W\n\x16\x41utocleanstatusRequest\x12/\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystemH\x00\x88\x01\x01\x42\x0c\n\n_subsystem\"K\n\x17\x41utocleanstatusResponse\x12\x30\n\tautoclean\x18\x01 \x01(\x0b\x32\x1d.cln.AutocleanstatusAutoclean\"\x99\x05\n\x18\x41utocleanstatusAutoclean\x12N\n\x11succeededforwards\x18\x01 \x01(\x0b\x32..cln.AutocleanstatusAutocleanSucceededforwardsH\x00\x88\x01\x01\x12H\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32+.cln.AutocleanstatusAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x46\n\rsucceededpays\x18\x03 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanSucceededpaysH\x02\x88\x01\x01\x12@\n\nfailedpays\x18\x04 \x01(\x0b\x32\'.cln.AutocleanstatusAutocleanFailedpaysH\x03\x88\x01\x01\x12\x44\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32).cln.AutocleanstatusAutocleanPaidinvoicesH\x04\x88\x01\x01\x12J\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32,.cln.AutocleanstatusAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x46\n\rnetworkevents\x18\x07 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"e\n\'AutocleanstatusAutocleanExpiredinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"d\n&AutocleanstatusAutocleanFailedforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"`\n\"AutocleanstatusAutocleanFailedpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanNetworkevents\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"b\n$AutocleanstatusAutocleanPaidinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"g\n)AutocleanstatusAutocleanSucceededforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanSucceededpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"U\n\x13\x43heckmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\r\n\x05zbase\x18\x02 \x01(\t\x12\x13\n\x06pubkey\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x42\t\n\x07_pubkey\"8\n\x14\x43heckmessageResponse\x12\x10\n\x08verified\x18\x01 \x01(\x08\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\"\xcb\x02\n\x0c\x43loseRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1e\n\x11unilateraltimeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x01\x88\x01\x01\x12!\n\x14\x66\x65\x65_negotiation_step\x18\x04 \x01(\tH\x02\x88\x01\x01\x12)\n\rwrong_funding\x18\x05 \x01(\x0b\x32\r.cln.OutpointH\x03\x88\x01\x01\x12\x1f\n\x12\x66orce_lease_closed\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1e\n\x08\x66\x65\x65range\x18\x07 \x03(\x0b\x32\x0c.cln.FeerateB\x14\n\x12_unilateraltimeoutB\x0e\n\x0c_destinationB\x17\n\x15_fee_negotiation_stepB\x10\n\x0e_wrong_fundingB\x15\n\x13_force_lease_closed\"\x93\x01\n\rCloseResponse\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.CloseResponse.CloseType\x12\x0b\n\x03txs\x18\x04 \x03(\x0c\x12\r\n\x05txids\x18\x05 \x03(\x0c\"5\n\tCloseType\x12\n\n\x06MUTUAL\x10\x00\x12\x0e\n\nUNILATERAL\x10\x01\x12\x0c\n\x08UNOPENED\x10\x02\"T\n\x0e\x43onnectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04host\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x07\n\x05_hostB\x07\n\x05_port\"\xb4\x01\n\x0f\x43onnectResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\x38\n\tdirection\x18\x03 \x01(\x0e\x32%.cln.ConnectResponse.ConnectDirection\x12$\n\x07\x61\x64\x64ress\x18\x04 \x01(\x0b\x32\x13.cln.ConnectAddress\"#\n\x10\x43onnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\xfb\x01\n\x0e\x43onnectAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.ConnectAddress.ConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"P\n\x12\x43onnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"J\n\x14\x43reateinvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x10\n\x08preimage\x18\x03 \x01(\x0c\"\xe6\x05\n\x15\x43reateinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12>\n\x06status\x18\x06 \x01(\x0e\x32..cln.CreateinvoiceResponse.CreateinvoiceStatus\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x16\n\tpay_index\x18\t \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12:\n\rpaid_outpoint\x18\x11 \x01(\x0b\x32\x1e.cln.CreateinvoicePaidOutpointH\t\x88\x01\x01\"8\n\x13\x43reateinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_paid_outpoint\"9\n\x19\x43reateinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xb4\x02\n\x10\x44\x61tastoreRequest\x12\x10\n\x03hex\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x36\n\x04mode\x18\x03 \x01(\x0e\x32#.cln.DatastoreRequest.DatastoreModeH\x01\x88\x01\x01\x12\x17\n\ngeneration\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\t\x12\x13\n\x06string\x18\x06 \x01(\tH\x03\x88\x01\x01\"p\n\rDatastoreMode\x12\x0f\n\x0bMUST_CREATE\x10\x00\x12\x10\n\x0cMUST_REPLACE\x10\x01\x12\x15\n\x11\x43REATE_OR_REPLACE\x10\x02\x12\x0f\n\x0bMUST_APPEND\x10\x03\x12\x14\n\x10\x43REATE_OR_APPEND\x10\x04\x42\x06\n\x04_hexB\x07\n\x05_modeB\r\n\x0b_generationB\t\n\x07_string\"\x82\x01\n\x11\x44\x61tastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"$\n\x15\x44\x61tastoreusageRequest\x12\x0b\n\x03key\x18\x01 \x03(\t\"S\n\x16\x44\x61tastoreusageResponse\x12\x39\n\x0e\x64\x61tastoreusage\x18\x01 \x01(\x0b\x32!.cln.DatastoreusageDatastoreusage\"@\n\x1c\x44\x61tastoreusageDatastoreusage\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x13\n\x0btotal_bytes\x18\x02 \x01(\x04\"\x9d\x01\n\x12\x43reateonionRequest\x12\"\n\x04hops\x18\x01 \x03(\x0b\x32\x14.cln.CreateonionHops\x12\x11\n\tassocdata\x18\x02 \x01(\x0c\x12\x18\n\x0bsession_key\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x17\n\nonion_size\x18\x04 \x01(\rH\x01\x88\x01\x01\x42\x0e\n\x0c_session_keyB\r\n\x0b_onion_size\"<\n\x13\x43reateonionResponse\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x16\n\x0eshared_secrets\x18\x02 \x03(\x0c\"2\n\x0f\x43reateonionHops\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"J\n\x13\x44\x65ldatastoreRequest\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x03 \x03(\tB\r\n\x0b_generation\"\x85\x01\n\x14\x44\x65ldatastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xb6\x01\n\x11\x44\x65linvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\'.cln.DelinvoiceRequest.DelinvoiceStatus\x12\x15\n\x08\x64\x65sconly\x18\x03 \x01(\x08H\x00\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\x0b\n\t_desconly\"\xcf\x05\n\x12\x44\x65linvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x38\n\x06status\x18\x07 \x01(\x0e\x32(.cln.DelinvoiceResponse.DelinvoiceStatus\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x16\n\tpay_index\x18\x0e \x01(\x04H\x07\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x07paid_at\x18\x10 \x01(\x04H\t\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x11 \x01(\x0cH\n\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\x9f\x01\n\x17\x44\x65vforgetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\x05\x66orce\x18\x04 \x01(\x08H\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x08\n\x06_force\"Y\n\x18\x44\x65vforgetchannelResponse\x12\x0e\n\x06\x66orced\x18\x01 \x01(\x08\x12\x17\n\x0f\x66unding_unspent\x18\x02 \x01(\x08\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\"\x19\n\x17\x45mergencyrecoverRequest\")\n\x18\x45mergencyrecoverResponse\x12\r\n\x05stubs\x18\x01 \x03(\x0c\" \n\x1eGetemergencyrecoverdataRequest\"\x8a\x01\n\x1fGetemergencyrecoverdataResponse\x12\x10\n\x08\x66iledata\x18\x01 \x01(\x0c\x12\x1f\n\x12\x63\x61n_create_penalty\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x15\x62\x61\x63ked_up_channel_ids\x18\x03 \x03(\x0c\x42\x15\n\x13_can_create_penalty\"Q\n\x13\x45xposesecretRequest\x12\x12\n\npassphrase\x18\x01 \x01(\t\x12\x17\n\nidentifier\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\r\n\x0b_identifier\"_\n\x14\x45xposesecretResponse\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12\x0f\n\x07\x63odex32\x18\x02 \x01(\t\x12\x15\n\x08mnemonic\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_mnemonic\"#\n\x0eRecoverRequest\x12\x11\n\thsmsecret\x18\x01 \x01(\t\"x\n\x0fRecoverResponse\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".cln.RecoverResponse.RecoverResult\"1\n\rRecoverResult\x12 \n\x1cRECOVERY_RESTART_IN_PROGRESS\x10\x00\"$\n\x15RecoverchannelRequest\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"\'\n\x16RecoverchannelResponse\x12\r\n\x05stubs\x18\x01 \x03(\t\"\x99\x02\n\x0eInvoiceRequest\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\x12\x11\n\tfallbacks\x18\x04 \x03(\t\x12\x15\n\x08preimage\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x11\n\x04\x63ltv\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18\x07 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x15\x65xposeprivatechannels\x18\x08 \x03(\t\x12\x19\n\x0c\x64\x65schashonly\x18\t \x01(\x08H\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x10.cln.AmountOrAnyB\x0b\n\t_preimageB\x07\n\x05_cltvB\t\n\x07_expiryB\x0f\n\r_deschashonly\"\xfe\x02\n\x0fInvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x16\n\x0epayment_secret\x18\x03 \x01(\x0c\x12\x12\n\nexpires_at\x18\x04 \x01(\x04\x12\x1d\n\x10warning_capacity\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0fwarning_offline\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10warning_deadends\x18\x07 \x01(\tH\x02\x88\x01\x01\x12#\n\x16warning_private_unused\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0bwarning_mpp\x18\t \x01(\tH\x04\x88\x01\x01\x12\x15\n\rcreated_index\x18\n \x01(\x04\x42\x13\n\x11_warning_capacityB\x12\n\x10_warning_offlineB\x13\n\x11_warning_deadendsB\x19\n\x17_warning_private_unusedB\x0e\n\x0c_warning_mpp\"\xe1\x01\n\x15InvoicerequestRequest\x12\x1b\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12\x17\n\nsingle_use\x18\x06 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_issuerB\x08\n\x06_labelB\x12\n\x10_absolute_expiryB\r\n\x0b_single_use\"\x8b\x01\n\x16InvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"1\n\x1c\x44isableinvoicerequestRequest\x12\x11\n\tinvreq_id\x18\x01 \x01(\t\"\x92\x01\n\x1d\x44isableinvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"l\n\x1aListinvoicerequestsRequest\x12\x16\n\tinvreq_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_invreq_idB\x0e\n\x0c_active_only\"_\n\x1bListinvoicerequestsResponse\x12@\n\x0finvoicerequests\x18\x01 \x03(\x0b\x32\'.cln.ListinvoicerequestsInvoicerequests\"\x97\x01\n\"ListinvoicerequestsInvoicerequests\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"#\n\x14ListdatastoreRequest\x12\x0b\n\x03key\x18\x02 \x03(\t\"G\n\x15ListdatastoreResponse\x12.\n\tdatastore\x18\x01 \x03(\x0b\x32\x1b.cln.ListdatastoreDatastore\"\x87\x01\n\x16ListdatastoreDatastore\x12\x0b\n\x03key\x18\x01 \x03(\t\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xde\x02\n\x13ListinvoicesRequest\x12\x12\n\x05label\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08offer_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12>\n\x05index\x18\x05 \x01(\x0e\x32*.cln.ListinvoicesRequest.ListinvoicesIndexH\x04\x88\x01\x01\x12\x12\n\x05start\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x06\x88\x01\x01\"-\n\x11ListinvoicesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x0f\n\r_payment_hashB\x0b\n\t_offer_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListinvoicesResponse\x12+\n\x08invoices\x18\x01 \x03(\x0b\x32\x19.cln.ListinvoicesInvoices\"\xbc\x06\n\x14ListinvoicesInvoices\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x16\n\tpay_index\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x14\n\x07paid_at\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0e \x01(\x0cH\x08\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\x12\x41\n\rpaid_outpoint\x18\x12 \x01(\x0b\x32%.cln.ListinvoicesInvoicesPaidOutpointH\x0b\x88\x01\x01\"?\n\x1aListinvoicesInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x11\n\x0f_local_offer_idB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"@\n ListinvoicesInvoicesPaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xf6\x03\n\x10SendonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12)\n\tfirst_hop\x18\x02 \x01(\x0b\x32\x16.cln.SendonionFirstHop\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x12\n\x05label\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0eshared_secrets\x18\x05 \x03(\x0c\x12\x13\n\x06partid\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\t \x01(\x0cH\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12+\n\x11total_amount_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\x0e\n\x0c_destinationB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0e\n\x0c_descriptionB\x14\n\x12_total_amount_msat\"\xd0\x04\n\x11SendonionResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x36\n\x06status\x18\x03 \x01(\x0e\x32&.cln.SendonionResponse.SendonionStatus\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x06 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\n \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0b \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07message\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06partid\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0e \x01(\x04\x12\x1a\n\rupdated_index\x18\x0f \x01(\x04H\x08\x88\x01\x01\",\n\x0fSendonionStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\t\n\x07_partidB\x10\n\x0e_updated_index\"P\n\x11SendonionFirstHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\r\n\x05\x64\x65lay\x18\x03 \x01(\r\"\xa0\x03\n\x13ListsendpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12@\n\x06status\x18\x03 \x01(\x0e\x32+.cln.ListsendpaysRequest.ListsendpaysStatusH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListsendpaysRequest.ListsendpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListsendpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\";\n\x12ListsendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListsendpaysResponse\x12+\n\x08payments\x18\x01 \x03(\x0b\x32\x19.cln.ListsendpaysPayments\"\xe5\x05\n\x14ListsendpaysPayments\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListsendpaysPayments.ListsendpaysPaymentsStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\n \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06partid\x18\x0f \x01(\x04H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x12 \x01(\x04H\n\x88\x01\x01\"C\n\x1aListsendpaysPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\t\n\x07_partidB\x10\n\x0e_updated_indexB\x0f\n\r_completed_at\"\x19\n\x17ListtransactionsRequest\"S\n\x18ListtransactionsResponse\x12\x37\n\x0ctransactions\x18\x01 \x03(\x0b\x32!.cln.ListtransactionsTransactions\"\xf8\x01\n\x1cListtransactionsTransactions\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\r\n\x05rawtx\x18\x02 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x03 \x01(\r\x12\x0f\n\x07txindex\x18\x04 \x01(\r\x12\x10\n\x08locktime\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\r\x12\x37\n\x06inputs\x18\t \x03(\x0b\x32\'.cln.ListtransactionsTransactionsInputs\x12\x39\n\x07outputs\x18\n \x03(\x0b\x32(.cln.ListtransactionsTransactionsOutputs\"S\n\"ListtransactionsTransactionsInputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\r\n\x05index\x18\x02 \x01(\r\x12\x10\n\x08sequence\x18\x03 \x01(\r\"l\n#ListtransactionsTransactionsOutputs\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0cscriptPubKey\x18\x03 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\"M\n\x11MakesecretRequest\x12\x10\n\x03hex\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x13\n\x06string\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x06\n\x04_hexB\t\n\x07_string\"$\n\x12MakesecretResponse\x12\x0e\n\x06secret\x18\x01 \x01(\x0c\"\xc7\x04\n\nPayRequest\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12\x1b\n\nriskfactor\x18\x08 \x01(\x01\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\n \x03(\tB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x06\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x0c \x01(\tB\x02\x18\x01H\x07\x88\x01\x01\x12)\n\x0b\x61mount_msat\x18\r \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x08\x88\x01\x01\x12\x1e\n\rlocalinvreqid\x18\x0e \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12*\n\x0cpartial_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_riskfactorB\t\n\x07_maxfeeB\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0f\n\r_partial_msat\"\xab\x03\n\x0bPayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12.\n\x06status\x18\t \x01(\x0e\x32\x1a.cln.PayResponse.PayStatusB\x02\x18\x01\">\n\tPayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"*\n\x10ListnodesRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"7\n\x11ListnodesResponse\x12\"\n\x05nodes\x18\x01 \x03(\x0b\x32\x13.cln.ListnodesNodes\"\xb8\x02\n\x0eListnodesNodes\x12\x0e\n\x06nodeid\x18\x01 \x01(\x0c\x12\x1b\n\x0elast_timestamp\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x12\n\x05\x61lias\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63olor\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x05 \x01(\x0cH\x03\x88\x01\x01\x12/\n\taddresses\x18\x06 \x03(\x0b\x32\x1c.cln.ListnodesNodesAddresses\x12@\n\x10option_will_fund\x18\x07 \x01(\x0b\x32!.cln.ListnodesNodesOptionWillFundH\x04\x88\x01\x01\x42\x11\n\x0f_last_timestampB\x08\n\x06_aliasB\x08\n\x06_colorB\x0b\n\t_featuresB\x13\n\x11_option_will_fund\"\xe8\x01\n\x17ListnodesNodesAddresses\x12K\n\titem_type\x18\x01 \x01(\x0e\x32\x38.cln.ListnodesNodesAddresses.ListnodesNodesAddressesType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"P\n\x1bListnodesNodesAddressesType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xf2\x01\n\x1cListnodesNodesOptionWillFund\x12(\n\x13lease_fee_base_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x17\n\x0flease_fee_basis\x18\x02 \x01(\r\x12\x16\n\x0e\x66unding_weight\x18\x03 \x01(\r\x12.\n\x19\x63hannel_fee_max_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x30\n(channel_fee_max_proportional_thousandths\x18\x05 \x01(\r\x12\x15\n\rcompact_lease\x18\x06 \x01(\x0c\"g\n\x15WaitanyinvoiceRequest\x12\x1a\n\rlastpay_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\x10\n\x0e_lastpay_indexB\n\n\x08_timeout\"\xbc\x05\n\x16WaitanyinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12@\n\x06status\x18\x04 \x01(\x0e\x32\x30.cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12;\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1f.cln.WaitanyinvoicePaidOutpointH\t\x88\x01\x01\"-\n\x14WaitanyinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\":\n\x1aWaitanyinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"#\n\x12WaitinvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\"\xad\x05\n\x13WaitinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitinvoiceResponse.WaitinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12\x38\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1c.cln.WaitinvoicePaidOutpointH\t\x88\x01\x01\"*\n\x11WaitinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"7\n\x17WaitinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\x8e\x01\n\x12WaitsendpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\t\n\x07_partidB\n\n\x08_timeoutB\n\n\x08_groupid\"\xf7\x04\n\x13WaitsendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitsendpayResponse.WaitsendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0e \x01(\x01H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0f \x01(\x04\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\t\x88\x01\x01\"!\n\x11WaitsendpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\x97\x01\n\x0eNewaddrRequest\x12@\n\x0b\x61\x64\x64resstype\x18\x01 \x01(\x0e\x32&.cln.NewaddrRequest.NewaddrAddresstypeH\x00\x88\x01\x01\"3\n\x12NewaddrAddresstype\x12\n\n\x06\x42\x45\x43H32\x10\x00\x12\x07\n\x03\x41LL\x10\x02\x12\x08\n\x04P2TR\x10\x03\x42\x0e\n\x0c_addresstype\"M\n\x0fNewaddrResponse\x12\x13\n\x06\x62\x65\x63h32\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb9\x01\n\x0fWithdrawRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12!\n\x07satoshi\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\"\n\x07\x66\x65\x65rate\x18\x05 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_feerate\":\n\x10WithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0c\n\x04psbt\x18\x03 \x01(\t\"\xd7\x03\n\x0eKeysendRequest\x12\x17\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12/\n\nroutehints\x18\x08 \x01(\x0b\x32\x12.cln.RoutehintListB\x02\x18\x01H\x05\x88\x01\x01\x12*\n\textratlvs\x18\t \x01(\x0b\x32\x0e.cln.TlvStreamB\x02\x18\x01H\x06\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x07\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_routehintsB\x0c\n\n_extratlvsB\t\n\x07_maxfee\"\x9a\x03\n\x0fKeysendResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x36\n\x06status\x18\t \x01(\x0e\x32\".cln.KeysendResponse.KeysendStatusB\x02\x18\x01\"!\n\rKeysendStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"\xa4\x03\n\x0f\x46undpsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x14\n\x07minconf\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\x08 \x01(\x08H\x04\x88\x01\x01\x12\x17\n\nnonwrapped\x18\t \x01(\x08H\x05\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x06\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_changeB\r\n\x0b_nonwrappedB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10\x46undpsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.FundpsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14\x46undpsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"A\n\x0fSendpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\",\n\x10SendpsbtResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"1\n\x0fSignpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x10\n\x08signonly\x18\x02 \x03(\r\"\'\n\x10SignpsbtResponse\x12\x13\n\x0bsigned_psbt\x18\x01 \x01(\t\"\xa0\x03\n\x0fUtxopsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nreservedok\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\t \x01(\x08H\x04\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\r\n\x0b_reservedokB\x13\n\x11_excess_as_changeB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10UtxopsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.UtxopsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14UtxopsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\" \n\x10TxdiscardRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"6\n\x11TxdiscardResponse\x12\x13\n\x0bunsigned_tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xa4\x01\n\x10TxprepareRequest\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12 \n\x07outputs\x18\x05 \x03(\x0b\x32\x0f.cln.OutputDescB\n\n\x08_feerateB\n\n\x08_minconf\"D\n\x11TxprepareResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x13\n\x0bunsigned_tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x1d\n\rTxsendRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"8\n\x0eTxsendResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x8d\x01\n\x17ListpeerchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x05\n\x03_idB\x13\n\x11_short_channel_idB\r\n\x0b_channel_id\"K\n\x18ListpeerchannelsResponse\x12/\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1d.cln.ListpeerchannelsChannels\"\xd1\x1a\n\x18ListpeerchannelsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x16\n\x0epeer_connected\x18\x02 \x01(\x08\x12 \n\x05state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x19\n\x0cscratch_txid\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x43\n\x0c\x63hannel_type\x18\x05 \x01(\x0b\x32(.cln.ListpeerchannelsChannelsChannelTypeH\x01\x88\x01\x01\x12:\n\x07\x66\x65\x65rate\x18\x06 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFeerateH\x02\x88\x01\x01\x12\x12\n\x05owner\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x17\n\nchannel_id\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\r \x01(\tH\t\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0e \x01(\tH\n\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0f \x01(\rH\x0b\x88\x01\x01\x12\x37\n\x08inflight\x18\x10 \x03(\x0b\x32%.cln.ListpeerchannelsChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x11 \x01(\x0cH\x0c\x88\x01\x01\x12\x14\n\x07private\x18\x12 \x01(\x08H\r\x88\x01\x01\x12 \n\x06opener\x18\x13 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x14 \x01(\x0e\x32\x10.cln.ChannelSideH\x0e\x88\x01\x01\x12:\n\x07\x66unding\x18\x16 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFundingH\x0f\x88\x01\x01\x12$\n\nto_us_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x19 \x01(\x0b\x32\x0b.cln.AmountH\x12\x88\x01\x01\x12$\n\ntotal_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x1c \x01(\rH\x15\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1f \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12*\n\x10our_reserve_msat\x18 \x01(\x0b\x32\x0b.cln.AmountH\x18\x88\x01\x01\x12(\n\x0espendable_msat\x18! \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12)\n\x0freceivable_msat\x18\" \x01(\x0b\x32\x0b.cln.AmountH\x1a\x88\x01\x01\x12.\n\x14minimum_htlc_in_msat\x18# \x01(\x0b\x32\x0b.cln.AmountH\x1b\x88\x01\x01\x12/\n\x15minimum_htlc_out_msat\x18$ \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18% \x01(\x0b\x32\x0b.cln.AmountH\x1d\x88\x01\x01\x12 \n\x13their_to_self_delay\x18& \x01(\rH\x1e\x88\x01\x01\x12\x1e\n\x11our_to_self_delay\x18\' \x01(\rH\x1f\x88\x01\x01\x12\x1f\n\x12max_accepted_htlcs\x18( \x01(\rH \x88\x01\x01\x12\x36\n\x05\x61lias\x18) \x01(\x0b\x32\".cln.ListpeerchannelsChannelsAliasH!\x88\x01\x01\x12@\n\rstate_changes\x18* \x03(\x0b\x32).cln.ListpeerchannelsChannelsStateChanges\x12\x0e\n\x06status\x18+ \x03(\t\x12 \n\x13in_payments_offered\x18, \x01(\x04H\"\x88\x01\x01\x12)\n\x0fin_offered_msat\x18- \x01(\x0b\x32\x0b.cln.AmountH#\x88\x01\x01\x12\"\n\x15in_payments_fulfilled\x18. \x01(\x04H$\x88\x01\x01\x12+\n\x11in_fulfilled_msat\x18/ \x01(\x0b\x32\x0b.cln.AmountH%\x88\x01\x01\x12!\n\x14out_payments_offered\x18\x30 \x01(\x04H&\x88\x01\x01\x12*\n\x10out_offered_msat\x18\x31 \x01(\x0b\x32\x0b.cln.AmountH\'\x88\x01\x01\x12#\n\x16out_payments_fulfilled\x18\x32 \x01(\x04H(\x88\x01\x01\x12,\n\x12out_fulfilled_msat\x18\x33 \x01(\x0b\x32\x0b.cln.AmountH)\x88\x01\x01\x12\x31\n\x05htlcs\x18\x34 \x03(\x0b\x32\".cln.ListpeerchannelsChannelsHtlcs\x12\x1a\n\rclose_to_addr\x18\x35 \x01(\tH*\x88\x01\x01\x12\x1e\n\x11ignore_fee_limits\x18\x36 \x01(\x08H+\x88\x01\x01\x12:\n\x07updates\x18\x37 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsUpdatesH,\x88\x01\x01\x12#\n\x16last_stable_connection\x18\x38 \x01(\x04H-\x88\x01\x01\x12\x17\n\nlost_state\x18\x39 \x01(\x08H.\x88\x01\x01\x12\x1a\n\rreestablished\x18: \x01(\x08H/\x88\x01\x01\x12*\n\x10last_tx_fee_msat\x18; \x01(\x0b\x32\x0b.cln.AmountH0\x88\x01\x01\x12\x16\n\tdirection\x18< \x01(\rH1\x88\x01\x01\x12=\n#their_max_htlc_value_in_flight_msat\x18= \x01(\x0b\x32\x0b.cln.AmountH2\x88\x01\x01\x12;\n!our_max_htlc_value_in_flight_msat\x18> \x01(\x0b\x32\x0b.cln.AmountH3\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18? \x03(\tB\x0f\n\r_scratch_txidB\x0f\n\r_channel_typeB\n\n\x08_feerateB\x08\n\x06_ownerB\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x0f\n\r_funding_txidB\x11\n\x0f_funding_outnumB\x12\n\x10_initial_feerateB\x0f\n\r_last_feerateB\x0f\n\r_next_feerateB\x10\n\x0e_next_fee_stepB\x0b\n\t_close_toB\n\n\x08_privateB\t\n\x07_closerB\n\n\x08_fundingB\r\n\x0b_to_us_msatB\x11\n\x0f_min_to_us_msatB\x11\n\x0f_max_to_us_msatB\r\n\x0b_total_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x12\n\x10_dust_limit_msatB\x15\n\x13_their_reserve_msatB\x13\n\x11_our_reserve_msatB\x11\n\x0f_spendable_msatB\x12\n\x10_receivable_msatB\x17\n\x15_minimum_htlc_in_msatB\x18\n\x16_minimum_htlc_out_msatB\x18\n\x16_maximum_htlc_out_msatB\x16\n\x14_their_to_self_delayB\x14\n\x12_our_to_self_delayB\x15\n\x13_max_accepted_htlcsB\x08\n\x06_aliasB\x16\n\x14_in_payments_offeredB\x12\n\x10_in_offered_msatB\x18\n\x16_in_payments_fulfilledB\x14\n\x12_in_fulfilled_msatB\x17\n\x15_out_payments_offeredB\x13\n\x11_out_offered_msatB\x19\n\x17_out_payments_fulfilledB\x15\n\x13_out_fulfilled_msatB\x10\n\x0e_close_to_addrB\x14\n\x12_ignore_fee_limitsB\n\n\x08_updatesB\x19\n\x17_last_stable_connectionB\r\n\x0b_lost_stateB\x10\n\x0e_reestablishedB\x13\n\x11_last_tx_fee_msatB\x0c\n\n_directionB&\n$_their_max_htlc_value_in_flight_msatB$\n\"_our_max_htlc_value_in_flight_msat\"]\n\x1dListpeerchannelsChannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"X\n#ListpeerchannelsChannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"?\n\x1fListpeerchannelsChannelsFeerate\x12\r\n\x05perkw\x18\x01 \x01(\r\x12\r\n\x05perkb\x18\x02 \x01(\r\"\xdd\x02\n\x1fListpeerchannelsChannelsFunding\x12%\n\x0bpushed_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12%\n\x10local_funds_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11remote_funds_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\rfee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x11\n\x04psbt\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x15\n\x08withheld\x18\x07 \x01(\x08H\x04\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msatB\x07\n\x05_psbtB\x0b\n\t_withheld\"\xf9\x02\n\x1dListpeerchannelsChannelsHtlcs\x12\\\n\tdirection\x18\x01 \x01(\x0e\x32I.cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection\x12\n\n\x02id\x18\x02 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06\x65xpiry\x18\x04 \x01(\r\x12\x14\n\x0cpayment_hash\x18\x05 \x01(\x0c\x12\x1a\n\rlocal_trimmed\x18\x06 \x01(\x08H\x00\x88\x01\x01\x12\x13\n\x06status\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x05state\x18\x08 \x01(\x0e\x32\x0e.cln.HtlcState\"9\n&ListpeerchannelsChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x10\n\x0e_local_trimmedB\t\n\x07_status\"\xf4\x01\n ListpeerchannelsChannelsInflight\x12\x14\n\x0c\x66unding_txid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\x02 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x03 \x01(\t\x12\'\n\x12total_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10our_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0cscratch_txid\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\rsplice_amount\x18\x07 \x01(\x12\x42\x0f\n\r_scratch_txid\"\xf0\x02\n$ListpeerchannelsChannelsStateChanges\x12\x11\n\ttimestamp\x18\x01 \x01(\t\x12$\n\told_state\x18\x02 \x01(\x0e\x32\x11.cln.ChannelState\x12$\n\tnew_state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x62\n\x05\x63\x61use\x18\x04 \x01(\x0e\x32S.cln.ListpeerchannelsChannelsStateChanges.ListpeerchannelsChannelsStateChangesCause\x12\x0f\n\x07message\x18\x05 \x01(\t\"t\n)ListpeerchannelsChannelsStateChangesCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\"\xa7\x01\n\x1fListpeerchannelsChannelsUpdates\x12\x38\n\x05local\x18\x01 \x01(\x0b\x32).cln.ListpeerchannelsChannelsUpdatesLocal\x12?\n\x06remote\x18\x02 \x01(\x0b\x32*.cln.ListpeerchannelsChannelsUpdatesRemoteH\x00\x88\x01\x01\x42\t\n\x07_remote\"\xda\x01\n$ListpeerchannelsChannelsUpdatesLocal\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"\xdb\x01\n%ListpeerchannelsChannelsUpdatesRemote\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"3\n\x19ListclosedchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"[\n\x1aListclosedchannelsResponse\x12=\n\x0e\x63losedchannels\x18\x01 \x03(\x0b\x32%.cln.ListclosedchannelsClosedchannels\"\xae\x0b\n ListclosedchannelsClosedchannels\x12\x14\n\x07peer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x01\x88\x01\x01\x12>\n\x05\x61lias\x18\x04 \x01(\x0b\x32*.cln.ListclosedchannelsClosedchannelsAliasH\x02\x88\x01\x01\x12 \n\x06opener\x18\x05 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x06 \x01(\x0e\x32\x10.cln.ChannelSideH\x03\x88\x01\x01\x12\x0f\n\x07private\x18\x07 \x01(\x08\x12K\n\x0c\x63hannel_type\x18\x08 \x01(\x0b\x32\x30.cln.ListclosedchannelsClosedchannelsChannelTypeH\x04\x88\x01\x01\x12\x1f\n\x17total_local_commitments\x18\t \x01(\x04\x12 \n\x18total_remote_commitments\x18\n \x01(\x04\x12\x18\n\x10total_htlcs_sent\x18\x0b \x01(\x04\x12\x14\n\x0c\x66unding_txid\x18\x0c \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\r \x01(\r\x12\x0e\n\x06leased\x18\x0e \x01(\x08\x12/\n\x15\x66unding_fee_paid_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12/\n\x15\x66unding_fee_rcvd_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12-\n\x13\x66unding_pushed_msat\x18\x11 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x1f\n\ntotal_msat\x18\x12 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x66inal_to_us_msat\x18\x13 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emin_to_us_msat\x18\x14 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emax_to_us_msat\x18\x15 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x14last_commitment_txid\x18\x16 \x01(\x0cH\x08\x88\x01\x01\x12\x32\n\x18last_commitment_fee_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\t\x88\x01\x01\x12\x65\n\x0b\x63lose_cause\x18\x18 \x01(\x0e\x32P.cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsCloseCause\x12#\n\x16last_stable_connection\x18\x19 \x01(\x04H\n\x88\x01\x01\x12\x19\n\x0c\x66unding_psbt\x18\x1a \x01(\tH\x0b\x88\x01\x01\x12\x1d\n\x10\x66unding_withheld\x18\x1b \x01(\x08H\x0c\x88\x01\x01\"u\n*ListclosedchannelsClosedchannelsCloseCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\n\n\x08_peer_idB\x13\n\x11_short_channel_idB\x08\n\x06_aliasB\t\n\x07_closerB\x0f\n\r_channel_typeB\x18\n\x16_funding_fee_paid_msatB\x18\n\x16_funding_fee_rcvd_msatB\x16\n\x14_funding_pushed_msatB\x17\n\x15_last_commitment_txidB\x1b\n\x19_last_commitment_fee_msatB\x19\n\x17_last_stable_connectionB\x0f\n\r_funding_psbtB\x13\n\x11_funding_withheld\"e\n%ListclosedchannelsClosedchannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"`\n+ListclosedchannelsClosedchannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x1f\n\rDecodeRequest\x12\x0e\n\x06string\x18\x01 \x01(\t\"\xbd.\n\x0e\x44\x65\x63odeResponse\x12\x31\n\titem_type\x18\x01 \x01(\x0e\x32\x1e.cln.DecodeResponse.DecodeType\x12\r\n\x05valid\x18\x02 \x01(\x08\x12\x15\n\x08offer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x0coffer_chains\x18\x04 \x03(\x0c\x12\x1b\n\x0eoffer_metadata\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0eoffer_currency\x18\x06 \x01(\tH\x02\x88\x01\x01\x12+\n\x1ewarning_unknown_offer_currency\x18\x07 \x01(\tH\x03\x88\x01\x01\x12 \n\x13\x63urrency_minor_unit\x18\x08 \x01(\rH\x04\x88\x01\x01\x12\x19\n\x0coffer_amount\x18\t \x01(\x04H\x05\x88\x01\x01\x12+\n\x11offer_amount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x1e\n\x11offer_description\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0coffer_issuer\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x1b\n\x0eoffer_features\x18\r \x01(\x0cH\t\x88\x01\x01\x12\"\n\x15offer_absolute_expiry\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1f\n\x12offer_quantity_max\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12*\n\x0boffer_paths\x18\x10 \x03(\x0b\x32\x15.cln.DecodeOfferPaths\x12\x39\n\x10offer_recurrence\x18\x12 \x01(\x0b\x32\x1a.cln.DecodeOfferRecurrenceH\x0c\x88\x01\x01\x12\x37\n\x12unknown_offer_tlvs\x18\x13 \x03(\x0b\x32\x1b.cln.DecodeUnknownOfferTlvs\x12.\n!warning_invalid_offer_description\x18\x15 \x01(\tH\r\x88\x01\x01\x12.\n!warning_missing_offer_description\x18\x16 \x01(\tH\x0e\x88\x01\x01\x12+\n\x1ewarning_invalid_offer_currency\x18\x17 \x01(\tH\x0f\x88\x01\x01\x12)\n\x1cwarning_invalid_offer_issuer\x18\x18 \x01(\tH\x10\x88\x01\x01\x12\x1c\n\x0finvreq_metadata\x18\x19 \x01(\x0cH\x11\x88\x01\x01\x12\x1c\n\x0finvreq_payer_id\x18\x1a \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0cinvreq_chain\x18\x1b \x01(\x0cH\x13\x88\x01\x01\x12,\n\x12invreq_amount_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12\x1c\n\x0finvreq_features\x18\x1d \x01(\x0cH\x15\x88\x01\x01\x12\x1c\n\x0finvreq_quantity\x18\x1e \x01(\x04H\x16\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x1f \x01(\tH\x17\x88\x01\x01\x12&\n\x19invreq_recurrence_counter\x18 \x01(\rH\x18\x88\x01\x01\x12$\n\x17invreq_recurrence_start\x18! \x01(\rH\x19\x88\x01\x01\x12J\n\x1cunknown_invoice_request_tlvs\x18\" \x03(\x0b\x32$.cln.DecodeUnknownInvoiceRequestTlvs\x12,\n\x1fwarning_missing_invreq_metadata\x18# \x01(\tH\x1a\x88\x01\x01\x12,\n\x1fwarning_missing_invreq_payer_id\x18$ \x01(\tH\x1b\x88\x01\x01\x12.\n!warning_invalid_invreq_payer_note\x18% \x01(\tH\x1c\x88\x01\x01\x12\x36\n)warning_missing_invoice_request_signature\x18& \x01(\tH\x1d\x88\x01\x01\x12\x36\n)warning_invalid_invoice_request_signature\x18\' \x01(\tH\x1e\x88\x01\x01\x12.\n\rinvoice_paths\x18( \x03(\x0b\x32\x17.cln.DecodeInvoicePaths\x12\x1f\n\x12invoice_created_at\x18) \x01(\x04H\x1f\x88\x01\x01\x12$\n\x17invoice_relative_expiry\x18* \x01(\rH \x88\x01\x01\x12!\n\x14invoice_payment_hash\x18+ \x01(\x0cH!\x88\x01\x01\x12-\n\x13invoice_amount_msat\x18, \x01(\x0b\x32\x0b.cln.AmountH\"\x88\x01\x01\x12\x36\n\x11invoice_fallbacks\x18- \x03(\x0b\x32\x1b.cln.DecodeInvoiceFallbacks\x12\x1d\n\x10invoice_features\x18. \x01(\x0cH#\x88\x01\x01\x12\x1c\n\x0finvoice_node_id\x18/ \x01(\x0cH$\x88\x01\x01\x12(\n\x1binvoice_recurrence_basetime\x18\x30 \x01(\x04H%\x88\x01\x01\x12;\n\x14unknown_invoice_tlvs\x18\x31 \x03(\x0b\x32\x1d.cln.DecodeUnknownInvoiceTlvs\x12*\n\x1dwarning_missing_invoice_paths\x18\x32 \x01(\tH&\x88\x01\x01\x12/\n\"warning_missing_invoice_blindedpay\x18\x33 \x01(\tH\'\x88\x01\x01\x12/\n\"warning_missing_invoice_created_at\x18\x34 \x01(\tH(\x88\x01\x01\x12\x31\n$warning_missing_invoice_payment_hash\x18\x35 \x01(\tH)\x88\x01\x01\x12+\n\x1ewarning_missing_invoice_amount\x18\x36 \x01(\tH*\x88\x01\x01\x12\x38\n+warning_missing_invoice_recurrence_basetime\x18\x37 \x01(\tH+\x88\x01\x01\x12,\n\x1fwarning_missing_invoice_node_id\x18\x38 \x01(\tH,\x88\x01\x01\x12.\n!warning_missing_invoice_signature\x18\x39 \x01(\tH-\x88\x01\x01\x12.\n!warning_invalid_invoice_signature\x18: \x01(\tH.\x88\x01\x01\x12\'\n\tfallbacks\x18; \x03(\x0b\x32\x14.cln.DecodeFallbacks\x12\x17\n\ncreated_at\x18< \x01(\x04H/\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18= \x01(\x04H0\x88\x01\x01\x12\x12\n\x05payee\x18> \x01(\x0cH1\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18? \x01(\x0cH2\x88\x01\x01\x12\x1d\n\x10\x64\x65scription_hash\x18@ \x01(\x0cH3\x88\x01\x01\x12\"\n\x15min_final_cltv_expiry\x18\x41 \x01(\rH4\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x42 \x01(\x0cH5\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x43 \x01(\x0cH6\x88\x01\x01\x12\x1f\n\x05\x65xtra\x18\x45 \x03(\x0b\x32\x10.cln.DecodeExtra\x12\x16\n\tunique_id\x18\x46 \x01(\tH7\x88\x01\x01\x12\x14\n\x07version\x18G \x01(\tH8\x88\x01\x01\x12\x13\n\x06string\x18H \x01(\tH9\x88\x01\x01\x12-\n\x0crestrictions\x18I \x03(\x0b\x32\x17.cln.DecodeRestrictions\x12&\n\x19warning_rune_invalid_utf8\x18J \x01(\tH:\x88\x01\x01\x12\x10\n\x03hex\x18K \x01(\x0cH;\x88\x01\x01\x12\x16\n\tdecrypted\x18L \x01(\x0cH<\x88\x01\x01\x12\x16\n\tsignature\x18M \x01(\tH=\x88\x01\x01\x12\x15\n\x08\x63urrency\x18N \x01(\tH>\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18O \x01(\x0b\x32\x0b.cln.AmountH?\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18P \x01(\tH@\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18Q \x01(\x0cHA\x88\x01\x01\x12-\n\x06routes\x18R \x01(\x0b\x32\x18.cln.DecodeRoutehintListHB\x88\x01\x01\x12\x1c\n\x0foffer_issuer_id\x18S \x01(\x0cHC\x88\x01\x01\x12,\n\x1fwarning_missing_offer_issuer_id\x18T \x01(\tHD\x88\x01\x01\x12,\n\x0cinvreq_paths\x18U \x03(\x0b\x32\x16.cln.DecodeInvreqPaths\x12\'\n\x1awarning_empty_blinded_path\x18V \x01(\tHE\x88\x01\x01\x12=\n\x13invreq_bip_353_name\x18W \x01(\x0b\x32\x1b.cln.DecodeInvreqBip353NameHF\x88\x01\x01\x12\x35\n(warning_invreq_bip_353_name_name_invalid\x18X \x01(\tHG\x88\x01\x01\x12\x37\n*warning_invreq_bip_353_name_domain_invalid\x18Y \x01(\tHH\x88\x01\x01\x12%\n\x18invreq_recurrence_cancel\x18Z \x01(\x08HI\x88\x01\x01\x12=\n0warning_invreq_recurrence_cancel_without_counter\x18[ \x01(\tHJ\x88\x01\x01\x12?\n2warning_invreq_recurrence_cancel_with_zero_counter\x18\\ \x01(\tHK\x88\x01\x01\x12\x1b\n\x0eproof_preimage\x18] \x01(\x0cHL\x88\x01\x01\x12\x1a\n\x12proof_omitted_tlvs\x18^ \x03(\x04\x12\x1c\n\x14proof_missing_hashes\x18_ \x03(\x0c\x12\x19\n\x11proof_leaf_hashes\x18` \x03(\x0c\x12\x17\n\nproof_note\x18\x61 \x01(\tHM\x88\x01\x01\x12\x1c\n\x0fproof_signature\x18\x62 \x01(\tHN\x88\x01\x01\x12\x42\n\x18unknown_payer_proof_tlvs\x18\x63 \x03(\x0b\x32 .cln.DecodeUnknownPayerProofTlvs\"\x9b\x01\n\nDecodeType\x12\x10\n\x0c\x42OLT12_OFFER\x10\x00\x12\x12\n\x0e\x42OLT12_INVOICE\x10\x01\x12\x1a\n\x16\x42OLT12_INVOICE_REQUEST\x10\x02\x12\x12\n\x0e\x42OLT11_INVOICE\x10\x03\x12\x08\n\x04RUNE\x10\x04\x12\x15\n\x11\x45MERGENCY_RECOVER\x10\x05\x12\x16\n\x12\x42OLT12_PAYER_PROOF\x10\x06\x42\x0b\n\t_offer_idB\x11\n\x0f_offer_metadataB\x11\n\x0f_offer_currencyB!\n\x1f_warning_unknown_offer_currencyB\x16\n\x14_currency_minor_unitB\x0f\n\r_offer_amountB\x14\n\x12_offer_amount_msatB\x14\n\x12_offer_descriptionB\x0f\n\r_offer_issuerB\x11\n\x0f_offer_featuresB\x18\n\x16_offer_absolute_expiryB\x15\n\x13_offer_quantity_maxB\x13\n\x11_offer_recurrenceB$\n\"_warning_invalid_offer_descriptionB$\n\"_warning_missing_offer_descriptionB!\n\x1f_warning_invalid_offer_currencyB\x1f\n\x1d_warning_invalid_offer_issuerB\x12\n\x10_invreq_metadataB\x12\n\x10_invreq_payer_idB\x0f\n\r_invreq_chainB\x15\n\x13_invreq_amount_msatB\x12\n\x10_invreq_featuresB\x12\n\x10_invreq_quantityB\x14\n\x12_invreq_payer_noteB\x1c\n\x1a_invreq_recurrence_counterB\x1a\n\x18_invreq_recurrence_startB\"\n _warning_missing_invreq_metadataB\"\n _warning_missing_invreq_payer_idB$\n\"_warning_invalid_invreq_payer_noteB,\n*_warning_missing_invoice_request_signatureB,\n*_warning_invalid_invoice_request_signatureB\x15\n\x13_invoice_created_atB\x1a\n\x18_invoice_relative_expiryB\x17\n\x15_invoice_payment_hashB\x16\n\x14_invoice_amount_msatB\x13\n\x11_invoice_featuresB\x12\n\x10_invoice_node_idB\x1e\n\x1c_invoice_recurrence_basetimeB \n\x1e_warning_missing_invoice_pathsB%\n#_warning_missing_invoice_blindedpayB%\n#_warning_missing_invoice_created_atB\'\n%_warning_missing_invoice_payment_hashB!\n\x1f_warning_missing_invoice_amountB.\n,_warning_missing_invoice_recurrence_basetimeB\"\n _warning_missing_invoice_node_idB$\n\"_warning_missing_invoice_signatureB$\n\"_warning_invalid_invoice_signatureB\r\n\x0b_created_atB\t\n\x07_expiryB\x08\n\x06_payeeB\x0f\n\r_payment_hashB\x13\n\x11_description_hashB\x18\n\x16_min_final_cltv_expiryB\x11\n\x0f_payment_secretB\x13\n\x11_payment_metadataB\x0c\n\n_unique_idB\n\n\x08_versionB\t\n\x07_stringB\x1c\n\x1a_warning_rune_invalid_utf8B\x06\n\x04_hexB\x0c\n\n_decryptedB\x0c\n\n_signatureB\x0b\n\t_currencyB\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x0b\n\t_featuresB\t\n\x07_routesB\x12\n\x10_offer_issuer_idB\"\n _warning_missing_offer_issuer_idB\x1d\n\x1b_warning_empty_blinded_pathB\x16\n\x14_invreq_bip_353_nameB+\n)_warning_invreq_bip_353_name_name_invalidB-\n+_warning_invreq_bip_353_name_domain_invalidB\x1b\n\x19_invreq_recurrence_cancelB3\n1_warning_invreq_recurrence_cancel_without_counterB5\n3_warning_invreq_recurrence_cancel_with_zero_counterB\x11\n\x0f_proof_preimageB\r\n\x0b_proof_noteB\x12\n\x10_proof_signature\"(\n\x0b\x44\x65\x63odeExtra\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\xc4\x01\n\x0f\x44\x65\x63odeFallbacks\x12;\n\titem_type\x18\x02 \x01(\x0e\x32(.cln.DecodeFallbacks.DecodeFallbacksType\x12\x11\n\x04\x61\x64\x64r\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0b\n\x03hex\x18\x04 \x01(\x0c\"K\n\x13\x44\x65\x63odeFallbacksType\x12\t\n\x05P2PKH\x10\x00\x12\x08\n\x04P2SH\x10\x01\x12\n\n\x06P2WPKH\x10\x02\x12\t\n\x05P2WSH\x10\x03\x12\x08\n\x04P2TR\x10\x04\x42\x07\n\x05_addr\"X\n\x16\x44\x65\x63odeInvoiceFallbacks\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03hex\x18\x02 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_address\"\xa6\x02\n\x12\x44\x65\x63odeInvoicePaths\x12)\n\x04path\x18\x01 \x03(\x0b\x32\x1b.cln.DecodeInvoicePathsPath\x12/\n\x07payinfo\x18\x02 \x01(\x0b\x32\x1e.cln.DecodeInvoicePathsPayinfo\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0e\x66irst_scid_dir\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x06 \x01(\tH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_path_keyB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scid\"S\n\x16\x44\x65\x63odeInvoicePathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\x97\x02\n\x19\x44\x65\x63odeInvoicePathsPayinfo\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\"\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\r\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x19\n\x11\x63ltv_expiry_delta\x18\x06 \x01(\rB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msat\"T\n\x16\x44\x65\x63odeInvreqBip353Name\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x64omain\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\t\n\x07_domain\"\xf3\x01\n\x11\x44\x65\x63odeInvreqPaths\x12\x1b\n\x0e\x66irst_scid_dir\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12(\n\x04path\x18\x05 \x03(\x0b\x32\x1a.cln.DecodeInvreqPathsPath\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x11\n\x0f_first_scid_dirB\x10\n\x0e_first_node_idB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"R\n\x15\x44\x65\x63odeInvreqPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xf1\x01\n\x10\x44\x65\x63odeOfferPaths\x12\x1a\n\rfirst_node_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\'\n\x04path\x18\x03 \x03(\x0b\x32\x19.cln.DecodeOfferPathsPath\x12\x1b\n\x0e\x66irst_scid_dir\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"Q\n\x14\x44\x65\x63odeOfferPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xab\x02\n\x15\x44\x65\x63odeOfferRecurrence\x12\x11\n\ttime_unit\x18\x01 \x01(\r\x12\x1d\n\x10\x63ompulsory_field\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0etime_unit_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06period\x18\x04 \x01(\r\x12\x15\n\x08\x62\x61setime\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12;\n\tpaywindow\x18\x06 \x01(\x0b\x32#.cln.DecodeOfferRecurrencePaywindowH\x03\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\x13\n\x11_compulsory_fieldB\x11\n\x0f_time_unit_nameB\x0b\n\t_basetimeB\x0c\n\n_paywindowB\x08\n\x06_limit\"\x89\x01\n\x1e\x44\x65\x63odeOfferRecurrencePaywindow\x12\x16\n\x0eseconds_before\x18\x01 \x01(\r\x12\x15\n\rseconds_after\x18\x02 \x01(\r\x12 \n\x13proportional_amount\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x16\n\x14_proportional_amount\";\n\x12\x44\x65\x63odeRestrictions\x12\x14\n\x0c\x61lternatives\x18\x01 \x03(\t\x12\x0f\n\x07summary\x18\x02 \x01(\t\"S\n\x1f\x44\x65\x63odeUnknownInvoiceRequestTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"L\n\x18\x44\x65\x63odeUnknownInvoiceTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"J\n\x16\x44\x65\x63odeUnknownOfferTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"O\n\x1b\x44\x65\x63odeUnknownPayerProofTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"\xc2\x01\n\rDelpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12/\n\x06status\x18\x02 \x01(\x0e\x32\x1f.cln.DelpayRequest.DelpayStatus\x12\x13\n\x06partid\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x01\x88\x01\x01\"(\n\x0c\x44\x65lpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x42\t\n\x07_partidB\n\n\x08_groupid\"7\n\x0e\x44\x65lpayResponse\x12%\n\x08payments\x18\x01 \x03(\x0b\x32\x13.cln.DelpayPayments\"\xb4\x05\n\x0e\x44\x65lpayPayments\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x38\n\x06status\x18\x04 \x01(\x0e\x32(.cln.DelpayPayments.DelpayPaymentsStatus\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\t \x01(\x04\x12\x1a\n\rupdated_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x14\n\x07groupid\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x11 \x01(\x0cH\n\x88\x01\x01\"=\n\x14\x44\x65lpayPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x10\n\x0e_updated_indexB\x0f\n\r_completed_atB\n\n\x08_groupidB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\r\n\x0b_erroronion\"\xb3\x01\n\x11\x44\x65lforwardRequest\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x12\n\nin_htlc_id\x18\x02 \x01(\x04\x12\x37\n\x06status\x18\x03 \x01(\x0e\x32\'.cln.DelforwardRequest.DelforwardStatus\"=\n\x10\x44\x65lforwardStatus\x12\x0b\n\x07SETTLED\x10\x00\x12\x10\n\x0cLOCAL_FAILED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"\x14\n\x12\x44\x65lforwardResponse\"\'\n\x13\x44isableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdc\x01\n\x14\x44isableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"&\n\x12\x45nableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdb\x01\n\x13\x45nableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"=\n\x11\x44isconnectRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_force\"\x14\n\x12\x44isconnectResponse\"k\n\x0f\x46\x65\x65ratesRequest\x12\x31\n\x05style\x18\x01 \x01(\x0e\x32\".cln.FeeratesRequest.FeeratesStyle\"%\n\rFeeratesStyle\x12\t\n\x05PERKB\x10\x00\x12\t\n\x05PERKW\x10\x01\"\x9a\x02\n\x10\x46\x65\x65ratesResponse\x12%\n\x18warning_missing_feerates\x18\x01 \x01(\tH\x00\x88\x01\x01\x12&\n\x05perkb\x18\x02 \x01(\x0b\x32\x12.cln.FeeratesPerkbH\x01\x88\x01\x01\x12&\n\x05perkw\x18\x03 \x01(\x0b\x32\x12.cln.FeeratesPerkwH\x02\x88\x01\x01\x12\x44\n\x15onchain_fee_estimates\x18\x04 \x01(\x0b\x32 .cln.FeeratesOnchainFeeEstimatesH\x03\x88\x01\x01\x42\x1b\n\x19_warning_missing_feeratesB\x08\n\x06_perkbB\x08\n\x06_perkwB\x18\n\x16_onchain_fee_estimates\"\x99\x02\n\x1b\x46\x65\x65ratesOnchainFeeEstimates\x12 \n\x18opening_channel_satoshis\x18\x01 \x01(\x04\x12\x1d\n\x15mutual_close_satoshis\x18\x02 \x01(\x04\x12!\n\x19unilateral_close_satoshis\x18\x03 \x01(\x04\x12\x1d\n\x15htlc_timeout_satoshis\x18\x04 \x01(\x04\x12\x1d\n\x15htlc_success_satoshis\x18\x05 \x01(\x04\x12\x30\n#unilateral_close_nonanchor_satoshis\x18\x06 \x01(\x04H\x00\x88\x01\x01\x42&\n$_unilateral_close_nonanchor_satoshis\"\x84\x03\n\rFeeratesPerkb\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkbEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkbEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"\x84\x03\n\rFeeratesPerkw\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkwEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkwEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"%\n\x12\x46\x65tchbip353Request\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"X\n\x13\x46\x65tchbip353Response\x12\r\n\x05proof\x18\x01 \x01(\t\x12\x32\n\x0cinstructions\x18\x02 \x03(\x0b\x32\x1c.cln.Fetchbip353Instructions\"\xf7\x01\n\x17\x46\x65tchbip353Instructions\x12\x18\n\x0b\x64\x65scription\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05offer\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07onchain\x18\x03 \x01(\tH\x02\x88\x01\x01\x12!\n\x14offchain_amount_msat\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1f\n\x12onchain_amount_sat\x18\x05 \x01(\x04H\x04\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x08\n\x06_offerB\n\n\x08_onchainB\x17\n\x15_offchain_amount_msatB\x15\n\x13_onchain_amount_sat\"\xb9\x03\n\x13\x46\x65tchinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x15\n\x08quantity\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x1f\n\x12recurrence_counter\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x10recurrence_start\x18\x05 \x01(\x01H\x03\x88\x01\x01\x12\x1d\n\x10recurrence_label\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\x07 \x01(\x01H\x05\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x1b\n\x0epayer_metadata\x18\t \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\n \x01(\tH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0b\n\t_quantityB\x15\n\x13_recurrence_counterB\x13\n\x11_recurrence_startB\x13\n\x11_recurrence_labelB\n\n\x08_timeoutB\r\n\x0b_payer_noteB\x11\n\x0f_payer_metadataB\t\n\x07_bip353\"\x99\x01\n\x14\x46\x65tchinvoiceResponse\x12\x0f\n\x07invoice\x18\x01 \x01(\t\x12)\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x18.cln.FetchinvoiceChanges\x12\x35\n\x0bnext_period\x18\x03 \x01(\x0b\x32\x1b.cln.FetchinvoiceNextPeriodH\x00\x88\x01\x01\x42\x0e\n\x0c_next_period\"\x82\x02\n\x13\x46\x65tchinvoiceChanges\x12!\n\x14\x64\x65scription_appended\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0evendor_removed\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06vendor\x18\x04 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x42\x17\n\x15_description_appendedB\x0e\n\x0c_descriptionB\x11\n\x0f_vendor_removedB\t\n\x07_vendorB\x0e\n\x0c_amount_msat\"}\n\x16\x46\x65tchinvoiceNextPeriod\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\x04\x12\x11\n\tstarttime\x18\x02 \x01(\x04\x12\x0f\n\x07\x65ndtime\x18\x03 \x01(\x04\x12\x17\n\x0fpaywindow_start\x18\x04 \x01(\x04\x12\x15\n\rpaywindow_end\x18\x05 \x01(\x04\"\xe0\x01\n\x1d\x43\x61ncelrecurringinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12\x1a\n\x12recurrence_counter\x18\x02 \x01(\x04\x12\x18\n\x10recurrence_label\x18\x03 \x01(\t\x12\x1d\n\x10recurrence_start\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x17\n\npayer_note\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_recurrence_startB\r\n\x0b_payer_noteB\t\n\x07_bip353\"0\n\x1e\x43\x61ncelrecurringinvoiceResponse\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\"&\n\x18\x46undchannelCancelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\".\n\x19\x46undchannelCancelResponse\x12\x11\n\tcancelled\x18\x01 \x01(\t\"Z\n\x1a\x46undchannelCompleteRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x15\n\x08withhold\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x0b\n\t_withhold\"N\n\x1b\x46undchannelCompleteResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\"\xfb\x03\n\x12\x46undchannelRequest\x12 \n\x06\x61mount\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12#\n\tpush_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\n\n\x02id\x18\t \x01(\x0c\x12\x14\n\x07minconf\x18\n \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x05utxos\x18\x0b \x03(\x0b\x32\r.cln.Outpoint\x12\x15\n\x08mindepth\x18\x0c \x01(\rH\x07\x88\x01\x01\x12!\n\x07reserve\x18\r \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\x0e \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\n\n\x08_minconfB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xce\x01\n\x13\x46undchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0e\n\x06outnum\x18\x03 \x01(\r\x12\x12\n\nchannel_id\x18\x04 \x01(\x0c\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x31\n\x0c\x63hannel_type\x18\x07 \x01(\x0b\x32\x1b.cln.FundchannelChannelTypeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"K\n\x16\x46undchannelChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\xd6\x02\n\x17\x46undchannelStartRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x07\x66\x65\x65rate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12#\n\tpush_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08mindepth\x18\x07 \x01(\rH\x04\x88\x01\x01\x12!\n\x07reserve\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0c\n\n_push_msatB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xf6\x01\n\x18\x46undchannelStartResponse\x12\x17\n\x0f\x66unding_address\x18\x01 \x01(\t\x12\x14\n\x0cscriptpubkey\x18\x02 \x01(\x0c\x12;\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32 .cln.FundchannelStartChannelTypeH\x00\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x15\n\rwarning_usage\x18\x05 \x01(\t\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x02\x88\x01\x01\x42\x0f\n\r_channel_typeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"P\n\x1b\x46undchannelStartChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x95\x01\n\rGetlogRequest\x12\x32\n\x05level\x18\x01 \x01(\x0e\x32\x1e.cln.GetlogRequest.GetlogLevelH\x00\x88\x01\x01\"F\n\x0bGetlogLevel\x12\n\n\x06\x42ROKEN\x10\x00\x12\x0b\n\x07UNUSUAL\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\t\n\x05\x44\x45\x42UG\x10\x03\x12\t\n\x05TRACE\x10\x05\x42\x08\n\x06_level\"h\n\x0eGetlogResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\t\x12\x12\n\nbytes_used\x18\x02 \x01(\r\x12\x11\n\tbytes_max\x18\x03 \x01(\r\x12\x1b\n\x03log\x18\x04 \x03(\x0b\x32\x0e.cln.GetlogLog\"\xe8\x02\n\tGetlogLog\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.GetlogLog.GetlogLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"l\n\rGetlogLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"\xd9\x08\n\x13\x46underupdateRequest\x12@\n\x06policy\x18\x01 \x01(\x0e\x32+.cln.FunderupdateRequest.FunderupdatePolicyH\x00\x88\x01\x01\x12$\n\npolicy_mod\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0bleases_only\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x30\n\x16min_their_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x30\n\x16max_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12.\n\x14per_channel_min_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12.\n\x14per_channel_max_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12+\n\x11reserve_tank_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x19\n\x0c\x66uzz_percent\x18\t \x01(\rH\x08\x88\x01\x01\x12\x1d\n\x10\x66und_probability\x18\n \x01(\rH\t\x88\x01\x01\x12-\n\x13lease_fee_base_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\n\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\x0c \x01(\rH\x0b\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\r \x01(\rH\x0c\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x0f \x01(\rH\x0e\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x10 \x01(\x0cH\x0f\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\t\n\x07_policyB\r\n\x0b_policy_modB\x0e\n\x0c_leases_onlyB\x19\n\x17_min_their_funding_msatB\x19\n\x17_max_their_funding_msatB\x17\n\x15_per_channel_min_msatB\x17\n\x15_per_channel_max_msatB\x14\n\x12_reserve_tank_msatB\x0f\n\r_fuzz_percentB\x13\n\x11_fund_probabilityB\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\xdf\x06\n\x14\x46underupdateResponse\x12\x0f\n\x07summary\x18\x01 \x01(\t\x12<\n\x06policy\x18\x02 \x01(\x0e\x32,.cln.FunderupdateResponse.FunderupdatePolicy\x12\x12\n\npolicy_mod\x18\x03 \x01(\r\x12\x13\n\x0bleases_only\x18\x04 \x01(\x08\x12+\n\x16min_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16max_their_funding_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_min_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_max_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11reserve_tank_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66uzz_percent\x18\n \x01(\r\x12\x18\n\x10\x66und_probability\x18\x0b \x01(\r\x12-\n\x13lease_fee_base_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\r \x01(\rH\x01\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\x0e \x01(\rH\x02\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x10 \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x11 \x01(\x0cH\x05\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\x8c\x02\n\x0fGetrouteRequest\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\nriskfactor\x18\x03 \x01(\x04\x42\x02\x18\x01\x12\x15\n\x04\x63ltv\x18\x04 \x01(\rB\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x66romid\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x66uzzpercent\x18\x06 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\x07 \x03(\tB\x02\x18\x01\x12\x18\n\x07maxhops\x18\x08 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x42\x07\n\x05_cltvB\t\n\x07_fromidB\x0e\n\x0c_fuzzpercentB\n\n\x08_maxhops\"9\n\x10GetrouteResponse\x12%\n\x05route\x18\x01 \x03(\x0b\x32\x12.cln.GetrouteRouteB\x02\x18\x01\"\xe1\x01\n\rGetrouteRoute\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x07\x63hannel\x18\x02 \x01(\tB\x02\x18\x01\x12\x15\n\tdirection\x18\x03 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x11\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01\x12\x38\n\x05style\x18\x06 \x01(\x0e\x32%.cln.GetrouteRoute.GetrouteRouteStyleB\x02\x18\x01\"!\n\x12GetrouteRouteStyle\x12\x0b\n\x03TLV\x10\x00\x1a\x02\x08\x01\"t\n\x14ListaddressesRequest\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\n\n\x08_addressB\x08\n\x06_startB\x08\n\x06_limit\"G\n\x15ListaddressesResponse\x12.\n\taddresses\x18\x01 \x03(\x0b\x32\x1b.cln.ListaddressesAddresses\"d\n\x16ListaddressesAddresses\x12\x0e\n\x06keyidx\x18\x01 \x01(\x04\x12\x13\n\x06\x62\x65\x63h32\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb7\x03\n\x13ListforwardsRequest\x12@\n\x06status\x18\x01 \x01(\x0e\x32+.cln.ListforwardsRequest.ListforwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListforwardsRequest.ListforwardsIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListforwardsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"L\n\x12ListforwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\x0e\n\x0c_out_channelB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListforwardsResponse\x12+\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x19.cln.ListforwardsForwards\"\x9d\x06\n\x14ListforwardsForwards\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x1c\n\x07in_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x44\n\x06status\x18\x03 \x01(\x0e\x32\x34.cln.ListforwardsForwards.ListforwardsForwardsStatus\x12\x15\n\rreceived_time\x18\x04 \x01(\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12G\n\x05style\x18\t \x01(\x0e\x32\x33.cln.ListforwardsForwards.ListforwardsForwardsStyleH\x03\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x18\n\x0bout_htlc_id\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x1a\n\rresolved_time\x18\x0e \x01(\x01H\x07\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x0f \x01(\rH\x08\x88\x01\x01\x12\x17\n\nfailreason\x18\x10 \x01(\tH\t\x88\x01\x01\"T\n\x1aListforwardsForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"0\n\x19ListforwardsForwardsStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_fee_msatB\x0b\n\t_out_msatB\x08\n\x06_styleB\r\n\x0b_in_htlc_idB\x0e\n\x0c_out_htlc_idB\x10\n\x0e_updated_indexB\x10\n\x0e_resolved_timeB\x0b\n\t_failcodeB\r\n\x0b_failreason\"a\n\x11ListoffersRequest\x12\x15\n\x08offer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_offer_idB\x0e\n\x0c_active_only\";\n\x12ListoffersResponse\x12%\n\x06offers\x18\x01 \x03(\x0b\x32\x15.cln.ListoffersOffers\"\xd8\x01\n\x10ListoffersOffers\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"\x84\x03\n\x0fListpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x38\n\x06status\x18\x03 \x01(\x0e\x32#.cln.ListpaysRequest.ListpaysStatusH\x02\x88\x01\x01\x12\x36\n\x05index\x18\x04 \x01(\x0e\x32\".cln.ListpaysRequest.ListpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\")\n\rListpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"7\n\x0eListpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"3\n\x10ListpaysResponse\x12\x1f\n\x04pays\x18\x01 \x03(\x0b\x32\x11.cln.ListpaysPays\"\xdb\x05\n\x0cListpaysPays\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x34\n\x06status\x18\x02 \x01(\x0e\x32$.cln.ListpaysPays.ListpaysPaysStatus\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\ncreated_at\x18\x04 \x01(\x04\x12\x12\n\x05label\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x15\n\x08preimage\x18\r \x01(\x0cH\t\x88\x01\x01\x12\x1c\n\x0fnumber_of_parts\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1a\n\rcreated_index\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\x0c\x88\x01\x01\";\n\x12ListpaysPaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\x0f\n\r_completed_atB\x0b\n\t_preimageB\x12\n\x10_number_of_partsB\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xd6\x01\n\x10ListhtlcsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x38\n\x05index\x18\x02 \x01(\x0e\x32$.cln.ListhtlcsRequest.ListhtlcsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"*\n\x0eListhtlcsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"7\n\x11ListhtlcsResponse\x12\"\n\x05htlcs\x18\x01 \x03(\x0b\x32\x13.cln.ListhtlcsHtlcs\"\xe5\x02\n\x0eListhtlcsHtlcs\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x0e\n\x06\x65xpiry\x18\x03 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12>\n\tdirection\x18\x05 \x01(\x0e\x32+.cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x1d\n\x05state\x18\x07 \x01(\x0e\x32\x0e.cln.HtlcState\x12\x1a\n\rcreated_index\x18\x08 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x01\x88\x01\x01\"*\n\x17ListhtlcsHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xb2\x02\n\x17MultifundchannelRequest\x12\x37\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32!.cln.MultifundchannelDestinations\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\x12H\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x18\n\x0bminchannels\x18\x05 \x01(\x12H\x02\x88\x01\x01\x12-\n\x12\x63ommitment_feerate\x18\x06 \x01(\x0b\x32\x0c.cln.FeerateH\x03\x88\x01\x01\x42\n\n\x08_feerateB\n\n\x08_minconfB\x0e\n\x0c_minchannelsB\x15\n\x13_commitment_feerate\"\x97\x01\n\x18MultifundchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x34\n\x0b\x63hannel_ids\x18\x03 \x03(\x0b\x32\x1f.cln.MultifundchannelChannelIds\x12+\n\x06\x66\x61iled\x18\x04 \x03(\x0b\x32\x1b.cln.MultifundchannelFailed\"\xff\x02\n\x1cMultifundchannelDestinations\x12\n\n\x02id\x18\x01 \x01(\t\x12 \n\x06\x61mount\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12#\n\tpush_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12%\n\x0brequest_amt\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x15\n\x08mindepth\x18\x08 \x01(\rH\x05\x88\x01\x01\x12!\n\x07reserve\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x42\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xb2\x01\n\x1aMultifundchannelChannelIds\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12\x12\n\nchannel_id\x18\x03 \x01(\x0c\x12@\n\x0c\x63hannel_type\x18\x04 \x01(\x0b\x32*.cln.MultifundchannelChannelIdsChannelType\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_close_to\"Z\n%MultifundchannelChannelIdsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x93\x02\n\x16MultifundchannelFailed\x12\n\n\x02id\x18\x01 \x01(\x0c\x12H\n\x06method\x18\x02 \x01(\x0e\x32\x38.cln.MultifundchannelFailed.MultifundchannelFailedMethod\x12/\n\x05\x65rror\x18\x03 \x01(\x0b\x32 .cln.MultifundchannelFailedError\"r\n\x1cMultifundchannelFailedMethod\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x14\n\x10OPENCHANNEL_INIT\x10\x01\x12\x15\n\x11\x46UNDCHANNEL_START\x10\x02\x12\x18\n\x14\x46UNDCHANNEL_COMPLETE\x10\x03\"<\n\x1bMultifundchannelFailedError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xa8\x01\n\x14MultiwithdrawRequest\x12 \n\x07outputs\x18\x01 \x03(\x0b\x32\x0f.cln.OutputDesc\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_feerateB\n\n\x08_minconf\"1\n\x15MultiwithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xe2\x04\n\x0cOfferRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0cquantity_max\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12\x17\n\nrecurrence\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x1c\n\x0frecurrence_base\x18\x08 \x01(\tH\x06\x88\x01\x01\x12!\n\x14recurrence_paywindow\x18\t \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10recurrence_limit\x18\n \x01(\rH\x08\x88\x01\x01\x12\x17\n\nsingle_use\x18\x0b \x01(\x08H\t\x88\x01\x01\x12 \n\x13proportional_amount\x18\r \x01(\x08H\n\x88\x01\x01\x12 \n\x13optional_recurrence\x18\x0e \x01(\x08H\x0b\x88\x01\x01\x12\x16\n\x0e\x66ronting_nodes\x18\x0f \x03(\x0c\x42\x0e\n\x0c_descriptionB\t\n\x07_issuerB\x08\n\x06_labelB\x0f\n\r_quantity_maxB\x12\n\x10_absolute_expiryB\r\n\x0b_recurrenceB\x12\n\x10_recurrence_baseB\x17\n\x15_recurrence_paywindowB\x13\n\x11_recurrence_limitB\r\n\x0b_single_useB\x16\n\x14_proportional_amountB\x16\n\x14_optional_recurrence\"\xbc\x01\n\rOfferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x0f\n\x07\x63reated\x18\x06 \x01(\x08\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x01\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_force_paths\"-\n\x17OpenchannelAbortRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"X\n\x18OpenchannelAbortResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x18\n\x10\x63hannel_canceled\x18\x02 \x01(\x08\x12\x0e\n\x06reason\x18\x03 \x01(\t\"\x9e\x01\n\x16OpenchannelBumpRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12*\n\x0f\x66unding_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x12\n\x10_funding_feerate\"\xed\x01\n\x17OpenchannelBumpResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x35\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32\x1f.cln.OpenchannelBumpChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelBumpChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x9f\x03\n\x16OpenchannelInitRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12-\n\x12\x63ommitment_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12*\n\x0f\x66unding_feerate\x18\x04 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\r\x12\x1b\n\x06\x61mount\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x15\n\x13_commitment_feerateB\x12\n\x10_funding_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_lease\"\xed\x01\n\x17OpenchannelInitResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x35\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32\x1f.cln.OpenchannelInitChannelType\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelInitChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"C\n\x18OpenchannelSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"I\n\x19OpenchannelSignedResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"<\n\x18OpenchannelUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"\x95\x02\n\x19OpenchannelUpdateResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x37\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32!.cln.OpenchannelUpdateChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_outnum\x18\x05 \x01(\r\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12&\n\x19requires_confirmed_inputs\x18\x07 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_close_toB\x1c\n\x1a_requires_confirmed_inputs\"Q\n\x1cOpenchannelUpdateChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"Y\n\x0bPingRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x03len\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x16\n\tpongbytes\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x06\n\x04_lenB\x0c\n\n_pongbytes\"\x1e\n\x0cPingResponse\x12\x0e\n\x06totlen\x18\x01 \x01(\r\"\x91\x01\n\rPluginRequest\x12)\n\nsubcommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12\x13\n\x06plugin\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tdirectory\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07options\x18\x04 \x03(\tB\t\n\x07_pluginB\x0c\n\n_directory\"}\n\x0ePluginResponse\x12&\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12#\n\x07plugins\x18\x02 \x03(\x0b\x32\x12.cln.PluginPlugins\x12\x13\n\x06result\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_result\">\n\rPluginPlugins\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x03 \x01(\x08\"@\n\x14RenepaystatusRequest\x12\x1a\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x42\x0c\n\n_invstring\"K\n\x15RenepaystatusResponse\x12\x32\n\tpaystatus\x18\x01 \x03(\x0b\x32\x1b.cln.RenepaystatusPaystatusB\x02\x18\x01\"\x9a\x04\n\x16RenepaystatusPaystatus\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12!\n\x10payment_preimage\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x13\n\x07groupid\x18\x05 \x01(\rB\x02\x18\x01\x12\x16\n\x05parts\x18\x06 \x01(\rB\x02\x18\x01H\x01\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12.\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x02\x88\x01\x01\x12L\n\x06status\x18\t \x01(\x0e\x32\x38.cln.RenepaystatusPaystatus.RenepaystatusPaystatusStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\n \x01(\x0c\x42\x02\x18\x01H\x03\x88\x01\x01\x12\x11\n\x05notes\x18\x0b \x03(\tB\x02\x18\x01\"Q\n\x1cRenepaystatusPaystatusStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x13\n\x11_payment_preimageB\x08\n\x06_partsB\x13\n\x11_amount_sent_msatB\x0e\n\x0c_destination\"\xfe\x02\n\x0eRenepayRequest\x12\x15\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01\x12)\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12$\n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x01\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x04 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x16\n\x05label\x18\x07 \x01(\tB\x02\x18\x01H\x05\x88\x01\x01\x12\x1f\n\x0e\x64\x65v_use_shadow\x18\x08 \x01(\x08\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\t \x03(\tB\x02\x18\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0b\n\t_maxdelayB\x0c\n\n_retry_forB\x0e\n\x0c_descriptionB\x08\n\x06_labelB\x11\n\x0f_dev_use_shadow\"\xdd\x03\n\x0fRenepayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x18\n\x0cpayment_hash\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x03 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x04 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x36\n\x06status\x18\x07 \x01(\x0e\x32\".cln.RenepayResponse.RenepayStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\t \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\n \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x18\n\x07groupid\x18\x0b \x01(\x04\x42\x02\x18\x01H\x03\x88\x01\x01\"B\n\rRenepayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\t\n\x07_bolt11B\t\n\x07_bolt12B\n\n\x08_groupid\"l\n\x14ReserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\texclusive\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x0c\n\n_exclusiveB\n\n\x08_reserve\"M\n\x15ReserveinputsResponse\x12\x34\n\x0creservations\x18\x01 \x03(\x0b\x32\x1e.cln.ReserveinputsReservations\"z\n\x19ReserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"4\n\x14SendcustommsgRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"\'\n\x15SendcustommsgResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\"\xb0\x01\n\x12SendinvoiceRequest\x12\x0e\n\x06invreq\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08quantity\x18\x05 \x01(\x04H\x02\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\n\n\x08_timeoutB\x0b\n\t_quantity\"\xb8\x04\n\x13SendinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.SendinvoiceResponse.SendinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x15\n\rcreated_index\x18\x08 \x01(\x04\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x16\n\tpay_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\"6\n\x11SendinvoiceStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_amount_msatB\t\n\x07_bolt12B\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\xaa\x02\n\x11SetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07\x66\x65\x65\x62\x61se\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x66\x65\x65ppm\x18\x03 \x01(\rH\x01\x88\x01\x01\x12!\n\x07htlcmin\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12!\n\x07htlcmax\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x19\n\x0c\x65nforcedelay\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fignorefeelimits\x18\x07 \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_feebaseB\t\n\x07_feeppmB\n\n\x08_htlcminB\n\n\x08_htlcmaxB\x0f\n\r_enforcedelayB\x12\n\x10_ignorefeelimits\"?\n\x12SetchannelResponse\x12)\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x17.cln.SetchannelChannels\"\xaf\x03\n\x12SetchannelChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\x12*\n\x15minimum_htlc_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x17warning_htlcmin_too_low\x18\x07 \x01(\tH\x01\x88\x01\x01\x12*\n\x15maximum_htlc_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x18warning_htlcmax_too_high\x18\t \x01(\tH\x02\x88\x01\x01\x12\x19\n\x11ignore_fee_limits\x18\n \x01(\x08\x42\x13\n\x11_short_channel_idB\x1a\n\x18_warning_htlcmin_too_lowB\x1b\n\x19_warning_htlcmax_too_high\"b\n\x10SetconfigRequest\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x10\n\x03val\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttransient\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04_valB\x0c\n\n_transient\"9\n\x11SetconfigResponse\x12$\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x14.cln.SetconfigConfig\"\xda\x02\n\x0fSetconfigConfig\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07\x64ynamic\x18\x04 \x01(\x08\x12\x10\n\x03set\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\tvalue_str\x18\x06 \x01(\tH\x03\x88\x01\x01\x12$\n\nvalue_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x16\n\tvalue_int\x18\x08 \x01(\x12H\x05\x88\x01\x01\x12\x17\n\nvalue_bool\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x0f\n\x07sources\x18\n \x03(\t\x12\x12\n\nvalues_str\x18\x0b \x03(\tB\t\n\x07_sourceB\t\n\x07_pluginB\x06\n\x04_setB\x0c\n\n_value_strB\r\n\x0b_value_msatB\x0c\n\n_value_intB\r\n\x0b_value_bool\"6\n\x15SetpsbtversionRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\r\"&\n\x16SetpsbtversionResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"\'\n\x12SigninvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\"%\n\x13SigninvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"%\n\x12SignmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\"F\n\x13SignmessageResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\r\n\x05recid\x18\x02 \x01(\x0c\x12\r\n\x05zbase\x18\x03 \x01(\t\"\xc8\x01\n\x11SpliceInitRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x17\n\x0frelative_amount\x18\x02 \x01(\x12\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x65\x65rate_per_kw\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\x0e\n\x0c_initialpsbtB\x11\n\x0f_feerate_per_kwB\x10\n\x0e_force_feerate\"\"\n\x12SpliceInitResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"_\n\x13SpliceSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x17\n\nsign_first\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_sign_first\"^\n\x14SpliceSignedResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x13\n\x06outnum\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04psbt\x18\x04 \x01(\tB\t\n\x07_outnum\"7\n\x13SpliceUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"y\n\x14SpliceUpdateResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\x12\x1f\n\x12signatures_secured\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x15\n\x13_signatures_secured\"2\n\x0fSpliceinRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\"b\n\x10SpliceinResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\x8b\x01\n\x10SpliceoutRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_destinationB\x10\n\x0e_force_feerate\"c\n\x11SpliceoutResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\xc6\x01\n\x10\x44\x65vspliceRequest\x12\x16\n\x0escript_or_json\x18\x01 \x01(\t\x12\x13\n\x06\x64ryrun\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tdebug_log\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x17\n\ndev_wetrun\x18\x05 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_dryrunB\x10\n\x0e_force_feerateB\x0c\n\n_debug_logB\r\n\x0b_dev_wetrun\"\x80\x01\n\x11\x44\x65vspliceResponse\x12\x0e\n\x06\x64ryrun\x18\x01 \x03(\t\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03log\x18\x05 \x03(\tB\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"H\n\x16UnreserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\"Q\n\x17UnreserveinputsResponse\x12\x36\n\x0creservations\x18\x01 \x03(\x0b\x32 .cln.UnreserveinputsReservations\"\x97\x01\n\x1bUnreserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\x05 \x01(\rH\x00\x88\x01\x01\x42\x14\n\x12_reserved_to_block\"n\n\x14UpgradewalletRequest\x12\"\n\x07\x66\x65\x65rate\x18\x01 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x17\n\nreservedok\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_feerateB\r\n\x0b_reservedok\"~\n\x15UpgradewalletResponse\x12\x15\n\rupgraded_outs\x18\x01 \x01(\x04\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"O\n\x16WaitblockheightRequest\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\x12\x14\n\x07timeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\".\n\x17WaitblockheightResponse\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\"\xb9\x02\n\x0bWaitRequest\x12\x31\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitSubsystem\x12\x31\n\tindexname\x18\x02 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitIndexname\x12\x11\n\tnextvalue\x18\x03 \x01(\x04\"6\n\rWaitIndexname\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\"\xf4\x05\n\x0cWaitResponse\x12\x32\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1f.cln.WaitResponse.WaitSubsystem\x12\x14\n\x07\x63reated\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07updated\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07\x64\x65leted\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12*\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x10.cln.WaitDetailsB\x02\x18\x01H\x03\x88\x01\x01\x12(\n\x08\x66orwards\x18\x06 \x01(\x0b\x32\x11.cln.WaitForwardsH\x04\x88\x01\x01\x12(\n\x08invoices\x18\x07 \x01(\x0b\x32\x11.cln.WaitInvoicesH\x05\x88\x01\x01\x12(\n\x08sendpays\x18\x08 \x01(\x0b\x32\x11.cln.WaitSendpaysH\x06\x88\x01\x01\x12\"\n\x05htlcs\x18\t \x01(\x0b\x32\x0e.cln.WaitHtlcsH\x07\x88\x01\x01\x12,\n\nchainmoves\x18\n \x01(\x0b\x32\x13.cln.WaitChainmovesH\x08\x88\x01\x01\x12\x30\n\x0c\x63hannelmoves\x18\x0b \x01(\x0b\x32\x15.cln.WaitChannelmovesH\t\x88\x01\x01\x12\x32\n\rnetworkevents\x18\x0c \x01(\x0b\x32\x16.cln.WaitNetworkeventsH\n\x88\x01\x01\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\x42\n\n\x08_createdB\n\n\x08_updatedB\n\n\x08_deletedB\n\n\x08_detailsB\x0b\n\t_forwardsB\x0b\n\t_invoicesB\x0b\n\t_sendpaysB\x08\n\x06_htlcsB\r\n\x0b_chainmovesB\x0f\n\r_channelmovesB\x10\n\x0e_networkevents\"d\n\x0eWaitChainmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"f\n\x10WaitChannelmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\xd0\x05\n\x0bWaitDetails\x12;\n\x06status\x18\x01 \x01(\x0e\x32\".cln.WaitDetails.WaitDetailsStatusB\x02\x18\x01H\x00\x88\x01\x01\x12\x16\n\x05label\x18\x02 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\x04 \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\x05 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x17\n\x06partid\x18\x06 \x01(\x04\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x18\n\x07groupid\x18\x07 \x01(\x04\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x1d\n\x0cpayment_hash\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x07\x88\x01\x01\x12\x1b\n\nin_channel\x18\t \x01(\tB\x02\x18\x01H\x08\x88\x01\x01\x12\x1b\n\nin_htlc_id\x18\n \x01(\x04\x42\x02\x18\x01H\t\x88\x01\x01\x12%\n\x07in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x12\x1c\n\x0bout_channel\x18\x0c \x01(\tB\x02\x18\x01H\x0b\x88\x01\x01\"\xad\x01\n\x11WaitDetailsStatus\x12\x0e\n\x06UNPAID\x10\x00\x1a\x02\x08\x01\x12\x0c\n\x04PAID\x10\x01\x1a\x02\x08\x01\x12\x0f\n\x07\x45XPIRED\x10\x02\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x03\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x04\x1a\x02\x08\x01\x12\x10\n\x08\x43OMPLETE\x10\x05\x1a\x02\x08\x01\x12\x0f\n\x07OFFERED\x10\x06\x1a\x02\x08\x01\x12\x0f\n\x07SETTLED\x10\x07\x1a\x02\x08\x01\x12\x14\n\x0cLOCAL_FAILED\x10\x08\x1a\x02\x08\x01\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12B\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hashB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\xcb\x02\n\x0cWaitForwards\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitForwards.WaitForwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12!\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x04\x88\x01\x01\"L\n\x12WaitForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x10\n\x0cLOCAL_FAILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\x8c\x03\n\tWaitHtlcs\x12\"\n\x05state\x18\x01 \x01(\x0e\x32\x0e.cln.HtlcStateH\x00\x88\x01\x01\x12\x14\n\x07htlc_id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x63ltv_expiry\x18\x04 \x01(\rH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x39\n\tdirection\x18\x06 \x01(\x0e\x32!.cln.WaitHtlcs.WaitHtlcsDirectionH\x05\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x06\x88\x01\x01\"%\n\x12WaitHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x08\n\x06_stateB\n\n\x08_htlc_idB\x13\n\x11_short_channel_idB\x0e\n\x0c_cltv_expiryB\x0e\n\x0c_amount_msatB\x0c\n\n_directionB\x0f\n\r_payment_hash\"\x95\x02\n\x0cWaitInvoices\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitInvoices.WaitInvoicesStatusH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x05 \x01(\tH\x04\x88\x01\x01\"7\n\x12WaitInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12\"\x89\x02\n\x11WaitNetworkevents\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x44\n\titem_type\x18\x02 \x01(\x0e\x32,.cln.WaitNetworkevents.WaitNetworkeventsTypeH\x01\x88\x01\x01\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\"P\n\x15WaitNetworkeventsType\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x10\n\x0c\x43ONNECT_FAIL\x10\x01\x12\x08\n\x04PING\x10\x02\x12\x0e\n\nDISCONNECT\x10\x03\x42\x10\n\x0e_created_indexB\x0c\n\n_item_typeB\n\n\x08_peer_id\"\xff\x01\n\x0cWaitSendpays\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitSendpays.WaitSendpaysStatusH\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x04 \x01(\x0cH\x03\x88\x01\x01\";\n\x12WaitSendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_statusB\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hash\"4\n\x12ListconfigsRequest\x12\x13\n\x06\x63onfig\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_config\"P\n\x13ListconfigsResponse\x12-\n\x07\x63onfigs\x18\x01 \x01(\x0b\x32\x17.cln.ListconfigsConfigsH\x00\x88\x01\x01\x42\n\n\x08_configs\"\xf9.\n\x12ListconfigsConfigs\x12.\n\x04\x63onf\x18\x01 \x01(\x0b\x32\x1b.cln.ListconfigsConfigsConfH\x00\x88\x01\x01\x12\x38\n\tdeveloper\x18\x02 \x01(\x0b\x32 .cln.ListconfigsConfigsDeveloperH\x01\x88\x01\x01\x12?\n\rclear_plugins\x18\x03 \x01(\x0b\x32#.cln.ListconfigsConfigsClearpluginsH\x02\x88\x01\x01\x12;\n\x0b\x64isable_mpp\x18\x04 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablemppH\x03\x88\x01\x01\x12\x34\n\x07mainnet\x18\x05 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsMainnetH\x04\x88\x01\x01\x12\x34\n\x07regtest\x18\x06 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRegtestH\x05\x88\x01\x01\x12\x32\n\x06signet\x18\x07 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsSignetH\x06\x88\x01\x01\x12\x34\n\x07testnet\x18\x08 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsTestnetH\x07\x88\x01\x01\x12\x45\n\x10important_plugin\x18\t \x01(\x0b\x32&.cln.ListconfigsConfigsImportantpluginH\x08\x88\x01\x01\x12\x32\n\x06plugin\x18\n \x01(\x0b\x32\x1d.cln.ListconfigsConfigsPluginH\t\x88\x01\x01\x12\x39\n\nplugin_dir\x18\x0b \x01(\x0b\x32 .cln.ListconfigsConfigsPlugindirH\n\x88\x01\x01\x12?\n\rlightning_dir\x18\x0c \x01(\x0b\x32#.cln.ListconfigsConfigsLightningdirH\x0b\x88\x01\x01\x12\x34\n\x07network\x18\r \x01(\x0b\x32\x1e.cln.ListconfigsConfigsNetworkH\x0c\x88\x01\x01\x12N\n\x15\x61llow_deprecated_apis\x18\x0e \x01(\x0b\x32*.cln.ListconfigsConfigsAllowdeprecatedapisH\r\x88\x01\x01\x12\x35\n\x08rpc_file\x18\x0f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRpcfileH\x0e\x88\x01\x01\x12\x41\n\x0e\x64isable_plugin\x18\x10 \x01(\x0b\x32$.cln.ListconfigsConfigsDisablepluginH\x0f\x88\x01\x01\x12\x44\n\x10\x61lways_use_proxy\x18\x11 \x01(\x0b\x32%.cln.ListconfigsConfigsAlwaysuseproxyH\x10\x88\x01\x01\x12\x32\n\x06\x64\x61\x65mon\x18\x12 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsDaemonH\x11\x88\x01\x01\x12\x32\n\x06wallet\x18\x13 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsWalletH\x12\x88\x01\x01\x12\x41\n\x0elarge_channels\x18\x14 \x01(\x0b\x32$.cln.ListconfigsConfigsLargechannelsH\x13\x88\x01\x01\x12P\n\x16\x65xperimental_dual_fund\x18\x15 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentaldualfundH\x14\x88\x01\x01\x12S\n\x15\x65xperimental_splicing\x18\x16 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentalsplicingB\x02\x18\x01H\x15\x88\x01\x01\x12i\n#experimental_shutdown_wrong_funding\x18\x19 \x01(\x0b\x32\x37.cln.ListconfigsConfigsExperimentalshutdownwrongfundingH\x16\x88\x01\x01\x12V\n\x19\x65xperimental_peer_storage\x18\x1a \x01(\x0b\x32..cln.ListconfigsConfigsExperimentalpeerstorageH\x17\x88\x01\x01\x12M\n\x14\x65xperimental_anchors\x18\x1b \x01(\x0b\x32*.cln.ListconfigsConfigsExperimentalanchorsH\x18\x88\x01\x01\x12\x45\n\x10\x64\x61tabase_upgrade\x18\x1c \x01(\x0b\x32&.cln.ListconfigsConfigsDatabaseupgradeH\x19\x88\x01\x01\x12,\n\x03rgb\x18\x1d \x01(\x0b\x32\x1a.cln.ListconfigsConfigsRgbH\x1a\x88\x01\x01\x12\x30\n\x05\x61lias\x18\x1e \x01(\x0b\x32\x1c.cln.ListconfigsConfigsAliasH\x1b\x88\x01\x01\x12\x35\n\x08pid_file\x18\x1f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsPidfileH\x1c\x88\x01\x01\x12\x46\n\x11ignore_fee_limits\x18 \x01(\x0b\x32&.cln.ListconfigsConfigsIgnorefeelimitsH\x1d\x88\x01\x01\x12\x45\n\x10watchtime_blocks\x18! \x01(\x0b\x32&.cln.ListconfigsConfigsWatchtimeblocksH\x1e\x88\x01\x01\x12\x45\n\x10\x66unding_confirms\x18# \x01(\x0b\x32&.cln.ListconfigsConfigsFundingconfirmsH\x1f\x88\x01\x01\x12\x39\n\ncltv_delta\x18$ \x01(\x0b\x32 .cln.ListconfigsConfigsCltvdeltaH \x88\x01\x01\x12\x39\n\ncltv_final\x18% \x01(\x0b\x32 .cln.ListconfigsConfigsCltvfinalH!\x88\x01\x01\x12;\n\x0b\x63ommit_time\x18& \x01(\x0b\x32!.cln.ListconfigsConfigsCommittimeH\"\x88\x01\x01\x12\x35\n\x08\x66\x65\x65_base\x18\' \x01(\x0b\x32\x1e.cln.ListconfigsConfigsFeebaseH#\x88\x01\x01\x12\x32\n\x06rescan\x18( \x01(\x0b\x32\x1d.cln.ListconfigsConfigsRescanH$\x88\x01\x01\x12\x42\n\x0f\x66\x65\x65_per_satoshi\x18) \x01(\x0b\x32$.cln.ListconfigsConfigsFeepersatoshiH%\x88\x01\x01\x12L\n\x14max_concurrent_htlcs\x18* \x01(\x0b\x32).cln.ListconfigsConfigsMaxconcurrenthtlcsH&\x88\x01\x01\x12\x46\n\x11htlc_minimum_msat\x18+ \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcminimummsatH\'\x88\x01\x01\x12\x46\n\x11htlc_maximum_msat\x18, \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcmaximummsatH(\x88\x01\x01\x12X\n\x1bmax_dust_htlc_exposure_msat\x18- \x01(\x0b\x32..cln.ListconfigsConfigsMaxdusthtlcexposuremsatH)\x88\x01\x01\x12\x44\n\x10min_capacity_sat\x18. \x01(\x0b\x32%.cln.ListconfigsConfigsMincapacitysatH*\x88\x01\x01\x12.\n\x04\x61\x64\x64r\x18/ \x01(\x0b\x32\x1b.cln.ListconfigsConfigsAddrH+\x88\x01\x01\x12?\n\rannounce_addr\x18\x30 \x01(\x0b\x32#.cln.ListconfigsConfigsAnnounceaddrH,\x88\x01\x01\x12\x37\n\tbind_addr\x18\x31 \x01(\x0b\x32\x1f.cln.ListconfigsConfigsBindaddrH-\x88\x01\x01\x12\x34\n\x07offline\x18\x32 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsOfflineH.\x88\x01\x01\x12:\n\nautolisten\x18\x33 \x01(\x0b\x32!.cln.ListconfigsConfigsAutolistenH/\x88\x01\x01\x12\x30\n\x05proxy\x18\x34 \x01(\x0b\x32\x1c.cln.ListconfigsConfigsProxyH0\x88\x01\x01\x12;\n\x0b\x64isable_dns\x18\x35 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablednsH1\x88\x01\x01\x12T\n\x18\x61nnounce_addr_discovered\x18\x36 \x01(\x0b\x32-.cln.ListconfigsConfigsAnnounceaddrdiscoveredH2\x88\x01\x01\x12]\n\x1d\x61nnounce_addr_discovered_port\x18\x37 \x01(\x0b\x32\x31.cln.ListconfigsConfigsAnnounceaddrdiscoveredportH3\x88\x01\x01\x12?\n\rencrypted_hsm\x18\x38 \x01(\x0b\x32#.cln.ListconfigsConfigsEncryptedhsmH4\x88\x01\x01\x12>\n\rrpc_file_mode\x18\x39 \x01(\x0b\x32\".cln.ListconfigsConfigsRpcfilemodeH5\x88\x01\x01\x12\x37\n\tlog_level\x18: \x01(\x0b\x32\x1f.cln.ListconfigsConfigsLoglevelH6\x88\x01\x01\x12\x39\n\nlog_prefix\x18; \x01(\x0b\x32 .cln.ListconfigsConfigsLogprefixH7\x88\x01\x01\x12\x35\n\x08log_file\x18< \x01(\x0b\x32\x1e.cln.ListconfigsConfigsLogfileH8\x88\x01\x01\x12\x41\n\x0elog_timestamps\x18= \x01(\x0b\x32$.cln.ListconfigsConfigsLogtimestampsH9\x88\x01\x01\x12\x41\n\x0e\x66orce_feerates\x18> \x01(\x0b\x32$.cln.ListconfigsConfigsForcefeeratesH:\x88\x01\x01\x12\x38\n\tsubdaemon\x18? \x01(\x0b\x32 .cln.ListconfigsConfigsSubdaemonH;\x88\x01\x01\x12Q\n\x16\x66\x65tchinvoice_noconnect\x18@ \x01(\x0b\x32,.cln.ListconfigsConfigsFetchinvoicenoconnectH<\x88\x01\x01\x12L\n\x14tor_service_password\x18\x42 \x01(\x0b\x32).cln.ListconfigsConfigsTorservicepasswordH=\x88\x01\x01\x12\x46\n\x11\x61nnounce_addr_dns\x18\x43 \x01(\x0b\x32&.cln.ListconfigsConfigsAnnounceaddrdnsH>\x88\x01\x01\x12T\n\x18require_confirmed_inputs\x18\x44 \x01(\x0b\x32-.cln.ListconfigsConfigsRequireconfirmedinputsH?\x88\x01\x01\x12\x39\n\ncommit_fee\x18\x45 \x01(\x0b\x32 .cln.ListconfigsConfigsCommitfeeH@\x88\x01\x01\x12N\n\x15\x63ommit_feerate_offset\x18\x46 \x01(\x0b\x32*.cln.ListconfigsConfigsCommitfeerateoffsetHA\x88\x01\x01\x12T\n\x18\x61utoconnect_seeker_peers\x18G \x01(\x0b\x32-.cln.ListconfigsConfigsAutoconnectseekerpeersHB\x88\x01\x01\x12R\n\x17\x63urrencyrate_add_source\x18J \x01(\x0b\x32,.cln.ListconfigsConfigsCurrencyrateaddsourceHC\x88\x01\x01\x12Z\n\x1b\x63urrencyrate_disable_source\x18K \x01(\x0b\x32\x30.cln.ListconfigsConfigsCurrencyratedisablesourceHD\x88\x01\x01\x12K\n\x13independent_secrets\x18L \x01(\x0b\x32).cln.ListconfigsConfigsIndependentsecretsHE\x88\x01\x01\x42\x07\n\x05_confB\x0c\n\n_developerB\x10\n\x0e_clear_pluginsB\x0e\n\x0c_disable_mppB\n\n\x08_mainnetB\n\n\x08_regtestB\t\n\x07_signetB\n\n\x08_testnetB\x13\n\x11_important_pluginB\t\n\x07_pluginB\r\n\x0b_plugin_dirB\x10\n\x0e_lightning_dirB\n\n\x08_networkB\x18\n\x16_allow_deprecated_apisB\x0b\n\t_rpc_fileB\x11\n\x0f_disable_pluginB\x13\n\x11_always_use_proxyB\t\n\x07_daemonB\t\n\x07_walletB\x11\n\x0f_large_channelsB\x19\n\x17_experimental_dual_fundB\x18\n\x16_experimental_splicingB&\n$_experimental_shutdown_wrong_fundingB\x1c\n\x1a_experimental_peer_storageB\x17\n\x15_experimental_anchorsB\x13\n\x11_database_upgradeB\x06\n\x04_rgbB\x08\n\x06_aliasB\x0b\n\t_pid_fileB\x14\n\x12_ignore_fee_limitsB\x13\n\x11_watchtime_blocksB\x13\n\x11_funding_confirmsB\r\n\x0b_cltv_deltaB\r\n\x0b_cltv_finalB\x0e\n\x0c_commit_timeB\x0b\n\t_fee_baseB\t\n\x07_rescanB\x12\n\x10_fee_per_satoshiB\x17\n\x15_max_concurrent_htlcsB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x1e\n\x1c_max_dust_htlc_exposure_msatB\x13\n\x11_min_capacity_satB\x07\n\x05_addrB\x10\n\x0e_announce_addrB\x0c\n\n_bind_addrB\n\n\x08_offlineB\r\n\x0b_autolistenB\x08\n\x06_proxyB\x0e\n\x0c_disable_dnsB\x1b\n\x19_announce_addr_discoveredB \n\x1e_announce_addr_discovered_portB\x10\n\x0e_encrypted_hsmB\x10\n\x0e_rpc_file_modeB\x0c\n\n_log_levelB\r\n\x0b_log_prefixB\x0b\n\t_log_fileB\x11\n\x0f_log_timestampsB\x11\n\x0f_force_feeratesB\x0c\n\n_subdaemonB\x19\n\x17_fetchinvoice_noconnectB\x17\n\x15_tor_service_passwordB\x14\n\x12_announce_addr_dnsB\x1b\n\x19_require_confirmed_inputsB\r\n\x0b_commit_feeB\x18\n\x16_commit_feerate_offsetB\x1b\n\x19_autoconnect_seeker_peersB\x1a\n\x18_currencyrate_add_sourceB\x1e\n\x1c_currencyrate_disable_sourceB\x16\n\x14_independent_secrets\"=\n\x16ListconfigsConfigsAddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsAlias\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"K\n%ListconfigsConfigsAllowdeprecatedapis\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n ListconfigsConfigsAlwaysuseproxy\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1eListconfigsConfigsAnnounceaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"\x80\x02\n(ListconfigsConfigsAnnounceaddrdiscovered\x12q\n\tvalue_str\x18\x01 \x01(\x0e\x32^.cln.ListconfigsConfigsAnnounceaddrdiscovered.ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n0ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x08\n\x04TRUE\x10\x00\x12\t\n\x05\x46\x41LSE\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\"Q\n,ListconfigsConfigsAnnounceaddrdiscoveredport\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsAnnounceaddrdns\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n(ListconfigsConfigsAutoconnectseekerpeers\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1cListconfigsConfigsAutolisten\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1aListconfigsConfigsBindaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsClearplugins\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvdelta\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvfinal\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCommitfee\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\"J\n%ListconfigsConfigsCommitfeerateoffset\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1cListconfigsConfigsCommittime\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\xa2\x01\n\x16ListconfigsConfigsConf\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12H\n\x06source\x18\x02 \x01(\x0e\x32\x38.cln.ListconfigsConfigsConf.ListconfigsConfigsConfSource\"+\n\x1cListconfigsConfigsConfSource\x12\x0b\n\x07\x43MDLINE\x10\x00\"n\n\'ListconfigsConfigsCurrencyrateaddsource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"r\n+ListconfigsConfigsCurrencyratedisablesource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"7\n\x18ListconfigsConfigsDaemon\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsDatabaseupgrade\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x1bListconfigsConfigsDeveloper\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\";\n\x1cListconfigsConfigsDisabledns\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"[\n\x1cListconfigsConfigsDisablempp\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"F\n\x1fListconfigsConfigsDisableplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsEncryptedhsm\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n%ListconfigsConfigsExperimentalanchors\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n&ListconfigsConfigsExperimentaldualfund\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n)ListconfigsConfigsExperimentalpeerstorage\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n2ListconfigsConfigsExperimentalshutdownwrongfunding\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n&ListconfigsConfigsExperimentalsplicing\x12\x0f\n\x03set\x18\x01 \x01(\x08\x42\x02\x18\x01\x12\x12\n\x06source\x18\x02 \x01(\tB\x02\x18\x01\">\n\x19ListconfigsConfigsFeebase\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n\x1fListconfigsConfigsFeepersatoshi\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"f\n\'ListconfigsConfigsFetchinvoicenoconnect\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"D\n\x1fListconfigsConfigsForcefeerates\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsFundingconfirms\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcmaximummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcminimummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsIgnorefeelimits\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n!ListconfigsConfigsImportantplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"C\n$ListconfigsConfigsIndependentsecrets\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x1fListconfigsConfigsLargechannels\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"C\n\x1eListconfigsConfigsLightningdir\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x19ListconfigsConfigsLogfile\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"?\n\x1aListconfigsConfigsLoglevel\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsLogprefix\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1fListconfigsConfigsLogtimestamps\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsMainnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsMaxconcurrenthtlcs\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\\\n)ListconfigsConfigsMaxdusthtlcexposuremsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"g\n ListconfigsConfigsMincapacitysat\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x14\n\x07\x64ynamic\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\n\n\x08_dynamic\">\n\x19ListconfigsConfigsNetwork\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsOffline\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsPidfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"?\n\x18ListconfigsConfigsPlugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"B\n\x1bListconfigsConfigsPlugindir\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsProxy\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsRegtest\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"N\n(ListconfigsConfigsRequireconfirmedinputs\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsRescan\x12\x11\n\tvalue_int\x18\x01 \x01(\x12\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x15ListconfigsConfigsRgb\x12\x11\n\tvalue_str\x18\x01 \x01(\x0c\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsRpcfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1dListconfigsConfigsRpcfilemode\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"7\n\x18ListconfigsConfigsSignet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1bListconfigsConfigsSubdaemon\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"8\n\x19ListconfigsConfigsTestnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsTorservicepassword\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsWallet\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsWatchtimeblocks\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\r\n\x0bStopRequest\"a\n\x0cStopResponse\x12,\n\x06result\x18\x01 \x01(\x0e\x32\x1c.cln.StopResponse.StopResult\"#\n\nStopResult\x12\x15\n\x11SHUTDOWN_COMPLETE\x10\x00\"/\n\x0bHelpRequest\x12\x14\n\x07\x63ommand\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_command\"\x95\x01\n\x0cHelpResponse\x12\x1b\n\x04help\x18\x01 \x03(\x0b\x32\r.cln.HelpHelp\x12:\n\x0b\x66ormat_hint\x18\x02 \x01(\x0e\x32 .cln.HelpResponse.HelpFormathintH\x00\x88\x01\x01\"\x1c\n\x0eHelpFormathint\x12\n\n\x06SIMPLE\x10\x00\x42\x0e\n\x0c_format_hint\"\x1b\n\x08HelpHelp\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\"g\n\x18PreapprovekeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\x1b\n\x19PreapprovekeysendResponse\"*\n\x18PreapproveinvoiceRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"\x1b\n\x19PreapproveinvoiceResponse\"\x15\n\x13StaticbackupRequest\"#\n\x14StaticbackupResponse\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"d\n\x16\x42kprchannelsapyRequest\x12\x17\n\nstart_time\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x17\x42kprchannelsapyResponse\x12\x35\n\x0c\x63hannels_apy\x18\x01 \x03(\x0b\x32\x1f.cln.BkprchannelsapyChannelsApy\"\xf9\x06\n\x1a\x42kprchannelsapyChannelsApy\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12$\n\x0frouted_out_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0erouted_in_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12(\n\x13lease_fee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12*\n\x15lease_fee_earned_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x0fpushed_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0epushed_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16our_start_balance_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12/\n\x1a\x63hannel_start_balance_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\rfees_out_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x0c\x66\x65\x65s_in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x17\n\x0futilization_out\x18\x0c \x01(\t\x12$\n\x17utilization_out_initial\x18\r \x01(\tH\x01\x88\x01\x01\x12\x16\n\x0eutilization_in\x18\x0e \x01(\t\x12#\n\x16utilization_in_initial\x18\x0f \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x07\x61py_out\x18\x10 \x01(\t\x12\x1c\n\x0f\x61py_out_initial\x18\x11 \x01(\tH\x03\x88\x01\x01\x12\x0e\n\x06\x61py_in\x18\x12 \x01(\t\x12\x1b\n\x0e\x61py_in_initial\x18\x13 \x01(\tH\x04\x88\x01\x01\x12\x11\n\tapy_total\x18\x14 \x01(\t\x12\x1e\n\x11\x61py_total_initial\x18\x15 \x01(\tH\x05\x88\x01\x01\x12\x16\n\tapy_lease\x18\x16 \x01(\tH\x06\x88\x01\x01\x42\x0f\n\r_fees_in_msatB\x1a\n\x18_utilization_out_initialB\x19\n\x17_utilization_in_initialB\x12\n\x10_apy_out_initialB\x11\n\x0f_apy_in_initialB\x14\n\x12_apy_total_initialB\x0c\n\n_apy_lease\"\xd2\x01\n\x18\x42kprdumpincomecsvRequest\x12\x12\n\ncsv_format\x18\x01 \x01(\t\x12\x15\n\x08\x63sv_file\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x63onsolidate_fees\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\x04H\x03\x88\x01\x01\x42\x0b\n\t_csv_fileB\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"\xd4\x01\n\x19\x42kprdumpincomecsvResponse\x12\x10\n\x08\x63sv_file\x18\x01 \x01(\t\x12M\n\ncsv_format\x18\x02 \x01(\x0e\x32\x39.cln.BkprdumpincomecsvResponse.BkprdumpincomecsvCsvFormat\"V\n\x1a\x42kprdumpincomecsvCsvFormat\x12\x0f\n\x0b\x43OINTRACKER\x10\x00\x12\n\n\x06KOINLY\x10\x01\x12\x0b\n\x07HARMONY\x10\x02\x12\x0e\n\nQUICKBOOKS\x10\x03\"%\n\x12\x42kprinspectRequest\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\"7\n\x13\x42kprinspectResponse\x12 \n\x03txs\x18\x01 \x03(\x0b\x32\x13.cln.BkprinspectTxs\"\x9a\x01\n\x0e\x42kprinspectTxs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x18\n\x0b\x62lockheight\x18\x02 \x01(\rH\x00\x88\x01\x01\x12#\n\x0e\x66\x65\x65s_paid_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x07outputs\x18\x04 \x03(\x0b\x32\x1a.cln.BkprinspectTxsOutputsB\x0e\n\x0c_blockheight\"\xbc\x03\n\x15\x42kprinspectTxsOutputs\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12&\n\x11output_value_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12%\n\x0b\x63redit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12$\n\ndebit_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12 \n\x13originating_account\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x17\n\noutput_tag\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tspend_tag\x18\t \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x42\x0e\n\x0c_credit_msatB\r\n\x0b_debit_msatB\x16\n\x14_originating_accountB\r\n\x0b_output_tagB\x0c\n\n_spend_tagB\x10\n\x0e_spending_txidB\r\n\x0b_payment_id\"h\n\x1c\x42kprlistaccounteventsRequest\x12\x14\n\x07\x61\x63\x63ount\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\npayment_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_accountB\r\n\x0b_payment_id\"Q\n\x1d\x42kprlistaccounteventsResponse\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .cln.BkprlistaccounteventsEvents\"\xcd\x05\n\x1b\x42kprlistaccounteventsEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12S\n\titem_type\x18\x02 \x01(\x0e\x32@.cln.BkprlistaccounteventsEvents.BkprlistaccounteventsEventsType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\t \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\n \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\x0c \x01(\x0cH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x05\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x07\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x08\x88\x01\x01\x12\x19\n\x0c\x63urrencyrate\x18\x11 \x01(\x01H\t\x88\x01\x01\"J\n\x1f\x42kprlistaccounteventsEventsType\x12\x0f\n\x0bONCHAIN_FEE\x10\x00\x12\t\n\x05\x43HAIN\x10\x01\x12\x0b\n\x07\x43HANNEL\x10\x02\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0e\n\x0c_descriptionB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_idB\x0f\n\r_currencyrate\"\x19\n\x17\x42kprlistbalancesRequest\"K\n\x18\x42kprlistbalancesResponse\x12/\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1d.cln.BkprlistbalancesAccounts\"\xc6\x02\n\x18\x42kprlistbalancesAccounts\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x37\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32%.cln.BkprlistbalancesAccountsBalances\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x16\n\twe_opened\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x61\x63\x63ount_closed\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x1d\n\x10\x61\x63\x63ount_resolved\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x1e\n\x11resolved_at_block\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\n\n\x08_peer_idB\x0c\n\n_we_openedB\x11\n\x0f_account_closedB\x13\n\x11_account_resolvedB\x14\n\x12_resolved_at_block\"X\n BkprlistbalancesAccountsBalances\x12!\n\x0c\x62\x61lance_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x02 \x01(\t\"\x97\x01\n\x15\x42kprlistincomeRequest\x12\x1d\n\x10\x63onsolidate_fees\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x17\n\nstart_time\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x16\x42kprlistincomeResponse\x12\x36\n\rincome_events\x18\x01 \x03(\x0b\x32\x1f.cln.BkprlistincomeIncomeEvents\"\xb4\x02\n\x1a\x42kprlistincomeIncomeEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12\x11\n\ttimestamp\x18\x06 \x01(\r\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\n \x01(\x0cH\x03\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_outpointB\x07\n\x05_txidB\r\n\x0b_payment_id\"P\n%BkpreditdescriptionbypaymentidRequest\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"e\n&BkpreditdescriptionbypaymentidResponse\x12;\n\x07updated\x18\x01 \x03(\x0b\x32*.cln.BkpreditdescriptionbypaymentidUpdated\"\xa3\x05\n%BkpreditdescriptionbypaymentidUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12g\n\titem_type\x18\x02 \x01(\x0e\x32T.cln.BkpreditdescriptionbypaymentidUpdated.BkpreditdescriptionbypaymentidUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"C\n)BkpreditdescriptionbypaymentidUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"M\n$BkpreditdescriptionbyoutpointRequest\x12\x10\n\x08outpoint\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"c\n%BkpreditdescriptionbyoutpointResponse\x12:\n\x07updated\x18\x01 \x03(\x0b\x32).cln.BkpreditdescriptionbyoutpointUpdated\"\x9f\x05\n$BkpreditdescriptionbyoutpointUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x65\n\titem_type\x18\x02 \x01(\x0e\x32R.cln.BkpreditdescriptionbyoutpointUpdated.BkpreditdescriptionbyoutpointUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"B\n(BkpreditdescriptionbyoutpointUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"\xb0\x01\n\x11\x42kprreportRequest\x12\x13\n\x06\x66ormat\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x07headers\x18\x02 \x03(\t\x12\x13\n\x06\x65scape\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\rH\x03\x88\x01\x01\x42\t\n\x07_formatB\t\n\x07_escapeB\r\n\x0b_start_timeB\x0b\n\t_end_time\"$\n\x12\x42kprreportResponse\x12\x0e\n\x06report\x18\x01 \x03(\t\"n\n\x14\x42lacklistruneRequest\x12\x12\n\x05start\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03\x65nd\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06relist\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_startB\x06\n\x04_endB\t\n\x07_relist\"G\n\x15\x42lacklistruneResponse\x12.\n\tblacklist\x18\x01 \x03(\x0b\x32\x1b.cln.BlacklistruneBlacklist\"4\n\x16\x42lacklistruneBlacklist\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\"p\n\x10\x43heckruneRequest\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x13\n\x06nodeid\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06params\x18\x04 \x03(\tB\t\n\x07_nodeidB\t\n\x07_method\"\"\n\x11\x43heckruneResponse\x12\r\n\x05valid\x18\x01 \x01(\x08\"E\n\x11\x43reateruneRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0crestrictions\x18\x02 \x03(\tB\x07\n\x05_rune\"{\n\x12\x43reateruneResponse\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12&\n\x19warning_unrestricted_rune\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x1c\n\x1a_warning_unrestricted_rune\".\n\x10ShowrunesRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_rune\"7\n\x11ShowrunesResponse\x12\"\n\x05runes\x18\x01 \x03(\x0b\x32\x13.cln.ShowrunesRunes\"\x9d\x02\n\x0eShowrunesRunes\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x35\n\x0crestrictions\x18\x03 \x03(\x0b\x32\x1f.cln.ShowrunesRunesRestrictions\x12\x1f\n\x17restrictions_as_english\x18\x04 \x01(\t\x12\x13\n\x06stored\x18\x05 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x0b\x62lacklisted\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tlast_used\x18\x07 \x01(\x01H\x02\x88\x01\x01\x12\x15\n\x08our_rune\x18\x08 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_storedB\x0e\n\x0c_blacklistedB\x0c\n\n_last_usedB\x0b\n\t_our_rune\"p\n\x1aShowrunesRunesRestrictions\x12\x41\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32+.cln.ShowrunesRunesRestrictionsAlternatives\x12\x0f\n\x07\x65nglish\x18\x02 \x01(\t\"n\n&ShowrunesRunesRestrictionsAlternatives\x12\x11\n\tfieldname\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x11\n\tcondition\x18\x03 \x01(\t\x12\x0f\n\x07\x65nglish\x18\x04 \x01(\t\"r\n\x17\x41skreneunreserveRequest\x12\'\n\x04path\x18\x01 \x03(\x0b\x32\x19.cln.AskreneunreservePath\x12\x1b\n\x0e\x64\x65v_remove_all\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_dev_remove_all\"\x1a\n\x18\x41skreneunreserveResponse\"t\n\x14\x41skreneunreservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"8\n\x18\x41skrenelistlayersRequest\x12\x12\n\x05layer\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"I\n\x19\x41skrenelistlayersResponse\x12,\n\x06layers\x18\x01 \x03(\x0b\x32\x1c.cln.AskrenelistlayersLayers\"\xaa\x03\n\x17\x41skrenelistlayersLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x16\n\x0e\x64isabled_nodes\x18\x02 \x03(\x0c\x12\x45\n\x10\x63reated_channels\x18\x03 \x03(\x0b\x32+.cln.AskrenelistlayersLayersCreatedChannels\x12<\n\x0b\x63onstraints\x18\x04 \x03(\x0b\x32\'.cln.AskrenelistlayersLayersConstraints\x12\x12\n\npersistent\x18\x05 \x01(\x08\x12\x19\n\x11\x64isabled_channels\x18\x06 \x03(\t\x12\x43\n\x0f\x63hannel_updates\x18\x07 \x03(\x0b\x32*.cln.AskrenelistlayersLayersChannelUpdates\x12\x32\n\x06\x62iases\x18\x08 \x03(\x0b\x32\".cln.AskrenelistlayersLayersBiases\x12;\n\x0bnode_biases\x18\t \x03(\x0b\x32&.cln.AskrenelistlayersLayersNodeBiases\"\x9b\x01\n\x1d\x41skrenelistlayersLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa8\x03\n%AskrenelistlayersLayersChannelUpdates\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x14\n\x07\x65nabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x07 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\xda\x01\n\"AskrenelistlayersLayersConstraints\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x05 \x01(\t\x12\x16\n\ttimestamp\x18\x06 \x01(\x04H\x02\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msatB\x0c\n\n_timestamp\"\x8b\x01\n&AskrenelistlayersLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x91\x01\n!AskrenelistlayersLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"R\n\x19\x41skrenecreatelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x17\n\npersistent\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_persistent\"K\n\x1a\x41skrenecreatelayerResponse\x12-\n\x06layers\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenecreatelayerLayers\"\xb0\x03\n\x18\x41skrenecreatelayerLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x12\n\npersistent\x18\x02 \x01(\x08\x12\x16\n\x0e\x64isabled_nodes\x18\x03 \x03(\x0c\x12\x19\n\x11\x64isabled_channels\x18\x04 \x03(\t\x12\x46\n\x10\x63reated_channels\x18\x05 \x03(\x0b\x32,.cln.AskrenecreatelayerLayersCreatedChannels\x12\x44\n\x0f\x63hannel_updates\x18\x06 \x03(\x0b\x32+.cln.AskrenecreatelayerLayersChannelUpdates\x12=\n\x0b\x63onstraints\x18\x07 \x03(\x0b\x32(.cln.AskrenecreatelayerLayersConstraints\x12\x33\n\x06\x62iases\x18\x08 \x03(\x0b\x32#.cln.AskrenecreatelayerLayersBiases\x12<\n\x0bnode_biases\x18\t \x03(\x0b\x32\'.cln.AskrenecreatelayerLayersNodeBiases\"\x9c\x01\n\x1e\x41skrenecreatelayerLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xd1\x02\n&AskrenecreatelayerLayersChannelUpdates\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x05 \x01(\rH\x04\x88\x01\x01\x42\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x08\n\x06_delay\"\xc4\x01\n#AskrenecreatelayerLayersConstraints\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\r\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8c\x01\n\'AskrenecreatelayerLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x92\x01\n\"AskrenecreatelayerLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"*\n\x19\x41skreneremovelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\"\x1c\n\x1a\x41skreneremovelayerResponse\"P\n!AskreneremovechannelupdateRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\"$\n\"AskreneremovechannelupdateResponse\">\n\x15\x41skrenereserveRequest\x12%\n\x04path\x18\x01 \x03(\x0b\x32\x17.cln.AskrenereservePath\"\x18\n\x16\x41skrenereserveResponse\"r\n\x12\x41skrenereservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"2\n\x11\x41skreneageRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06\x63utoff\x18\x02 \x01(\x04\"8\n\x12\x41skreneageResponse\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x13\n\x0bnum_removed\x18\x02 \x01(\x04\"\xe7\x01\n\x10GetroutesRequest\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12 \n\x0bmaxfee_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\nfinal_cltv\x18\x07 \x01(\r\x12\x15\n\x08maxdelay\x18\x08 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08maxparts\x18\t \x01(\rH\x01\x88\x01\x01\x42\x0b\n\t_maxdelayB\x0b\n\t_maxparts\"R\n\x11GetroutesResponse\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12$\n\x06routes\x18\x02 \x03(\x0b\x32\x14.cln.GetroutesRoutes\"\x88\x01\n\x0fGetroutesRoutes\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x04path\x18\x03 \x03(\x0b\x32\x18.cln.GetroutesRoutesPath\x12\x12\n\nfinal_cltv\x18\x04 \x01(\r\"\xd4\x03\n\x13GetroutesRoutesPath\x12)\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12\x1d\n\x0cnext_node_id\x18\x04 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x16\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12(\n\x0e\x61mount_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x17\n\nnode_id_in\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x14\n\x07\x63ltv_in\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\x0c \x01(\rH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0f\n\r_next_node_idB\x08\n\x06_delayB\x11\n\x0f_amount_in_msatB\x12\n\x10_amount_out_msatB\r\n\x0b_node_id_inB\x0e\n\x0c_node_id_outB\n\n\x08_cltv_inB\x0b\n\t_cltv_out\"8\n\x19\x41skrenedisablenodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\"\x1c\n\x1a\x41skrenedisablenodeResponse\"\x8a\x02\n\x1b\x41skreneinformchannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12K\n\x06inform\x18\x08 \x01(\x0e\x32;.cln.AskreneinformchannelRequest.AskreneinformchannelInform\"O\n\x1a\x41skreneinformchannelInform\x12\x0f\n\x0b\x43ONSTRAINED\x10\x00\x12\x11\n\rUNCONSTRAINED\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\"Y\n\x1c\x41skreneinformchannelResponse\x12\x39\n\x0b\x63onstraints\x18\x02 \x03(\x0b\x32$.cln.AskreneinformchannelConstraints\"\xd3\x01\n\x1f\x41skreneinformchannelConstraints\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\r\n\x05layer\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\x04\x12&\n\x0cmaximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8f\x01\n\x1b\x41skrenecreatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x03 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x04 \x01(\t\x12\"\n\rcapacity_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"\x1e\n\x1c\x41skrenecreatechannelResponse\"\xad\x03\n\x1b\x41skreneupdatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x14\n\x07\x65nabled\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x08 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\x1e\n\x1c\x41skreneupdatechannelResponse\"\xa4\x01\n\x19\x41skrenebiaschannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"K\n\x1a\x41skrenebiaschannelResponse\x12-\n\x06\x62iases\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenebiaschannelBiases\"\xa5\x01\n\x18\x41skrenebiaschannelBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x05 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa4\x01\n\x16\x41skrenebiasnodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x11\n\tdirection\x18\x03 \x01(\t\x12\x0c\n\x04\x62ias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x06 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"N\n\x17\x41skrenebiasnodeResponse\x12\x33\n\x0bnode_biases\x18\x01 \x03(\x0b\x32\x1e.cln.AskrenebiasnodeNodeBiases\"\x98\x01\n\x19\x41skrenebiasnodeNodeBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x03 \x01(\x12\x12\x10\n\x08out_bias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x06 \x01(\x04\x42\x0e\n\x0c_description\" \n\x1e\x41skrenelistreservationsRequest\"a\n\x1f\x41skrenelistreservationsResponse\x12>\n\x0creservations\x18\x01 \x03(\x0b\x32(.cln.AskrenelistreservationsReservations\"\x91\x01\n#AskrenelistreservationsReservations\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x16\n\x0e\x61ge_in_seconds\x18\x03 \x01(\x04\x12\x12\n\ncommand_id\x18\x04 \x01(\t\"\xf5\x02\n\x19InjectpaymentonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x63ltv_expiry\x18\x04 \x01(\r\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x0f\n\x07groupid\x18\x06 \x01(\x04\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12*\n\x10\x64\x65stination_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x0b \x01(\x0cH\x04\x88\x01\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x10\n\x0e_localinvreqidB\x13\n\x11_destination_msatB\x0e\n\x0c_destination\"w\n\x1aInjectpaymentonionResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\x04\x12\x14\n\x0c\x63ompleted_at\x18\x02 \x01(\x04\x12\x15\n\rcreated_index\x18\x03 \x01(\x04\x12\x18\n\x10payment_preimage\x18\x04 \x01(\x0c\">\n\x19InjectonionmessageRequest\x12\x10\n\x08path_key\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"\x1c\n\x1aInjectonionmessageResponse\"\xbb\x03\n\x0bXpayRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x02\x88\x01\x01\x12&\n\x0cpartial_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\x12\n\x05label\x18\t \x01(\tH\x06\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\n \x01(\x0cH\x07\x88\x01\x01\x12\x1b\n\x0e\x64\x65v_use_shadow\x18\x0b \x01(\x08H\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0f\n\r_partial_msatB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_labelB\x10\n\x0e_localinvreqidB\x11\n\x0f_dev_use_shadow\"\xa1\x01\n\x0cXpayResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"=\n\x19SignmessagewithkeyRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"`\n\x1aSignmessagewithkeyResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x0e\n\x06\x62\x61se64\x18\x04 \x01(\t\"\xcd\x01\n\x17ListchannelmovesRequest\x12\x46\n\x05index\x18\x01 \x01(\x0e\x32\x32.cln.ListchannelmovesRequest.ListchannelmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"$\n\x15ListchannelmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"S\n\x18ListchannelmovesResponse\x12\x37\n\x0c\x63hannelmoves\x18\x01 \x03(\x0b\x32!.cln.ListchannelmovesChannelmoves\"\xa9\x04\n\x1cListchannelmovesChannelmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12]\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32H.cln.ListchannelmovesChannelmoves.ListchannelmovesChannelmovesPrimaryTag\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x07part_id\x18\x08 \x01(\x04H\x01\x88\x01\x01\x12\x15\n\x08group_id\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x1e\n\tfees_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\"\x96\x01\n&ListchannelmovesChannelmovesPrimaryTag\x12\x0b\n\x07INVOICE\x10\x00\x12\n\n\x06ROUTED\x10\x01\x12\n\n\x06PUSHED\x10\x02\x12\r\n\tLEASE_FEE\x10\x03\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x04\x12\x0f\n\x0bPENALTY_ADJ\x10\x05\x12\x11\n\rJOURNAL_ENTRY\x10\x06\x42\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_id\"\xc5\x01\n\x15ListchainmovesRequest\x12\x42\n\x05index\x18\x01 \x01(\x0e\x32..cln.ListchainmovesRequest.ListchainmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"\"\n\x13ListchainmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"K\n\x16ListchainmovesResponse\x12\x31\n\nchainmoves\x18\x01 \x03(\x0b\x32\x1d.cln.ListchainmovesChainmoves\"\xd4\x06\n\x18ListchainmovesChainmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12U\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32@.cln.ListchainmovesChainmoves.ListchainmovesChainmovesPrimaryTag\x12\x14\n\x07peer_id\x18\x08 \x01(\x0cH\x00\x88\x01\x01\x12 \n\x13originating_account\x18\t \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x02\x88\x01\x01\x12\x1b\n\x04utxo\x18\x0b \x01(\x0b\x32\r.cln.Outpoint\x12\x19\n\x0cpayment_hash\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12 \n\x0boutput_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0coutput_count\x18\x0e \x01(\rH\x04\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0f \x01(\r\x12\x12\n\nextra_tags\x18\x10 \x03(\t\"\x95\x02\n\"ListchainmovesChainmovesPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x42\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x10\n\x0e_spending_txidB\x0f\n\r_payment_hashB\x0f\n\r_output_count\"\xe9\x01\n\x18ListnetworkeventsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12H\n\x05index\x18\x02 \x01(\x0e\x32\x34.cln.ListnetworkeventsRequest.ListnetworkeventsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"%\n\x16ListnetworkeventsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"W\n\x19ListnetworkeventsResponse\x12:\n\rnetworkevents\x18\x01 \x03(\x0b\x32#.cln.ListnetworkeventsNetworkevents\"\xf2\x01\n\x1eListnetworkeventsNetworkevents\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x0f\n\x07peer_id\x18\x03 \x01(\x0c\x12\x11\n\titem_type\x18\x04 \x01(\t\x12\x13\n\x06reason\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rduration_nsec\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x1e\n\x11\x63onnect_attempted\x18\x07 \x01(\x08H\x02\x88\x01\x01\x42\t\n\x07_reasonB\x10\n\x0e_duration_nsecB\x14\n\x12_connect_attempted\"/\n\x16\x44\x65lnetworkeventRequest\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\"\x19\n\x17\x44\x65lnetworkeventResponse\"\xf6\x01\n\x1a\x43lnrestregisterpathRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x12\n\nrpc_method\x18\x02 \x01(\t\x12H\n\x11rune_restrictions\x18\x03 \x01(\x0b\x32(.cln.ClnrestregisterpathRuneRestrictionsH\x00\x88\x01\x01\x12\x1a\n\rrune_required\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x18\n\x0bhttp_method\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x14\n\x12_rune_restrictionsB\x10\n\x0e_rune_requiredB\x0e\n\x0c_http_method\"\x1d\n\x1b\x43lnrestregisterpathResponse\"\xda\x01\n#ClnrestregisterpathRuneRestrictions\x12\x13\n\x06nodeid\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x44\n\x06params\x18\x03 \x03(\x0b\x32\x34.cln.ClnrestregisterpathRuneRestrictions.ParamsEntry\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_nodeidB\t\n\x07_method\",\n\x18ListcurrencyratesRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\"W\n\x19ListcurrencyratesResponse\x12:\n\rcurrencyrates\x18\x01 \x03(\x0b\x32#.cln.ListcurrencyratesCurrencyrates\"@\n\x1eListcurrencyratesCurrencyrates\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x01\":\n\x16\x43urrencyconvertRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x10\n\x08\x63urrency\x18\x02 \x01(\t\"4\n\x17\x43urrencyconvertResponse\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\"G\n\x13\x43urrencyrateRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_source\"$\n\x14\x43urrencyrateResponse\x12\x0c\n\x04rate\x18\x01 \x01(\x01\"\x95\x02\n\x11SendamountRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x17\n\npayer_note\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x12\n\x05label\x18\x08 \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_label\"\xa7\x01\n\x12SendamountResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"e\n\x12\x43reateproofRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\x11\n\x04note\x18\x02 \x01(\tH\x00\x88\x01\x01\x12 \n\x07include\x18\x03 \x03(\x0b\x32\x0f.cln.ProofFieldB\x07\n\x05_note\"=\n\x13\x43reateproofResponse\x12&\n\x06proofs\x18\x01 \x03(\x0b\x32\x16.cln.CreateproofProofs\"\xb6\x01\n\x11\x43reateproofProofs\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\x12.\n\x15offer_fields_included\x18\x02 \x03(\x0b\x32\x0f.cln.ProofField\x12/\n\x16invreq_fields_included\x18\x03 \x03(\x0b\x32\x0f.cln.ProofField\x12\x30\n\x17invoice_fields_included\x18\x04 \x03(\x0b\x32\x0f.cln.ProofField\"\xd7\x02\n\x0fXkeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x05 \x03(\t\x12\x16\n\tretry_for\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x36\n\textratlvs\x18\x08 \x03(\x0b\x32#.cln.XkeysendRequest.ExtratlvsEntry\x1a\x30\n\x0e\x45xtratlvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x08\n\x06_labelB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelay\"\xa5\x01\n\x10XkeysendResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"3\n\x0fGracefulRequest\x12\x14\n\x07timeout\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\"H\n\x10GracefulResponse\x12\x1d\n\x15pending_htlc_expiries\x18\x01 \x03(\r\x12\x15\n\rpending_peers\x18\x02 \x03(\x0c\"\x1e\n\x1cStreamBalanceSnapshotRequest\"\x86\x01\n\x1b\x42\x61lanceSnapshotNotification\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\r\x12.\n\x08\x61\x63\x63ounts\x18\x04 \x03(\x0b\x32\x1c.cln.BalanceSnapshotAccounts\"c\n\x17\x42\x61lanceSnapshotAccounts\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12!\n\x0c\x62\x61lance_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x03 \x01(\t\"\x19\n\x17StreamBlockAddedRequest\"6\n\x16\x42lockAddedNotification\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0e\n\x06height\x18\x02 \x01(\r\" \n\x1eStreamChannelOpenFailedRequest\"3\n\x1d\x43hannelOpenFailedNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"\x1c\n\x1aStreamChannelOpenedRequest\"w\n\x19\x43hannelOpenedNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12!\n\x0c\x66unding_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\x12\x15\n\rchannel_ready\x18\x04 \x01(\x08\"\"\n StreamChannelStateChangedRequest\"\xc1\x03\n\x1f\x43hannelStateChangedNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x04 \x01(\t\x12)\n\told_state\x18\x05 \x01(\x0e\x32\x11.cln.ChannelStateH\x01\x88\x01\x01\x12$\n\tnew_state\x18\x06 \x01(\x0e\x32\x11.cln.ChannelState\x12L\n\x05\x63\x61use\x18\x07 \x01(\x0e\x32=.cln.ChannelStateChangedNotification.ChannelStateChangedCause\x12\x14\n\x07message\x18\x08 \x01(\tH\x02\x88\x01\x01\"c\n\x18\x43hannelStateChangedCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\x13\n\x11_short_channel_idB\x0c\n\n_old_stateB\n\n\x08_message\"\x16\n\x14StreamConnectRequest\"\xbe\x01\n\x17PeerConnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x44\n\tdirection\x18\x02 \x01(\x0e\x32\x31.cln.PeerConnectNotification.PeerConnectDirection\x12(\n\x07\x61\x64\x64ress\x18\x03 \x01(\x0b\x32\x17.cln.PeerConnectAddress\"\'\n\x14PeerConnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\x9a\x02\n\x12PeerConnectAddress\x12\x41\n\titem_type\x18\x01 \x01(\x0e\x32..cln.PeerConnectAddress.PeerConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"c\n\x16PeerConnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"\x1b\n\x19StreamCoinMovementRequest\"\xaf\x0b\n\x18\x43oinMovementNotification\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x11\n\tcoin_type\x18\x02 \x01(\t\x12\x0f\n\x07node_id\x18\x03 \x01(\x0c\x12\x41\n\titem_type\x18\x04 \x01(\x0e\x32..cln.CoinMovementNotification.CoinMovementType\x12\x1a\n\rcreated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\naccount_id\x18\x06 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12\x10\n\x04tags\x18\n \x03(\tB\x02\x18\x01\x12N\n\x0bprimary_tag\x18\x0b \x01(\x0e\x32\x34.cln.CoinMovementNotification.CoinMovementPrimaryTagH\x01\x88\x01\x01\x12\x12\n\nextra_tags\x18\x0c \x03(\t\x12\x19\n\x0cpayment_hash\x18\r \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07part_id\x18\x0e \x01(\x04H\x03\x88\x01\x01\x12\x15\n\x08group_id\x18\x0f \x01(\x04H\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12 \n\x04utxo\x18\x11 \x01(\x0b\x32\r.cln.OutpointH\x06\x88\x01\x01\x12\x14\n\x07peer_id\x18\x12 \x01(\x0cH\x07\x88\x01\x01\x12 \n\x13originating_account\x18\x13 \x01(\tH\x08\x88\x01\x01\x12\x15\n\x04txid\x18\x14 \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12\x1a\n\rspending_txid\x18\x15 \x01(\x0cH\n\x88\x01\x01\x12\x1a\n\tutxo_txid\x18\x16 \x01(\x0c\x42\x02\x18\x01H\x0b\x88\x01\x01\x12\x15\n\x04vout\x18\x17 \x01(\rB\x02\x18\x01H\x0c\x88\x01\x01\x12%\n\x0boutput_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x19\n\x0coutput_count\x18\x19 \x01(\rH\x0e\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\x1a \x01(\rH\x0f\x88\x01\x01\"\xf7\x02\n\x16\x43oinMovementPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x12\x0b\n\x07INVOICE\x10\x10\x12\n\n\x06ROUTED\x10\x11\x12\n\n\x06PUSHED\x10\x12\x12\r\n\tLEASE_FEE\x10\x13\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x14\x12\x0f\n\x0bPENALTY_ADJ\x10\x15\x12\x11\n\rJOURNAL_ENTRY\x10\x16\"2\n\x10\x43oinMovementType\x12\x0f\n\x0b\x43HANNEL_MVT\x10\x00\x12\r\n\tCHAIN_MVT\x10\x01\x42\x10\n\x0e_created_indexB\x0e\n\x0c_primary_tagB\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_idB\x0c\n\n_fees_msatB\x07\n\x05_utxoB\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x07\n\x05_txidB\x10\n\x0e_spending_txidB\x0c\n\n_utxo_txidB\x07\n\x05_voutB\x0e\n\x0c_output_msatB\x0f\n\r_output_countB\x0e\n\x0c_blockheight\"\x18\n\x16StreamCustomMsgRequest\"9\n\x15\x43ustomMsgNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\" \n\x1eStreamDeprecatedOneshotRequest\"6\n\x1d\x44\x65precatedOneshotNotification\x12\x15\n\rdeprecated_ok\x18\x01 \x01(\x08\"\x19\n\x17StreamDisconnectRequest\"$\n\x16\x44isconnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\"\x1b\n\x19StreamForwardEventRequest\"\x88\x05\n\x18\x46orwardEventNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x12\n\nin_channel\x18\x02 \x01(\t\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x08out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12@\n\x06status\x18\x07 \x01(\x0e\x32\x30.cln.ForwardEventNotification.ForwardEventStatus\x12\x15\n\x08\x66\x61ilcode\x18\x08 \x01(\rH\x03\x88\x01\x01\x12\x17\n\nfailreason\x18\t \x01(\tH\x04\x88\x01\x01\x12\x43\n\x05style\x18\n \x01(\x0e\x32/.cln.ForwardEventNotification.ForwardEventStyleH\x05\x88\x01\x01\x12\x15\n\rreceived_time\x18\x0b \x01(\x01\x12\x1a\n\rresolved_time\x18\x0c \x01(\x01H\x06\x88\x01\x01\"L\n\x12\x46orwardEventStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"(\n\x11\x46orwardEventStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_out_msatB\x0b\n\t_fee_msatB\x0b\n\t_failcodeB\r\n\x0b_failreasonB\x08\n\x06_styleB\x10\n\x0e_resolved_time\"\x1e\n\x1cStreamInvoiceCreationRequest\"g\n\x1bInvoiceCreationNotification\x12\x1e\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12\r\n\x05label\x18\x03 \x01(\tB\x07\n\x05_msat\"\x1d\n\x1bStreamInvoicePaymentRequest\"\x8b\x01\n\x1aInvoicePaymentNotification\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12$\n\x08outpoint\x18\x03 \x01(\x0b\x32\r.cln.OutpointH\x00\x88\x01\x01\x12\r\n\x05label\x18\x04 \x01(\tB\x0b\n\t_outpoint\"\x12\n\x10StreamLogRequest\"\xca\x01\n\x0fLogNotification\x12,\n\x05level\x18\x01 \x01(\x0e\x32\x1d.cln.LogNotification.LogLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"K\n\x08LogLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05TRACE\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07UNUSUAL\x10\x04\x12\n\n\x06\x42ROKEN\x10\x05\"&\n$StreamOnionMessageForwardFailRequest\"\xef\x01\n#OnionMessageForwardFailNotification\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x10\n\x08incoming\x18\x02 \x01(\x0c\x12\x10\n\x08path_key\x18\x03 \x01(\x0c\x12\x15\n\x08outgoing\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x19\n\x0cnext_node_id\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12&\n\x19next_short_channel_id_dir\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_outgoingB\x0f\n\r_next_node_idB\x1c\n\x1a_next_short_channel_id_dir\"\"\n StreamOpenChannelPeerSigsRequest\"J\n\x1fOpenChannelPeerSigsNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"\x1c\n\x1aStreamPluginStartedRequest\"V\n\x19PluginStartedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1c\n\x1aStreamPluginStoppedRequest\"V\n\x19PluginStoppedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1d\n\x1bStreamSendPayFailureRequest\"b\n\x1aSendPayFailureNotification\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x17.cln.SendpayFailureData\"\xc1\t\n\x12SendpayFailureData\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x06\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x17\n\ncreated_at\x18\n \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\n\x88\x01\x01\x12\x45\n\x06status\x18\x0c \x01(\x0e\x32\x30.cln.SendpayFailureData.SendpayFailureDataStatusH\x0b\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x0c\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\r\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x0e\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x0f\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\x10\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\x11\x88\x01\x01\x12\x17\n\nonionreply\x18\x13 \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0c\x65rring_index\x18\x14 \x01(\rH\x13\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x15 \x01(\rH\x14\x88\x01\x01\x12\x19\n\x0c\x66\x61ilcodename\x18\x16 \x01(\tH\x15\x88\x01\x01\x12\x18\n\x0b\x65rring_node\x18\x17 \x01(\x0cH\x16\x88\x01\x01\x12\x1b\n\x0e\x65rring_channel\x18\x18 \x01(\tH\x17\x88\x01\x01\x12\x1d\n\x10\x65rring_direction\x18\x19 \x01(\rH\x18\x88\x01\x01\x12\x18\n\x0braw_message\x18\x1a \x01(\x0cH\x19\x88\x01\x01\"A\n\x18SendpayFailureDataStatus\x12\n\n\x06\x46\x41ILED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x10\n\x0e_created_indexB\x05\n\x03_idB\x0f\n\r_payment_hashB\n\n\x08_groupidB\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_created_atB\x0f\n\r_completed_atB\t\n\x07_statusB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronionB\r\n\x0b_onionreplyB\x0f\n\r_erring_indexB\x0b\n\t_failcodeB\x0f\n\r_failcodenameB\x0e\n\x0c_erring_nodeB\x11\n\x0f_erring_channelB\x13\n\x11_erring_directionB\x0e\n\x0c_raw_message\"\x1d\n\x1bStreamSendPaySuccessRequest\"\xcc\x05\n\x1aSendPaySuccessNotification\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\ncreated_at\x18\n \x01(\x04\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32\x34.cln.SendPaySuccessNotification.SendpaySuccessStatus\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x05\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\n\x88\x01\x01\"$\n\x14SendpaySuccessStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x0f\n\r_completed_atB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronion\"\x17\n\x15StreamShutdownRequest\"\x16\n\x14ShutdownNotification\"\x16\n\x14StreamWarningRequest\"\xae\x01\n\x13WarningNotification\x12\x34\n\x05level\x18\x01 \x01(\x0e\x32%.cln.WarningNotification.WarningLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"#\n\x0cWarningLevel\x12\x08\n\x04WARN\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"\x19\n\x17StreamPayPartEndRequest\"\xf1\x03\n\x16PayPartEndNotification\x12<\n\x06status\x18\x01 \x01(\x0e\x32,.cln.PayPartEndNotification.PayPartEndStatus\x12\x10\n\x08\x64uration\x18\x02 \x01(\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x17\n\nfailed_msg\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x61iled_node_id\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12$\n\x17\x66\x61iled_short_channel_id\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10\x66\x61iled_direction\x18\t \x01(\rH\x03\x88\x01\x01\x12\x17\n\nerror_code\x18\n \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rerror_message\x18\x0b \x01(\tH\x05\x88\x01\x01\",\n\x10PayPartEndStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x0b\n\x07\x46\x41ILURE\x10\x01\x42\r\n\x0b_failed_msgB\x11\n\x0f_failed_node_idB\x1a\n\x18_failed_short_channel_idB\x13\n\x11_failed_directionB\r\n\x0b_error_codeB\x10\n\x0e_error_message\"\x1b\n\x19StreamPayPartStartRequest\"\xc2\x01\n\x18PayPartStartNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x0e\n\x06partid\x18\x03 \x01(\x04\x12\'\n\x12total_payment_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x0c\x61ttempt_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x04hops\x18\x06 \x03(\x0b\x32\x15.cln.PayPartStartHops\"\x9f\x01\n\x10PayPartStartHops\x12\x11\n\tnext_node\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\r\x12$\n\x0f\x63hannel_in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x63hannel_out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount2\xbah\n\x04Node\x12\x36\n\x07Getinfo\x12\x13.cln.GetinfoRequest\x1a\x14.cln.GetinfoResponse\"\x00\x12<\n\tListPeers\x12\x15.cln.ListpeersRequest\x1a\x16.cln.ListpeersResponse\"\x00\x12<\n\tListFunds\x12\x15.cln.ListfundsRequest\x1a\x16.cln.ListfundsResponse\"\x00\x12\x36\n\x07SendPay\x12\x13.cln.SendpayRequest\x1a\x14.cln.SendpayResponse\"\x00\x12\x45\n\x0cListChannels\x12\x18.cln.ListchannelsRequest\x1a\x19.cln.ListchannelsResponse\"\x00\x12<\n\tAddGossip\x12\x15.cln.AddgossipRequest\x1a\x16.cln.AddgossipResponse\"\x00\x12H\n\rAddPsbtOutput\x12\x19.cln.AddpsbtoutputRequest\x1a\x1a.cln.AddpsbtoutputResponse\"\x00\x12H\n\rAutoCleanOnce\x12\x19.cln.AutocleanonceRequest\x1a\x1a.cln.AutocleanonceResponse\"\x00\x12N\n\x0f\x41utoCleanStatus\x12\x1b.cln.AutocleanstatusRequest\x1a\x1c.cln.AutocleanstatusResponse\"\x00\x12\x45\n\x0c\x43heckMessage\x12\x18.cln.CheckmessageRequest\x1a\x19.cln.CheckmessageResponse\"\x00\x12\x30\n\x05\x43lose\x12\x11.cln.CloseRequest\x1a\x12.cln.CloseResponse\"\x00\x12:\n\x0b\x43onnectPeer\x12\x13.cln.ConnectRequest\x1a\x14.cln.ConnectResponse\"\x00\x12H\n\rCreateInvoice\x12\x19.cln.CreateinvoiceRequest\x1a\x1a.cln.CreateinvoiceResponse\"\x00\x12<\n\tDatastore\x12\x15.cln.DatastoreRequest\x1a\x16.cln.DatastoreResponse\"\x00\x12K\n\x0e\x44\x61tastoreUsage\x12\x1a.cln.DatastoreusageRequest\x1a\x1b.cln.DatastoreusageResponse\"\x00\x12\x42\n\x0b\x43reateOnion\x12\x17.cln.CreateonionRequest\x1a\x18.cln.CreateonionResponse\"\x00\x12\x45\n\x0c\x44\x65lDatastore\x12\x18.cln.DeldatastoreRequest\x1a\x19.cln.DeldatastoreResponse\"\x00\x12?\n\nDelInvoice\x12\x16.cln.DelinvoiceRequest\x1a\x17.cln.DelinvoiceResponse\"\x00\x12Q\n\x10\x44\x65vForgetChannel\x12\x1c.cln.DevforgetchannelRequest\x1a\x1d.cln.DevforgetchannelResponse\"\x00\x12Q\n\x10\x45mergencyRecover\x12\x1c.cln.EmergencyrecoverRequest\x1a\x1d.cln.EmergencyrecoverResponse\"\x00\x12\x66\n\x17GetEmergencyRecoverData\x12#.cln.GetemergencyrecoverdataRequest\x1a$.cln.GetemergencyrecoverdataResponse\"\x00\x12\x45\n\x0c\x45xposeSecret\x12\x18.cln.ExposesecretRequest\x1a\x19.cln.ExposesecretResponse\"\x00\x12\x36\n\x07Recover\x12\x13.cln.RecoverRequest\x1a\x14.cln.RecoverResponse\"\x00\x12K\n\x0eRecoverChannel\x12\x1a.cln.RecoverchannelRequest\x1a\x1b.cln.RecoverchannelResponse\"\x00\x12\x36\n\x07Invoice\x12\x13.cln.InvoiceRequest\x1a\x14.cln.InvoiceResponse\"\x00\x12Q\n\x14\x43reateInvoiceRequest\x12\x1a.cln.InvoicerequestRequest\x1a\x1b.cln.InvoicerequestResponse\"\x00\x12`\n\x15\x44isableInvoiceRequest\x12!.cln.DisableinvoicerequestRequest\x1a\".cln.DisableinvoicerequestResponse\"\x00\x12Z\n\x13ListInvoiceRequests\x12\x1f.cln.ListinvoicerequestsRequest\x1a .cln.ListinvoicerequestsResponse\"\x00\x12H\n\rListDatastore\x12\x19.cln.ListdatastoreRequest\x1a\x1a.cln.ListdatastoreResponse\"\x00\x12\x45\n\x0cListInvoices\x12\x18.cln.ListinvoicesRequest\x1a\x19.cln.ListinvoicesResponse\"\x00\x12<\n\tSendOnion\x12\x15.cln.SendonionRequest\x1a\x16.cln.SendonionResponse\"\x00\x12\x45\n\x0cListSendPays\x12\x18.cln.ListsendpaysRequest\x1a\x19.cln.ListsendpaysResponse\"\x00\x12Q\n\x10ListTransactions\x12\x1c.cln.ListtransactionsRequest\x1a\x1d.cln.ListtransactionsResponse\"\x00\x12?\n\nMakeSecret\x12\x16.cln.MakesecretRequest\x1a\x17.cln.MakesecretResponse\"\x00\x12*\n\x03Pay\x12\x0f.cln.PayRequest\x1a\x10.cln.PayResponse\"\x00\x12<\n\tListNodes\x12\x15.cln.ListnodesRequest\x1a\x16.cln.ListnodesResponse\"\x00\x12K\n\x0eWaitAnyInvoice\x12\x1a.cln.WaitanyinvoiceRequest\x1a\x1b.cln.WaitanyinvoiceResponse\"\x00\x12\x42\n\x0bWaitInvoice\x12\x17.cln.WaitinvoiceRequest\x1a\x18.cln.WaitinvoiceResponse\"\x00\x12\x42\n\x0bWaitSendPay\x12\x17.cln.WaitsendpayRequest\x1a\x18.cln.WaitsendpayResponse\"\x00\x12\x36\n\x07NewAddr\x12\x13.cln.NewaddrRequest\x1a\x14.cln.NewaddrResponse\"\x00\x12\x39\n\x08Withdraw\x12\x14.cln.WithdrawRequest\x1a\x15.cln.WithdrawResponse\"\x00\x12\x36\n\x07KeySend\x12\x13.cln.KeysendRequest\x1a\x14.cln.KeysendResponse\"\x00\x12\x39\n\x08\x46undPsbt\x12\x14.cln.FundpsbtRequest\x1a\x15.cln.FundpsbtResponse\"\x00\x12\x39\n\x08SendPsbt\x12\x14.cln.SendpsbtRequest\x1a\x15.cln.SendpsbtResponse\"\x00\x12\x39\n\x08SignPsbt\x12\x14.cln.SignpsbtRequest\x1a\x15.cln.SignpsbtResponse\"\x00\x12\x39\n\x08UtxoPsbt\x12\x14.cln.UtxopsbtRequest\x1a\x15.cln.UtxopsbtResponse\"\x00\x12<\n\tTxDiscard\x12\x15.cln.TxdiscardRequest\x1a\x16.cln.TxdiscardResponse\"\x00\x12<\n\tTxPrepare\x12\x15.cln.TxprepareRequest\x1a\x16.cln.TxprepareResponse\"\x00\x12\x33\n\x06TxSend\x12\x12.cln.TxsendRequest\x1a\x13.cln.TxsendResponse\"\x00\x12Q\n\x10ListPeerChannels\x12\x1c.cln.ListpeerchannelsRequest\x1a\x1d.cln.ListpeerchannelsResponse\"\x00\x12W\n\x12ListClosedChannels\x12\x1e.cln.ListclosedchannelsRequest\x1a\x1f.cln.ListclosedchannelsResponse\"\x00\x12\x33\n\x06\x44\x65\x63ode\x12\x12.cln.DecodeRequest\x1a\x13.cln.DecodeResponse\"\x00\x12\x33\n\x06\x44\x65lPay\x12\x12.cln.DelpayRequest\x1a\x13.cln.DelpayResponse\"\x00\x12?\n\nDelForward\x12\x16.cln.DelforwardRequest\x1a\x17.cln.DelforwardResponse\"\x00\x12\x45\n\x0c\x44isableOffer\x12\x18.cln.DisableofferRequest\x1a\x19.cln.DisableofferResponse\"\x00\x12\x42\n\x0b\x45nableOffer\x12\x17.cln.EnableofferRequest\x1a\x18.cln.EnableofferResponse\"\x00\x12?\n\nDisconnect\x12\x16.cln.DisconnectRequest\x1a\x17.cln.DisconnectResponse\"\x00\x12\x39\n\x08\x46\x65\x65rates\x12\x14.cln.FeeratesRequest\x1a\x15.cln.FeeratesResponse\"\x00\x12\x42\n\x0b\x46\x65tchBip353\x12\x17.cln.Fetchbip353Request\x1a\x18.cln.Fetchbip353Response\"\x00\x12\x45\n\x0c\x46\x65tchInvoice\x12\x18.cln.FetchinvoiceRequest\x1a\x19.cln.FetchinvoiceResponse\"\x00\x12\x63\n\x16\x43\x61ncelRecurringInvoice\x12\".cln.CancelrecurringinvoiceRequest\x1a#.cln.CancelrecurringinvoiceResponse\"\x00\x12T\n\x11\x46undChannelCancel\x12\x1d.cln.FundchannelCancelRequest\x1a\x1e.cln.FundchannelCancelResponse\"\x00\x12Z\n\x13\x46undChannelComplete\x12\x1f.cln.FundchannelCompleteRequest\x1a .cln.FundchannelCompleteResponse\"\x00\x12\x42\n\x0b\x46undChannel\x12\x17.cln.FundchannelRequest\x1a\x18.cln.FundchannelResponse\"\x00\x12Q\n\x10\x46undChannelStart\x12\x1c.cln.FundchannelStartRequest\x1a\x1d.cln.FundchannelStartResponse\"\x00\x12\x33\n\x06GetLog\x12\x12.cln.GetlogRequest\x1a\x13.cln.GetlogResponse\"\x00\x12\x45\n\x0c\x46underUpdate\x12\x18.cln.FunderupdateRequest\x1a\x19.cln.FunderupdateResponse\"\x00\x12\x39\n\x08GetRoute\x12\x14.cln.GetrouteRequest\x1a\x15.cln.GetrouteResponse\"\x00\x12H\n\rListAddresses\x12\x19.cln.ListaddressesRequest\x1a\x1a.cln.ListaddressesResponse\"\x00\x12\x45\n\x0cListForwards\x12\x18.cln.ListforwardsRequest\x1a\x19.cln.ListforwardsResponse\"\x00\x12?\n\nListOffers\x12\x16.cln.ListoffersRequest\x1a\x17.cln.ListoffersResponse\"\x00\x12\x39\n\x08ListPays\x12\x14.cln.ListpaysRequest\x1a\x15.cln.ListpaysResponse\"\x00\x12<\n\tListHtlcs\x12\x15.cln.ListhtlcsRequest\x1a\x16.cln.ListhtlcsResponse\"\x00\x12Q\n\x10MultiFundChannel\x12\x1c.cln.MultifundchannelRequest\x1a\x1d.cln.MultifundchannelResponse\"\x00\x12H\n\rMultiWithdraw\x12\x19.cln.MultiwithdrawRequest\x1a\x1a.cln.MultiwithdrawResponse\"\x00\x12\x30\n\x05Offer\x12\x11.cln.OfferRequest\x1a\x12.cln.OfferResponse\"\x00\x12Q\n\x10OpenChannelAbort\x12\x1c.cln.OpenchannelAbortRequest\x1a\x1d.cln.OpenchannelAbortResponse\"\x00\x12N\n\x0fOpenChannelBump\x12\x1b.cln.OpenchannelBumpRequest\x1a\x1c.cln.OpenchannelBumpResponse\"\x00\x12N\n\x0fOpenChannelInit\x12\x1b.cln.OpenchannelInitRequest\x1a\x1c.cln.OpenchannelInitResponse\"\x00\x12T\n\x11OpenChannelSigned\x12\x1d.cln.OpenchannelSignedRequest\x1a\x1e.cln.OpenchannelSignedResponse\"\x00\x12T\n\x11OpenChannelUpdate\x12\x1d.cln.OpenchannelUpdateRequest\x1a\x1e.cln.OpenchannelUpdateResponse\"\x00\x12-\n\x04Ping\x12\x10.cln.PingRequest\x1a\x11.cln.PingResponse\"\x00\x12\x33\n\x06Plugin\x12\x12.cln.PluginRequest\x1a\x13.cln.PluginResponse\"\x00\x12H\n\rRenePayStatus\x12\x19.cln.RenepaystatusRequest\x1a\x1a.cln.RenepaystatusResponse\"\x00\x12\x36\n\x07RenePay\x12\x13.cln.RenepayRequest\x1a\x14.cln.RenepayResponse\"\x00\x12H\n\rReserveInputs\x12\x19.cln.ReserveinputsRequest\x1a\x1a.cln.ReserveinputsResponse\"\x00\x12H\n\rSendCustomMsg\x12\x19.cln.SendcustommsgRequest\x1a\x1a.cln.SendcustommsgResponse\"\x00\x12\x42\n\x0bSendInvoice\x12\x17.cln.SendinvoiceRequest\x1a\x18.cln.SendinvoiceResponse\"\x00\x12?\n\nSetChannel\x12\x16.cln.SetchannelRequest\x1a\x17.cln.SetchannelResponse\"\x00\x12<\n\tSetConfig\x12\x15.cln.SetconfigRequest\x1a\x16.cln.SetconfigResponse\"\x00\x12K\n\x0eSetPsbtVersion\x12\x1a.cln.SetpsbtversionRequest\x1a\x1b.cln.SetpsbtversionResponse\"\x00\x12\x42\n\x0bSignInvoice\x12\x17.cln.SigninvoiceRequest\x1a\x18.cln.SigninvoiceResponse\"\x00\x12\x42\n\x0bSignMessage\x12\x17.cln.SignmessageRequest\x1a\x18.cln.SignmessageResponse\"\x00\x12?\n\nSpliceInit\x12\x16.cln.SpliceInitRequest\x1a\x17.cln.SpliceInitResponse\"\x00\x12\x45\n\x0cSpliceSigned\x12\x18.cln.SpliceSignedRequest\x1a\x19.cln.SpliceSignedResponse\"\x00\x12\x45\n\x0cSpliceUpdate\x12\x18.cln.SpliceUpdateRequest\x1a\x19.cln.SpliceUpdateResponse\"\x00\x12\x39\n\x08SpliceIn\x12\x14.cln.SpliceinRequest\x1a\x15.cln.SpliceinResponse\"\x00\x12<\n\tSpliceOut\x12\x15.cln.SpliceoutRequest\x1a\x16.cln.SpliceoutResponse\"\x00\x12<\n\tDevSplice\x12\x15.cln.DevspliceRequest\x1a\x16.cln.DevspliceResponse\"\x00\x12N\n\x0fUnreserveInputs\x12\x1b.cln.UnreserveinputsRequest\x1a\x1c.cln.UnreserveinputsResponse\"\x00\x12H\n\rUpgradeWallet\x12\x19.cln.UpgradewalletRequest\x1a\x1a.cln.UpgradewalletResponse\"\x00\x12N\n\x0fWaitBlockHeight\x12\x1b.cln.WaitblockheightRequest\x1a\x1c.cln.WaitblockheightResponse\"\x00\x12-\n\x04Wait\x12\x10.cln.WaitRequest\x1a\x11.cln.WaitResponse\"\x00\x12\x42\n\x0bListConfigs\x12\x17.cln.ListconfigsRequest\x1a\x18.cln.ListconfigsResponse\"\x00\x12-\n\x04Stop\x12\x10.cln.StopRequest\x1a\x11.cln.StopResponse\"\x00\x12-\n\x04Help\x12\x10.cln.HelpRequest\x1a\x11.cln.HelpResponse\"\x00\x12T\n\x11PreApproveKeysend\x12\x1d.cln.PreapprovekeysendRequest\x1a\x1e.cln.PreapprovekeysendResponse\"\x00\x12T\n\x11PreApproveInvoice\x12\x1d.cln.PreapproveinvoiceRequest\x1a\x1e.cln.PreapproveinvoiceResponse\"\x00\x12\x45\n\x0cStaticBackup\x12\x18.cln.StaticbackupRequest\x1a\x19.cln.StaticbackupResponse\"\x00\x12N\n\x0f\x42kprChannelsApy\x12\x1b.cln.BkprchannelsapyRequest\x1a\x1c.cln.BkprchannelsapyResponse\"\x00\x12T\n\x11\x42kprDumpIncomeCsv\x12\x1d.cln.BkprdumpincomecsvRequest\x1a\x1e.cln.BkprdumpincomecsvResponse\"\x00\x12\x42\n\x0b\x42kprInspect\x12\x17.cln.BkprinspectRequest\x1a\x18.cln.BkprinspectResponse\"\x00\x12`\n\x15\x42kprListAccountEvents\x12!.cln.BkprlistaccounteventsRequest\x1a\".cln.BkprlistaccounteventsResponse\"\x00\x12Q\n\x10\x42kprListBalances\x12\x1c.cln.BkprlistbalancesRequest\x1a\x1d.cln.BkprlistbalancesResponse\"\x00\x12K\n\x0e\x42kprListIncome\x12\x1a.cln.BkprlistincomeRequest\x1a\x1b.cln.BkprlistincomeResponse\"\x00\x12{\n\x1e\x42kprEditDescriptionByPaymentId\x12*.cln.BkpreditdescriptionbypaymentidRequest\x1a+.cln.BkpreditdescriptionbypaymentidResponse\"\x00\x12x\n\x1d\x42kprEditDescriptionByOutpoint\x12).cln.BkpreditdescriptionbyoutpointRequest\x1a*.cln.BkpreditdescriptionbyoutpointResponse\"\x00\x12?\n\nBkprReport\x12\x16.cln.BkprreportRequest\x1a\x17.cln.BkprreportResponse\"\x00\x12H\n\rBlacklistRune\x12\x19.cln.BlacklistruneRequest\x1a\x1a.cln.BlacklistruneResponse\"\x00\x12<\n\tCheckRune\x12\x15.cln.CheckruneRequest\x1a\x16.cln.CheckruneResponse\"\x00\x12?\n\nCreateRune\x12\x16.cln.CreateruneRequest\x1a\x17.cln.CreateruneResponse\"\x00\x12<\n\tShowRunes\x12\x15.cln.ShowrunesRequest\x1a\x16.cln.ShowrunesResponse\"\x00\x12Q\n\x10\x41skReneUnreserve\x12\x1c.cln.AskreneunreserveRequest\x1a\x1d.cln.AskreneunreserveResponse\"\x00\x12T\n\x11\x41skReneListLayers\x12\x1d.cln.AskrenelistlayersRequest\x1a\x1e.cln.AskrenelistlayersResponse\"\x00\x12W\n\x12\x41skReneCreateLayer\x12\x1e.cln.AskrenecreatelayerRequest\x1a\x1f.cln.AskrenecreatelayerResponse\"\x00\x12W\n\x12\x41skReneRemoveLayer\x12\x1e.cln.AskreneremovelayerRequest\x1a\x1f.cln.AskreneremovelayerResponse\"\x00\x12o\n\x1a\x41skReneRemoveChannelUpdate\x12&.cln.AskreneremovechannelupdateRequest\x1a\'.cln.AskreneremovechannelupdateResponse\"\x00\x12K\n\x0e\x41skReneReserve\x12\x1a.cln.AskrenereserveRequest\x1a\x1b.cln.AskrenereserveResponse\"\x00\x12?\n\nAskReneAge\x12\x16.cln.AskreneageRequest\x1a\x17.cln.AskreneageResponse\"\x00\x12<\n\tGetRoutes\x12\x15.cln.GetroutesRequest\x1a\x16.cln.GetroutesResponse\"\x00\x12W\n\x12\x41skReneDisableNode\x12\x1e.cln.AskrenedisablenodeRequest\x1a\x1f.cln.AskrenedisablenodeResponse\"\x00\x12]\n\x14\x41skReneInformChannel\x12 .cln.AskreneinformchannelRequest\x1a!.cln.AskreneinformchannelResponse\"\x00\x12]\n\x14\x41skReneCreateChannel\x12 .cln.AskrenecreatechannelRequest\x1a!.cln.AskrenecreatechannelResponse\"\x00\x12]\n\x14\x41skReneUpdateChannel\x12 .cln.AskreneupdatechannelRequest\x1a!.cln.AskreneupdatechannelResponse\"\x00\x12W\n\x12\x41skReneBiasChannel\x12\x1e.cln.AskrenebiaschannelRequest\x1a\x1f.cln.AskrenebiaschannelResponse\"\x00\x12N\n\x0f\x41skreneBiasNode\x12\x1b.cln.AskrenebiasnodeRequest\x1a\x1c.cln.AskrenebiasnodeResponse\"\x00\x12\x66\n\x17\x41skReneListReservations\x12#.cln.AskrenelistreservationsRequest\x1a$.cln.AskrenelistreservationsResponse\"\x00\x12W\n\x12InjectPaymentOnion\x12\x1e.cln.InjectpaymentonionRequest\x1a\x1f.cln.InjectpaymentonionResponse\"\x00\x12W\n\x12InjectOnionMessage\x12\x1e.cln.InjectonionmessageRequest\x1a\x1f.cln.InjectonionmessageResponse\"\x00\x12-\n\x04Xpay\x12\x10.cln.XpayRequest\x1a\x11.cln.XpayResponse\"\x00\x12W\n\x12SignMessageWithKey\x12\x1e.cln.SignmessagewithkeyRequest\x1a\x1f.cln.SignmessagewithkeyResponse\"\x00\x12Q\n\x10ListChannelMoves\x12\x1c.cln.ListchannelmovesRequest\x1a\x1d.cln.ListchannelmovesResponse\"\x00\x12K\n\x0eListChainMoves\x12\x1a.cln.ListchainmovesRequest\x1a\x1b.cln.ListchainmovesResponse\"\x00\x12T\n\x11ListNetworkEvents\x12\x1d.cln.ListnetworkeventsRequest\x1a\x1e.cln.ListnetworkeventsResponse\"\x00\x12N\n\x0f\x44\x65lNetworkEvent\x12\x1b.cln.DelnetworkeventRequest\x1a\x1c.cln.DelnetworkeventResponse\"\x00\x12Z\n\x13\x43lnrestRegisterPath\x12\x1f.cln.ClnrestregisterpathRequest\x1a .cln.ClnrestregisterpathResponse\"\x00\x12T\n\x11ListCurrencyRates\x12\x1d.cln.ListcurrencyratesRequest\x1a\x1e.cln.ListcurrencyratesResponse\"\x00\x12N\n\x0f\x43urrencyConvert\x12\x1b.cln.CurrencyconvertRequest\x1a\x1c.cln.CurrencyconvertResponse\"\x00\x12\x45\n\x0c\x43urrencyRate\x12\x18.cln.CurrencyrateRequest\x1a\x19.cln.CurrencyrateResponse\"\x00\x12?\n\nSendAmount\x12\x16.cln.SendamountRequest\x1a\x17.cln.SendamountResponse\"\x00\x12\x42\n\x0b\x43reateProof\x12\x17.cln.CreateproofRequest\x1a\x18.cln.CreateproofResponse\"\x00\x12\x39\n\x08Xkeysend\x12\x14.cln.XkeysendRequest\x1a\x15.cln.XkeysendResponse\"\x00\x12\x39\n\x08Graceful\x12\x14.cln.GracefulRequest\x1a\x15.cln.GracefulResponse\"\x00\x12\x63\n\x18SubscribeBalanceSnapshot\x12!.cln.StreamBalanceSnapshotRequest\x1a .cln.BalanceSnapshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeBlockAdded\x12\x1c.cln.StreamBlockAddedRequest\x1a\x1b.cln.BlockAddedNotification\"\x00\x30\x01\x12i\n\x1aSubscribeChannelOpenFailed\x12#.cln.StreamChannelOpenFailedRequest\x1a\".cln.ChannelOpenFailedNotification\"\x00\x30\x01\x12]\n\x16SubscribeChannelOpened\x12\x1f.cln.StreamChannelOpenedRequest\x1a\x1e.cln.ChannelOpenedNotification\"\x00\x30\x01\x12o\n\x1cSubscribeChannelStateChanged\x12%.cln.StreamChannelStateChangedRequest\x1a$.cln.ChannelStateChangedNotification\"\x00\x30\x01\x12O\n\x10SubscribeConnect\x12\x19.cln.StreamConnectRequest\x1a\x1c.cln.PeerConnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeCoinMovement\x12\x1e.cln.StreamCoinMovementRequest\x1a\x1d.cln.CoinMovementNotification\"\x00\x30\x01\x12Q\n\x12SubscribeCustomMsg\x12\x1b.cln.StreamCustomMsgRequest\x1a\x1a.cln.CustomMsgNotification\"\x00\x30\x01\x12i\n\x1aSubscribeDeprecatedOneshot\x12#.cln.StreamDeprecatedOneshotRequest\x1a\".cln.DeprecatedOneshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeDisconnect\x12\x1c.cln.StreamDisconnectRequest\x1a\x1b.cln.DisconnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeForwardEvent\x12\x1e.cln.StreamForwardEventRequest\x1a\x1d.cln.ForwardEventNotification\"\x00\x30\x01\x12\x63\n\x18SubscribeInvoiceCreation\x12!.cln.StreamInvoiceCreationRequest\x1a .cln.InvoiceCreationNotification\"\x00\x30\x01\x12`\n\x17SubscribeInvoicePayment\x12 .cln.StreamInvoicePaymentRequest\x1a\x1f.cln.InvoicePaymentNotification\"\x00\x30\x01\x12?\n\x0cSubscribeLog\x12\x15.cln.StreamLogRequest\x1a\x14.cln.LogNotification\"\x00\x30\x01\x12{\n SubscribeOnionMessageForwardFail\x12).cln.StreamOnionMessageForwardFailRequest\x1a(.cln.OnionMessageForwardFailNotification\"\x00\x30\x01\x12o\n\x1cSubscribeOpenChannelPeerSigs\x12%.cln.StreamOpenChannelPeerSigsRequest\x1a$.cln.OpenChannelPeerSigsNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStarted\x12\x1f.cln.StreamPluginStartedRequest\x1a\x1e.cln.PluginStartedNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStopped\x12\x1f.cln.StreamPluginStoppedRequest\x1a\x1e.cln.PluginStoppedNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPayFailure\x12 .cln.StreamSendPayFailureRequest\x1a\x1f.cln.SendPayFailureNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPaySuccess\x12 .cln.StreamSendPaySuccessRequest\x1a\x1f.cln.SendPaySuccessNotification\"\x00\x30\x01\x12N\n\x11SubscribeShutdown\x12\x1a.cln.StreamShutdownRequest\x1a\x19.cln.ShutdownNotification\"\x00\x30\x01\x12K\n\x10SubscribeWarning\x12\x19.cln.StreamWarningRequest\x1a\x18.cln.WarningNotification\"\x00\x30\x01\x12T\n\x13SubscribePayPartEnd\x12\x1c.cln.StreamPayPartEndRequest\x1a\x1b.cln.PayPartEndNotification\"\x00\x30\x01\x12Z\n\x15SubscribePayPartStart\x12\x1e.cln.StreamPayPartStartRequest\x1a\x1d.cln.PayPartStartNotification\"\x00\x30\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nnode.proto\x12\x03\x63ln\x1a\x10primitives.proto\"\x10\n\x0eGetinfoRequest\"\xb1\x04\n\x0fGetinfoResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\r\n\x05\x63olor\x18\x03 \x01(\x0c\x12\x11\n\tnum_peers\x18\x04 \x01(\r\x12\x1c\n\x14num_pending_channels\x18\x05 \x01(\r\x12\x1b\n\x13num_active_channels\x18\x06 \x01(\r\x12\x1d\n\x15num_inactive_channels\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\t\x12\x15\n\rlightning_dir\x18\t \x01(\t\x12\x32\n\x0cour_features\x18\n \x01(\x0b\x32\x17.cln.GetinfoOurFeaturesH\x00\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0b \x01(\r\x12\x0f\n\x07network\x18\x0c \x01(\t\x12(\n\x13\x66\x65\x65s_collected_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x07\x61\x64\x64ress\x18\x0e \x03(\x0b\x32\x13.cln.GetinfoAddress\x12$\n\x07\x62inding\x18\x0f \x03(\x0b\x32\x13.cln.GetinfoBinding\x12\"\n\x15warning_bitcoind_sync\x18\x10 \x01(\tH\x01\x88\x01\x01\x12$\n\x17warning_lightningd_sync\x18\x11 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_our_featuresB\x18\n\x16_warning_bitcoind_syncB\x1a\n\x18_warning_lightningd_sync\"\xc4\x01\n\x0eGetinfoAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoAddress.GetinfoAddressType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"G\n\x12GetinfoAddressType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xac\x02\n\x0eGetinfoBinding\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoBinding.GetinfoBindingType\x12\x14\n\x07\x61\x64\x64ress\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06socket\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07subtype\x18\x05 \x01(\tH\x03\x88\x01\x01\"_\n\x12GetinfoBindingType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\n\n\x08_addressB\x07\n\x05_portB\t\n\x07_socketB\n\n\x08_subtype\"R\n\x12GetinfoOurFeatures\x12\x0c\n\x04init\x18\x01 \x01(\x0c\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63hannel\x18\x03 \x01(\x0c\x12\x0f\n\x07invoice\x18\x04 \x01(\x0c\"\xb5\x01\n\x10ListpeersRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x38\n\x05level\x18\x02 \x01(\x0e\x32$.cln.ListpeersRequest.ListpeersLevelH\x01\x88\x01\x01\"E\n\x0eListpeersLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\x0b\n\x07UNUSUAL\x10\x03\x12\t\n\x05TRACE\x10\x04\x42\x05\n\x03_idB\x08\n\x06_level\"7\n\x11ListpeersResponse\x12\"\n\x05peers\x18\x01 \x03(\x0b\x32\x13.cln.ListpeersPeers\"\xc9\x01\n\x0eListpeersPeers\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12#\n\x03log\x18\x03 \x03(\x0b\x32\x16.cln.ListpeersPeersLog\x12\x0f\n\x07netaddr\x18\x05 \x03(\t\x12\x15\n\x08\x66\x65\x61tures\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bremote_addr\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cnum_channels\x18\x08 \x01(\rB\x0b\n\t_featuresB\x0e\n\x0c_remote_addr\"\x88\x03\n\x11ListpeersPeersLog\x12?\n\titem_type\x18\x01 \x01(\x0e\x32,.cln.ListpeersPeersLog.ListpeersPeersLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"t\n\x15ListpeersPeersLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"0\n\x10ListfundsRequest\x12\x12\n\x05spent\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_spent\"e\n\x11ListfundsResponse\x12&\n\x07outputs\x18\x01 \x03(\x0b\x32\x15.cln.ListfundsOutputs\x12(\n\x08\x63hannels\x18\x02 \x03(\x0b\x32\x16.cln.ListfundsChannels\"\x97\x02\n\x11ListfundsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12$\n\x0four_amount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x04 \x01(\x0c\x12\x16\n\x0e\x66unding_output\x18\x05 \x01(\r\x12\x11\n\tconnected\x18\x06 \x01(\x08\x12 \n\x05state\x18\x07 \x01(\x0e\x32\x11.cln.ChannelState\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\t \x01(\x0c\x42\x13\n\x11_short_channel_id\"\xb9\x03\n\x10ListfundsOutputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06output\x18\x02 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0cscriptpubkey\x18\x04 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0credeemscript\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12<\n\x06status\x18\x07 \x01(\x0e\x32,.cln.ListfundsOutputs.ListfundsOutputsStatus\x12\x18\n\x0b\x62lockheight\x18\x08 \x01(\rH\x02\x88\x01\x01\x12\x10\n\x08reserved\x18\t \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\n \x01(\rH\x03\x88\x01\x01\"Q\n\x16ListfundsOutputsStatus\x12\x0f\n\x0bUNCONFIRMED\x10\x00\x12\r\n\tCONFIRMED\x10\x01\x12\t\n\x05SPENT\x10\x02\x12\x0c\n\x08IMMATURE\x10\x03\x42\n\n\x08_addressB\x0f\n\r_redeemscriptB\x0e\n\x0c_blockheightB\x14\n\x12_reserved_to_block\"\xbb\x03\n\x0eSendpayRequest\x12 \n\x05route\x18\x01 \x03(\x0b\x32\x11.cln.SendpayRoute\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x13\n\x06partid\x18\x07 \x01(\x04H\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\t \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_bolt11B\x11\n\x0f_payment_secretB\t\n\x07_partidB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x13\n\x11_payment_metadataB\x0e\n\x0c_description\"\x96\x05\n\x0fSendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x32\n\x06status\x18\x04 \x01(\x0e\x32\".cln.SendpayResponse.SendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x14\n\x07message\x18\x0e \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0f \x01(\x04H\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\"*\n\rSendpayStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\xe6\x02\n\x0cSendpayRoute\x12\x0f\n\x02id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x04 \x01(\tH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12!\n\x14short_channel_id_dir\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\t \x01(\rH\x07\x88\x01\x01\x42\x05\n\x03_idB\x08\n\x06_delayB\n\n\x08_channelB\x0e\n\x0c_amount_msatB\x17\n\x15_short_channel_id_dirB\x0e\n\x0c_node_id_outB\x12\n\x10_amount_out_msatB\x0b\n\t_cltv_out\"\x93\x01\n\x13ListchannelsRequest\x12\x1d\n\x10short_channel_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06source\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\t\n\x07_sourceB\x0e\n\x0c_destination\"C\n\x14ListchannelsResponse\x12+\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x19.cln.ListchannelsChannels\"\xb3\x03\n\x14ListchannelsChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\x0e\n\x06public\x18\x04 \x01(\x08\x12 \n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\rmessage_flags\x18\x06 \x01(\r\x12\x15\n\rchannel_flags\x18\x07 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x08 \x01(\x08\x12\x13\n\x0blast_update\x18\t \x01(\r\x12\x1d\n\x15\x62\x61se_fee_millisatoshi\x18\n \x01(\r\x12\x19\n\x11\x66\x65\x65_per_millionth\x18\x0b \x01(\r\x12\r\n\x05\x64\x65lay\x18\x0c \x01(\r\x12&\n\x11htlc_minimum_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x11htlc_maximum_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x0f \x01(\x0c\x12\x11\n\tdirection\x18\x10 \x01(\rB\x14\n\x12_htlc_maximum_msat\"#\n\x10\x41\x64\x64gossipRequest\x12\x0f\n\x07message\x18\x01 \x01(\x0c\"\x13\n\x11\x41\x64\x64gossipResponse\"\xac\x01\n\x14\x41\x64\x64psbtoutputRequest\x12\x1c\n\x07satoshi\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\x08locktime\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_locktimeB\x0e\n\x0c_initialpsbtB\x0e\n\x0c_destination\"U\n\x15\x41\x64\x64psbtoutputResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1e\n\x16\x65stimated_added_weight\x18\x02 \x01(\r\x12\x0e\n\x06outnum\x18\x03 \x01(\r\"O\n\x14\x41utocleanonceRequest\x12*\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystem\x12\x0b\n\x03\x61ge\x18\x02 \x01(\x04\"G\n\x15\x41utocleanonceResponse\x12.\n\tautoclean\x18\x01 \x01(\x0b\x32\x1b.cln.AutocleanonceAutoclean\"\x89\x05\n\x16\x41utocleanonceAutoclean\x12L\n\x11succeededforwards\x18\x01 \x01(\x0b\x32,.cln.AutocleanonceAutocleanSucceededforwardsH\x00\x88\x01\x01\x12\x46\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32).cln.AutocleanonceAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x44\n\rsucceededpays\x18\x03 \x01(\x0b\x32(.cln.AutocleanonceAutocleanSucceededpaysH\x02\x88\x01\x01\x12>\n\nfailedpays\x18\x04 \x01(\x0b\x32%.cln.AutocleanonceAutocleanFailedpaysH\x03\x88\x01\x01\x12\x42\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32\'.cln.AutocleanonceAutocleanPaidinvoicesH\x04\x88\x01\x01\x12H\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32*.cln.AutocleanonceAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x44\n\rnetworkevents\x18\x07 \x01(\x0b\x32(.cln.AutocleanonceAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"K\n%AutocleanonceAutocleanExpiredinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"J\n$AutocleanonceAutocleanFailedforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"F\n AutocleanonceAutocleanFailedpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanNetworkevents\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"H\n\"AutocleanonceAutocleanPaidinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"M\n\'AutocleanonceAutocleanSucceededforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanSucceededpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"W\n\x16\x41utocleanstatusRequest\x12/\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystemH\x00\x88\x01\x01\x42\x0c\n\n_subsystem\"K\n\x17\x41utocleanstatusResponse\x12\x30\n\tautoclean\x18\x01 \x01(\x0b\x32\x1d.cln.AutocleanstatusAutoclean\"\x99\x05\n\x18\x41utocleanstatusAutoclean\x12N\n\x11succeededforwards\x18\x01 \x01(\x0b\x32..cln.AutocleanstatusAutocleanSucceededforwardsH\x00\x88\x01\x01\x12H\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32+.cln.AutocleanstatusAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x46\n\rsucceededpays\x18\x03 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanSucceededpaysH\x02\x88\x01\x01\x12@\n\nfailedpays\x18\x04 \x01(\x0b\x32\'.cln.AutocleanstatusAutocleanFailedpaysH\x03\x88\x01\x01\x12\x44\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32).cln.AutocleanstatusAutocleanPaidinvoicesH\x04\x88\x01\x01\x12J\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32,.cln.AutocleanstatusAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x46\n\rnetworkevents\x18\x07 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"e\n\'AutocleanstatusAutocleanExpiredinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"d\n&AutocleanstatusAutocleanFailedforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"`\n\"AutocleanstatusAutocleanFailedpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanNetworkevents\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"b\n$AutocleanstatusAutocleanPaidinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"g\n)AutocleanstatusAutocleanSucceededforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanSucceededpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"U\n\x13\x43heckmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\r\n\x05zbase\x18\x02 \x01(\t\x12\x13\n\x06pubkey\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x42\t\n\x07_pubkey\"8\n\x14\x43heckmessageResponse\x12\x10\n\x08verified\x18\x01 \x01(\x08\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\"\xcb\x02\n\x0c\x43loseRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1e\n\x11unilateraltimeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x01\x88\x01\x01\x12!\n\x14\x66\x65\x65_negotiation_step\x18\x04 \x01(\tH\x02\x88\x01\x01\x12)\n\rwrong_funding\x18\x05 \x01(\x0b\x32\r.cln.OutpointH\x03\x88\x01\x01\x12\x1f\n\x12\x66orce_lease_closed\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1e\n\x08\x66\x65\x65range\x18\x07 \x03(\x0b\x32\x0c.cln.FeerateB\x14\n\x12_unilateraltimeoutB\x0e\n\x0c_destinationB\x17\n\x15_fee_negotiation_stepB\x10\n\x0e_wrong_fundingB\x15\n\x13_force_lease_closed\"\x93\x01\n\rCloseResponse\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.CloseResponse.CloseType\x12\x0b\n\x03txs\x18\x04 \x03(\x0c\x12\r\n\x05txids\x18\x05 \x03(\x0c\"5\n\tCloseType\x12\n\n\x06MUTUAL\x10\x00\x12\x0e\n\nUNILATERAL\x10\x01\x12\x0c\n\x08UNOPENED\x10\x02\"T\n\x0e\x43onnectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04host\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x07\n\x05_hostB\x07\n\x05_port\"\xb4\x01\n\x0f\x43onnectResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\x38\n\tdirection\x18\x03 \x01(\x0e\x32%.cln.ConnectResponse.ConnectDirection\x12$\n\x07\x61\x64\x64ress\x18\x04 \x01(\x0b\x32\x13.cln.ConnectAddress\"#\n\x10\x43onnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\xfb\x01\n\x0e\x43onnectAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.ConnectAddress.ConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"P\n\x12\x43onnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"J\n\x14\x43reateinvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x10\n\x08preimage\x18\x03 \x01(\x0c\"\xe6\x05\n\x15\x43reateinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12>\n\x06status\x18\x06 \x01(\x0e\x32..cln.CreateinvoiceResponse.CreateinvoiceStatus\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x16\n\tpay_index\x18\t \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12:\n\rpaid_outpoint\x18\x11 \x01(\x0b\x32\x1e.cln.CreateinvoicePaidOutpointH\t\x88\x01\x01\"8\n\x13\x43reateinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_paid_outpoint\"9\n\x19\x43reateinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xb4\x02\n\x10\x44\x61tastoreRequest\x12\x10\n\x03hex\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x36\n\x04mode\x18\x03 \x01(\x0e\x32#.cln.DatastoreRequest.DatastoreModeH\x01\x88\x01\x01\x12\x17\n\ngeneration\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\t\x12\x13\n\x06string\x18\x06 \x01(\tH\x03\x88\x01\x01\"p\n\rDatastoreMode\x12\x0f\n\x0bMUST_CREATE\x10\x00\x12\x10\n\x0cMUST_REPLACE\x10\x01\x12\x15\n\x11\x43REATE_OR_REPLACE\x10\x02\x12\x0f\n\x0bMUST_APPEND\x10\x03\x12\x14\n\x10\x43REATE_OR_APPEND\x10\x04\x42\x06\n\x04_hexB\x07\n\x05_modeB\r\n\x0b_generationB\t\n\x07_string\"\x82\x01\n\x11\x44\x61tastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"$\n\x15\x44\x61tastoreusageRequest\x12\x0b\n\x03key\x18\x01 \x03(\t\"S\n\x16\x44\x61tastoreusageResponse\x12\x39\n\x0e\x64\x61tastoreusage\x18\x01 \x01(\x0b\x32!.cln.DatastoreusageDatastoreusage\"@\n\x1c\x44\x61tastoreusageDatastoreusage\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x13\n\x0btotal_bytes\x18\x02 \x01(\x04\"\x9d\x01\n\x12\x43reateonionRequest\x12\"\n\x04hops\x18\x01 \x03(\x0b\x32\x14.cln.CreateonionHops\x12\x11\n\tassocdata\x18\x02 \x01(\x0c\x12\x18\n\x0bsession_key\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x17\n\nonion_size\x18\x04 \x01(\rH\x01\x88\x01\x01\x42\x0e\n\x0c_session_keyB\r\n\x0b_onion_size\"<\n\x13\x43reateonionResponse\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x16\n\x0eshared_secrets\x18\x02 \x03(\x0c\"2\n\x0f\x43reateonionHops\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"J\n\x13\x44\x65ldatastoreRequest\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x03 \x03(\tB\r\n\x0b_generation\"\x85\x01\n\x14\x44\x65ldatastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xb6\x01\n\x11\x44\x65linvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\'.cln.DelinvoiceRequest.DelinvoiceStatus\x12\x15\n\x08\x64\x65sconly\x18\x03 \x01(\x08H\x00\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\x0b\n\t_desconly\"\xcf\x05\n\x12\x44\x65linvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x38\n\x06status\x18\x07 \x01(\x0e\x32(.cln.DelinvoiceResponse.DelinvoiceStatus\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x16\n\tpay_index\x18\x0e \x01(\x04H\x07\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x07paid_at\x18\x10 \x01(\x04H\t\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x11 \x01(\x0cH\n\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\x9f\x01\n\x17\x44\x65vforgetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\x05\x66orce\x18\x04 \x01(\x08H\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x08\n\x06_force\"Y\n\x18\x44\x65vforgetchannelResponse\x12\x0e\n\x06\x66orced\x18\x01 \x01(\x08\x12\x17\n\x0f\x66unding_unspent\x18\x02 \x01(\x08\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\"\x19\n\x17\x45mergencyrecoverRequest\")\n\x18\x45mergencyrecoverResponse\x12\r\n\x05stubs\x18\x01 \x03(\x0c\" \n\x1eGetemergencyrecoverdataRequest\"\x8a\x01\n\x1fGetemergencyrecoverdataResponse\x12\x10\n\x08\x66iledata\x18\x01 \x01(\x0c\x12\x1f\n\x12\x63\x61n_create_penalty\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x15\x62\x61\x63ked_up_channel_ids\x18\x03 \x03(\x0c\x42\x15\n\x13_can_create_penalty\"Q\n\x13\x45xposesecretRequest\x12\x12\n\npassphrase\x18\x01 \x01(\t\x12\x17\n\nidentifier\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\r\n\x0b_identifier\"_\n\x14\x45xposesecretResponse\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12\x0f\n\x07\x63odex32\x18\x02 \x01(\t\x12\x15\n\x08mnemonic\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_mnemonic\"#\n\x0eRecoverRequest\x12\x11\n\thsmsecret\x18\x01 \x01(\t\"x\n\x0fRecoverResponse\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".cln.RecoverResponse.RecoverResult\"1\n\rRecoverResult\x12 \n\x1cRECOVERY_RESTART_IN_PROGRESS\x10\x00\"$\n\x15RecoverchannelRequest\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"\'\n\x16RecoverchannelResponse\x12\r\n\x05stubs\x18\x01 \x03(\t\"\x99\x02\n\x0eInvoiceRequest\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\x12\x11\n\tfallbacks\x18\x04 \x03(\t\x12\x15\n\x08preimage\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x11\n\x04\x63ltv\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18\x07 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x15\x65xposeprivatechannels\x18\x08 \x03(\t\x12\x19\n\x0c\x64\x65schashonly\x18\t \x01(\x08H\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x10.cln.AmountOrAnyB\x0b\n\t_preimageB\x07\n\x05_cltvB\t\n\x07_expiryB\x0f\n\r_deschashonly\"\xfe\x02\n\x0fInvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x16\n\x0epayment_secret\x18\x03 \x01(\x0c\x12\x12\n\nexpires_at\x18\x04 \x01(\x04\x12\x1d\n\x10warning_capacity\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0fwarning_offline\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10warning_deadends\x18\x07 \x01(\tH\x02\x88\x01\x01\x12#\n\x16warning_private_unused\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0bwarning_mpp\x18\t \x01(\tH\x04\x88\x01\x01\x12\x15\n\rcreated_index\x18\n \x01(\x04\x42\x13\n\x11_warning_capacityB\x12\n\x10_warning_offlineB\x13\n\x11_warning_deadendsB\x19\n\x17_warning_private_unusedB\x0e\n\x0c_warning_mpp\"\xe1\x01\n\x15InvoicerequestRequest\x12\x1b\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12\x17\n\nsingle_use\x18\x06 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_issuerB\x08\n\x06_labelB\x12\n\x10_absolute_expiryB\r\n\x0b_single_use\"\x8b\x01\n\x16InvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"1\n\x1c\x44isableinvoicerequestRequest\x12\x11\n\tinvreq_id\x18\x01 \x01(\t\"\x92\x01\n\x1d\x44isableinvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"l\n\x1aListinvoicerequestsRequest\x12\x16\n\tinvreq_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_invreq_idB\x0e\n\x0c_active_only\"_\n\x1bListinvoicerequestsResponse\x12@\n\x0finvoicerequests\x18\x01 \x03(\x0b\x32\'.cln.ListinvoicerequestsInvoicerequests\"\x97\x01\n\"ListinvoicerequestsInvoicerequests\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"#\n\x14ListdatastoreRequest\x12\x0b\n\x03key\x18\x02 \x03(\t\"G\n\x15ListdatastoreResponse\x12.\n\tdatastore\x18\x01 \x03(\x0b\x32\x1b.cln.ListdatastoreDatastore\"\x87\x01\n\x16ListdatastoreDatastore\x12\x0b\n\x03key\x18\x01 \x03(\t\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xde\x02\n\x13ListinvoicesRequest\x12\x12\n\x05label\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08offer_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12>\n\x05index\x18\x05 \x01(\x0e\x32*.cln.ListinvoicesRequest.ListinvoicesIndexH\x04\x88\x01\x01\x12\x12\n\x05start\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x06\x88\x01\x01\"-\n\x11ListinvoicesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x0f\n\r_payment_hashB\x0b\n\t_offer_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListinvoicesResponse\x12+\n\x08invoices\x18\x01 \x03(\x0b\x32\x19.cln.ListinvoicesInvoices\"\xbc\x06\n\x14ListinvoicesInvoices\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x16\n\tpay_index\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x14\n\x07paid_at\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0e \x01(\x0cH\x08\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\x12\x41\n\rpaid_outpoint\x18\x12 \x01(\x0b\x32%.cln.ListinvoicesInvoicesPaidOutpointH\x0b\x88\x01\x01\"?\n\x1aListinvoicesInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x11\n\x0f_local_offer_idB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"@\n ListinvoicesInvoicesPaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xf6\x03\n\x10SendonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12)\n\tfirst_hop\x18\x02 \x01(\x0b\x32\x16.cln.SendonionFirstHop\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x12\n\x05label\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0eshared_secrets\x18\x05 \x03(\x0c\x12\x13\n\x06partid\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\t \x01(\x0cH\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12+\n\x11total_amount_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\x0e\n\x0c_destinationB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0e\n\x0c_descriptionB\x14\n\x12_total_amount_msat\"\xd0\x04\n\x11SendonionResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x36\n\x06status\x18\x03 \x01(\x0e\x32&.cln.SendonionResponse.SendonionStatus\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x06 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\n \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0b \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07message\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06partid\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0e \x01(\x04\x12\x1a\n\rupdated_index\x18\x0f \x01(\x04H\x08\x88\x01\x01\",\n\x0fSendonionStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\t\n\x07_partidB\x10\n\x0e_updated_index\"P\n\x11SendonionFirstHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\r\n\x05\x64\x65lay\x18\x03 \x01(\r\"\xa0\x03\n\x13ListsendpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12@\n\x06status\x18\x03 \x01(\x0e\x32+.cln.ListsendpaysRequest.ListsendpaysStatusH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListsendpaysRequest.ListsendpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListsendpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\";\n\x12ListsendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListsendpaysResponse\x12+\n\x08payments\x18\x01 \x03(\x0b\x32\x19.cln.ListsendpaysPayments\"\xe5\x05\n\x14ListsendpaysPayments\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListsendpaysPayments.ListsendpaysPaymentsStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\n \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06partid\x18\x0f \x01(\x04H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x12 \x01(\x04H\n\x88\x01\x01\"C\n\x1aListsendpaysPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\t\n\x07_partidB\x10\n\x0e_updated_indexB\x0f\n\r_completed_at\"\x19\n\x17ListtransactionsRequest\"S\n\x18ListtransactionsResponse\x12\x37\n\x0ctransactions\x18\x01 \x03(\x0b\x32!.cln.ListtransactionsTransactions\"\xf8\x01\n\x1cListtransactionsTransactions\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\r\n\x05rawtx\x18\x02 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x03 \x01(\r\x12\x0f\n\x07txindex\x18\x04 \x01(\r\x12\x10\n\x08locktime\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\r\x12\x37\n\x06inputs\x18\t \x03(\x0b\x32\'.cln.ListtransactionsTransactionsInputs\x12\x39\n\x07outputs\x18\n \x03(\x0b\x32(.cln.ListtransactionsTransactionsOutputs\"S\n\"ListtransactionsTransactionsInputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\r\n\x05index\x18\x02 \x01(\r\x12\x10\n\x08sequence\x18\x03 \x01(\r\"l\n#ListtransactionsTransactionsOutputs\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0cscriptPubKey\x18\x03 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\"M\n\x11MakesecretRequest\x12\x10\n\x03hex\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x13\n\x06string\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x06\n\x04_hexB\t\n\x07_string\"$\n\x12MakesecretResponse\x12\x0e\n\x06secret\x18\x01 \x01(\x0c\"\xc7\x04\n\nPayRequest\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12\x1b\n\nriskfactor\x18\x08 \x01(\x01\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\n \x03(\tB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x06\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x0c \x01(\tB\x02\x18\x01H\x07\x88\x01\x01\x12)\n\x0b\x61mount_msat\x18\r \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x08\x88\x01\x01\x12\x1e\n\rlocalinvreqid\x18\x0e \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12*\n\x0cpartial_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_riskfactorB\t\n\x07_maxfeeB\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0f\n\r_partial_msat\"\xab\x03\n\x0bPayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12.\n\x06status\x18\t \x01(\x0e\x32\x1a.cln.PayResponse.PayStatusB\x02\x18\x01\">\n\tPayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"*\n\x10ListnodesRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"7\n\x11ListnodesResponse\x12\"\n\x05nodes\x18\x01 \x03(\x0b\x32\x13.cln.ListnodesNodes\"\xb8\x02\n\x0eListnodesNodes\x12\x0e\n\x06nodeid\x18\x01 \x01(\x0c\x12\x1b\n\x0elast_timestamp\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x12\n\x05\x61lias\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63olor\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x05 \x01(\x0cH\x03\x88\x01\x01\x12/\n\taddresses\x18\x06 \x03(\x0b\x32\x1c.cln.ListnodesNodesAddresses\x12@\n\x10option_will_fund\x18\x07 \x01(\x0b\x32!.cln.ListnodesNodesOptionWillFundH\x04\x88\x01\x01\x42\x11\n\x0f_last_timestampB\x08\n\x06_aliasB\x08\n\x06_colorB\x0b\n\t_featuresB\x13\n\x11_option_will_fund\"\xe8\x01\n\x17ListnodesNodesAddresses\x12K\n\titem_type\x18\x01 \x01(\x0e\x32\x38.cln.ListnodesNodesAddresses.ListnodesNodesAddressesType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"P\n\x1bListnodesNodesAddressesType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xf2\x01\n\x1cListnodesNodesOptionWillFund\x12(\n\x13lease_fee_base_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x17\n\x0flease_fee_basis\x18\x02 \x01(\r\x12\x16\n\x0e\x66unding_weight\x18\x03 \x01(\r\x12.\n\x19\x63hannel_fee_max_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x30\n(channel_fee_max_proportional_thousandths\x18\x05 \x01(\r\x12\x15\n\rcompact_lease\x18\x06 \x01(\x0c\"g\n\x15WaitanyinvoiceRequest\x12\x1a\n\rlastpay_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\x10\n\x0e_lastpay_indexB\n\n\x08_timeout\"\xbc\x05\n\x16WaitanyinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12@\n\x06status\x18\x04 \x01(\x0e\x32\x30.cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12;\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1f.cln.WaitanyinvoicePaidOutpointH\t\x88\x01\x01\"-\n\x14WaitanyinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\":\n\x1aWaitanyinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"#\n\x12WaitinvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\"\xad\x05\n\x13WaitinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitinvoiceResponse.WaitinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12\x38\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1c.cln.WaitinvoicePaidOutpointH\t\x88\x01\x01\"*\n\x11WaitinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"7\n\x17WaitinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\x8e\x01\n\x12WaitsendpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\t\n\x07_partidB\n\n\x08_timeoutB\n\n\x08_groupid\"\xf7\x04\n\x13WaitsendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitsendpayResponse.WaitsendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0e \x01(\x01H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0f \x01(\x04\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\t\x88\x01\x01\"!\n\x11WaitsendpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\x97\x01\n\x0eNewaddrRequest\x12@\n\x0b\x61\x64\x64resstype\x18\x01 \x01(\x0e\x32&.cln.NewaddrRequest.NewaddrAddresstypeH\x00\x88\x01\x01\"3\n\x12NewaddrAddresstype\x12\n\n\x06\x42\x45\x43H32\x10\x00\x12\x07\n\x03\x41LL\x10\x02\x12\x08\n\x04P2TR\x10\x03\x42\x0e\n\x0c_addresstype\"M\n\x0fNewaddrResponse\x12\x13\n\x06\x62\x65\x63h32\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb9\x01\n\x0fWithdrawRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12!\n\x07satoshi\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\"\n\x07\x66\x65\x65rate\x18\x05 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_feerate\":\n\x10WithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0c\n\x04psbt\x18\x03 \x01(\t\"\xd7\x03\n\x0eKeysendRequest\x12\x17\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12/\n\nroutehints\x18\x08 \x01(\x0b\x32\x12.cln.RoutehintListB\x02\x18\x01H\x05\x88\x01\x01\x12*\n\textratlvs\x18\t \x01(\x0b\x32\x0e.cln.TlvStreamB\x02\x18\x01H\x06\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x07\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_routehintsB\x0c\n\n_extratlvsB\t\n\x07_maxfee\"\x9a\x03\n\x0fKeysendResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x36\n\x06status\x18\t \x01(\x0e\x32\".cln.KeysendResponse.KeysendStatusB\x02\x18\x01\"!\n\rKeysendStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"\xa4\x03\n\x0f\x46undpsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x14\n\x07minconf\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\x08 \x01(\x08H\x04\x88\x01\x01\x12\x17\n\nnonwrapped\x18\t \x01(\x08H\x05\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x06\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_changeB\r\n\x0b_nonwrappedB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10\x46undpsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.FundpsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14\x46undpsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"A\n\x0fSendpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\",\n\x10SendpsbtResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"1\n\x0fSignpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x10\n\x08signonly\x18\x02 \x03(\r\"\'\n\x10SignpsbtResponse\x12\x13\n\x0bsigned_psbt\x18\x01 \x01(\t\"\xa0\x03\n\x0fUtxopsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nreservedok\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\t \x01(\x08H\x04\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\r\n\x0b_reservedokB\x13\n\x11_excess_as_changeB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10UtxopsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.UtxopsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14UtxopsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\" \n\x10TxdiscardRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"6\n\x11TxdiscardResponse\x12\x13\n\x0bunsigned_tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xa4\x01\n\x10TxprepareRequest\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12 \n\x07outputs\x18\x05 \x03(\x0b\x32\x0f.cln.OutputDescB\n\n\x08_feerateB\n\n\x08_minconf\"D\n\x11TxprepareResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x13\n\x0bunsigned_tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x1d\n\rTxsendRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"8\n\x0eTxsendResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x8d\x01\n\x17ListpeerchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x05\n\x03_idB\x13\n\x11_short_channel_idB\r\n\x0b_channel_id\"K\n\x18ListpeerchannelsResponse\x12/\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1d.cln.ListpeerchannelsChannels\"\x99\x1b\n\x18ListpeerchannelsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x16\n\x0epeer_connected\x18\x02 \x01(\x08\x12 \n\x05state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x19\n\x0cscratch_txid\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x43\n\x0c\x63hannel_type\x18\x05 \x01(\x0b\x32(.cln.ListpeerchannelsChannelsChannelTypeH\x01\x88\x01\x01\x12:\n\x07\x66\x65\x65rate\x18\x06 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFeerateH\x02\x88\x01\x01\x12\x12\n\x05owner\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x17\n\nchannel_id\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\r \x01(\tH\t\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0e \x01(\tH\n\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0f \x01(\rH\x0b\x88\x01\x01\x12\x37\n\x08inflight\x18\x10 \x03(\x0b\x32%.cln.ListpeerchannelsChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x11 \x01(\x0cH\x0c\x88\x01\x01\x12\x14\n\x07private\x18\x12 \x01(\x08H\r\x88\x01\x01\x12 \n\x06opener\x18\x13 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x14 \x01(\x0e\x32\x10.cln.ChannelSideH\x0e\x88\x01\x01\x12:\n\x07\x66unding\x18\x16 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFundingH\x0f\x88\x01\x01\x12$\n\nto_us_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x19 \x01(\x0b\x32\x0b.cln.AmountH\x12\x88\x01\x01\x12$\n\ntotal_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x1c \x01(\rH\x15\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1f \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12*\n\x10our_reserve_msat\x18 \x01(\x0b\x32\x0b.cln.AmountH\x18\x88\x01\x01\x12(\n\x0espendable_msat\x18! \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12)\n\x0freceivable_msat\x18\" \x01(\x0b\x32\x0b.cln.AmountH\x1a\x88\x01\x01\x12.\n\x14minimum_htlc_in_msat\x18# \x01(\x0b\x32\x0b.cln.AmountH\x1b\x88\x01\x01\x12/\n\x15minimum_htlc_out_msat\x18$ \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18% \x01(\x0b\x32\x0b.cln.AmountH\x1d\x88\x01\x01\x12 \n\x13their_to_self_delay\x18& \x01(\rH\x1e\x88\x01\x01\x12\x1e\n\x11our_to_self_delay\x18\' \x01(\rH\x1f\x88\x01\x01\x12\x1f\n\x12max_accepted_htlcs\x18( \x01(\rH \x88\x01\x01\x12\x36\n\x05\x61lias\x18) \x01(\x0b\x32\".cln.ListpeerchannelsChannelsAliasH!\x88\x01\x01\x12@\n\rstate_changes\x18* \x03(\x0b\x32).cln.ListpeerchannelsChannelsStateChanges\x12\x0e\n\x06status\x18+ \x03(\t\x12 \n\x13in_payments_offered\x18, \x01(\x04H\"\x88\x01\x01\x12)\n\x0fin_offered_msat\x18- \x01(\x0b\x32\x0b.cln.AmountH#\x88\x01\x01\x12\"\n\x15in_payments_fulfilled\x18. \x01(\x04H$\x88\x01\x01\x12+\n\x11in_fulfilled_msat\x18/ \x01(\x0b\x32\x0b.cln.AmountH%\x88\x01\x01\x12!\n\x14out_payments_offered\x18\x30 \x01(\x04H&\x88\x01\x01\x12*\n\x10out_offered_msat\x18\x31 \x01(\x0b\x32\x0b.cln.AmountH\'\x88\x01\x01\x12#\n\x16out_payments_fulfilled\x18\x32 \x01(\x04H(\x88\x01\x01\x12,\n\x12out_fulfilled_msat\x18\x33 \x01(\x0b\x32\x0b.cln.AmountH)\x88\x01\x01\x12\x31\n\x05htlcs\x18\x34 \x03(\x0b\x32\".cln.ListpeerchannelsChannelsHtlcs\x12\x1a\n\rclose_to_addr\x18\x35 \x01(\tH*\x88\x01\x01\x12\x1e\n\x11ignore_fee_limits\x18\x36 \x01(\x08H+\x88\x01\x01\x12:\n\x07updates\x18\x37 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsUpdatesH,\x88\x01\x01\x12#\n\x16last_stable_connection\x18\x38 \x01(\x04H-\x88\x01\x01\x12\x17\n\nlost_state\x18\x39 \x01(\x08H.\x88\x01\x01\x12\x1a\n\rreestablished\x18: \x01(\x08H/\x88\x01\x01\x12*\n\x10last_tx_fee_msat\x18; \x01(\x0b\x32\x0b.cln.AmountH0\x88\x01\x01\x12\x16\n\tdirection\x18< \x01(\rH1\x88\x01\x01\x12=\n#their_max_htlc_value_in_flight_msat\x18= \x01(\x0b\x32\x0b.cln.AmountH2\x88\x01\x01\x12;\n!our_max_htlc_value_in_flight_msat\x18> \x01(\x0b\x32\x0b.cln.AmountH3\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18? \x03(\t\x12\'\n\x1aindependent_secrets_stored\x18@ \x01(\x04H4\x88\x01\x01\x42\x0f\n\r_scratch_txidB\x0f\n\r_channel_typeB\n\n\x08_feerateB\x08\n\x06_ownerB\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x0f\n\r_funding_txidB\x11\n\x0f_funding_outnumB\x12\n\x10_initial_feerateB\x0f\n\r_last_feerateB\x0f\n\r_next_feerateB\x10\n\x0e_next_fee_stepB\x0b\n\t_close_toB\n\n\x08_privateB\t\n\x07_closerB\n\n\x08_fundingB\r\n\x0b_to_us_msatB\x11\n\x0f_min_to_us_msatB\x11\n\x0f_max_to_us_msatB\r\n\x0b_total_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x12\n\x10_dust_limit_msatB\x15\n\x13_their_reserve_msatB\x13\n\x11_our_reserve_msatB\x11\n\x0f_spendable_msatB\x12\n\x10_receivable_msatB\x17\n\x15_minimum_htlc_in_msatB\x18\n\x16_minimum_htlc_out_msatB\x18\n\x16_maximum_htlc_out_msatB\x16\n\x14_their_to_self_delayB\x14\n\x12_our_to_self_delayB\x15\n\x13_max_accepted_htlcsB\x08\n\x06_aliasB\x16\n\x14_in_payments_offeredB\x12\n\x10_in_offered_msatB\x18\n\x16_in_payments_fulfilledB\x14\n\x12_in_fulfilled_msatB\x17\n\x15_out_payments_offeredB\x13\n\x11_out_offered_msatB\x19\n\x17_out_payments_fulfilledB\x15\n\x13_out_fulfilled_msatB\x10\n\x0e_close_to_addrB\x14\n\x12_ignore_fee_limitsB\n\n\x08_updatesB\x19\n\x17_last_stable_connectionB\r\n\x0b_lost_stateB\x10\n\x0e_reestablishedB\x13\n\x11_last_tx_fee_msatB\x0c\n\n_directionB&\n$_their_max_htlc_value_in_flight_msatB$\n\"_our_max_htlc_value_in_flight_msatB\x1d\n\x1b_independent_secrets_stored\"]\n\x1dListpeerchannelsChannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"X\n#ListpeerchannelsChannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"?\n\x1fListpeerchannelsChannelsFeerate\x12\r\n\x05perkw\x18\x01 \x01(\r\x12\r\n\x05perkb\x18\x02 \x01(\r\"\xdd\x02\n\x1fListpeerchannelsChannelsFunding\x12%\n\x0bpushed_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12%\n\x10local_funds_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11remote_funds_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\rfee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x11\n\x04psbt\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x15\n\x08withheld\x18\x07 \x01(\x08H\x04\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msatB\x07\n\x05_psbtB\x0b\n\t_withheld\"\xf9\x02\n\x1dListpeerchannelsChannelsHtlcs\x12\\\n\tdirection\x18\x01 \x01(\x0e\x32I.cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection\x12\n\n\x02id\x18\x02 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06\x65xpiry\x18\x04 \x01(\r\x12\x14\n\x0cpayment_hash\x18\x05 \x01(\x0c\x12\x1a\n\rlocal_trimmed\x18\x06 \x01(\x08H\x00\x88\x01\x01\x12\x13\n\x06status\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x05state\x18\x08 \x01(\x0e\x32\x0e.cln.HtlcState\"9\n&ListpeerchannelsChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x10\n\x0e_local_trimmedB\t\n\x07_status\"\xf4\x01\n ListpeerchannelsChannelsInflight\x12\x14\n\x0c\x66unding_txid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\x02 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x03 \x01(\t\x12\'\n\x12total_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10our_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0cscratch_txid\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\rsplice_amount\x18\x07 \x01(\x12\x42\x0f\n\r_scratch_txid\"\xf0\x02\n$ListpeerchannelsChannelsStateChanges\x12\x11\n\ttimestamp\x18\x01 \x01(\t\x12$\n\told_state\x18\x02 \x01(\x0e\x32\x11.cln.ChannelState\x12$\n\tnew_state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x62\n\x05\x63\x61use\x18\x04 \x01(\x0e\x32S.cln.ListpeerchannelsChannelsStateChanges.ListpeerchannelsChannelsStateChangesCause\x12\x0f\n\x07message\x18\x05 \x01(\t\"t\n)ListpeerchannelsChannelsStateChangesCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\"\xa7\x01\n\x1fListpeerchannelsChannelsUpdates\x12\x38\n\x05local\x18\x01 \x01(\x0b\x32).cln.ListpeerchannelsChannelsUpdatesLocal\x12?\n\x06remote\x18\x02 \x01(\x0b\x32*.cln.ListpeerchannelsChannelsUpdatesRemoteH\x00\x88\x01\x01\x42\t\n\x07_remote\"\xda\x01\n$ListpeerchannelsChannelsUpdatesLocal\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"\xdb\x01\n%ListpeerchannelsChannelsUpdatesRemote\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"3\n\x19ListclosedchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"[\n\x1aListclosedchannelsResponse\x12=\n\x0e\x63losedchannels\x18\x01 \x03(\x0b\x32%.cln.ListclosedchannelsClosedchannels\"\xae\x0b\n ListclosedchannelsClosedchannels\x12\x14\n\x07peer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x01\x88\x01\x01\x12>\n\x05\x61lias\x18\x04 \x01(\x0b\x32*.cln.ListclosedchannelsClosedchannelsAliasH\x02\x88\x01\x01\x12 \n\x06opener\x18\x05 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x06 \x01(\x0e\x32\x10.cln.ChannelSideH\x03\x88\x01\x01\x12\x0f\n\x07private\x18\x07 \x01(\x08\x12K\n\x0c\x63hannel_type\x18\x08 \x01(\x0b\x32\x30.cln.ListclosedchannelsClosedchannelsChannelTypeH\x04\x88\x01\x01\x12\x1f\n\x17total_local_commitments\x18\t \x01(\x04\x12 \n\x18total_remote_commitments\x18\n \x01(\x04\x12\x18\n\x10total_htlcs_sent\x18\x0b \x01(\x04\x12\x14\n\x0c\x66unding_txid\x18\x0c \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\r \x01(\r\x12\x0e\n\x06leased\x18\x0e \x01(\x08\x12/\n\x15\x66unding_fee_paid_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12/\n\x15\x66unding_fee_rcvd_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12-\n\x13\x66unding_pushed_msat\x18\x11 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x1f\n\ntotal_msat\x18\x12 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x66inal_to_us_msat\x18\x13 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emin_to_us_msat\x18\x14 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emax_to_us_msat\x18\x15 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x14last_commitment_txid\x18\x16 \x01(\x0cH\x08\x88\x01\x01\x12\x32\n\x18last_commitment_fee_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\t\x88\x01\x01\x12\x65\n\x0b\x63lose_cause\x18\x18 \x01(\x0e\x32P.cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsCloseCause\x12#\n\x16last_stable_connection\x18\x19 \x01(\x04H\n\x88\x01\x01\x12\x19\n\x0c\x66unding_psbt\x18\x1a \x01(\tH\x0b\x88\x01\x01\x12\x1d\n\x10\x66unding_withheld\x18\x1b \x01(\x08H\x0c\x88\x01\x01\"u\n*ListclosedchannelsClosedchannelsCloseCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\n\n\x08_peer_idB\x13\n\x11_short_channel_idB\x08\n\x06_aliasB\t\n\x07_closerB\x0f\n\r_channel_typeB\x18\n\x16_funding_fee_paid_msatB\x18\n\x16_funding_fee_rcvd_msatB\x16\n\x14_funding_pushed_msatB\x17\n\x15_last_commitment_txidB\x1b\n\x19_last_commitment_fee_msatB\x19\n\x17_last_stable_connectionB\x0f\n\r_funding_psbtB\x13\n\x11_funding_withheld\"e\n%ListclosedchannelsClosedchannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"`\n+ListclosedchannelsClosedchannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x1f\n\rDecodeRequest\x12\x0e\n\x06string\x18\x01 \x01(\t\"\xbd.\n\x0e\x44\x65\x63odeResponse\x12\x31\n\titem_type\x18\x01 \x01(\x0e\x32\x1e.cln.DecodeResponse.DecodeType\x12\r\n\x05valid\x18\x02 \x01(\x08\x12\x15\n\x08offer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x0coffer_chains\x18\x04 \x03(\x0c\x12\x1b\n\x0eoffer_metadata\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0eoffer_currency\x18\x06 \x01(\tH\x02\x88\x01\x01\x12+\n\x1ewarning_unknown_offer_currency\x18\x07 \x01(\tH\x03\x88\x01\x01\x12 \n\x13\x63urrency_minor_unit\x18\x08 \x01(\rH\x04\x88\x01\x01\x12\x19\n\x0coffer_amount\x18\t \x01(\x04H\x05\x88\x01\x01\x12+\n\x11offer_amount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x1e\n\x11offer_description\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0coffer_issuer\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x1b\n\x0eoffer_features\x18\r \x01(\x0cH\t\x88\x01\x01\x12\"\n\x15offer_absolute_expiry\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1f\n\x12offer_quantity_max\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12*\n\x0boffer_paths\x18\x10 \x03(\x0b\x32\x15.cln.DecodeOfferPaths\x12\x39\n\x10offer_recurrence\x18\x12 \x01(\x0b\x32\x1a.cln.DecodeOfferRecurrenceH\x0c\x88\x01\x01\x12\x37\n\x12unknown_offer_tlvs\x18\x13 \x03(\x0b\x32\x1b.cln.DecodeUnknownOfferTlvs\x12.\n!warning_invalid_offer_description\x18\x15 \x01(\tH\r\x88\x01\x01\x12.\n!warning_missing_offer_description\x18\x16 \x01(\tH\x0e\x88\x01\x01\x12+\n\x1ewarning_invalid_offer_currency\x18\x17 \x01(\tH\x0f\x88\x01\x01\x12)\n\x1cwarning_invalid_offer_issuer\x18\x18 \x01(\tH\x10\x88\x01\x01\x12\x1c\n\x0finvreq_metadata\x18\x19 \x01(\x0cH\x11\x88\x01\x01\x12\x1c\n\x0finvreq_payer_id\x18\x1a \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0cinvreq_chain\x18\x1b \x01(\x0cH\x13\x88\x01\x01\x12,\n\x12invreq_amount_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12\x1c\n\x0finvreq_features\x18\x1d \x01(\x0cH\x15\x88\x01\x01\x12\x1c\n\x0finvreq_quantity\x18\x1e \x01(\x04H\x16\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x1f \x01(\tH\x17\x88\x01\x01\x12&\n\x19invreq_recurrence_counter\x18 \x01(\rH\x18\x88\x01\x01\x12$\n\x17invreq_recurrence_start\x18! \x01(\rH\x19\x88\x01\x01\x12J\n\x1cunknown_invoice_request_tlvs\x18\" \x03(\x0b\x32$.cln.DecodeUnknownInvoiceRequestTlvs\x12,\n\x1fwarning_missing_invreq_metadata\x18# \x01(\tH\x1a\x88\x01\x01\x12,\n\x1fwarning_missing_invreq_payer_id\x18$ \x01(\tH\x1b\x88\x01\x01\x12.\n!warning_invalid_invreq_payer_note\x18% \x01(\tH\x1c\x88\x01\x01\x12\x36\n)warning_missing_invoice_request_signature\x18& \x01(\tH\x1d\x88\x01\x01\x12\x36\n)warning_invalid_invoice_request_signature\x18\' \x01(\tH\x1e\x88\x01\x01\x12.\n\rinvoice_paths\x18( \x03(\x0b\x32\x17.cln.DecodeInvoicePaths\x12\x1f\n\x12invoice_created_at\x18) \x01(\x04H\x1f\x88\x01\x01\x12$\n\x17invoice_relative_expiry\x18* \x01(\rH \x88\x01\x01\x12!\n\x14invoice_payment_hash\x18+ \x01(\x0cH!\x88\x01\x01\x12-\n\x13invoice_amount_msat\x18, \x01(\x0b\x32\x0b.cln.AmountH\"\x88\x01\x01\x12\x36\n\x11invoice_fallbacks\x18- \x03(\x0b\x32\x1b.cln.DecodeInvoiceFallbacks\x12\x1d\n\x10invoice_features\x18. \x01(\x0cH#\x88\x01\x01\x12\x1c\n\x0finvoice_node_id\x18/ \x01(\x0cH$\x88\x01\x01\x12(\n\x1binvoice_recurrence_basetime\x18\x30 \x01(\x04H%\x88\x01\x01\x12;\n\x14unknown_invoice_tlvs\x18\x31 \x03(\x0b\x32\x1d.cln.DecodeUnknownInvoiceTlvs\x12*\n\x1dwarning_missing_invoice_paths\x18\x32 \x01(\tH&\x88\x01\x01\x12/\n\"warning_missing_invoice_blindedpay\x18\x33 \x01(\tH\'\x88\x01\x01\x12/\n\"warning_missing_invoice_created_at\x18\x34 \x01(\tH(\x88\x01\x01\x12\x31\n$warning_missing_invoice_payment_hash\x18\x35 \x01(\tH)\x88\x01\x01\x12+\n\x1ewarning_missing_invoice_amount\x18\x36 \x01(\tH*\x88\x01\x01\x12\x38\n+warning_missing_invoice_recurrence_basetime\x18\x37 \x01(\tH+\x88\x01\x01\x12,\n\x1fwarning_missing_invoice_node_id\x18\x38 \x01(\tH,\x88\x01\x01\x12.\n!warning_missing_invoice_signature\x18\x39 \x01(\tH-\x88\x01\x01\x12.\n!warning_invalid_invoice_signature\x18: \x01(\tH.\x88\x01\x01\x12\'\n\tfallbacks\x18; \x03(\x0b\x32\x14.cln.DecodeFallbacks\x12\x17\n\ncreated_at\x18< \x01(\x04H/\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18= \x01(\x04H0\x88\x01\x01\x12\x12\n\x05payee\x18> \x01(\x0cH1\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18? \x01(\x0cH2\x88\x01\x01\x12\x1d\n\x10\x64\x65scription_hash\x18@ \x01(\x0cH3\x88\x01\x01\x12\"\n\x15min_final_cltv_expiry\x18\x41 \x01(\rH4\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x42 \x01(\x0cH5\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x43 \x01(\x0cH6\x88\x01\x01\x12\x1f\n\x05\x65xtra\x18\x45 \x03(\x0b\x32\x10.cln.DecodeExtra\x12\x16\n\tunique_id\x18\x46 \x01(\tH7\x88\x01\x01\x12\x14\n\x07version\x18G \x01(\tH8\x88\x01\x01\x12\x13\n\x06string\x18H \x01(\tH9\x88\x01\x01\x12-\n\x0crestrictions\x18I \x03(\x0b\x32\x17.cln.DecodeRestrictions\x12&\n\x19warning_rune_invalid_utf8\x18J \x01(\tH:\x88\x01\x01\x12\x10\n\x03hex\x18K \x01(\x0cH;\x88\x01\x01\x12\x16\n\tdecrypted\x18L \x01(\x0cH<\x88\x01\x01\x12\x16\n\tsignature\x18M \x01(\tH=\x88\x01\x01\x12\x15\n\x08\x63urrency\x18N \x01(\tH>\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18O \x01(\x0b\x32\x0b.cln.AmountH?\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18P \x01(\tH@\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18Q \x01(\x0cHA\x88\x01\x01\x12-\n\x06routes\x18R \x01(\x0b\x32\x18.cln.DecodeRoutehintListHB\x88\x01\x01\x12\x1c\n\x0foffer_issuer_id\x18S \x01(\x0cHC\x88\x01\x01\x12,\n\x1fwarning_missing_offer_issuer_id\x18T \x01(\tHD\x88\x01\x01\x12,\n\x0cinvreq_paths\x18U \x03(\x0b\x32\x16.cln.DecodeInvreqPaths\x12\'\n\x1awarning_empty_blinded_path\x18V \x01(\tHE\x88\x01\x01\x12=\n\x13invreq_bip_353_name\x18W \x01(\x0b\x32\x1b.cln.DecodeInvreqBip353NameHF\x88\x01\x01\x12\x35\n(warning_invreq_bip_353_name_name_invalid\x18X \x01(\tHG\x88\x01\x01\x12\x37\n*warning_invreq_bip_353_name_domain_invalid\x18Y \x01(\tHH\x88\x01\x01\x12%\n\x18invreq_recurrence_cancel\x18Z \x01(\x08HI\x88\x01\x01\x12=\n0warning_invreq_recurrence_cancel_without_counter\x18[ \x01(\tHJ\x88\x01\x01\x12?\n2warning_invreq_recurrence_cancel_with_zero_counter\x18\\ \x01(\tHK\x88\x01\x01\x12\x1b\n\x0eproof_preimage\x18] \x01(\x0cHL\x88\x01\x01\x12\x1a\n\x12proof_omitted_tlvs\x18^ \x03(\x04\x12\x1c\n\x14proof_missing_hashes\x18_ \x03(\x0c\x12\x19\n\x11proof_leaf_hashes\x18` \x03(\x0c\x12\x17\n\nproof_note\x18\x61 \x01(\tHM\x88\x01\x01\x12\x1c\n\x0fproof_signature\x18\x62 \x01(\tHN\x88\x01\x01\x12\x42\n\x18unknown_payer_proof_tlvs\x18\x63 \x03(\x0b\x32 .cln.DecodeUnknownPayerProofTlvs\"\x9b\x01\n\nDecodeType\x12\x10\n\x0c\x42OLT12_OFFER\x10\x00\x12\x12\n\x0e\x42OLT12_INVOICE\x10\x01\x12\x1a\n\x16\x42OLT12_INVOICE_REQUEST\x10\x02\x12\x12\n\x0e\x42OLT11_INVOICE\x10\x03\x12\x08\n\x04RUNE\x10\x04\x12\x15\n\x11\x45MERGENCY_RECOVER\x10\x05\x12\x16\n\x12\x42OLT12_PAYER_PROOF\x10\x06\x42\x0b\n\t_offer_idB\x11\n\x0f_offer_metadataB\x11\n\x0f_offer_currencyB!\n\x1f_warning_unknown_offer_currencyB\x16\n\x14_currency_minor_unitB\x0f\n\r_offer_amountB\x14\n\x12_offer_amount_msatB\x14\n\x12_offer_descriptionB\x0f\n\r_offer_issuerB\x11\n\x0f_offer_featuresB\x18\n\x16_offer_absolute_expiryB\x15\n\x13_offer_quantity_maxB\x13\n\x11_offer_recurrenceB$\n\"_warning_invalid_offer_descriptionB$\n\"_warning_missing_offer_descriptionB!\n\x1f_warning_invalid_offer_currencyB\x1f\n\x1d_warning_invalid_offer_issuerB\x12\n\x10_invreq_metadataB\x12\n\x10_invreq_payer_idB\x0f\n\r_invreq_chainB\x15\n\x13_invreq_amount_msatB\x12\n\x10_invreq_featuresB\x12\n\x10_invreq_quantityB\x14\n\x12_invreq_payer_noteB\x1c\n\x1a_invreq_recurrence_counterB\x1a\n\x18_invreq_recurrence_startB\"\n _warning_missing_invreq_metadataB\"\n _warning_missing_invreq_payer_idB$\n\"_warning_invalid_invreq_payer_noteB,\n*_warning_missing_invoice_request_signatureB,\n*_warning_invalid_invoice_request_signatureB\x15\n\x13_invoice_created_atB\x1a\n\x18_invoice_relative_expiryB\x17\n\x15_invoice_payment_hashB\x16\n\x14_invoice_amount_msatB\x13\n\x11_invoice_featuresB\x12\n\x10_invoice_node_idB\x1e\n\x1c_invoice_recurrence_basetimeB \n\x1e_warning_missing_invoice_pathsB%\n#_warning_missing_invoice_blindedpayB%\n#_warning_missing_invoice_created_atB\'\n%_warning_missing_invoice_payment_hashB!\n\x1f_warning_missing_invoice_amountB.\n,_warning_missing_invoice_recurrence_basetimeB\"\n _warning_missing_invoice_node_idB$\n\"_warning_missing_invoice_signatureB$\n\"_warning_invalid_invoice_signatureB\r\n\x0b_created_atB\t\n\x07_expiryB\x08\n\x06_payeeB\x0f\n\r_payment_hashB\x13\n\x11_description_hashB\x18\n\x16_min_final_cltv_expiryB\x11\n\x0f_payment_secretB\x13\n\x11_payment_metadataB\x0c\n\n_unique_idB\n\n\x08_versionB\t\n\x07_stringB\x1c\n\x1a_warning_rune_invalid_utf8B\x06\n\x04_hexB\x0c\n\n_decryptedB\x0c\n\n_signatureB\x0b\n\t_currencyB\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x0b\n\t_featuresB\t\n\x07_routesB\x12\n\x10_offer_issuer_idB\"\n _warning_missing_offer_issuer_idB\x1d\n\x1b_warning_empty_blinded_pathB\x16\n\x14_invreq_bip_353_nameB+\n)_warning_invreq_bip_353_name_name_invalidB-\n+_warning_invreq_bip_353_name_domain_invalidB\x1b\n\x19_invreq_recurrence_cancelB3\n1_warning_invreq_recurrence_cancel_without_counterB5\n3_warning_invreq_recurrence_cancel_with_zero_counterB\x11\n\x0f_proof_preimageB\r\n\x0b_proof_noteB\x12\n\x10_proof_signature\"(\n\x0b\x44\x65\x63odeExtra\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\xc4\x01\n\x0f\x44\x65\x63odeFallbacks\x12;\n\titem_type\x18\x02 \x01(\x0e\x32(.cln.DecodeFallbacks.DecodeFallbacksType\x12\x11\n\x04\x61\x64\x64r\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0b\n\x03hex\x18\x04 \x01(\x0c\"K\n\x13\x44\x65\x63odeFallbacksType\x12\t\n\x05P2PKH\x10\x00\x12\x08\n\x04P2SH\x10\x01\x12\n\n\x06P2WPKH\x10\x02\x12\t\n\x05P2WSH\x10\x03\x12\x08\n\x04P2TR\x10\x04\x42\x07\n\x05_addr\"X\n\x16\x44\x65\x63odeInvoiceFallbacks\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03hex\x18\x02 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_address\"\xa6\x02\n\x12\x44\x65\x63odeInvoicePaths\x12)\n\x04path\x18\x01 \x03(\x0b\x32\x1b.cln.DecodeInvoicePathsPath\x12/\n\x07payinfo\x18\x02 \x01(\x0b\x32\x1e.cln.DecodeInvoicePathsPayinfo\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0e\x66irst_scid_dir\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x06 \x01(\tH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_path_keyB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scid\"S\n\x16\x44\x65\x63odeInvoicePathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\x97\x02\n\x19\x44\x65\x63odeInvoicePathsPayinfo\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\"\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\r\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x19\n\x11\x63ltv_expiry_delta\x18\x06 \x01(\rB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msat\"T\n\x16\x44\x65\x63odeInvreqBip353Name\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x64omain\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\t\n\x07_domain\"\xf3\x01\n\x11\x44\x65\x63odeInvreqPaths\x12\x1b\n\x0e\x66irst_scid_dir\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12(\n\x04path\x18\x05 \x03(\x0b\x32\x1a.cln.DecodeInvreqPathsPath\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x11\n\x0f_first_scid_dirB\x10\n\x0e_first_node_idB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"R\n\x15\x44\x65\x63odeInvreqPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xf1\x01\n\x10\x44\x65\x63odeOfferPaths\x12\x1a\n\rfirst_node_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\'\n\x04path\x18\x03 \x03(\x0b\x32\x19.cln.DecodeOfferPathsPath\x12\x1b\n\x0e\x66irst_scid_dir\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"Q\n\x14\x44\x65\x63odeOfferPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xab\x02\n\x15\x44\x65\x63odeOfferRecurrence\x12\x11\n\ttime_unit\x18\x01 \x01(\r\x12\x1d\n\x10\x63ompulsory_field\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0etime_unit_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06period\x18\x04 \x01(\r\x12\x15\n\x08\x62\x61setime\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12;\n\tpaywindow\x18\x06 \x01(\x0b\x32#.cln.DecodeOfferRecurrencePaywindowH\x03\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\x13\n\x11_compulsory_fieldB\x11\n\x0f_time_unit_nameB\x0b\n\t_basetimeB\x0c\n\n_paywindowB\x08\n\x06_limit\"\x89\x01\n\x1e\x44\x65\x63odeOfferRecurrencePaywindow\x12\x16\n\x0eseconds_before\x18\x01 \x01(\r\x12\x15\n\rseconds_after\x18\x02 \x01(\r\x12 \n\x13proportional_amount\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x16\n\x14_proportional_amount\";\n\x12\x44\x65\x63odeRestrictions\x12\x14\n\x0c\x61lternatives\x18\x01 \x03(\t\x12\x0f\n\x07summary\x18\x02 \x01(\t\"S\n\x1f\x44\x65\x63odeUnknownInvoiceRequestTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"L\n\x18\x44\x65\x63odeUnknownInvoiceTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"J\n\x16\x44\x65\x63odeUnknownOfferTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"O\n\x1b\x44\x65\x63odeUnknownPayerProofTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"\xc2\x01\n\rDelpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12/\n\x06status\x18\x02 \x01(\x0e\x32\x1f.cln.DelpayRequest.DelpayStatus\x12\x13\n\x06partid\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x01\x88\x01\x01\"(\n\x0c\x44\x65lpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x42\t\n\x07_partidB\n\n\x08_groupid\"7\n\x0e\x44\x65lpayResponse\x12%\n\x08payments\x18\x01 \x03(\x0b\x32\x13.cln.DelpayPayments\"\xb4\x05\n\x0e\x44\x65lpayPayments\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x38\n\x06status\x18\x04 \x01(\x0e\x32(.cln.DelpayPayments.DelpayPaymentsStatus\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\t \x01(\x04\x12\x1a\n\rupdated_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x14\n\x07groupid\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x11 \x01(\x0cH\n\x88\x01\x01\"=\n\x14\x44\x65lpayPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x10\n\x0e_updated_indexB\x0f\n\r_completed_atB\n\n\x08_groupidB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\r\n\x0b_erroronion\"\xb3\x01\n\x11\x44\x65lforwardRequest\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x12\n\nin_htlc_id\x18\x02 \x01(\x04\x12\x37\n\x06status\x18\x03 \x01(\x0e\x32\'.cln.DelforwardRequest.DelforwardStatus\"=\n\x10\x44\x65lforwardStatus\x12\x0b\n\x07SETTLED\x10\x00\x12\x10\n\x0cLOCAL_FAILED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"\x14\n\x12\x44\x65lforwardResponse\"\'\n\x13\x44isableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdc\x01\n\x14\x44isableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"&\n\x12\x45nableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdb\x01\n\x13\x45nableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"=\n\x11\x44isconnectRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_force\"\x14\n\x12\x44isconnectResponse\"k\n\x0f\x46\x65\x65ratesRequest\x12\x31\n\x05style\x18\x01 \x01(\x0e\x32\".cln.FeeratesRequest.FeeratesStyle\"%\n\rFeeratesStyle\x12\t\n\x05PERKB\x10\x00\x12\t\n\x05PERKW\x10\x01\"\x9a\x02\n\x10\x46\x65\x65ratesResponse\x12%\n\x18warning_missing_feerates\x18\x01 \x01(\tH\x00\x88\x01\x01\x12&\n\x05perkb\x18\x02 \x01(\x0b\x32\x12.cln.FeeratesPerkbH\x01\x88\x01\x01\x12&\n\x05perkw\x18\x03 \x01(\x0b\x32\x12.cln.FeeratesPerkwH\x02\x88\x01\x01\x12\x44\n\x15onchain_fee_estimates\x18\x04 \x01(\x0b\x32 .cln.FeeratesOnchainFeeEstimatesH\x03\x88\x01\x01\x42\x1b\n\x19_warning_missing_feeratesB\x08\n\x06_perkbB\x08\n\x06_perkwB\x18\n\x16_onchain_fee_estimates\"\x99\x02\n\x1b\x46\x65\x65ratesOnchainFeeEstimates\x12 \n\x18opening_channel_satoshis\x18\x01 \x01(\x04\x12\x1d\n\x15mutual_close_satoshis\x18\x02 \x01(\x04\x12!\n\x19unilateral_close_satoshis\x18\x03 \x01(\x04\x12\x1d\n\x15htlc_timeout_satoshis\x18\x04 \x01(\x04\x12\x1d\n\x15htlc_success_satoshis\x18\x05 \x01(\x04\x12\x30\n#unilateral_close_nonanchor_satoshis\x18\x06 \x01(\x04H\x00\x88\x01\x01\x42&\n$_unilateral_close_nonanchor_satoshis\"\x84\x03\n\rFeeratesPerkb\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkbEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkbEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"\x84\x03\n\rFeeratesPerkw\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkwEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkwEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"%\n\x12\x46\x65tchbip353Request\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"X\n\x13\x46\x65tchbip353Response\x12\r\n\x05proof\x18\x01 \x01(\t\x12\x32\n\x0cinstructions\x18\x02 \x03(\x0b\x32\x1c.cln.Fetchbip353Instructions\"\xf7\x01\n\x17\x46\x65tchbip353Instructions\x12\x18\n\x0b\x64\x65scription\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05offer\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07onchain\x18\x03 \x01(\tH\x02\x88\x01\x01\x12!\n\x14offchain_amount_msat\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1f\n\x12onchain_amount_sat\x18\x05 \x01(\x04H\x04\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x08\n\x06_offerB\n\n\x08_onchainB\x17\n\x15_offchain_amount_msatB\x15\n\x13_onchain_amount_sat\"\xb9\x03\n\x13\x46\x65tchinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x15\n\x08quantity\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x1f\n\x12recurrence_counter\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x10recurrence_start\x18\x05 \x01(\x01H\x03\x88\x01\x01\x12\x1d\n\x10recurrence_label\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\x07 \x01(\x01H\x05\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x1b\n\x0epayer_metadata\x18\t \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\n \x01(\tH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0b\n\t_quantityB\x15\n\x13_recurrence_counterB\x13\n\x11_recurrence_startB\x13\n\x11_recurrence_labelB\n\n\x08_timeoutB\r\n\x0b_payer_noteB\x11\n\x0f_payer_metadataB\t\n\x07_bip353\"\x99\x01\n\x14\x46\x65tchinvoiceResponse\x12\x0f\n\x07invoice\x18\x01 \x01(\t\x12)\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x18.cln.FetchinvoiceChanges\x12\x35\n\x0bnext_period\x18\x03 \x01(\x0b\x32\x1b.cln.FetchinvoiceNextPeriodH\x00\x88\x01\x01\x42\x0e\n\x0c_next_period\"\x82\x02\n\x13\x46\x65tchinvoiceChanges\x12!\n\x14\x64\x65scription_appended\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0evendor_removed\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06vendor\x18\x04 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x42\x17\n\x15_description_appendedB\x0e\n\x0c_descriptionB\x11\n\x0f_vendor_removedB\t\n\x07_vendorB\x0e\n\x0c_amount_msat\"}\n\x16\x46\x65tchinvoiceNextPeriod\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\x04\x12\x11\n\tstarttime\x18\x02 \x01(\x04\x12\x0f\n\x07\x65ndtime\x18\x03 \x01(\x04\x12\x17\n\x0fpaywindow_start\x18\x04 \x01(\x04\x12\x15\n\rpaywindow_end\x18\x05 \x01(\x04\"\xe0\x01\n\x1d\x43\x61ncelrecurringinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12\x1a\n\x12recurrence_counter\x18\x02 \x01(\x04\x12\x18\n\x10recurrence_label\x18\x03 \x01(\t\x12\x1d\n\x10recurrence_start\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x17\n\npayer_note\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_recurrence_startB\r\n\x0b_payer_noteB\t\n\x07_bip353\"0\n\x1e\x43\x61ncelrecurringinvoiceResponse\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\"&\n\x18\x46undchannelCancelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\".\n\x19\x46undchannelCancelResponse\x12\x11\n\tcancelled\x18\x01 \x01(\t\"Z\n\x1a\x46undchannelCompleteRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x15\n\x08withhold\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x0b\n\t_withhold\"N\n\x1b\x46undchannelCompleteResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\"\xfb\x03\n\x12\x46undchannelRequest\x12 \n\x06\x61mount\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12#\n\tpush_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\n\n\x02id\x18\t \x01(\x0c\x12\x14\n\x07minconf\x18\n \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x05utxos\x18\x0b \x03(\x0b\x32\r.cln.Outpoint\x12\x15\n\x08mindepth\x18\x0c \x01(\rH\x07\x88\x01\x01\x12!\n\x07reserve\x18\r \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\x0e \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\n\n\x08_minconfB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xce\x01\n\x13\x46undchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0e\n\x06outnum\x18\x03 \x01(\r\x12\x12\n\nchannel_id\x18\x04 \x01(\x0c\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x31\n\x0c\x63hannel_type\x18\x07 \x01(\x0b\x32\x1b.cln.FundchannelChannelTypeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"K\n\x16\x46undchannelChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\xd6\x02\n\x17\x46undchannelStartRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x07\x66\x65\x65rate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12#\n\tpush_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08mindepth\x18\x07 \x01(\rH\x04\x88\x01\x01\x12!\n\x07reserve\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0c\n\n_push_msatB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xf6\x01\n\x18\x46undchannelStartResponse\x12\x17\n\x0f\x66unding_address\x18\x01 \x01(\t\x12\x14\n\x0cscriptpubkey\x18\x02 \x01(\x0c\x12;\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32 .cln.FundchannelStartChannelTypeH\x00\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x15\n\rwarning_usage\x18\x05 \x01(\t\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x02\x88\x01\x01\x42\x0f\n\r_channel_typeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"P\n\x1b\x46undchannelStartChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x95\x01\n\rGetlogRequest\x12\x32\n\x05level\x18\x01 \x01(\x0e\x32\x1e.cln.GetlogRequest.GetlogLevelH\x00\x88\x01\x01\"F\n\x0bGetlogLevel\x12\n\n\x06\x42ROKEN\x10\x00\x12\x0b\n\x07UNUSUAL\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\t\n\x05\x44\x45\x42UG\x10\x03\x12\t\n\x05TRACE\x10\x05\x42\x08\n\x06_level\"h\n\x0eGetlogResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\t\x12\x12\n\nbytes_used\x18\x02 \x01(\r\x12\x11\n\tbytes_max\x18\x03 \x01(\r\x12\x1b\n\x03log\x18\x04 \x03(\x0b\x32\x0e.cln.GetlogLog\"\xe8\x02\n\tGetlogLog\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.GetlogLog.GetlogLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"l\n\rGetlogLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"\xd9\x08\n\x13\x46underupdateRequest\x12@\n\x06policy\x18\x01 \x01(\x0e\x32+.cln.FunderupdateRequest.FunderupdatePolicyH\x00\x88\x01\x01\x12$\n\npolicy_mod\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0bleases_only\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x30\n\x16min_their_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x30\n\x16max_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12.\n\x14per_channel_min_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12.\n\x14per_channel_max_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12+\n\x11reserve_tank_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x19\n\x0c\x66uzz_percent\x18\t \x01(\rH\x08\x88\x01\x01\x12\x1d\n\x10\x66und_probability\x18\n \x01(\rH\t\x88\x01\x01\x12-\n\x13lease_fee_base_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\n\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\x0c \x01(\rH\x0b\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\r \x01(\rH\x0c\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x0f \x01(\rH\x0e\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x10 \x01(\x0cH\x0f\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\t\n\x07_policyB\r\n\x0b_policy_modB\x0e\n\x0c_leases_onlyB\x19\n\x17_min_their_funding_msatB\x19\n\x17_max_their_funding_msatB\x17\n\x15_per_channel_min_msatB\x17\n\x15_per_channel_max_msatB\x14\n\x12_reserve_tank_msatB\x0f\n\r_fuzz_percentB\x13\n\x11_fund_probabilityB\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\xdf\x06\n\x14\x46underupdateResponse\x12\x0f\n\x07summary\x18\x01 \x01(\t\x12<\n\x06policy\x18\x02 \x01(\x0e\x32,.cln.FunderupdateResponse.FunderupdatePolicy\x12\x12\n\npolicy_mod\x18\x03 \x01(\r\x12\x13\n\x0bleases_only\x18\x04 \x01(\x08\x12+\n\x16min_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16max_their_funding_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_min_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_max_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11reserve_tank_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66uzz_percent\x18\n \x01(\r\x12\x18\n\x10\x66und_probability\x18\x0b \x01(\r\x12-\n\x13lease_fee_base_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\r \x01(\rH\x01\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\x0e \x01(\rH\x02\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x10 \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x11 \x01(\x0cH\x05\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\x8c\x02\n\x0fGetrouteRequest\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\nriskfactor\x18\x03 \x01(\x04\x42\x02\x18\x01\x12\x15\n\x04\x63ltv\x18\x04 \x01(\rB\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x66romid\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x66uzzpercent\x18\x06 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\x07 \x03(\tB\x02\x18\x01\x12\x18\n\x07maxhops\x18\x08 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x42\x07\n\x05_cltvB\t\n\x07_fromidB\x0e\n\x0c_fuzzpercentB\n\n\x08_maxhops\"9\n\x10GetrouteResponse\x12%\n\x05route\x18\x01 \x03(\x0b\x32\x12.cln.GetrouteRouteB\x02\x18\x01\"\xe1\x01\n\rGetrouteRoute\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x07\x63hannel\x18\x02 \x01(\tB\x02\x18\x01\x12\x15\n\tdirection\x18\x03 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x11\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01\x12\x38\n\x05style\x18\x06 \x01(\x0e\x32%.cln.GetrouteRoute.GetrouteRouteStyleB\x02\x18\x01\"!\n\x12GetrouteRouteStyle\x12\x0b\n\x03TLV\x10\x00\x1a\x02\x08\x01\"t\n\x14ListaddressesRequest\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\n\n\x08_addressB\x08\n\x06_startB\x08\n\x06_limit\"G\n\x15ListaddressesResponse\x12.\n\taddresses\x18\x01 \x03(\x0b\x32\x1b.cln.ListaddressesAddresses\"d\n\x16ListaddressesAddresses\x12\x0e\n\x06keyidx\x18\x01 \x01(\x04\x12\x13\n\x06\x62\x65\x63h32\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb7\x03\n\x13ListforwardsRequest\x12@\n\x06status\x18\x01 \x01(\x0e\x32+.cln.ListforwardsRequest.ListforwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListforwardsRequest.ListforwardsIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListforwardsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"L\n\x12ListforwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\x0e\n\x0c_out_channelB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListforwardsResponse\x12+\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x19.cln.ListforwardsForwards\"\x9d\x06\n\x14ListforwardsForwards\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x1c\n\x07in_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x44\n\x06status\x18\x03 \x01(\x0e\x32\x34.cln.ListforwardsForwards.ListforwardsForwardsStatus\x12\x15\n\rreceived_time\x18\x04 \x01(\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12G\n\x05style\x18\t \x01(\x0e\x32\x33.cln.ListforwardsForwards.ListforwardsForwardsStyleH\x03\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x18\n\x0bout_htlc_id\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x1a\n\rresolved_time\x18\x0e \x01(\x01H\x07\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x0f \x01(\rH\x08\x88\x01\x01\x12\x17\n\nfailreason\x18\x10 \x01(\tH\t\x88\x01\x01\"T\n\x1aListforwardsForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"0\n\x19ListforwardsForwardsStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_fee_msatB\x0b\n\t_out_msatB\x08\n\x06_styleB\r\n\x0b_in_htlc_idB\x0e\n\x0c_out_htlc_idB\x10\n\x0e_updated_indexB\x10\n\x0e_resolved_timeB\x0b\n\t_failcodeB\r\n\x0b_failreason\"a\n\x11ListoffersRequest\x12\x15\n\x08offer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_offer_idB\x0e\n\x0c_active_only\";\n\x12ListoffersResponse\x12%\n\x06offers\x18\x01 \x03(\x0b\x32\x15.cln.ListoffersOffers\"\xd8\x01\n\x10ListoffersOffers\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"\x84\x03\n\x0fListpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x38\n\x06status\x18\x03 \x01(\x0e\x32#.cln.ListpaysRequest.ListpaysStatusH\x02\x88\x01\x01\x12\x36\n\x05index\x18\x04 \x01(\x0e\x32\".cln.ListpaysRequest.ListpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\")\n\rListpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"7\n\x0eListpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"3\n\x10ListpaysResponse\x12\x1f\n\x04pays\x18\x01 \x03(\x0b\x32\x11.cln.ListpaysPays\"\xdb\x05\n\x0cListpaysPays\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x34\n\x06status\x18\x02 \x01(\x0e\x32$.cln.ListpaysPays.ListpaysPaysStatus\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\ncreated_at\x18\x04 \x01(\x04\x12\x12\n\x05label\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x15\n\x08preimage\x18\r \x01(\x0cH\t\x88\x01\x01\x12\x1c\n\x0fnumber_of_parts\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1a\n\rcreated_index\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\x0c\x88\x01\x01\";\n\x12ListpaysPaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\x0f\n\r_completed_atB\x0b\n\t_preimageB\x12\n\x10_number_of_partsB\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xd6\x01\n\x10ListhtlcsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x38\n\x05index\x18\x02 \x01(\x0e\x32$.cln.ListhtlcsRequest.ListhtlcsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"*\n\x0eListhtlcsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"7\n\x11ListhtlcsResponse\x12\"\n\x05htlcs\x18\x01 \x03(\x0b\x32\x13.cln.ListhtlcsHtlcs\"\xe5\x02\n\x0eListhtlcsHtlcs\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x0e\n\x06\x65xpiry\x18\x03 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12>\n\tdirection\x18\x05 \x01(\x0e\x32+.cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x1d\n\x05state\x18\x07 \x01(\x0e\x32\x0e.cln.HtlcState\x12\x1a\n\rcreated_index\x18\x08 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x01\x88\x01\x01\"*\n\x17ListhtlcsHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xb2\x02\n\x17MultifundchannelRequest\x12\x37\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32!.cln.MultifundchannelDestinations\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\x12H\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x18\n\x0bminchannels\x18\x05 \x01(\x12H\x02\x88\x01\x01\x12-\n\x12\x63ommitment_feerate\x18\x06 \x01(\x0b\x32\x0c.cln.FeerateH\x03\x88\x01\x01\x42\n\n\x08_feerateB\n\n\x08_minconfB\x0e\n\x0c_minchannelsB\x15\n\x13_commitment_feerate\"\x97\x01\n\x18MultifundchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x34\n\x0b\x63hannel_ids\x18\x03 \x03(\x0b\x32\x1f.cln.MultifundchannelChannelIds\x12+\n\x06\x66\x61iled\x18\x04 \x03(\x0b\x32\x1b.cln.MultifundchannelFailed\"\xff\x02\n\x1cMultifundchannelDestinations\x12\n\n\x02id\x18\x01 \x01(\t\x12 \n\x06\x61mount\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12#\n\tpush_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12%\n\x0brequest_amt\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x15\n\x08mindepth\x18\x08 \x01(\rH\x05\x88\x01\x01\x12!\n\x07reserve\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x42\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xb2\x01\n\x1aMultifundchannelChannelIds\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12\x12\n\nchannel_id\x18\x03 \x01(\x0c\x12@\n\x0c\x63hannel_type\x18\x04 \x01(\x0b\x32*.cln.MultifundchannelChannelIdsChannelType\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_close_to\"Z\n%MultifundchannelChannelIdsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x93\x02\n\x16MultifundchannelFailed\x12\n\n\x02id\x18\x01 \x01(\x0c\x12H\n\x06method\x18\x02 \x01(\x0e\x32\x38.cln.MultifundchannelFailed.MultifundchannelFailedMethod\x12/\n\x05\x65rror\x18\x03 \x01(\x0b\x32 .cln.MultifundchannelFailedError\"r\n\x1cMultifundchannelFailedMethod\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x14\n\x10OPENCHANNEL_INIT\x10\x01\x12\x15\n\x11\x46UNDCHANNEL_START\x10\x02\x12\x18\n\x14\x46UNDCHANNEL_COMPLETE\x10\x03\"<\n\x1bMultifundchannelFailedError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xa8\x01\n\x14MultiwithdrawRequest\x12 \n\x07outputs\x18\x01 \x03(\x0b\x32\x0f.cln.OutputDesc\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_feerateB\n\n\x08_minconf\"1\n\x15MultiwithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xe2\x04\n\x0cOfferRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0cquantity_max\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12\x17\n\nrecurrence\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x1c\n\x0frecurrence_base\x18\x08 \x01(\tH\x06\x88\x01\x01\x12!\n\x14recurrence_paywindow\x18\t \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10recurrence_limit\x18\n \x01(\rH\x08\x88\x01\x01\x12\x17\n\nsingle_use\x18\x0b \x01(\x08H\t\x88\x01\x01\x12 \n\x13proportional_amount\x18\r \x01(\x08H\n\x88\x01\x01\x12 \n\x13optional_recurrence\x18\x0e \x01(\x08H\x0b\x88\x01\x01\x12\x16\n\x0e\x66ronting_nodes\x18\x0f \x03(\x0c\x42\x0e\n\x0c_descriptionB\t\n\x07_issuerB\x08\n\x06_labelB\x0f\n\r_quantity_maxB\x12\n\x10_absolute_expiryB\r\n\x0b_recurrenceB\x12\n\x10_recurrence_baseB\x17\n\x15_recurrence_paywindowB\x13\n\x11_recurrence_limitB\r\n\x0b_single_useB\x16\n\x14_proportional_amountB\x16\n\x14_optional_recurrence\"\xbc\x01\n\rOfferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x0f\n\x07\x63reated\x18\x06 \x01(\x08\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x01\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_force_paths\"-\n\x17OpenchannelAbortRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"X\n\x18OpenchannelAbortResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x18\n\x10\x63hannel_canceled\x18\x02 \x01(\x08\x12\x0e\n\x06reason\x18\x03 \x01(\t\"\x9e\x01\n\x16OpenchannelBumpRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12*\n\x0f\x66unding_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x12\n\x10_funding_feerate\"\xed\x01\n\x17OpenchannelBumpResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x35\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32\x1f.cln.OpenchannelBumpChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelBumpChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x9f\x03\n\x16OpenchannelInitRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12-\n\x12\x63ommitment_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12*\n\x0f\x66unding_feerate\x18\x04 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\r\x12\x1b\n\x06\x61mount\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x15\n\x13_commitment_feerateB\x12\n\x10_funding_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_lease\"\xed\x01\n\x17OpenchannelInitResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x35\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32\x1f.cln.OpenchannelInitChannelType\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelInitChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"C\n\x18OpenchannelSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"I\n\x19OpenchannelSignedResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"<\n\x18OpenchannelUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"\x95\x02\n\x19OpenchannelUpdateResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x37\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32!.cln.OpenchannelUpdateChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_outnum\x18\x05 \x01(\r\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12&\n\x19requires_confirmed_inputs\x18\x07 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_close_toB\x1c\n\x1a_requires_confirmed_inputs\"Q\n\x1cOpenchannelUpdateChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"Y\n\x0bPingRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x03len\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x16\n\tpongbytes\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x06\n\x04_lenB\x0c\n\n_pongbytes\"\x1e\n\x0cPingResponse\x12\x0e\n\x06totlen\x18\x01 \x01(\r\"\x91\x01\n\rPluginRequest\x12)\n\nsubcommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12\x13\n\x06plugin\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tdirectory\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07options\x18\x04 \x03(\tB\t\n\x07_pluginB\x0c\n\n_directory\"}\n\x0ePluginResponse\x12&\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12#\n\x07plugins\x18\x02 \x03(\x0b\x32\x12.cln.PluginPlugins\x12\x13\n\x06result\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_result\">\n\rPluginPlugins\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x03 \x01(\x08\"@\n\x14RenepaystatusRequest\x12\x1a\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x42\x0c\n\n_invstring\"K\n\x15RenepaystatusResponse\x12\x32\n\tpaystatus\x18\x01 \x03(\x0b\x32\x1b.cln.RenepaystatusPaystatusB\x02\x18\x01\"\x9a\x04\n\x16RenepaystatusPaystatus\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12!\n\x10payment_preimage\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x13\n\x07groupid\x18\x05 \x01(\rB\x02\x18\x01\x12\x16\n\x05parts\x18\x06 \x01(\rB\x02\x18\x01H\x01\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12.\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x02\x88\x01\x01\x12L\n\x06status\x18\t \x01(\x0e\x32\x38.cln.RenepaystatusPaystatus.RenepaystatusPaystatusStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\n \x01(\x0c\x42\x02\x18\x01H\x03\x88\x01\x01\x12\x11\n\x05notes\x18\x0b \x03(\tB\x02\x18\x01\"Q\n\x1cRenepaystatusPaystatusStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x13\n\x11_payment_preimageB\x08\n\x06_partsB\x13\n\x11_amount_sent_msatB\x0e\n\x0c_destination\"\xfe\x02\n\x0eRenepayRequest\x12\x15\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01\x12)\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12$\n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x01\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x04 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x16\n\x05label\x18\x07 \x01(\tB\x02\x18\x01H\x05\x88\x01\x01\x12\x1f\n\x0e\x64\x65v_use_shadow\x18\x08 \x01(\x08\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\t \x03(\tB\x02\x18\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0b\n\t_maxdelayB\x0c\n\n_retry_forB\x0e\n\x0c_descriptionB\x08\n\x06_labelB\x11\n\x0f_dev_use_shadow\"\xdd\x03\n\x0fRenepayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x18\n\x0cpayment_hash\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x03 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x04 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x36\n\x06status\x18\x07 \x01(\x0e\x32\".cln.RenepayResponse.RenepayStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\t \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\n \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x18\n\x07groupid\x18\x0b \x01(\x04\x42\x02\x18\x01H\x03\x88\x01\x01\"B\n\rRenepayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\t\n\x07_bolt11B\t\n\x07_bolt12B\n\n\x08_groupid\"l\n\x14ReserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\texclusive\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x0c\n\n_exclusiveB\n\n\x08_reserve\"M\n\x15ReserveinputsResponse\x12\x34\n\x0creservations\x18\x01 \x03(\x0b\x32\x1e.cln.ReserveinputsReservations\"z\n\x19ReserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"4\n\x14SendcustommsgRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"\'\n\x15SendcustommsgResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\"\xb0\x01\n\x12SendinvoiceRequest\x12\x0e\n\x06invreq\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08quantity\x18\x05 \x01(\x04H\x02\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\n\n\x08_timeoutB\x0b\n\t_quantity\"\xb8\x04\n\x13SendinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.SendinvoiceResponse.SendinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x15\n\rcreated_index\x18\x08 \x01(\x04\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x16\n\tpay_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\"6\n\x11SendinvoiceStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_amount_msatB\t\n\x07_bolt12B\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\xaa\x02\n\x11SetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07\x66\x65\x65\x62\x61se\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x66\x65\x65ppm\x18\x03 \x01(\rH\x01\x88\x01\x01\x12!\n\x07htlcmin\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12!\n\x07htlcmax\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x19\n\x0c\x65nforcedelay\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fignorefeelimits\x18\x07 \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_feebaseB\t\n\x07_feeppmB\n\n\x08_htlcminB\n\n\x08_htlcmaxB\x0f\n\r_enforcedelayB\x12\n\x10_ignorefeelimits\"?\n\x12SetchannelResponse\x12)\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x17.cln.SetchannelChannels\"\xaf\x03\n\x12SetchannelChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\x12*\n\x15minimum_htlc_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x17warning_htlcmin_too_low\x18\x07 \x01(\tH\x01\x88\x01\x01\x12*\n\x15maximum_htlc_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x18warning_htlcmax_too_high\x18\t \x01(\tH\x02\x88\x01\x01\x12\x19\n\x11ignore_fee_limits\x18\n \x01(\x08\x42\x13\n\x11_short_channel_idB\x1a\n\x18_warning_htlcmin_too_lowB\x1b\n\x19_warning_htlcmax_too_high\"b\n\x10SetconfigRequest\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x10\n\x03val\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttransient\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04_valB\x0c\n\n_transient\"9\n\x11SetconfigResponse\x12$\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x14.cln.SetconfigConfig\"\xda\x02\n\x0fSetconfigConfig\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07\x64ynamic\x18\x04 \x01(\x08\x12\x10\n\x03set\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\tvalue_str\x18\x06 \x01(\tH\x03\x88\x01\x01\x12$\n\nvalue_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x16\n\tvalue_int\x18\x08 \x01(\x12H\x05\x88\x01\x01\x12\x17\n\nvalue_bool\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x0f\n\x07sources\x18\n \x03(\t\x12\x12\n\nvalues_str\x18\x0b \x03(\tB\t\n\x07_sourceB\t\n\x07_pluginB\x06\n\x04_setB\x0c\n\n_value_strB\r\n\x0b_value_msatB\x0c\n\n_value_intB\r\n\x0b_value_bool\"6\n\x15SetpsbtversionRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\r\"&\n\x16SetpsbtversionResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"\'\n\x12SigninvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\"%\n\x13SigninvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"%\n\x12SignmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\"F\n\x13SignmessageResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\r\n\x05recid\x18\x02 \x01(\x0c\x12\r\n\x05zbase\x18\x03 \x01(\t\"\xc8\x01\n\x11SpliceInitRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x17\n\x0frelative_amount\x18\x02 \x01(\x12\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x65\x65rate_per_kw\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\x0e\n\x0c_initialpsbtB\x11\n\x0f_feerate_per_kwB\x10\n\x0e_force_feerate\"\"\n\x12SpliceInitResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"_\n\x13SpliceSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x17\n\nsign_first\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_sign_first\"^\n\x14SpliceSignedResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x13\n\x06outnum\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04psbt\x18\x04 \x01(\tB\t\n\x07_outnum\"7\n\x13SpliceUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"y\n\x14SpliceUpdateResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\x12\x1f\n\x12signatures_secured\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x15\n\x13_signatures_secured\"2\n\x0fSpliceinRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\"b\n\x10SpliceinResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\x8b\x01\n\x10SpliceoutRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_destinationB\x10\n\x0e_force_feerate\"c\n\x11SpliceoutResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\xc6\x01\n\x10\x44\x65vspliceRequest\x12\x16\n\x0escript_or_json\x18\x01 \x01(\t\x12\x13\n\x06\x64ryrun\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tdebug_log\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x17\n\ndev_wetrun\x18\x05 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_dryrunB\x10\n\x0e_force_feerateB\x0c\n\n_debug_logB\r\n\x0b_dev_wetrun\"\x80\x01\n\x11\x44\x65vspliceResponse\x12\x0e\n\x06\x64ryrun\x18\x01 \x03(\t\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03log\x18\x05 \x03(\tB\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"H\n\x16UnreserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\"Q\n\x17UnreserveinputsResponse\x12\x36\n\x0creservations\x18\x01 \x03(\x0b\x32 .cln.UnreserveinputsReservations\"\x97\x01\n\x1bUnreserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\x05 \x01(\rH\x00\x88\x01\x01\x42\x14\n\x12_reserved_to_block\"n\n\x14UpgradewalletRequest\x12\"\n\x07\x66\x65\x65rate\x18\x01 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x17\n\nreservedok\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_feerateB\r\n\x0b_reservedok\"~\n\x15UpgradewalletResponse\x12\x15\n\rupgraded_outs\x18\x01 \x01(\x04\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"O\n\x16WaitblockheightRequest\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\x12\x14\n\x07timeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\".\n\x17WaitblockheightResponse\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\"\xb9\x02\n\x0bWaitRequest\x12\x31\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitSubsystem\x12\x31\n\tindexname\x18\x02 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitIndexname\x12\x11\n\tnextvalue\x18\x03 \x01(\x04\"6\n\rWaitIndexname\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\"\xf4\x05\n\x0cWaitResponse\x12\x32\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1f.cln.WaitResponse.WaitSubsystem\x12\x14\n\x07\x63reated\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07updated\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07\x64\x65leted\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12*\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x10.cln.WaitDetailsB\x02\x18\x01H\x03\x88\x01\x01\x12(\n\x08\x66orwards\x18\x06 \x01(\x0b\x32\x11.cln.WaitForwardsH\x04\x88\x01\x01\x12(\n\x08invoices\x18\x07 \x01(\x0b\x32\x11.cln.WaitInvoicesH\x05\x88\x01\x01\x12(\n\x08sendpays\x18\x08 \x01(\x0b\x32\x11.cln.WaitSendpaysH\x06\x88\x01\x01\x12\"\n\x05htlcs\x18\t \x01(\x0b\x32\x0e.cln.WaitHtlcsH\x07\x88\x01\x01\x12,\n\nchainmoves\x18\n \x01(\x0b\x32\x13.cln.WaitChainmovesH\x08\x88\x01\x01\x12\x30\n\x0c\x63hannelmoves\x18\x0b \x01(\x0b\x32\x15.cln.WaitChannelmovesH\t\x88\x01\x01\x12\x32\n\rnetworkevents\x18\x0c \x01(\x0b\x32\x16.cln.WaitNetworkeventsH\n\x88\x01\x01\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\x42\n\n\x08_createdB\n\n\x08_updatedB\n\n\x08_deletedB\n\n\x08_detailsB\x0b\n\t_forwardsB\x0b\n\t_invoicesB\x0b\n\t_sendpaysB\x08\n\x06_htlcsB\r\n\x0b_chainmovesB\x0f\n\r_channelmovesB\x10\n\x0e_networkevents\"d\n\x0eWaitChainmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"f\n\x10WaitChannelmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\xd0\x05\n\x0bWaitDetails\x12;\n\x06status\x18\x01 \x01(\x0e\x32\".cln.WaitDetails.WaitDetailsStatusB\x02\x18\x01H\x00\x88\x01\x01\x12\x16\n\x05label\x18\x02 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\x04 \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\x05 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x17\n\x06partid\x18\x06 \x01(\x04\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x18\n\x07groupid\x18\x07 \x01(\x04\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x1d\n\x0cpayment_hash\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x07\x88\x01\x01\x12\x1b\n\nin_channel\x18\t \x01(\tB\x02\x18\x01H\x08\x88\x01\x01\x12\x1b\n\nin_htlc_id\x18\n \x01(\x04\x42\x02\x18\x01H\t\x88\x01\x01\x12%\n\x07in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x12\x1c\n\x0bout_channel\x18\x0c \x01(\tB\x02\x18\x01H\x0b\x88\x01\x01\"\xad\x01\n\x11WaitDetailsStatus\x12\x0e\n\x06UNPAID\x10\x00\x1a\x02\x08\x01\x12\x0c\n\x04PAID\x10\x01\x1a\x02\x08\x01\x12\x0f\n\x07\x45XPIRED\x10\x02\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x03\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x04\x1a\x02\x08\x01\x12\x10\n\x08\x43OMPLETE\x10\x05\x1a\x02\x08\x01\x12\x0f\n\x07OFFERED\x10\x06\x1a\x02\x08\x01\x12\x0f\n\x07SETTLED\x10\x07\x1a\x02\x08\x01\x12\x14\n\x0cLOCAL_FAILED\x10\x08\x1a\x02\x08\x01\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12B\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hashB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\xcb\x02\n\x0cWaitForwards\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitForwards.WaitForwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12!\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x04\x88\x01\x01\"L\n\x12WaitForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x10\n\x0cLOCAL_FAILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\x8c\x03\n\tWaitHtlcs\x12\"\n\x05state\x18\x01 \x01(\x0e\x32\x0e.cln.HtlcStateH\x00\x88\x01\x01\x12\x14\n\x07htlc_id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x63ltv_expiry\x18\x04 \x01(\rH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x39\n\tdirection\x18\x06 \x01(\x0e\x32!.cln.WaitHtlcs.WaitHtlcsDirectionH\x05\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x06\x88\x01\x01\"%\n\x12WaitHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x08\n\x06_stateB\n\n\x08_htlc_idB\x13\n\x11_short_channel_idB\x0e\n\x0c_cltv_expiryB\x0e\n\x0c_amount_msatB\x0c\n\n_directionB\x0f\n\r_payment_hash\"\x95\x02\n\x0cWaitInvoices\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitInvoices.WaitInvoicesStatusH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x05 \x01(\tH\x04\x88\x01\x01\"7\n\x12WaitInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12\"\x89\x02\n\x11WaitNetworkevents\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x44\n\titem_type\x18\x02 \x01(\x0e\x32,.cln.WaitNetworkevents.WaitNetworkeventsTypeH\x01\x88\x01\x01\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\"P\n\x15WaitNetworkeventsType\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x10\n\x0c\x43ONNECT_FAIL\x10\x01\x12\x08\n\x04PING\x10\x02\x12\x0e\n\nDISCONNECT\x10\x03\x42\x10\n\x0e_created_indexB\x0c\n\n_item_typeB\n\n\x08_peer_id\"\xff\x01\n\x0cWaitSendpays\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitSendpays.WaitSendpaysStatusH\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x04 \x01(\x0cH\x03\x88\x01\x01\";\n\x12WaitSendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_statusB\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hash\"4\n\x12ListconfigsRequest\x12\x13\n\x06\x63onfig\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_config\"P\n\x13ListconfigsResponse\x12-\n\x07\x63onfigs\x18\x01 \x01(\x0b\x32\x17.cln.ListconfigsConfigsH\x00\x88\x01\x01\x42\n\n\x08_configs\"\xf9.\n\x12ListconfigsConfigs\x12.\n\x04\x63onf\x18\x01 \x01(\x0b\x32\x1b.cln.ListconfigsConfigsConfH\x00\x88\x01\x01\x12\x38\n\tdeveloper\x18\x02 \x01(\x0b\x32 .cln.ListconfigsConfigsDeveloperH\x01\x88\x01\x01\x12?\n\rclear_plugins\x18\x03 \x01(\x0b\x32#.cln.ListconfigsConfigsClearpluginsH\x02\x88\x01\x01\x12;\n\x0b\x64isable_mpp\x18\x04 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablemppH\x03\x88\x01\x01\x12\x34\n\x07mainnet\x18\x05 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsMainnetH\x04\x88\x01\x01\x12\x34\n\x07regtest\x18\x06 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRegtestH\x05\x88\x01\x01\x12\x32\n\x06signet\x18\x07 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsSignetH\x06\x88\x01\x01\x12\x34\n\x07testnet\x18\x08 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsTestnetH\x07\x88\x01\x01\x12\x45\n\x10important_plugin\x18\t \x01(\x0b\x32&.cln.ListconfigsConfigsImportantpluginH\x08\x88\x01\x01\x12\x32\n\x06plugin\x18\n \x01(\x0b\x32\x1d.cln.ListconfigsConfigsPluginH\t\x88\x01\x01\x12\x39\n\nplugin_dir\x18\x0b \x01(\x0b\x32 .cln.ListconfigsConfigsPlugindirH\n\x88\x01\x01\x12?\n\rlightning_dir\x18\x0c \x01(\x0b\x32#.cln.ListconfigsConfigsLightningdirH\x0b\x88\x01\x01\x12\x34\n\x07network\x18\r \x01(\x0b\x32\x1e.cln.ListconfigsConfigsNetworkH\x0c\x88\x01\x01\x12N\n\x15\x61llow_deprecated_apis\x18\x0e \x01(\x0b\x32*.cln.ListconfigsConfigsAllowdeprecatedapisH\r\x88\x01\x01\x12\x35\n\x08rpc_file\x18\x0f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRpcfileH\x0e\x88\x01\x01\x12\x41\n\x0e\x64isable_plugin\x18\x10 \x01(\x0b\x32$.cln.ListconfigsConfigsDisablepluginH\x0f\x88\x01\x01\x12\x44\n\x10\x61lways_use_proxy\x18\x11 \x01(\x0b\x32%.cln.ListconfigsConfigsAlwaysuseproxyH\x10\x88\x01\x01\x12\x32\n\x06\x64\x61\x65mon\x18\x12 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsDaemonH\x11\x88\x01\x01\x12\x32\n\x06wallet\x18\x13 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsWalletH\x12\x88\x01\x01\x12\x41\n\x0elarge_channels\x18\x14 \x01(\x0b\x32$.cln.ListconfigsConfigsLargechannelsH\x13\x88\x01\x01\x12P\n\x16\x65xperimental_dual_fund\x18\x15 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentaldualfundH\x14\x88\x01\x01\x12S\n\x15\x65xperimental_splicing\x18\x16 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentalsplicingB\x02\x18\x01H\x15\x88\x01\x01\x12i\n#experimental_shutdown_wrong_funding\x18\x19 \x01(\x0b\x32\x37.cln.ListconfigsConfigsExperimentalshutdownwrongfundingH\x16\x88\x01\x01\x12V\n\x19\x65xperimental_peer_storage\x18\x1a \x01(\x0b\x32..cln.ListconfigsConfigsExperimentalpeerstorageH\x17\x88\x01\x01\x12M\n\x14\x65xperimental_anchors\x18\x1b \x01(\x0b\x32*.cln.ListconfigsConfigsExperimentalanchorsH\x18\x88\x01\x01\x12\x45\n\x10\x64\x61tabase_upgrade\x18\x1c \x01(\x0b\x32&.cln.ListconfigsConfigsDatabaseupgradeH\x19\x88\x01\x01\x12,\n\x03rgb\x18\x1d \x01(\x0b\x32\x1a.cln.ListconfigsConfigsRgbH\x1a\x88\x01\x01\x12\x30\n\x05\x61lias\x18\x1e \x01(\x0b\x32\x1c.cln.ListconfigsConfigsAliasH\x1b\x88\x01\x01\x12\x35\n\x08pid_file\x18\x1f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsPidfileH\x1c\x88\x01\x01\x12\x46\n\x11ignore_fee_limits\x18 \x01(\x0b\x32&.cln.ListconfigsConfigsIgnorefeelimitsH\x1d\x88\x01\x01\x12\x45\n\x10watchtime_blocks\x18! \x01(\x0b\x32&.cln.ListconfigsConfigsWatchtimeblocksH\x1e\x88\x01\x01\x12\x45\n\x10\x66unding_confirms\x18# \x01(\x0b\x32&.cln.ListconfigsConfigsFundingconfirmsH\x1f\x88\x01\x01\x12\x39\n\ncltv_delta\x18$ \x01(\x0b\x32 .cln.ListconfigsConfigsCltvdeltaH \x88\x01\x01\x12\x39\n\ncltv_final\x18% \x01(\x0b\x32 .cln.ListconfigsConfigsCltvfinalH!\x88\x01\x01\x12;\n\x0b\x63ommit_time\x18& \x01(\x0b\x32!.cln.ListconfigsConfigsCommittimeH\"\x88\x01\x01\x12\x35\n\x08\x66\x65\x65_base\x18\' \x01(\x0b\x32\x1e.cln.ListconfigsConfigsFeebaseH#\x88\x01\x01\x12\x32\n\x06rescan\x18( \x01(\x0b\x32\x1d.cln.ListconfigsConfigsRescanH$\x88\x01\x01\x12\x42\n\x0f\x66\x65\x65_per_satoshi\x18) \x01(\x0b\x32$.cln.ListconfigsConfigsFeepersatoshiH%\x88\x01\x01\x12L\n\x14max_concurrent_htlcs\x18* \x01(\x0b\x32).cln.ListconfigsConfigsMaxconcurrenthtlcsH&\x88\x01\x01\x12\x46\n\x11htlc_minimum_msat\x18+ \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcminimummsatH\'\x88\x01\x01\x12\x46\n\x11htlc_maximum_msat\x18, \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcmaximummsatH(\x88\x01\x01\x12X\n\x1bmax_dust_htlc_exposure_msat\x18- \x01(\x0b\x32..cln.ListconfigsConfigsMaxdusthtlcexposuremsatH)\x88\x01\x01\x12\x44\n\x10min_capacity_sat\x18. \x01(\x0b\x32%.cln.ListconfigsConfigsMincapacitysatH*\x88\x01\x01\x12.\n\x04\x61\x64\x64r\x18/ \x01(\x0b\x32\x1b.cln.ListconfigsConfigsAddrH+\x88\x01\x01\x12?\n\rannounce_addr\x18\x30 \x01(\x0b\x32#.cln.ListconfigsConfigsAnnounceaddrH,\x88\x01\x01\x12\x37\n\tbind_addr\x18\x31 \x01(\x0b\x32\x1f.cln.ListconfigsConfigsBindaddrH-\x88\x01\x01\x12\x34\n\x07offline\x18\x32 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsOfflineH.\x88\x01\x01\x12:\n\nautolisten\x18\x33 \x01(\x0b\x32!.cln.ListconfigsConfigsAutolistenH/\x88\x01\x01\x12\x30\n\x05proxy\x18\x34 \x01(\x0b\x32\x1c.cln.ListconfigsConfigsProxyH0\x88\x01\x01\x12;\n\x0b\x64isable_dns\x18\x35 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablednsH1\x88\x01\x01\x12T\n\x18\x61nnounce_addr_discovered\x18\x36 \x01(\x0b\x32-.cln.ListconfigsConfigsAnnounceaddrdiscoveredH2\x88\x01\x01\x12]\n\x1d\x61nnounce_addr_discovered_port\x18\x37 \x01(\x0b\x32\x31.cln.ListconfigsConfigsAnnounceaddrdiscoveredportH3\x88\x01\x01\x12?\n\rencrypted_hsm\x18\x38 \x01(\x0b\x32#.cln.ListconfigsConfigsEncryptedhsmH4\x88\x01\x01\x12>\n\rrpc_file_mode\x18\x39 \x01(\x0b\x32\".cln.ListconfigsConfigsRpcfilemodeH5\x88\x01\x01\x12\x37\n\tlog_level\x18: \x01(\x0b\x32\x1f.cln.ListconfigsConfigsLoglevelH6\x88\x01\x01\x12\x39\n\nlog_prefix\x18; \x01(\x0b\x32 .cln.ListconfigsConfigsLogprefixH7\x88\x01\x01\x12\x35\n\x08log_file\x18< \x01(\x0b\x32\x1e.cln.ListconfigsConfigsLogfileH8\x88\x01\x01\x12\x41\n\x0elog_timestamps\x18= \x01(\x0b\x32$.cln.ListconfigsConfigsLogtimestampsH9\x88\x01\x01\x12\x41\n\x0e\x66orce_feerates\x18> \x01(\x0b\x32$.cln.ListconfigsConfigsForcefeeratesH:\x88\x01\x01\x12\x38\n\tsubdaemon\x18? \x01(\x0b\x32 .cln.ListconfigsConfigsSubdaemonH;\x88\x01\x01\x12Q\n\x16\x66\x65tchinvoice_noconnect\x18@ \x01(\x0b\x32,.cln.ListconfigsConfigsFetchinvoicenoconnectH<\x88\x01\x01\x12L\n\x14tor_service_password\x18\x42 \x01(\x0b\x32).cln.ListconfigsConfigsTorservicepasswordH=\x88\x01\x01\x12\x46\n\x11\x61nnounce_addr_dns\x18\x43 \x01(\x0b\x32&.cln.ListconfigsConfigsAnnounceaddrdnsH>\x88\x01\x01\x12T\n\x18require_confirmed_inputs\x18\x44 \x01(\x0b\x32-.cln.ListconfigsConfigsRequireconfirmedinputsH?\x88\x01\x01\x12\x39\n\ncommit_fee\x18\x45 \x01(\x0b\x32 .cln.ListconfigsConfigsCommitfeeH@\x88\x01\x01\x12N\n\x15\x63ommit_feerate_offset\x18\x46 \x01(\x0b\x32*.cln.ListconfigsConfigsCommitfeerateoffsetHA\x88\x01\x01\x12T\n\x18\x61utoconnect_seeker_peers\x18G \x01(\x0b\x32-.cln.ListconfigsConfigsAutoconnectseekerpeersHB\x88\x01\x01\x12R\n\x17\x63urrencyrate_add_source\x18J \x01(\x0b\x32,.cln.ListconfigsConfigsCurrencyrateaddsourceHC\x88\x01\x01\x12Z\n\x1b\x63urrencyrate_disable_source\x18K \x01(\x0b\x32\x30.cln.ListconfigsConfigsCurrencyratedisablesourceHD\x88\x01\x01\x12K\n\x13independent_secrets\x18L \x01(\x0b\x32).cln.ListconfigsConfigsIndependentsecretsHE\x88\x01\x01\x42\x07\n\x05_confB\x0c\n\n_developerB\x10\n\x0e_clear_pluginsB\x0e\n\x0c_disable_mppB\n\n\x08_mainnetB\n\n\x08_regtestB\t\n\x07_signetB\n\n\x08_testnetB\x13\n\x11_important_pluginB\t\n\x07_pluginB\r\n\x0b_plugin_dirB\x10\n\x0e_lightning_dirB\n\n\x08_networkB\x18\n\x16_allow_deprecated_apisB\x0b\n\t_rpc_fileB\x11\n\x0f_disable_pluginB\x13\n\x11_always_use_proxyB\t\n\x07_daemonB\t\n\x07_walletB\x11\n\x0f_large_channelsB\x19\n\x17_experimental_dual_fundB\x18\n\x16_experimental_splicingB&\n$_experimental_shutdown_wrong_fundingB\x1c\n\x1a_experimental_peer_storageB\x17\n\x15_experimental_anchorsB\x13\n\x11_database_upgradeB\x06\n\x04_rgbB\x08\n\x06_aliasB\x0b\n\t_pid_fileB\x14\n\x12_ignore_fee_limitsB\x13\n\x11_watchtime_blocksB\x13\n\x11_funding_confirmsB\r\n\x0b_cltv_deltaB\r\n\x0b_cltv_finalB\x0e\n\x0c_commit_timeB\x0b\n\t_fee_baseB\t\n\x07_rescanB\x12\n\x10_fee_per_satoshiB\x17\n\x15_max_concurrent_htlcsB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x1e\n\x1c_max_dust_htlc_exposure_msatB\x13\n\x11_min_capacity_satB\x07\n\x05_addrB\x10\n\x0e_announce_addrB\x0c\n\n_bind_addrB\n\n\x08_offlineB\r\n\x0b_autolistenB\x08\n\x06_proxyB\x0e\n\x0c_disable_dnsB\x1b\n\x19_announce_addr_discoveredB \n\x1e_announce_addr_discovered_portB\x10\n\x0e_encrypted_hsmB\x10\n\x0e_rpc_file_modeB\x0c\n\n_log_levelB\r\n\x0b_log_prefixB\x0b\n\t_log_fileB\x11\n\x0f_log_timestampsB\x11\n\x0f_force_feeratesB\x0c\n\n_subdaemonB\x19\n\x17_fetchinvoice_noconnectB\x17\n\x15_tor_service_passwordB\x14\n\x12_announce_addr_dnsB\x1b\n\x19_require_confirmed_inputsB\r\n\x0b_commit_feeB\x18\n\x16_commit_feerate_offsetB\x1b\n\x19_autoconnect_seeker_peersB\x1a\n\x18_currencyrate_add_sourceB\x1e\n\x1c_currencyrate_disable_sourceB\x16\n\x14_independent_secrets\"=\n\x16ListconfigsConfigsAddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsAlias\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"K\n%ListconfigsConfigsAllowdeprecatedapis\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n ListconfigsConfigsAlwaysuseproxy\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1eListconfigsConfigsAnnounceaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"\x80\x02\n(ListconfigsConfigsAnnounceaddrdiscovered\x12q\n\tvalue_str\x18\x01 \x01(\x0e\x32^.cln.ListconfigsConfigsAnnounceaddrdiscovered.ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n0ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x08\n\x04TRUE\x10\x00\x12\t\n\x05\x46\x41LSE\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\"Q\n,ListconfigsConfigsAnnounceaddrdiscoveredport\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsAnnounceaddrdns\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n(ListconfigsConfigsAutoconnectseekerpeers\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1cListconfigsConfigsAutolisten\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1aListconfigsConfigsBindaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsClearplugins\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvdelta\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvfinal\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCommitfee\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\"J\n%ListconfigsConfigsCommitfeerateoffset\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1cListconfigsConfigsCommittime\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\xa2\x01\n\x16ListconfigsConfigsConf\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12H\n\x06source\x18\x02 \x01(\x0e\x32\x38.cln.ListconfigsConfigsConf.ListconfigsConfigsConfSource\"+\n\x1cListconfigsConfigsConfSource\x12\x0b\n\x07\x43MDLINE\x10\x00\"n\n\'ListconfigsConfigsCurrencyrateaddsource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"r\n+ListconfigsConfigsCurrencyratedisablesource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"7\n\x18ListconfigsConfigsDaemon\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsDatabaseupgrade\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x1bListconfigsConfigsDeveloper\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\";\n\x1cListconfigsConfigsDisabledns\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"[\n\x1cListconfigsConfigsDisablempp\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"F\n\x1fListconfigsConfigsDisableplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsEncryptedhsm\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n%ListconfigsConfigsExperimentalanchors\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n&ListconfigsConfigsExperimentaldualfund\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n)ListconfigsConfigsExperimentalpeerstorage\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n2ListconfigsConfigsExperimentalshutdownwrongfunding\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n&ListconfigsConfigsExperimentalsplicing\x12\x0f\n\x03set\x18\x01 \x01(\x08\x42\x02\x18\x01\x12\x12\n\x06source\x18\x02 \x01(\tB\x02\x18\x01\">\n\x19ListconfigsConfigsFeebase\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n\x1fListconfigsConfigsFeepersatoshi\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"f\n\'ListconfigsConfigsFetchinvoicenoconnect\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"D\n\x1fListconfigsConfigsForcefeerates\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsFundingconfirms\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcmaximummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcminimummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsIgnorefeelimits\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n!ListconfigsConfigsImportantplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"C\n$ListconfigsConfigsIndependentsecrets\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x1fListconfigsConfigsLargechannels\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"C\n\x1eListconfigsConfigsLightningdir\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x19ListconfigsConfigsLogfile\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"?\n\x1aListconfigsConfigsLoglevel\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsLogprefix\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1fListconfigsConfigsLogtimestamps\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsMainnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsMaxconcurrenthtlcs\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\\\n)ListconfigsConfigsMaxdusthtlcexposuremsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"g\n ListconfigsConfigsMincapacitysat\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x14\n\x07\x64ynamic\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\n\n\x08_dynamic\">\n\x19ListconfigsConfigsNetwork\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsOffline\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsPidfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"?\n\x18ListconfigsConfigsPlugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"B\n\x1bListconfigsConfigsPlugindir\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsProxy\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsRegtest\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"N\n(ListconfigsConfigsRequireconfirmedinputs\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsRescan\x12\x11\n\tvalue_int\x18\x01 \x01(\x12\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x15ListconfigsConfigsRgb\x12\x11\n\tvalue_str\x18\x01 \x01(\x0c\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsRpcfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1dListconfigsConfigsRpcfilemode\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"7\n\x18ListconfigsConfigsSignet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1bListconfigsConfigsSubdaemon\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"8\n\x19ListconfigsConfigsTestnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsTorservicepassword\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsWallet\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsWatchtimeblocks\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\r\n\x0bStopRequest\"a\n\x0cStopResponse\x12,\n\x06result\x18\x01 \x01(\x0e\x32\x1c.cln.StopResponse.StopResult\"#\n\nStopResult\x12\x15\n\x11SHUTDOWN_COMPLETE\x10\x00\"/\n\x0bHelpRequest\x12\x14\n\x07\x63ommand\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_command\"\x95\x01\n\x0cHelpResponse\x12\x1b\n\x04help\x18\x01 \x03(\x0b\x32\r.cln.HelpHelp\x12:\n\x0b\x66ormat_hint\x18\x02 \x01(\x0e\x32 .cln.HelpResponse.HelpFormathintH\x00\x88\x01\x01\"\x1c\n\x0eHelpFormathint\x12\n\n\x06SIMPLE\x10\x00\x42\x0e\n\x0c_format_hint\"\x1b\n\x08HelpHelp\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\"g\n\x18PreapprovekeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\x1b\n\x19PreapprovekeysendResponse\"*\n\x18PreapproveinvoiceRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"\x1b\n\x19PreapproveinvoiceResponse\"\x15\n\x13StaticbackupRequest\"#\n\x14StaticbackupResponse\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"d\n\x16\x42kprchannelsapyRequest\x12\x17\n\nstart_time\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x17\x42kprchannelsapyResponse\x12\x35\n\x0c\x63hannels_apy\x18\x01 \x03(\x0b\x32\x1f.cln.BkprchannelsapyChannelsApy\"\xf9\x06\n\x1a\x42kprchannelsapyChannelsApy\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12$\n\x0frouted_out_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0erouted_in_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12(\n\x13lease_fee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12*\n\x15lease_fee_earned_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x0fpushed_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0epushed_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16our_start_balance_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12/\n\x1a\x63hannel_start_balance_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\rfees_out_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x0c\x66\x65\x65s_in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x17\n\x0futilization_out\x18\x0c \x01(\t\x12$\n\x17utilization_out_initial\x18\r \x01(\tH\x01\x88\x01\x01\x12\x16\n\x0eutilization_in\x18\x0e \x01(\t\x12#\n\x16utilization_in_initial\x18\x0f \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x07\x61py_out\x18\x10 \x01(\t\x12\x1c\n\x0f\x61py_out_initial\x18\x11 \x01(\tH\x03\x88\x01\x01\x12\x0e\n\x06\x61py_in\x18\x12 \x01(\t\x12\x1b\n\x0e\x61py_in_initial\x18\x13 \x01(\tH\x04\x88\x01\x01\x12\x11\n\tapy_total\x18\x14 \x01(\t\x12\x1e\n\x11\x61py_total_initial\x18\x15 \x01(\tH\x05\x88\x01\x01\x12\x16\n\tapy_lease\x18\x16 \x01(\tH\x06\x88\x01\x01\x42\x0f\n\r_fees_in_msatB\x1a\n\x18_utilization_out_initialB\x19\n\x17_utilization_in_initialB\x12\n\x10_apy_out_initialB\x11\n\x0f_apy_in_initialB\x14\n\x12_apy_total_initialB\x0c\n\n_apy_lease\"\xd2\x01\n\x18\x42kprdumpincomecsvRequest\x12\x12\n\ncsv_format\x18\x01 \x01(\t\x12\x15\n\x08\x63sv_file\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x63onsolidate_fees\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\x04H\x03\x88\x01\x01\x42\x0b\n\t_csv_fileB\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"\xd4\x01\n\x19\x42kprdumpincomecsvResponse\x12\x10\n\x08\x63sv_file\x18\x01 \x01(\t\x12M\n\ncsv_format\x18\x02 \x01(\x0e\x32\x39.cln.BkprdumpincomecsvResponse.BkprdumpincomecsvCsvFormat\"V\n\x1a\x42kprdumpincomecsvCsvFormat\x12\x0f\n\x0b\x43OINTRACKER\x10\x00\x12\n\n\x06KOINLY\x10\x01\x12\x0b\n\x07HARMONY\x10\x02\x12\x0e\n\nQUICKBOOKS\x10\x03\"%\n\x12\x42kprinspectRequest\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\"7\n\x13\x42kprinspectResponse\x12 \n\x03txs\x18\x01 \x03(\x0b\x32\x13.cln.BkprinspectTxs\"\x9a\x01\n\x0e\x42kprinspectTxs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x18\n\x0b\x62lockheight\x18\x02 \x01(\rH\x00\x88\x01\x01\x12#\n\x0e\x66\x65\x65s_paid_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x07outputs\x18\x04 \x03(\x0b\x32\x1a.cln.BkprinspectTxsOutputsB\x0e\n\x0c_blockheight\"\xbc\x03\n\x15\x42kprinspectTxsOutputs\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12&\n\x11output_value_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12%\n\x0b\x63redit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12$\n\ndebit_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12 \n\x13originating_account\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x17\n\noutput_tag\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tspend_tag\x18\t \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x42\x0e\n\x0c_credit_msatB\r\n\x0b_debit_msatB\x16\n\x14_originating_accountB\r\n\x0b_output_tagB\x0c\n\n_spend_tagB\x10\n\x0e_spending_txidB\r\n\x0b_payment_id\"h\n\x1c\x42kprlistaccounteventsRequest\x12\x14\n\x07\x61\x63\x63ount\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\npayment_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_accountB\r\n\x0b_payment_id\"Q\n\x1d\x42kprlistaccounteventsResponse\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .cln.BkprlistaccounteventsEvents\"\xcd\x05\n\x1b\x42kprlistaccounteventsEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12S\n\titem_type\x18\x02 \x01(\x0e\x32@.cln.BkprlistaccounteventsEvents.BkprlistaccounteventsEventsType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\t \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\n \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\x0c \x01(\x0cH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x05\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x07\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x08\x88\x01\x01\x12\x19\n\x0c\x63urrencyrate\x18\x11 \x01(\x01H\t\x88\x01\x01\"J\n\x1f\x42kprlistaccounteventsEventsType\x12\x0f\n\x0bONCHAIN_FEE\x10\x00\x12\t\n\x05\x43HAIN\x10\x01\x12\x0b\n\x07\x43HANNEL\x10\x02\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0e\n\x0c_descriptionB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_idB\x0f\n\r_currencyrate\"\x19\n\x17\x42kprlistbalancesRequest\"K\n\x18\x42kprlistbalancesResponse\x12/\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1d.cln.BkprlistbalancesAccounts\"\xc6\x02\n\x18\x42kprlistbalancesAccounts\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x37\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32%.cln.BkprlistbalancesAccountsBalances\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x16\n\twe_opened\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x61\x63\x63ount_closed\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x1d\n\x10\x61\x63\x63ount_resolved\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x1e\n\x11resolved_at_block\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\n\n\x08_peer_idB\x0c\n\n_we_openedB\x11\n\x0f_account_closedB\x13\n\x11_account_resolvedB\x14\n\x12_resolved_at_block\"X\n BkprlistbalancesAccountsBalances\x12!\n\x0c\x62\x61lance_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x02 \x01(\t\"\x97\x01\n\x15\x42kprlistincomeRequest\x12\x1d\n\x10\x63onsolidate_fees\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x17\n\nstart_time\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x16\x42kprlistincomeResponse\x12\x36\n\rincome_events\x18\x01 \x03(\x0b\x32\x1f.cln.BkprlistincomeIncomeEvents\"\xb4\x02\n\x1a\x42kprlistincomeIncomeEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12\x11\n\ttimestamp\x18\x06 \x01(\r\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\n \x01(\x0cH\x03\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_outpointB\x07\n\x05_txidB\r\n\x0b_payment_id\"P\n%BkpreditdescriptionbypaymentidRequest\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"e\n&BkpreditdescriptionbypaymentidResponse\x12;\n\x07updated\x18\x01 \x03(\x0b\x32*.cln.BkpreditdescriptionbypaymentidUpdated\"\xa3\x05\n%BkpreditdescriptionbypaymentidUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12g\n\titem_type\x18\x02 \x01(\x0e\x32T.cln.BkpreditdescriptionbypaymentidUpdated.BkpreditdescriptionbypaymentidUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"C\n)BkpreditdescriptionbypaymentidUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"M\n$BkpreditdescriptionbyoutpointRequest\x12\x10\n\x08outpoint\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"c\n%BkpreditdescriptionbyoutpointResponse\x12:\n\x07updated\x18\x01 \x03(\x0b\x32).cln.BkpreditdescriptionbyoutpointUpdated\"\x9f\x05\n$BkpreditdescriptionbyoutpointUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x65\n\titem_type\x18\x02 \x01(\x0e\x32R.cln.BkpreditdescriptionbyoutpointUpdated.BkpreditdescriptionbyoutpointUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"B\n(BkpreditdescriptionbyoutpointUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"\xb0\x01\n\x11\x42kprreportRequest\x12\x13\n\x06\x66ormat\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x07headers\x18\x02 \x03(\t\x12\x13\n\x06\x65scape\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\rH\x03\x88\x01\x01\x42\t\n\x07_formatB\t\n\x07_escapeB\r\n\x0b_start_timeB\x0b\n\t_end_time\"$\n\x12\x42kprreportResponse\x12\x0e\n\x06report\x18\x01 \x03(\t\"n\n\x14\x42lacklistruneRequest\x12\x12\n\x05start\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03\x65nd\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06relist\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_startB\x06\n\x04_endB\t\n\x07_relist\"G\n\x15\x42lacklistruneResponse\x12.\n\tblacklist\x18\x01 \x03(\x0b\x32\x1b.cln.BlacklistruneBlacklist\"4\n\x16\x42lacklistruneBlacklist\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\"p\n\x10\x43heckruneRequest\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x13\n\x06nodeid\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06params\x18\x04 \x03(\tB\t\n\x07_nodeidB\t\n\x07_method\"\"\n\x11\x43heckruneResponse\x12\r\n\x05valid\x18\x01 \x01(\x08\"E\n\x11\x43reateruneRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0crestrictions\x18\x02 \x03(\tB\x07\n\x05_rune\"{\n\x12\x43reateruneResponse\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12&\n\x19warning_unrestricted_rune\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x1c\n\x1a_warning_unrestricted_rune\".\n\x10ShowrunesRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_rune\"7\n\x11ShowrunesResponse\x12\"\n\x05runes\x18\x01 \x03(\x0b\x32\x13.cln.ShowrunesRunes\"\x9d\x02\n\x0eShowrunesRunes\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x35\n\x0crestrictions\x18\x03 \x03(\x0b\x32\x1f.cln.ShowrunesRunesRestrictions\x12\x1f\n\x17restrictions_as_english\x18\x04 \x01(\t\x12\x13\n\x06stored\x18\x05 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x0b\x62lacklisted\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tlast_used\x18\x07 \x01(\x01H\x02\x88\x01\x01\x12\x15\n\x08our_rune\x18\x08 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_storedB\x0e\n\x0c_blacklistedB\x0c\n\n_last_usedB\x0b\n\t_our_rune\"p\n\x1aShowrunesRunesRestrictions\x12\x41\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32+.cln.ShowrunesRunesRestrictionsAlternatives\x12\x0f\n\x07\x65nglish\x18\x02 \x01(\t\"n\n&ShowrunesRunesRestrictionsAlternatives\x12\x11\n\tfieldname\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x11\n\tcondition\x18\x03 \x01(\t\x12\x0f\n\x07\x65nglish\x18\x04 \x01(\t\"r\n\x17\x41skreneunreserveRequest\x12\'\n\x04path\x18\x01 \x03(\x0b\x32\x19.cln.AskreneunreservePath\x12\x1b\n\x0e\x64\x65v_remove_all\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_dev_remove_all\"\x1a\n\x18\x41skreneunreserveResponse\"t\n\x14\x41skreneunreservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"8\n\x18\x41skrenelistlayersRequest\x12\x12\n\x05layer\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"I\n\x19\x41skrenelistlayersResponse\x12,\n\x06layers\x18\x01 \x03(\x0b\x32\x1c.cln.AskrenelistlayersLayers\"\xaa\x03\n\x17\x41skrenelistlayersLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x16\n\x0e\x64isabled_nodes\x18\x02 \x03(\x0c\x12\x45\n\x10\x63reated_channels\x18\x03 \x03(\x0b\x32+.cln.AskrenelistlayersLayersCreatedChannels\x12<\n\x0b\x63onstraints\x18\x04 \x03(\x0b\x32\'.cln.AskrenelistlayersLayersConstraints\x12\x12\n\npersistent\x18\x05 \x01(\x08\x12\x19\n\x11\x64isabled_channels\x18\x06 \x03(\t\x12\x43\n\x0f\x63hannel_updates\x18\x07 \x03(\x0b\x32*.cln.AskrenelistlayersLayersChannelUpdates\x12\x32\n\x06\x62iases\x18\x08 \x03(\x0b\x32\".cln.AskrenelistlayersLayersBiases\x12;\n\x0bnode_biases\x18\t \x03(\x0b\x32&.cln.AskrenelistlayersLayersNodeBiases\"\x9b\x01\n\x1d\x41skrenelistlayersLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa8\x03\n%AskrenelistlayersLayersChannelUpdates\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x14\n\x07\x65nabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x07 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\xda\x01\n\"AskrenelistlayersLayersConstraints\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x05 \x01(\t\x12\x16\n\ttimestamp\x18\x06 \x01(\x04H\x02\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msatB\x0c\n\n_timestamp\"\x8b\x01\n&AskrenelistlayersLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x91\x01\n!AskrenelistlayersLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"R\n\x19\x41skrenecreatelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x17\n\npersistent\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_persistent\"K\n\x1a\x41skrenecreatelayerResponse\x12-\n\x06layers\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenecreatelayerLayers\"\xb0\x03\n\x18\x41skrenecreatelayerLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x12\n\npersistent\x18\x02 \x01(\x08\x12\x16\n\x0e\x64isabled_nodes\x18\x03 \x03(\x0c\x12\x19\n\x11\x64isabled_channels\x18\x04 \x03(\t\x12\x46\n\x10\x63reated_channels\x18\x05 \x03(\x0b\x32,.cln.AskrenecreatelayerLayersCreatedChannels\x12\x44\n\x0f\x63hannel_updates\x18\x06 \x03(\x0b\x32+.cln.AskrenecreatelayerLayersChannelUpdates\x12=\n\x0b\x63onstraints\x18\x07 \x03(\x0b\x32(.cln.AskrenecreatelayerLayersConstraints\x12\x33\n\x06\x62iases\x18\x08 \x03(\x0b\x32#.cln.AskrenecreatelayerLayersBiases\x12<\n\x0bnode_biases\x18\t \x03(\x0b\x32\'.cln.AskrenecreatelayerLayersNodeBiases\"\x9c\x01\n\x1e\x41skrenecreatelayerLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xd1\x02\n&AskrenecreatelayerLayersChannelUpdates\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x05 \x01(\rH\x04\x88\x01\x01\x42\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x08\n\x06_delay\"\xc4\x01\n#AskrenecreatelayerLayersConstraints\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\r\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8c\x01\n\'AskrenecreatelayerLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x92\x01\n\"AskrenecreatelayerLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"*\n\x19\x41skreneremovelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\"\x1c\n\x1a\x41skreneremovelayerResponse\"P\n!AskreneremovechannelupdateRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\"$\n\"AskreneremovechannelupdateResponse\">\n\x15\x41skrenereserveRequest\x12%\n\x04path\x18\x01 \x03(\x0b\x32\x17.cln.AskrenereservePath\"\x18\n\x16\x41skrenereserveResponse\"r\n\x12\x41skrenereservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"2\n\x11\x41skreneageRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06\x63utoff\x18\x02 \x01(\x04\"8\n\x12\x41skreneageResponse\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x13\n\x0bnum_removed\x18\x02 \x01(\x04\"\xe7\x01\n\x10GetroutesRequest\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12 \n\x0bmaxfee_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\nfinal_cltv\x18\x07 \x01(\r\x12\x15\n\x08maxdelay\x18\x08 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08maxparts\x18\t \x01(\rH\x01\x88\x01\x01\x42\x0b\n\t_maxdelayB\x0b\n\t_maxparts\"R\n\x11GetroutesResponse\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12$\n\x06routes\x18\x02 \x03(\x0b\x32\x14.cln.GetroutesRoutes\"\x88\x01\n\x0fGetroutesRoutes\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x04path\x18\x03 \x03(\x0b\x32\x18.cln.GetroutesRoutesPath\x12\x12\n\nfinal_cltv\x18\x04 \x01(\r\"\xd4\x03\n\x13GetroutesRoutesPath\x12)\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12\x1d\n\x0cnext_node_id\x18\x04 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x16\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12(\n\x0e\x61mount_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x17\n\nnode_id_in\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x14\n\x07\x63ltv_in\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\x0c \x01(\rH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0f\n\r_next_node_idB\x08\n\x06_delayB\x11\n\x0f_amount_in_msatB\x12\n\x10_amount_out_msatB\r\n\x0b_node_id_inB\x0e\n\x0c_node_id_outB\n\n\x08_cltv_inB\x0b\n\t_cltv_out\"8\n\x19\x41skrenedisablenodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\"\x1c\n\x1a\x41skrenedisablenodeResponse\"\x8a\x02\n\x1b\x41skreneinformchannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12K\n\x06inform\x18\x08 \x01(\x0e\x32;.cln.AskreneinformchannelRequest.AskreneinformchannelInform\"O\n\x1a\x41skreneinformchannelInform\x12\x0f\n\x0b\x43ONSTRAINED\x10\x00\x12\x11\n\rUNCONSTRAINED\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\"Y\n\x1c\x41skreneinformchannelResponse\x12\x39\n\x0b\x63onstraints\x18\x02 \x03(\x0b\x32$.cln.AskreneinformchannelConstraints\"\xd3\x01\n\x1f\x41skreneinformchannelConstraints\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\r\n\x05layer\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\x04\x12&\n\x0cmaximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8f\x01\n\x1b\x41skrenecreatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x03 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x04 \x01(\t\x12\"\n\rcapacity_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"\x1e\n\x1c\x41skrenecreatechannelResponse\"\xad\x03\n\x1b\x41skreneupdatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x14\n\x07\x65nabled\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x08 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\x1e\n\x1c\x41skreneupdatechannelResponse\"\xa4\x01\n\x19\x41skrenebiaschannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"K\n\x1a\x41skrenebiaschannelResponse\x12-\n\x06\x62iases\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenebiaschannelBiases\"\xa5\x01\n\x18\x41skrenebiaschannelBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x05 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa4\x01\n\x16\x41skrenebiasnodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x11\n\tdirection\x18\x03 \x01(\t\x12\x0c\n\x04\x62ias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x06 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"N\n\x17\x41skrenebiasnodeResponse\x12\x33\n\x0bnode_biases\x18\x01 \x03(\x0b\x32\x1e.cln.AskrenebiasnodeNodeBiases\"\x98\x01\n\x19\x41skrenebiasnodeNodeBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x03 \x01(\x12\x12\x10\n\x08out_bias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x06 \x01(\x04\x42\x0e\n\x0c_description\" \n\x1e\x41skrenelistreservationsRequest\"a\n\x1f\x41skrenelistreservationsResponse\x12>\n\x0creservations\x18\x01 \x03(\x0b\x32(.cln.AskrenelistreservationsReservations\"\x91\x01\n#AskrenelistreservationsReservations\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x16\n\x0e\x61ge_in_seconds\x18\x03 \x01(\x04\x12\x12\n\ncommand_id\x18\x04 \x01(\t\"\xf5\x02\n\x19InjectpaymentonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x63ltv_expiry\x18\x04 \x01(\r\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x0f\n\x07groupid\x18\x06 \x01(\x04\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12*\n\x10\x64\x65stination_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x0b \x01(\x0cH\x04\x88\x01\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x10\n\x0e_localinvreqidB\x13\n\x11_destination_msatB\x0e\n\x0c_destination\"w\n\x1aInjectpaymentonionResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\x04\x12\x14\n\x0c\x63ompleted_at\x18\x02 \x01(\x04\x12\x15\n\rcreated_index\x18\x03 \x01(\x04\x12\x18\n\x10payment_preimage\x18\x04 \x01(\x0c\">\n\x19InjectonionmessageRequest\x12\x10\n\x08path_key\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"\x1c\n\x1aInjectonionmessageResponse\"\xbb\x03\n\x0bXpayRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x02\x88\x01\x01\x12&\n\x0cpartial_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\x12\n\x05label\x18\t \x01(\tH\x06\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\n \x01(\x0cH\x07\x88\x01\x01\x12\x1b\n\x0e\x64\x65v_use_shadow\x18\x0b \x01(\x08H\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0f\n\r_partial_msatB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_labelB\x10\n\x0e_localinvreqidB\x11\n\x0f_dev_use_shadow\"\xa1\x01\n\x0cXpayResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"=\n\x19SignmessagewithkeyRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"`\n\x1aSignmessagewithkeyResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x0e\n\x06\x62\x61se64\x18\x04 \x01(\t\"\xcd\x01\n\x17ListchannelmovesRequest\x12\x46\n\x05index\x18\x01 \x01(\x0e\x32\x32.cln.ListchannelmovesRequest.ListchannelmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"$\n\x15ListchannelmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"S\n\x18ListchannelmovesResponse\x12\x37\n\x0c\x63hannelmoves\x18\x01 \x03(\x0b\x32!.cln.ListchannelmovesChannelmoves\"\xa9\x04\n\x1cListchannelmovesChannelmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12]\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32H.cln.ListchannelmovesChannelmoves.ListchannelmovesChannelmovesPrimaryTag\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x07part_id\x18\x08 \x01(\x04H\x01\x88\x01\x01\x12\x15\n\x08group_id\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x1e\n\tfees_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\"\x96\x01\n&ListchannelmovesChannelmovesPrimaryTag\x12\x0b\n\x07INVOICE\x10\x00\x12\n\n\x06ROUTED\x10\x01\x12\n\n\x06PUSHED\x10\x02\x12\r\n\tLEASE_FEE\x10\x03\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x04\x12\x0f\n\x0bPENALTY_ADJ\x10\x05\x12\x11\n\rJOURNAL_ENTRY\x10\x06\x42\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_id\"\xc5\x01\n\x15ListchainmovesRequest\x12\x42\n\x05index\x18\x01 \x01(\x0e\x32..cln.ListchainmovesRequest.ListchainmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"\"\n\x13ListchainmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"K\n\x16ListchainmovesResponse\x12\x31\n\nchainmoves\x18\x01 \x03(\x0b\x32\x1d.cln.ListchainmovesChainmoves\"\xd4\x06\n\x18ListchainmovesChainmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12U\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32@.cln.ListchainmovesChainmoves.ListchainmovesChainmovesPrimaryTag\x12\x14\n\x07peer_id\x18\x08 \x01(\x0cH\x00\x88\x01\x01\x12 \n\x13originating_account\x18\t \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x02\x88\x01\x01\x12\x1b\n\x04utxo\x18\x0b \x01(\x0b\x32\r.cln.Outpoint\x12\x19\n\x0cpayment_hash\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12 \n\x0boutput_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0coutput_count\x18\x0e \x01(\rH\x04\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0f \x01(\r\x12\x12\n\nextra_tags\x18\x10 \x03(\t\"\x95\x02\n\"ListchainmovesChainmovesPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x42\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x10\n\x0e_spending_txidB\x0f\n\r_payment_hashB\x0f\n\r_output_count\"\xe9\x01\n\x18ListnetworkeventsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12H\n\x05index\x18\x02 \x01(\x0e\x32\x34.cln.ListnetworkeventsRequest.ListnetworkeventsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"%\n\x16ListnetworkeventsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"W\n\x19ListnetworkeventsResponse\x12:\n\rnetworkevents\x18\x01 \x03(\x0b\x32#.cln.ListnetworkeventsNetworkevents\"\xf2\x01\n\x1eListnetworkeventsNetworkevents\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x0f\n\x07peer_id\x18\x03 \x01(\x0c\x12\x11\n\titem_type\x18\x04 \x01(\t\x12\x13\n\x06reason\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rduration_nsec\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x1e\n\x11\x63onnect_attempted\x18\x07 \x01(\x08H\x02\x88\x01\x01\x42\t\n\x07_reasonB\x10\n\x0e_duration_nsecB\x14\n\x12_connect_attempted\"/\n\x16\x44\x65lnetworkeventRequest\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\"\x19\n\x17\x44\x65lnetworkeventResponse\"\xf6\x01\n\x1a\x43lnrestregisterpathRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x12\n\nrpc_method\x18\x02 \x01(\t\x12H\n\x11rune_restrictions\x18\x03 \x01(\x0b\x32(.cln.ClnrestregisterpathRuneRestrictionsH\x00\x88\x01\x01\x12\x1a\n\rrune_required\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x18\n\x0bhttp_method\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x14\n\x12_rune_restrictionsB\x10\n\x0e_rune_requiredB\x0e\n\x0c_http_method\"\x1d\n\x1b\x43lnrestregisterpathResponse\"\xda\x01\n#ClnrestregisterpathRuneRestrictions\x12\x13\n\x06nodeid\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x44\n\x06params\x18\x03 \x03(\x0b\x32\x34.cln.ClnrestregisterpathRuneRestrictions.ParamsEntry\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_nodeidB\t\n\x07_method\",\n\x18ListcurrencyratesRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\"W\n\x19ListcurrencyratesResponse\x12:\n\rcurrencyrates\x18\x01 \x03(\x0b\x32#.cln.ListcurrencyratesCurrencyrates\"@\n\x1eListcurrencyratesCurrencyrates\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x01\":\n\x16\x43urrencyconvertRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x10\n\x08\x63urrency\x18\x02 \x01(\t\"4\n\x17\x43urrencyconvertResponse\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\"G\n\x13\x43urrencyrateRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_source\"$\n\x14\x43urrencyrateResponse\x12\x0c\n\x04rate\x18\x01 \x01(\x01\"\x95\x02\n\x11SendamountRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x17\n\npayer_note\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x12\n\x05label\x18\x08 \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_label\"\xa7\x01\n\x12SendamountResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"e\n\x12\x43reateproofRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\x11\n\x04note\x18\x02 \x01(\tH\x00\x88\x01\x01\x12 \n\x07include\x18\x03 \x03(\x0b\x32\x0f.cln.ProofFieldB\x07\n\x05_note\"=\n\x13\x43reateproofResponse\x12&\n\x06proofs\x18\x01 \x03(\x0b\x32\x16.cln.CreateproofProofs\"\xb6\x01\n\x11\x43reateproofProofs\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\x12.\n\x15offer_fields_included\x18\x02 \x03(\x0b\x32\x0f.cln.ProofField\x12/\n\x16invreq_fields_included\x18\x03 \x03(\x0b\x32\x0f.cln.ProofField\x12\x30\n\x17invoice_fields_included\x18\x04 \x03(\x0b\x32\x0f.cln.ProofField\"\xd7\x02\n\x0fXkeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x05 \x03(\t\x12\x16\n\tretry_for\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x36\n\textratlvs\x18\x08 \x03(\x0b\x32#.cln.XkeysendRequest.ExtratlvsEntry\x1a\x30\n\x0e\x45xtratlvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x08\n\x06_labelB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelay\"\xa5\x01\n\x10XkeysendResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"3\n\x0fGracefulRequest\x12\x14\n\x07timeout\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\"H\n\x10GracefulResponse\x12\x1d\n\x15pending_htlc_expiries\x18\x01 \x03(\r\x12\x15\n\rpending_peers\x18\x02 \x03(\x0c\"\x1e\n\x1cStreamBalanceSnapshotRequest\"\x86\x01\n\x1b\x42\x61lanceSnapshotNotification\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\r\x12.\n\x08\x61\x63\x63ounts\x18\x04 \x03(\x0b\x32\x1c.cln.BalanceSnapshotAccounts\"c\n\x17\x42\x61lanceSnapshotAccounts\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12!\n\x0c\x62\x61lance_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x03 \x01(\t\"\x19\n\x17StreamBlockAddedRequest\"6\n\x16\x42lockAddedNotification\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0e\n\x06height\x18\x02 \x01(\r\" \n\x1eStreamChannelOpenFailedRequest\"3\n\x1d\x43hannelOpenFailedNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"\x1c\n\x1aStreamChannelOpenedRequest\"w\n\x19\x43hannelOpenedNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12!\n\x0c\x66unding_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\x12\x15\n\rchannel_ready\x18\x04 \x01(\x08\"\"\n StreamChannelStateChangedRequest\"\xc1\x03\n\x1f\x43hannelStateChangedNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x04 \x01(\t\x12)\n\told_state\x18\x05 \x01(\x0e\x32\x11.cln.ChannelStateH\x01\x88\x01\x01\x12$\n\tnew_state\x18\x06 \x01(\x0e\x32\x11.cln.ChannelState\x12L\n\x05\x63\x61use\x18\x07 \x01(\x0e\x32=.cln.ChannelStateChangedNotification.ChannelStateChangedCause\x12\x14\n\x07message\x18\x08 \x01(\tH\x02\x88\x01\x01\"c\n\x18\x43hannelStateChangedCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\x13\n\x11_short_channel_idB\x0c\n\n_old_stateB\n\n\x08_message\"\x16\n\x14StreamConnectRequest\"\xbe\x01\n\x17PeerConnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x44\n\tdirection\x18\x02 \x01(\x0e\x32\x31.cln.PeerConnectNotification.PeerConnectDirection\x12(\n\x07\x61\x64\x64ress\x18\x03 \x01(\x0b\x32\x17.cln.PeerConnectAddress\"\'\n\x14PeerConnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\x9a\x02\n\x12PeerConnectAddress\x12\x41\n\titem_type\x18\x01 \x01(\x0e\x32..cln.PeerConnectAddress.PeerConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"c\n\x16PeerConnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"\x1b\n\x19StreamCoinMovementRequest\"\xaf\x0b\n\x18\x43oinMovementNotification\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x11\n\tcoin_type\x18\x02 \x01(\t\x12\x0f\n\x07node_id\x18\x03 \x01(\x0c\x12\x41\n\titem_type\x18\x04 \x01(\x0e\x32..cln.CoinMovementNotification.CoinMovementType\x12\x1a\n\rcreated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\naccount_id\x18\x06 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12\x10\n\x04tags\x18\n \x03(\tB\x02\x18\x01\x12N\n\x0bprimary_tag\x18\x0b \x01(\x0e\x32\x34.cln.CoinMovementNotification.CoinMovementPrimaryTagH\x01\x88\x01\x01\x12\x12\n\nextra_tags\x18\x0c \x03(\t\x12\x19\n\x0cpayment_hash\x18\r \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07part_id\x18\x0e \x01(\x04H\x03\x88\x01\x01\x12\x15\n\x08group_id\x18\x0f \x01(\x04H\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12 \n\x04utxo\x18\x11 \x01(\x0b\x32\r.cln.OutpointH\x06\x88\x01\x01\x12\x14\n\x07peer_id\x18\x12 \x01(\x0cH\x07\x88\x01\x01\x12 \n\x13originating_account\x18\x13 \x01(\tH\x08\x88\x01\x01\x12\x15\n\x04txid\x18\x14 \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12\x1a\n\rspending_txid\x18\x15 \x01(\x0cH\n\x88\x01\x01\x12\x1a\n\tutxo_txid\x18\x16 \x01(\x0c\x42\x02\x18\x01H\x0b\x88\x01\x01\x12\x15\n\x04vout\x18\x17 \x01(\rB\x02\x18\x01H\x0c\x88\x01\x01\x12%\n\x0boutput_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x19\n\x0coutput_count\x18\x19 \x01(\rH\x0e\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\x1a \x01(\rH\x0f\x88\x01\x01\"\xf7\x02\n\x16\x43oinMovementPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x12\x0b\n\x07INVOICE\x10\x10\x12\n\n\x06ROUTED\x10\x11\x12\n\n\x06PUSHED\x10\x12\x12\r\n\tLEASE_FEE\x10\x13\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x14\x12\x0f\n\x0bPENALTY_ADJ\x10\x15\x12\x11\n\rJOURNAL_ENTRY\x10\x16\"2\n\x10\x43oinMovementType\x12\x0f\n\x0b\x43HANNEL_MVT\x10\x00\x12\r\n\tCHAIN_MVT\x10\x01\x42\x10\n\x0e_created_indexB\x0e\n\x0c_primary_tagB\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_idB\x0c\n\n_fees_msatB\x07\n\x05_utxoB\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x07\n\x05_txidB\x10\n\x0e_spending_txidB\x0c\n\n_utxo_txidB\x07\n\x05_voutB\x0e\n\x0c_output_msatB\x0f\n\r_output_countB\x0e\n\x0c_blockheight\"\x18\n\x16StreamCustomMsgRequest\"9\n\x15\x43ustomMsgNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\" \n\x1eStreamDeprecatedOneshotRequest\"6\n\x1d\x44\x65precatedOneshotNotification\x12\x15\n\rdeprecated_ok\x18\x01 \x01(\x08\"\x19\n\x17StreamDisconnectRequest\"$\n\x16\x44isconnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\"\x1b\n\x19StreamForwardEventRequest\"\x88\x05\n\x18\x46orwardEventNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x12\n\nin_channel\x18\x02 \x01(\t\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x08out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12@\n\x06status\x18\x07 \x01(\x0e\x32\x30.cln.ForwardEventNotification.ForwardEventStatus\x12\x15\n\x08\x66\x61ilcode\x18\x08 \x01(\rH\x03\x88\x01\x01\x12\x17\n\nfailreason\x18\t \x01(\tH\x04\x88\x01\x01\x12\x43\n\x05style\x18\n \x01(\x0e\x32/.cln.ForwardEventNotification.ForwardEventStyleH\x05\x88\x01\x01\x12\x15\n\rreceived_time\x18\x0b \x01(\x01\x12\x1a\n\rresolved_time\x18\x0c \x01(\x01H\x06\x88\x01\x01\"L\n\x12\x46orwardEventStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"(\n\x11\x46orwardEventStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_out_msatB\x0b\n\t_fee_msatB\x0b\n\t_failcodeB\r\n\x0b_failreasonB\x08\n\x06_styleB\x10\n\x0e_resolved_time\"\x1e\n\x1cStreamInvoiceCreationRequest\"g\n\x1bInvoiceCreationNotification\x12\x1e\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12\r\n\x05label\x18\x03 \x01(\tB\x07\n\x05_msat\"\x1d\n\x1bStreamInvoicePaymentRequest\"\x8b\x01\n\x1aInvoicePaymentNotification\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12$\n\x08outpoint\x18\x03 \x01(\x0b\x32\r.cln.OutpointH\x00\x88\x01\x01\x12\r\n\x05label\x18\x04 \x01(\tB\x0b\n\t_outpoint\"\x12\n\x10StreamLogRequest\"\xca\x01\n\x0fLogNotification\x12,\n\x05level\x18\x01 \x01(\x0e\x32\x1d.cln.LogNotification.LogLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"K\n\x08LogLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05TRACE\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07UNUSUAL\x10\x04\x12\n\n\x06\x42ROKEN\x10\x05\"&\n$StreamOnionMessageForwardFailRequest\"\xef\x01\n#OnionMessageForwardFailNotification\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x10\n\x08incoming\x18\x02 \x01(\x0c\x12\x10\n\x08path_key\x18\x03 \x01(\x0c\x12\x15\n\x08outgoing\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x19\n\x0cnext_node_id\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12&\n\x19next_short_channel_id_dir\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_outgoingB\x0f\n\r_next_node_idB\x1c\n\x1a_next_short_channel_id_dir\"\"\n StreamOpenChannelPeerSigsRequest\"J\n\x1fOpenChannelPeerSigsNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"\x1c\n\x1aStreamPluginStartedRequest\"V\n\x19PluginStartedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1c\n\x1aStreamPluginStoppedRequest\"V\n\x19PluginStoppedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1d\n\x1bStreamSendPayFailureRequest\"b\n\x1aSendPayFailureNotification\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x17.cln.SendpayFailureData\"\xc1\t\n\x12SendpayFailureData\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x06\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x17\n\ncreated_at\x18\n \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\n\x88\x01\x01\x12\x45\n\x06status\x18\x0c \x01(\x0e\x32\x30.cln.SendpayFailureData.SendpayFailureDataStatusH\x0b\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x0c\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\r\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x0e\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x0f\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\x10\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\x11\x88\x01\x01\x12\x17\n\nonionreply\x18\x13 \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0c\x65rring_index\x18\x14 \x01(\rH\x13\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x15 \x01(\rH\x14\x88\x01\x01\x12\x19\n\x0c\x66\x61ilcodename\x18\x16 \x01(\tH\x15\x88\x01\x01\x12\x18\n\x0b\x65rring_node\x18\x17 \x01(\x0cH\x16\x88\x01\x01\x12\x1b\n\x0e\x65rring_channel\x18\x18 \x01(\tH\x17\x88\x01\x01\x12\x1d\n\x10\x65rring_direction\x18\x19 \x01(\rH\x18\x88\x01\x01\x12\x18\n\x0braw_message\x18\x1a \x01(\x0cH\x19\x88\x01\x01\"A\n\x18SendpayFailureDataStatus\x12\n\n\x06\x46\x41ILED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x10\n\x0e_created_indexB\x05\n\x03_idB\x0f\n\r_payment_hashB\n\n\x08_groupidB\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_created_atB\x0f\n\r_completed_atB\t\n\x07_statusB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronionB\r\n\x0b_onionreplyB\x0f\n\r_erring_indexB\x0b\n\t_failcodeB\x0f\n\r_failcodenameB\x0e\n\x0c_erring_nodeB\x11\n\x0f_erring_channelB\x13\n\x11_erring_directionB\x0e\n\x0c_raw_message\"\x1d\n\x1bStreamSendPaySuccessRequest\"\xcc\x05\n\x1aSendPaySuccessNotification\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\ncreated_at\x18\n \x01(\x04\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32\x34.cln.SendPaySuccessNotification.SendpaySuccessStatus\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x05\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\n\x88\x01\x01\"$\n\x14SendpaySuccessStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x0f\n\r_completed_atB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronion\"\x17\n\x15StreamShutdownRequest\"\x16\n\x14ShutdownNotification\"\x16\n\x14StreamWarningRequest\"\xae\x01\n\x13WarningNotification\x12\x34\n\x05level\x18\x01 \x01(\x0e\x32%.cln.WarningNotification.WarningLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"#\n\x0cWarningLevel\x12\x08\n\x04WARN\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"\x19\n\x17StreamPayPartEndRequest\"\xf1\x03\n\x16PayPartEndNotification\x12<\n\x06status\x18\x01 \x01(\x0e\x32,.cln.PayPartEndNotification.PayPartEndStatus\x12\x10\n\x08\x64uration\x18\x02 \x01(\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x17\n\nfailed_msg\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x61iled_node_id\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12$\n\x17\x66\x61iled_short_channel_id\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10\x66\x61iled_direction\x18\t \x01(\rH\x03\x88\x01\x01\x12\x17\n\nerror_code\x18\n \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rerror_message\x18\x0b \x01(\tH\x05\x88\x01\x01\",\n\x10PayPartEndStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x0b\n\x07\x46\x41ILURE\x10\x01\x42\r\n\x0b_failed_msgB\x11\n\x0f_failed_node_idB\x1a\n\x18_failed_short_channel_idB\x13\n\x11_failed_directionB\r\n\x0b_error_codeB\x10\n\x0e_error_message\"\x1b\n\x19StreamPayPartStartRequest\"\xc2\x01\n\x18PayPartStartNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x0e\n\x06partid\x18\x03 \x01(\x04\x12\'\n\x12total_payment_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x0c\x61ttempt_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x04hops\x18\x06 \x03(\x0b\x32\x15.cln.PayPartStartHops\"\x9f\x01\n\x10PayPartStartHops\x12\x11\n\tnext_node\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\r\x12$\n\x0f\x63hannel_in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x63hannel_out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount2\xbah\n\x04Node\x12\x36\n\x07Getinfo\x12\x13.cln.GetinfoRequest\x1a\x14.cln.GetinfoResponse\"\x00\x12<\n\tListPeers\x12\x15.cln.ListpeersRequest\x1a\x16.cln.ListpeersResponse\"\x00\x12<\n\tListFunds\x12\x15.cln.ListfundsRequest\x1a\x16.cln.ListfundsResponse\"\x00\x12\x36\n\x07SendPay\x12\x13.cln.SendpayRequest\x1a\x14.cln.SendpayResponse\"\x00\x12\x45\n\x0cListChannels\x12\x18.cln.ListchannelsRequest\x1a\x19.cln.ListchannelsResponse\"\x00\x12<\n\tAddGossip\x12\x15.cln.AddgossipRequest\x1a\x16.cln.AddgossipResponse\"\x00\x12H\n\rAddPsbtOutput\x12\x19.cln.AddpsbtoutputRequest\x1a\x1a.cln.AddpsbtoutputResponse\"\x00\x12H\n\rAutoCleanOnce\x12\x19.cln.AutocleanonceRequest\x1a\x1a.cln.AutocleanonceResponse\"\x00\x12N\n\x0f\x41utoCleanStatus\x12\x1b.cln.AutocleanstatusRequest\x1a\x1c.cln.AutocleanstatusResponse\"\x00\x12\x45\n\x0c\x43heckMessage\x12\x18.cln.CheckmessageRequest\x1a\x19.cln.CheckmessageResponse\"\x00\x12\x30\n\x05\x43lose\x12\x11.cln.CloseRequest\x1a\x12.cln.CloseResponse\"\x00\x12:\n\x0b\x43onnectPeer\x12\x13.cln.ConnectRequest\x1a\x14.cln.ConnectResponse\"\x00\x12H\n\rCreateInvoice\x12\x19.cln.CreateinvoiceRequest\x1a\x1a.cln.CreateinvoiceResponse\"\x00\x12<\n\tDatastore\x12\x15.cln.DatastoreRequest\x1a\x16.cln.DatastoreResponse\"\x00\x12K\n\x0e\x44\x61tastoreUsage\x12\x1a.cln.DatastoreusageRequest\x1a\x1b.cln.DatastoreusageResponse\"\x00\x12\x42\n\x0b\x43reateOnion\x12\x17.cln.CreateonionRequest\x1a\x18.cln.CreateonionResponse\"\x00\x12\x45\n\x0c\x44\x65lDatastore\x12\x18.cln.DeldatastoreRequest\x1a\x19.cln.DeldatastoreResponse\"\x00\x12?\n\nDelInvoice\x12\x16.cln.DelinvoiceRequest\x1a\x17.cln.DelinvoiceResponse\"\x00\x12Q\n\x10\x44\x65vForgetChannel\x12\x1c.cln.DevforgetchannelRequest\x1a\x1d.cln.DevforgetchannelResponse\"\x00\x12Q\n\x10\x45mergencyRecover\x12\x1c.cln.EmergencyrecoverRequest\x1a\x1d.cln.EmergencyrecoverResponse\"\x00\x12\x66\n\x17GetEmergencyRecoverData\x12#.cln.GetemergencyrecoverdataRequest\x1a$.cln.GetemergencyrecoverdataResponse\"\x00\x12\x45\n\x0c\x45xposeSecret\x12\x18.cln.ExposesecretRequest\x1a\x19.cln.ExposesecretResponse\"\x00\x12\x36\n\x07Recover\x12\x13.cln.RecoverRequest\x1a\x14.cln.RecoverResponse\"\x00\x12K\n\x0eRecoverChannel\x12\x1a.cln.RecoverchannelRequest\x1a\x1b.cln.RecoverchannelResponse\"\x00\x12\x36\n\x07Invoice\x12\x13.cln.InvoiceRequest\x1a\x14.cln.InvoiceResponse\"\x00\x12Q\n\x14\x43reateInvoiceRequest\x12\x1a.cln.InvoicerequestRequest\x1a\x1b.cln.InvoicerequestResponse\"\x00\x12`\n\x15\x44isableInvoiceRequest\x12!.cln.DisableinvoicerequestRequest\x1a\".cln.DisableinvoicerequestResponse\"\x00\x12Z\n\x13ListInvoiceRequests\x12\x1f.cln.ListinvoicerequestsRequest\x1a .cln.ListinvoicerequestsResponse\"\x00\x12H\n\rListDatastore\x12\x19.cln.ListdatastoreRequest\x1a\x1a.cln.ListdatastoreResponse\"\x00\x12\x45\n\x0cListInvoices\x12\x18.cln.ListinvoicesRequest\x1a\x19.cln.ListinvoicesResponse\"\x00\x12<\n\tSendOnion\x12\x15.cln.SendonionRequest\x1a\x16.cln.SendonionResponse\"\x00\x12\x45\n\x0cListSendPays\x12\x18.cln.ListsendpaysRequest\x1a\x19.cln.ListsendpaysResponse\"\x00\x12Q\n\x10ListTransactions\x12\x1c.cln.ListtransactionsRequest\x1a\x1d.cln.ListtransactionsResponse\"\x00\x12?\n\nMakeSecret\x12\x16.cln.MakesecretRequest\x1a\x17.cln.MakesecretResponse\"\x00\x12*\n\x03Pay\x12\x0f.cln.PayRequest\x1a\x10.cln.PayResponse\"\x00\x12<\n\tListNodes\x12\x15.cln.ListnodesRequest\x1a\x16.cln.ListnodesResponse\"\x00\x12K\n\x0eWaitAnyInvoice\x12\x1a.cln.WaitanyinvoiceRequest\x1a\x1b.cln.WaitanyinvoiceResponse\"\x00\x12\x42\n\x0bWaitInvoice\x12\x17.cln.WaitinvoiceRequest\x1a\x18.cln.WaitinvoiceResponse\"\x00\x12\x42\n\x0bWaitSendPay\x12\x17.cln.WaitsendpayRequest\x1a\x18.cln.WaitsendpayResponse\"\x00\x12\x36\n\x07NewAddr\x12\x13.cln.NewaddrRequest\x1a\x14.cln.NewaddrResponse\"\x00\x12\x39\n\x08Withdraw\x12\x14.cln.WithdrawRequest\x1a\x15.cln.WithdrawResponse\"\x00\x12\x36\n\x07KeySend\x12\x13.cln.KeysendRequest\x1a\x14.cln.KeysendResponse\"\x00\x12\x39\n\x08\x46undPsbt\x12\x14.cln.FundpsbtRequest\x1a\x15.cln.FundpsbtResponse\"\x00\x12\x39\n\x08SendPsbt\x12\x14.cln.SendpsbtRequest\x1a\x15.cln.SendpsbtResponse\"\x00\x12\x39\n\x08SignPsbt\x12\x14.cln.SignpsbtRequest\x1a\x15.cln.SignpsbtResponse\"\x00\x12\x39\n\x08UtxoPsbt\x12\x14.cln.UtxopsbtRequest\x1a\x15.cln.UtxopsbtResponse\"\x00\x12<\n\tTxDiscard\x12\x15.cln.TxdiscardRequest\x1a\x16.cln.TxdiscardResponse\"\x00\x12<\n\tTxPrepare\x12\x15.cln.TxprepareRequest\x1a\x16.cln.TxprepareResponse\"\x00\x12\x33\n\x06TxSend\x12\x12.cln.TxsendRequest\x1a\x13.cln.TxsendResponse\"\x00\x12Q\n\x10ListPeerChannels\x12\x1c.cln.ListpeerchannelsRequest\x1a\x1d.cln.ListpeerchannelsResponse\"\x00\x12W\n\x12ListClosedChannels\x12\x1e.cln.ListclosedchannelsRequest\x1a\x1f.cln.ListclosedchannelsResponse\"\x00\x12\x33\n\x06\x44\x65\x63ode\x12\x12.cln.DecodeRequest\x1a\x13.cln.DecodeResponse\"\x00\x12\x33\n\x06\x44\x65lPay\x12\x12.cln.DelpayRequest\x1a\x13.cln.DelpayResponse\"\x00\x12?\n\nDelForward\x12\x16.cln.DelforwardRequest\x1a\x17.cln.DelforwardResponse\"\x00\x12\x45\n\x0c\x44isableOffer\x12\x18.cln.DisableofferRequest\x1a\x19.cln.DisableofferResponse\"\x00\x12\x42\n\x0b\x45nableOffer\x12\x17.cln.EnableofferRequest\x1a\x18.cln.EnableofferResponse\"\x00\x12?\n\nDisconnect\x12\x16.cln.DisconnectRequest\x1a\x17.cln.DisconnectResponse\"\x00\x12\x39\n\x08\x46\x65\x65rates\x12\x14.cln.FeeratesRequest\x1a\x15.cln.FeeratesResponse\"\x00\x12\x42\n\x0b\x46\x65tchBip353\x12\x17.cln.Fetchbip353Request\x1a\x18.cln.Fetchbip353Response\"\x00\x12\x45\n\x0c\x46\x65tchInvoice\x12\x18.cln.FetchinvoiceRequest\x1a\x19.cln.FetchinvoiceResponse\"\x00\x12\x63\n\x16\x43\x61ncelRecurringInvoice\x12\".cln.CancelrecurringinvoiceRequest\x1a#.cln.CancelrecurringinvoiceResponse\"\x00\x12T\n\x11\x46undChannelCancel\x12\x1d.cln.FundchannelCancelRequest\x1a\x1e.cln.FundchannelCancelResponse\"\x00\x12Z\n\x13\x46undChannelComplete\x12\x1f.cln.FundchannelCompleteRequest\x1a .cln.FundchannelCompleteResponse\"\x00\x12\x42\n\x0b\x46undChannel\x12\x17.cln.FundchannelRequest\x1a\x18.cln.FundchannelResponse\"\x00\x12Q\n\x10\x46undChannelStart\x12\x1c.cln.FundchannelStartRequest\x1a\x1d.cln.FundchannelStartResponse\"\x00\x12\x33\n\x06GetLog\x12\x12.cln.GetlogRequest\x1a\x13.cln.GetlogResponse\"\x00\x12\x45\n\x0c\x46underUpdate\x12\x18.cln.FunderupdateRequest\x1a\x19.cln.FunderupdateResponse\"\x00\x12\x39\n\x08GetRoute\x12\x14.cln.GetrouteRequest\x1a\x15.cln.GetrouteResponse\"\x00\x12H\n\rListAddresses\x12\x19.cln.ListaddressesRequest\x1a\x1a.cln.ListaddressesResponse\"\x00\x12\x45\n\x0cListForwards\x12\x18.cln.ListforwardsRequest\x1a\x19.cln.ListforwardsResponse\"\x00\x12?\n\nListOffers\x12\x16.cln.ListoffersRequest\x1a\x17.cln.ListoffersResponse\"\x00\x12\x39\n\x08ListPays\x12\x14.cln.ListpaysRequest\x1a\x15.cln.ListpaysResponse\"\x00\x12<\n\tListHtlcs\x12\x15.cln.ListhtlcsRequest\x1a\x16.cln.ListhtlcsResponse\"\x00\x12Q\n\x10MultiFundChannel\x12\x1c.cln.MultifundchannelRequest\x1a\x1d.cln.MultifundchannelResponse\"\x00\x12H\n\rMultiWithdraw\x12\x19.cln.MultiwithdrawRequest\x1a\x1a.cln.MultiwithdrawResponse\"\x00\x12\x30\n\x05Offer\x12\x11.cln.OfferRequest\x1a\x12.cln.OfferResponse\"\x00\x12Q\n\x10OpenChannelAbort\x12\x1c.cln.OpenchannelAbortRequest\x1a\x1d.cln.OpenchannelAbortResponse\"\x00\x12N\n\x0fOpenChannelBump\x12\x1b.cln.OpenchannelBumpRequest\x1a\x1c.cln.OpenchannelBumpResponse\"\x00\x12N\n\x0fOpenChannelInit\x12\x1b.cln.OpenchannelInitRequest\x1a\x1c.cln.OpenchannelInitResponse\"\x00\x12T\n\x11OpenChannelSigned\x12\x1d.cln.OpenchannelSignedRequest\x1a\x1e.cln.OpenchannelSignedResponse\"\x00\x12T\n\x11OpenChannelUpdate\x12\x1d.cln.OpenchannelUpdateRequest\x1a\x1e.cln.OpenchannelUpdateResponse\"\x00\x12-\n\x04Ping\x12\x10.cln.PingRequest\x1a\x11.cln.PingResponse\"\x00\x12\x33\n\x06Plugin\x12\x12.cln.PluginRequest\x1a\x13.cln.PluginResponse\"\x00\x12H\n\rRenePayStatus\x12\x19.cln.RenepaystatusRequest\x1a\x1a.cln.RenepaystatusResponse\"\x00\x12\x36\n\x07RenePay\x12\x13.cln.RenepayRequest\x1a\x14.cln.RenepayResponse\"\x00\x12H\n\rReserveInputs\x12\x19.cln.ReserveinputsRequest\x1a\x1a.cln.ReserveinputsResponse\"\x00\x12H\n\rSendCustomMsg\x12\x19.cln.SendcustommsgRequest\x1a\x1a.cln.SendcustommsgResponse\"\x00\x12\x42\n\x0bSendInvoice\x12\x17.cln.SendinvoiceRequest\x1a\x18.cln.SendinvoiceResponse\"\x00\x12?\n\nSetChannel\x12\x16.cln.SetchannelRequest\x1a\x17.cln.SetchannelResponse\"\x00\x12<\n\tSetConfig\x12\x15.cln.SetconfigRequest\x1a\x16.cln.SetconfigResponse\"\x00\x12K\n\x0eSetPsbtVersion\x12\x1a.cln.SetpsbtversionRequest\x1a\x1b.cln.SetpsbtversionResponse\"\x00\x12\x42\n\x0bSignInvoice\x12\x17.cln.SigninvoiceRequest\x1a\x18.cln.SigninvoiceResponse\"\x00\x12\x42\n\x0bSignMessage\x12\x17.cln.SignmessageRequest\x1a\x18.cln.SignmessageResponse\"\x00\x12?\n\nSpliceInit\x12\x16.cln.SpliceInitRequest\x1a\x17.cln.SpliceInitResponse\"\x00\x12\x45\n\x0cSpliceSigned\x12\x18.cln.SpliceSignedRequest\x1a\x19.cln.SpliceSignedResponse\"\x00\x12\x45\n\x0cSpliceUpdate\x12\x18.cln.SpliceUpdateRequest\x1a\x19.cln.SpliceUpdateResponse\"\x00\x12\x39\n\x08SpliceIn\x12\x14.cln.SpliceinRequest\x1a\x15.cln.SpliceinResponse\"\x00\x12<\n\tSpliceOut\x12\x15.cln.SpliceoutRequest\x1a\x16.cln.SpliceoutResponse\"\x00\x12<\n\tDevSplice\x12\x15.cln.DevspliceRequest\x1a\x16.cln.DevspliceResponse\"\x00\x12N\n\x0fUnreserveInputs\x12\x1b.cln.UnreserveinputsRequest\x1a\x1c.cln.UnreserveinputsResponse\"\x00\x12H\n\rUpgradeWallet\x12\x19.cln.UpgradewalletRequest\x1a\x1a.cln.UpgradewalletResponse\"\x00\x12N\n\x0fWaitBlockHeight\x12\x1b.cln.WaitblockheightRequest\x1a\x1c.cln.WaitblockheightResponse\"\x00\x12-\n\x04Wait\x12\x10.cln.WaitRequest\x1a\x11.cln.WaitResponse\"\x00\x12\x42\n\x0bListConfigs\x12\x17.cln.ListconfigsRequest\x1a\x18.cln.ListconfigsResponse\"\x00\x12-\n\x04Stop\x12\x10.cln.StopRequest\x1a\x11.cln.StopResponse\"\x00\x12-\n\x04Help\x12\x10.cln.HelpRequest\x1a\x11.cln.HelpResponse\"\x00\x12T\n\x11PreApproveKeysend\x12\x1d.cln.PreapprovekeysendRequest\x1a\x1e.cln.PreapprovekeysendResponse\"\x00\x12T\n\x11PreApproveInvoice\x12\x1d.cln.PreapproveinvoiceRequest\x1a\x1e.cln.PreapproveinvoiceResponse\"\x00\x12\x45\n\x0cStaticBackup\x12\x18.cln.StaticbackupRequest\x1a\x19.cln.StaticbackupResponse\"\x00\x12N\n\x0f\x42kprChannelsApy\x12\x1b.cln.BkprchannelsapyRequest\x1a\x1c.cln.BkprchannelsapyResponse\"\x00\x12T\n\x11\x42kprDumpIncomeCsv\x12\x1d.cln.BkprdumpincomecsvRequest\x1a\x1e.cln.BkprdumpincomecsvResponse\"\x00\x12\x42\n\x0b\x42kprInspect\x12\x17.cln.BkprinspectRequest\x1a\x18.cln.BkprinspectResponse\"\x00\x12`\n\x15\x42kprListAccountEvents\x12!.cln.BkprlistaccounteventsRequest\x1a\".cln.BkprlistaccounteventsResponse\"\x00\x12Q\n\x10\x42kprListBalances\x12\x1c.cln.BkprlistbalancesRequest\x1a\x1d.cln.BkprlistbalancesResponse\"\x00\x12K\n\x0e\x42kprListIncome\x12\x1a.cln.BkprlistincomeRequest\x1a\x1b.cln.BkprlistincomeResponse\"\x00\x12{\n\x1e\x42kprEditDescriptionByPaymentId\x12*.cln.BkpreditdescriptionbypaymentidRequest\x1a+.cln.BkpreditdescriptionbypaymentidResponse\"\x00\x12x\n\x1d\x42kprEditDescriptionByOutpoint\x12).cln.BkpreditdescriptionbyoutpointRequest\x1a*.cln.BkpreditdescriptionbyoutpointResponse\"\x00\x12?\n\nBkprReport\x12\x16.cln.BkprreportRequest\x1a\x17.cln.BkprreportResponse\"\x00\x12H\n\rBlacklistRune\x12\x19.cln.BlacklistruneRequest\x1a\x1a.cln.BlacklistruneResponse\"\x00\x12<\n\tCheckRune\x12\x15.cln.CheckruneRequest\x1a\x16.cln.CheckruneResponse\"\x00\x12?\n\nCreateRune\x12\x16.cln.CreateruneRequest\x1a\x17.cln.CreateruneResponse\"\x00\x12<\n\tShowRunes\x12\x15.cln.ShowrunesRequest\x1a\x16.cln.ShowrunesResponse\"\x00\x12Q\n\x10\x41skReneUnreserve\x12\x1c.cln.AskreneunreserveRequest\x1a\x1d.cln.AskreneunreserveResponse\"\x00\x12T\n\x11\x41skReneListLayers\x12\x1d.cln.AskrenelistlayersRequest\x1a\x1e.cln.AskrenelistlayersResponse\"\x00\x12W\n\x12\x41skReneCreateLayer\x12\x1e.cln.AskrenecreatelayerRequest\x1a\x1f.cln.AskrenecreatelayerResponse\"\x00\x12W\n\x12\x41skReneRemoveLayer\x12\x1e.cln.AskreneremovelayerRequest\x1a\x1f.cln.AskreneremovelayerResponse\"\x00\x12o\n\x1a\x41skReneRemoveChannelUpdate\x12&.cln.AskreneremovechannelupdateRequest\x1a\'.cln.AskreneremovechannelupdateResponse\"\x00\x12K\n\x0e\x41skReneReserve\x12\x1a.cln.AskrenereserveRequest\x1a\x1b.cln.AskrenereserveResponse\"\x00\x12?\n\nAskReneAge\x12\x16.cln.AskreneageRequest\x1a\x17.cln.AskreneageResponse\"\x00\x12<\n\tGetRoutes\x12\x15.cln.GetroutesRequest\x1a\x16.cln.GetroutesResponse\"\x00\x12W\n\x12\x41skReneDisableNode\x12\x1e.cln.AskrenedisablenodeRequest\x1a\x1f.cln.AskrenedisablenodeResponse\"\x00\x12]\n\x14\x41skReneInformChannel\x12 .cln.AskreneinformchannelRequest\x1a!.cln.AskreneinformchannelResponse\"\x00\x12]\n\x14\x41skReneCreateChannel\x12 .cln.AskrenecreatechannelRequest\x1a!.cln.AskrenecreatechannelResponse\"\x00\x12]\n\x14\x41skReneUpdateChannel\x12 .cln.AskreneupdatechannelRequest\x1a!.cln.AskreneupdatechannelResponse\"\x00\x12W\n\x12\x41skReneBiasChannel\x12\x1e.cln.AskrenebiaschannelRequest\x1a\x1f.cln.AskrenebiaschannelResponse\"\x00\x12N\n\x0f\x41skreneBiasNode\x12\x1b.cln.AskrenebiasnodeRequest\x1a\x1c.cln.AskrenebiasnodeResponse\"\x00\x12\x66\n\x17\x41skReneListReservations\x12#.cln.AskrenelistreservationsRequest\x1a$.cln.AskrenelistreservationsResponse\"\x00\x12W\n\x12InjectPaymentOnion\x12\x1e.cln.InjectpaymentonionRequest\x1a\x1f.cln.InjectpaymentonionResponse\"\x00\x12W\n\x12InjectOnionMessage\x12\x1e.cln.InjectonionmessageRequest\x1a\x1f.cln.InjectonionmessageResponse\"\x00\x12-\n\x04Xpay\x12\x10.cln.XpayRequest\x1a\x11.cln.XpayResponse\"\x00\x12W\n\x12SignMessageWithKey\x12\x1e.cln.SignmessagewithkeyRequest\x1a\x1f.cln.SignmessagewithkeyResponse\"\x00\x12Q\n\x10ListChannelMoves\x12\x1c.cln.ListchannelmovesRequest\x1a\x1d.cln.ListchannelmovesResponse\"\x00\x12K\n\x0eListChainMoves\x12\x1a.cln.ListchainmovesRequest\x1a\x1b.cln.ListchainmovesResponse\"\x00\x12T\n\x11ListNetworkEvents\x12\x1d.cln.ListnetworkeventsRequest\x1a\x1e.cln.ListnetworkeventsResponse\"\x00\x12N\n\x0f\x44\x65lNetworkEvent\x12\x1b.cln.DelnetworkeventRequest\x1a\x1c.cln.DelnetworkeventResponse\"\x00\x12Z\n\x13\x43lnrestRegisterPath\x12\x1f.cln.ClnrestregisterpathRequest\x1a .cln.ClnrestregisterpathResponse\"\x00\x12T\n\x11ListCurrencyRates\x12\x1d.cln.ListcurrencyratesRequest\x1a\x1e.cln.ListcurrencyratesResponse\"\x00\x12N\n\x0f\x43urrencyConvert\x12\x1b.cln.CurrencyconvertRequest\x1a\x1c.cln.CurrencyconvertResponse\"\x00\x12\x45\n\x0c\x43urrencyRate\x12\x18.cln.CurrencyrateRequest\x1a\x19.cln.CurrencyrateResponse\"\x00\x12?\n\nSendAmount\x12\x16.cln.SendamountRequest\x1a\x17.cln.SendamountResponse\"\x00\x12\x42\n\x0b\x43reateProof\x12\x17.cln.CreateproofRequest\x1a\x18.cln.CreateproofResponse\"\x00\x12\x39\n\x08Xkeysend\x12\x14.cln.XkeysendRequest\x1a\x15.cln.XkeysendResponse\"\x00\x12\x39\n\x08Graceful\x12\x14.cln.GracefulRequest\x1a\x15.cln.GracefulResponse\"\x00\x12\x63\n\x18SubscribeBalanceSnapshot\x12!.cln.StreamBalanceSnapshotRequest\x1a .cln.BalanceSnapshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeBlockAdded\x12\x1c.cln.StreamBlockAddedRequest\x1a\x1b.cln.BlockAddedNotification\"\x00\x30\x01\x12i\n\x1aSubscribeChannelOpenFailed\x12#.cln.StreamChannelOpenFailedRequest\x1a\".cln.ChannelOpenFailedNotification\"\x00\x30\x01\x12]\n\x16SubscribeChannelOpened\x12\x1f.cln.StreamChannelOpenedRequest\x1a\x1e.cln.ChannelOpenedNotification\"\x00\x30\x01\x12o\n\x1cSubscribeChannelStateChanged\x12%.cln.StreamChannelStateChangedRequest\x1a$.cln.ChannelStateChangedNotification\"\x00\x30\x01\x12O\n\x10SubscribeConnect\x12\x19.cln.StreamConnectRequest\x1a\x1c.cln.PeerConnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeCoinMovement\x12\x1e.cln.StreamCoinMovementRequest\x1a\x1d.cln.CoinMovementNotification\"\x00\x30\x01\x12Q\n\x12SubscribeCustomMsg\x12\x1b.cln.StreamCustomMsgRequest\x1a\x1a.cln.CustomMsgNotification\"\x00\x30\x01\x12i\n\x1aSubscribeDeprecatedOneshot\x12#.cln.StreamDeprecatedOneshotRequest\x1a\".cln.DeprecatedOneshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeDisconnect\x12\x1c.cln.StreamDisconnectRequest\x1a\x1b.cln.DisconnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeForwardEvent\x12\x1e.cln.StreamForwardEventRequest\x1a\x1d.cln.ForwardEventNotification\"\x00\x30\x01\x12\x63\n\x18SubscribeInvoiceCreation\x12!.cln.StreamInvoiceCreationRequest\x1a .cln.InvoiceCreationNotification\"\x00\x30\x01\x12`\n\x17SubscribeInvoicePayment\x12 .cln.StreamInvoicePaymentRequest\x1a\x1f.cln.InvoicePaymentNotification\"\x00\x30\x01\x12?\n\x0cSubscribeLog\x12\x15.cln.StreamLogRequest\x1a\x14.cln.LogNotification\"\x00\x30\x01\x12{\n SubscribeOnionMessageForwardFail\x12).cln.StreamOnionMessageForwardFailRequest\x1a(.cln.OnionMessageForwardFailNotification\"\x00\x30\x01\x12o\n\x1cSubscribeOpenChannelPeerSigs\x12%.cln.StreamOpenChannelPeerSigsRequest\x1a$.cln.OpenChannelPeerSigsNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStarted\x12\x1f.cln.StreamPluginStartedRequest\x1a\x1e.cln.PluginStartedNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStopped\x12\x1f.cln.StreamPluginStoppedRequest\x1a\x1e.cln.PluginStoppedNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPayFailure\x12 .cln.StreamSendPayFailureRequest\x1a\x1f.cln.SendPayFailureNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPaySuccess\x12 .cln.StreamSendPaySuccessRequest\x1a\x1f.cln.SendPaySuccessNotification\"\x00\x30\x01\x12N\n\x11SubscribeShutdown\x12\x1a.cln.StreamShutdownRequest\x1a\x19.cln.ShutdownNotification\"\x00\x30\x01\x12K\n\x10SubscribeWarning\x12\x19.cln.StreamWarningRequest\x1a\x18.cln.WarningNotification\"\x00\x30\x01\x12T\n\x13SubscribePayPartEnd\x12\x1c.cln.StreamPayPartEndRequest\x1a\x1b.cln.PayPartEndNotification\"\x00\x30\x01\x12Z\n\x15SubscribePayPartStart\x12\x1e.cln.StreamPayPartStartRequest\x1a\x1d.cln.PayPartStartNotification\"\x00\x30\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -645,1015 +645,1015 @@ _globals['_LISTPEERCHANNELSRESPONSE']._serialized_start=27475 _globals['_LISTPEERCHANNELSRESPONSE']._serialized_end=27550 _globals['_LISTPEERCHANNELSCHANNELS']._serialized_start=27553 - _globals['_LISTPEERCHANNELSCHANNELS']._serialized_end=30962 - _globals['_LISTPEERCHANNELSCHANNELSALIAS']._serialized_start=30964 - _globals['_LISTPEERCHANNELSCHANNELSALIAS']._serialized_end=31057 - _globals['_LISTPEERCHANNELSCHANNELSCHANNELTYPE']._serialized_start=31059 - _globals['_LISTPEERCHANNELSCHANNELSCHANNELTYPE']._serialized_end=31147 - _globals['_LISTPEERCHANNELSCHANNELSFEERATE']._serialized_start=31149 - _globals['_LISTPEERCHANNELSCHANNELSFEERATE']._serialized_end=31212 - _globals['_LISTPEERCHANNELSCHANNELSFUNDING']._serialized_start=31215 - _globals['_LISTPEERCHANNELSCHANNELSFUNDING']._serialized_end=31564 - _globals['_LISTPEERCHANNELSCHANNELSHTLCS']._serialized_start=31567 - _globals['_LISTPEERCHANNELSCHANNELSHTLCS']._serialized_end=31944 - _globals['_LISTPEERCHANNELSCHANNELSHTLCS_LISTPEERCHANNELSCHANNELSHTLCSDIRECTION']._serialized_start=31858 - _globals['_LISTPEERCHANNELSCHANNELSHTLCS_LISTPEERCHANNELSCHANNELSHTLCSDIRECTION']._serialized_end=31915 - _globals['_LISTPEERCHANNELSCHANNELSINFLIGHT']._serialized_start=31947 - _globals['_LISTPEERCHANNELSCHANNELSINFLIGHT']._serialized_end=32191 - _globals['_LISTPEERCHANNELSCHANNELSSTATECHANGES']._serialized_start=32194 - _globals['_LISTPEERCHANNELSCHANNELSSTATECHANGES']._serialized_end=32562 - _globals['_LISTPEERCHANNELSCHANNELSSTATECHANGES_LISTPEERCHANNELSCHANNELSSTATECHANGESCAUSE']._serialized_start=32446 - _globals['_LISTPEERCHANNELSCHANNELSSTATECHANGES_LISTPEERCHANNELSCHANNELSSTATECHANGESCAUSE']._serialized_end=32562 - _globals['_LISTPEERCHANNELSCHANNELSUPDATES']._serialized_start=32565 - _globals['_LISTPEERCHANNELSCHANNELSUPDATES']._serialized_end=32732 - _globals['_LISTPEERCHANNELSCHANNELSUPDATESLOCAL']._serialized_start=32735 - _globals['_LISTPEERCHANNELSCHANNELSUPDATESLOCAL']._serialized_end=32953 - _globals['_LISTPEERCHANNELSCHANNELSUPDATESREMOTE']._serialized_start=32956 - _globals['_LISTPEERCHANNELSCHANNELSUPDATESREMOTE']._serialized_end=33175 - _globals['_LISTCLOSEDCHANNELSREQUEST']._serialized_start=33177 - _globals['_LISTCLOSEDCHANNELSREQUEST']._serialized_end=33228 - _globals['_LISTCLOSEDCHANNELSRESPONSE']._serialized_start=33230 - _globals['_LISTCLOSEDCHANNELSRESPONSE']._serialized_end=33321 - _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELS']._serialized_start=33324 - _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELS']._serialized_end=34778 - _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELS_LISTCLOSEDCHANNELSCLOSEDCHANNELSCLOSECAUSE']._serialized_start=34395 - _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELS_LISTCLOSEDCHANNELSCLOSEDCHANNELSCLOSECAUSE']._serialized_end=34512 - _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELSALIAS']._serialized_start=34780 - _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELSALIAS']._serialized_end=34881 - _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELSCHANNELTYPE']._serialized_start=34883 - _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELSCHANNELTYPE']._serialized_end=34979 - _globals['_DECODEREQUEST']._serialized_start=34981 - _globals['_DECODEREQUEST']._serialized_end=35012 - _globals['_DECODERESPONSE']._serialized_start=35015 - _globals['_DECODERESPONSE']._serialized_end=40964 - _globals['_DECODERESPONSE_DECODETYPE']._serialized_start=38759 - _globals['_DECODERESPONSE_DECODETYPE']._serialized_end=38914 - _globals['_DECODEEXTRA']._serialized_start=40966 - _globals['_DECODEEXTRA']._serialized_end=41006 - _globals['_DECODEFALLBACKS']._serialized_start=41009 - _globals['_DECODEFALLBACKS']._serialized_end=41205 - _globals['_DECODEFALLBACKS_DECODEFALLBACKSTYPE']._serialized_start=41121 - _globals['_DECODEFALLBACKS_DECODEFALLBACKSTYPE']._serialized_end=41196 - _globals['_DECODEINVOICEFALLBACKS']._serialized_start=41207 - _globals['_DECODEINVOICEFALLBACKS']._serialized_end=41295 - _globals['_DECODEINVOICEPATHS']._serialized_start=41298 - _globals['_DECODEINVOICEPATHS']._serialized_end=41592 - _globals['_DECODEINVOICEPATHSPATH']._serialized_start=41594 - _globals['_DECODEINVOICEPATHSPATH']._serialized_end=41677 - _globals['_DECODEINVOICEPATHSPAYINFO']._serialized_start=41680 - _globals['_DECODEINVOICEPATHSPAYINFO']._serialized_end=41959 - _globals['_DECODEINVREQBIP353NAME']._serialized_start=41961 - _globals['_DECODEINVREQBIP353NAME']._serialized_end=42045 - _globals['_DECODEINVREQPATHS']._serialized_start=42048 - _globals['_DECODEINVREQPATHS']._serialized_end=42291 - _globals['_DECODEINVREQPATHSPATH']._serialized_start=42293 - _globals['_DECODEINVREQPATHSPATH']._serialized_end=42375 - _globals['_DECODEOFFERPATHS']._serialized_start=42378 - _globals['_DECODEOFFERPATHS']._serialized_end=42619 - _globals['_DECODEOFFERPATHSPATH']._serialized_start=42621 - _globals['_DECODEOFFERPATHSPATH']._serialized_end=42702 - _globals['_DECODEOFFERRECURRENCE']._serialized_start=42705 - _globals['_DECODEOFFERRECURRENCE']._serialized_end=43004 - _globals['_DECODEOFFERRECURRENCEPAYWINDOW']._serialized_start=43007 - _globals['_DECODEOFFERRECURRENCEPAYWINDOW']._serialized_end=43144 - _globals['_DECODERESTRICTIONS']._serialized_start=43146 - _globals['_DECODERESTRICTIONS']._serialized_end=43205 - _globals['_DECODEUNKNOWNINVOICEREQUESTTLVS']._serialized_start=43207 - _globals['_DECODEUNKNOWNINVOICEREQUESTTLVS']._serialized_end=43290 - _globals['_DECODEUNKNOWNINVOICETLVS']._serialized_start=43292 - _globals['_DECODEUNKNOWNINVOICETLVS']._serialized_end=43368 - _globals['_DECODEUNKNOWNOFFERTLVS']._serialized_start=43370 - _globals['_DECODEUNKNOWNOFFERTLVS']._serialized_end=43444 - _globals['_DECODEUNKNOWNPAYERPROOFTLVS']._serialized_start=43446 - _globals['_DECODEUNKNOWNPAYERPROOFTLVS']._serialized_end=43525 - _globals['_DELPAYREQUEST']._serialized_start=43528 - _globals['_DELPAYREQUEST']._serialized_end=43722 - _globals['_DELPAYREQUEST_DELPAYSTATUS']._serialized_start=43659 - _globals['_DELPAYREQUEST_DELPAYSTATUS']._serialized_end=43699 - _globals['_DELPAYRESPONSE']._serialized_start=43724 - _globals['_DELPAYRESPONSE']._serialized_end=43779 - _globals['_DELPAYPAYMENTS']._serialized_start=43782 - _globals['_DELPAYPAYMENTS']._serialized_end=44474 - _globals['_DELPAYPAYMENTS_DELPAYPAYMENTSSTATUS']._serialized_start=44255 - _globals['_DELPAYPAYMENTS_DELPAYPAYMENTSSTATUS']._serialized_end=44316 - _globals['_DELFORWARDREQUEST']._serialized_start=44477 - _globals['_DELFORWARDREQUEST']._serialized_end=44656 - _globals['_DELFORWARDREQUEST_DELFORWARDSTATUS']._serialized_start=44595 - _globals['_DELFORWARDREQUEST_DELFORWARDSTATUS']._serialized_end=44656 - _globals['_DELFORWARDRESPONSE']._serialized_start=44658 - _globals['_DELFORWARDRESPONSE']._serialized_end=44678 - _globals['_DISABLEOFFERREQUEST']._serialized_start=44680 - _globals['_DISABLEOFFERREQUEST']._serialized_end=44719 - _globals['_DISABLEOFFERRESPONSE']._serialized_start=44722 - _globals['_DISABLEOFFERRESPONSE']._serialized_end=44942 - _globals['_ENABLEOFFERREQUEST']._serialized_start=44944 - _globals['_ENABLEOFFERREQUEST']._serialized_end=44982 - _globals['_ENABLEOFFERRESPONSE']._serialized_start=44985 - _globals['_ENABLEOFFERRESPONSE']._serialized_end=45204 - _globals['_DISCONNECTREQUEST']._serialized_start=45206 - _globals['_DISCONNECTREQUEST']._serialized_end=45267 - _globals['_DISCONNECTRESPONSE']._serialized_start=45269 - _globals['_DISCONNECTRESPONSE']._serialized_end=45289 - _globals['_FEERATESREQUEST']._serialized_start=45291 - _globals['_FEERATESREQUEST']._serialized_end=45398 - _globals['_FEERATESREQUEST_FEERATESSTYLE']._serialized_start=45361 - _globals['_FEERATESREQUEST_FEERATESSTYLE']._serialized_end=45398 - _globals['_FEERATESRESPONSE']._serialized_start=45401 - _globals['_FEERATESRESPONSE']._serialized_end=45683 - _globals['_FEERATESONCHAINFEEESTIMATES']._serialized_start=45686 - _globals['_FEERATESONCHAINFEEESTIMATES']._serialized_end=45967 - _globals['_FEERATESPERKB']._serialized_start=45970 - _globals['_FEERATESPERKB']._serialized_end=46358 - _globals['_FEERATESPERKBESTIMATES']._serialized_start=46360 - _globals['_FEERATESPERKBESTIMATES']._serialized_end=46447 - _globals['_FEERATESPERKW']._serialized_start=46450 - _globals['_FEERATESPERKW']._serialized_end=46838 - _globals['_FEERATESPERKWESTIMATES']._serialized_start=46840 - _globals['_FEERATESPERKWESTIMATES']._serialized_end=46927 - _globals['_FETCHBIP353REQUEST']._serialized_start=46929 - _globals['_FETCHBIP353REQUEST']._serialized_end=46966 - _globals['_FETCHBIP353RESPONSE']._serialized_start=46968 - _globals['_FETCHBIP353RESPONSE']._serialized_end=47056 - _globals['_FETCHBIP353INSTRUCTIONS']._serialized_start=47059 - _globals['_FETCHBIP353INSTRUCTIONS']._serialized_end=47306 - _globals['_FETCHINVOICEREQUEST']._serialized_start=47309 - _globals['_FETCHINVOICEREQUEST']._serialized_end=47750 - _globals['_FETCHINVOICERESPONSE']._serialized_start=47753 - _globals['_FETCHINVOICERESPONSE']._serialized_end=47906 - _globals['_FETCHINVOICECHANGES']._serialized_start=47909 - _globals['_FETCHINVOICECHANGES']._serialized_end=48167 - _globals['_FETCHINVOICENEXTPERIOD']._serialized_start=48169 - _globals['_FETCHINVOICENEXTPERIOD']._serialized_end=48294 - _globals['_CANCELRECURRINGINVOICEREQUEST']._serialized_start=48297 - _globals['_CANCELRECURRINGINVOICEREQUEST']._serialized_end=48521 - _globals['_CANCELRECURRINGINVOICERESPONSE']._serialized_start=48523 - _globals['_CANCELRECURRINGINVOICERESPONSE']._serialized_end=48571 - _globals['_FUNDCHANNELCANCELREQUEST']._serialized_start=48573 - _globals['_FUNDCHANNELCANCELREQUEST']._serialized_end=48611 - _globals['_FUNDCHANNELCANCELRESPONSE']._serialized_start=48613 - _globals['_FUNDCHANNELCANCELRESPONSE']._serialized_end=48659 - _globals['_FUNDCHANNELCOMPLETEREQUEST']._serialized_start=48661 - _globals['_FUNDCHANNELCOMPLETEREQUEST']._serialized_end=48751 - _globals['_FUNDCHANNELCOMPLETERESPONSE']._serialized_start=48753 - _globals['_FUNDCHANNELCOMPLETERESPONSE']._serialized_end=48831 - _globals['_FUNDCHANNELREQUEST']._serialized_start=48834 - _globals['_FUNDCHANNELREQUEST']._serialized_end=49341 - _globals['_FUNDCHANNELRESPONSE']._serialized_start=49344 - _globals['_FUNDCHANNELRESPONSE']._serialized_end=49550 - _globals['_FUNDCHANNELCHANNELTYPE']._serialized_start=49552 - _globals['_FUNDCHANNELCHANNELTYPE']._serialized_end=49627 - _globals['_FUNDCHANNELSTARTREQUEST']._serialized_start=49630 - _globals['_FUNDCHANNELSTARTREQUEST']._serialized_end=49972 - _globals['_FUNDCHANNELSTARTRESPONSE']._serialized_start=49975 - _globals['_FUNDCHANNELSTARTRESPONSE']._serialized_end=50221 - _globals['_FUNDCHANNELSTARTCHANNELTYPE']._serialized_start=50223 - _globals['_FUNDCHANNELSTARTCHANNELTYPE']._serialized_end=50303 - _globals['_GETLOGREQUEST']._serialized_start=50306 - _globals['_GETLOGREQUEST']._serialized_end=50455 - _globals['_GETLOGREQUEST_GETLOGLEVEL']._serialized_start=50375 - _globals['_GETLOGREQUEST_GETLOGLEVEL']._serialized_end=50445 - _globals['_GETLOGRESPONSE']._serialized_start=50457 - _globals['_GETLOGRESPONSE']._serialized_end=50561 - _globals['_GETLOGLOG']._serialized_start=50564 - _globals['_GETLOGLOG']._serialized_end=50924 - _globals['_GETLOGLOG_GETLOGLOGTYPE']._serialized_start=50751 - _globals['_GETLOGLOG_GETLOGLOGTYPE']._serialized_end=50859 - _globals['_FUNDERUPDATEREQUEST']._serialized_start=50927 - _globals['_FUNDERUPDATEREQUEST']._serialized_end=52040 - _globals['_FUNDERUPDATEREQUEST_FUNDERUPDATEPOLICY']._serialized_start=51621 - _globals['_FUNDERUPDATEREQUEST_FUNDERUPDATEPOLICY']._serialized_end=51678 - _globals['_FUNDERUPDATERESPONSE']._serialized_start=52043 - _globals['_FUNDERUPDATERESPONSE']._serialized_end=52906 - _globals['_FUNDERUPDATERESPONSE_FUNDERUPDATEPOLICY']._serialized_start=51621 - _globals['_FUNDERUPDATERESPONSE_FUNDERUPDATEPOLICY']._serialized_end=51678 - _globals['_GETROUTEREQUEST']._serialized_start=52909 - _globals['_GETROUTEREQUEST']._serialized_end=53177 - _globals['_GETROUTERESPONSE']._serialized_start=53179 - _globals['_GETROUTERESPONSE']._serialized_end=53236 - _globals['_GETROUTEROUTE']._serialized_start=53239 - _globals['_GETROUTEROUTE']._serialized_end=53464 - _globals['_GETROUTEROUTE_GETROUTEROUTESTYLE']._serialized_start=53431 - _globals['_GETROUTEROUTE_GETROUTEROUTESTYLE']._serialized_end=53464 - _globals['_LISTADDRESSESREQUEST']._serialized_start=53466 - _globals['_LISTADDRESSESREQUEST']._serialized_end=53582 - _globals['_LISTADDRESSESRESPONSE']._serialized_start=53584 - _globals['_LISTADDRESSESRESPONSE']._serialized_end=53655 - _globals['_LISTADDRESSESADDRESSES']._serialized_start=53657 - _globals['_LISTADDRESSESADDRESSES']._serialized_end=53757 - _globals['_LISTFORWARDSREQUEST']._serialized_start=53760 - _globals['_LISTFORWARDSREQUEST']._serialized_end=54199 - _globals['_LISTFORWARDSREQUEST_LISTFORWARDSINDEX']._serialized_start=54004 - _globals['_LISTFORWARDSREQUEST_LISTFORWARDSINDEX']._serialized_end=54049 - _globals['_LISTFORWARDSREQUEST_LISTFORWARDSSTATUS']._serialized_start=54051 - _globals['_LISTFORWARDSREQUEST_LISTFORWARDSSTATUS']._serialized_end=54127 - _globals['_LISTFORWARDSRESPONSE']._serialized_start=54201 - _globals['_LISTFORWARDSRESPONSE']._serialized_end=54268 - _globals['_LISTFORWARDSFORWARDS']._serialized_start=54271 - _globals['_LISTFORWARDSFORWARDS']._serialized_end=55068 - _globals['_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS']._serialized_start=54787 - _globals['_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS']._serialized_end=54871 - _globals['_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE']._serialized_start=54873 - _globals['_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE']._serialized_end=54921 - _globals['_LISTOFFERSREQUEST']._serialized_start=55070 - _globals['_LISTOFFERSREQUEST']._serialized_end=55167 - _globals['_LISTOFFERSRESPONSE']._serialized_start=55169 - _globals['_LISTOFFERSRESPONSE']._serialized_end=55228 - _globals['_LISTOFFERSOFFERS']._serialized_start=55231 - _globals['_LISTOFFERSOFFERS']._serialized_end=55447 - _globals['_LISTPAYSREQUEST']._serialized_start=55450 - _globals['_LISTPAYSREQUEST']._serialized_end=55838 - _globals['_LISTPAYSREQUEST_LISTPAYSINDEX']._serialized_start=55671 - _globals['_LISTPAYSREQUEST_LISTPAYSINDEX']._serialized_end=55712 - _globals['_LISTPAYSREQUEST_LISTPAYSSTATUS']._serialized_start=55714 - _globals['_LISTPAYSREQUEST_LISTPAYSSTATUS']._serialized_end=55769 - _globals['_LISTPAYSRESPONSE']._serialized_start=55840 - _globals['_LISTPAYSRESPONSE']._serialized_end=55891 - _globals['_LISTPAYSPAYS']._serialized_start=55894 - _globals['_LISTPAYSPAYS']._serialized_end=56625 - _globals['_LISTPAYSPAYS_LISTPAYSPAYSSTATUS']._serialized_start=56364 - _globals['_LISTPAYSPAYS_LISTPAYSPAYSSTATUS']._serialized_end=56423 - _globals['_LISTHTLCSREQUEST']._serialized_start=56628 - _globals['_LISTHTLCSREQUEST']._serialized_end=56842 - _globals['_LISTHTLCSREQUEST_LISTHTLCSINDEX']._serialized_start=56763 - _globals['_LISTHTLCSREQUEST_LISTHTLCSINDEX']._serialized_end=56805 - _globals['_LISTHTLCSRESPONSE']._serialized_start=56844 - _globals['_LISTHTLCSRESPONSE']._serialized_end=56899 - _globals['_LISTHTLCSHTLCS']._serialized_start=56902 - _globals['_LISTHTLCSHTLCS']._serialized_end=57259 - _globals['_LISTHTLCSHTLCS_LISTHTLCSHTLCSDIRECTION']._serialized_start=57181 - _globals['_LISTHTLCSHTLCS_LISTHTLCSHTLCSDIRECTION']._serialized_end=57223 - _globals['_MULTIFUNDCHANNELREQUEST']._serialized_start=57262 - _globals['_MULTIFUNDCHANNELREQUEST']._serialized_end=57568 - _globals['_MULTIFUNDCHANNELRESPONSE']._serialized_start=57571 - _globals['_MULTIFUNDCHANNELRESPONSE']._serialized_end=57722 - _globals['_MULTIFUNDCHANNELDESTINATIONS']._serialized_start=57725 - _globals['_MULTIFUNDCHANNELDESTINATIONS']._serialized_end=58108 - _globals['_MULTIFUNDCHANNELCHANNELIDS']._serialized_start=58111 - _globals['_MULTIFUNDCHANNELCHANNELIDS']._serialized_end=58289 - _globals['_MULTIFUNDCHANNELCHANNELIDSCHANNELTYPE']._serialized_start=58291 - _globals['_MULTIFUNDCHANNELCHANNELIDSCHANNELTYPE']._serialized_end=58381 - _globals['_MULTIFUNDCHANNELFAILED']._serialized_start=58384 - _globals['_MULTIFUNDCHANNELFAILED']._serialized_end=58659 - _globals['_MULTIFUNDCHANNELFAILED_MULTIFUNDCHANNELFAILEDMETHOD']._serialized_start=58545 - _globals['_MULTIFUNDCHANNELFAILED_MULTIFUNDCHANNELFAILEDMETHOD']._serialized_end=58659 - _globals['_MULTIFUNDCHANNELFAILEDERROR']._serialized_start=58661 - _globals['_MULTIFUNDCHANNELFAILEDERROR']._serialized_end=58721 - _globals['_MULTIWITHDRAWREQUEST']._serialized_start=58724 - _globals['_MULTIWITHDRAWREQUEST']._serialized_end=58892 - _globals['_MULTIWITHDRAWRESPONSE']._serialized_start=58894 - _globals['_MULTIWITHDRAWRESPONSE']._serialized_end=58943 - _globals['_OFFERREQUEST']._serialized_start=58946 - _globals['_OFFERREQUEST']._serialized_end=59556 - _globals['_OFFERRESPONSE']._serialized_start=59559 - _globals['_OFFERRESPONSE']._serialized_end=59747 - _globals['_OPENCHANNELABORTREQUEST']._serialized_start=59749 - _globals['_OPENCHANNELABORTREQUEST']._serialized_end=59794 - _globals['_OPENCHANNELABORTRESPONSE']._serialized_start=59796 - _globals['_OPENCHANNELABORTRESPONSE']._serialized_end=59884 - _globals['_OPENCHANNELBUMPREQUEST']._serialized_start=59887 - _globals['_OPENCHANNELBUMPREQUEST']._serialized_end=60045 - _globals['_OPENCHANNELBUMPRESPONSE']._serialized_start=60048 - _globals['_OPENCHANNELBUMPRESPONSE']._serialized_end=60285 - _globals['_OPENCHANNELBUMPCHANNELTYPE']._serialized_start=60287 - _globals['_OPENCHANNELBUMPCHANNELTYPE']._serialized_end=60366 - _globals['_OPENCHANNELINITREQUEST']._serialized_start=60369 - _globals['_OPENCHANNELINITREQUEST']._serialized_end=60784 - _globals['_OPENCHANNELINITRESPONSE']._serialized_start=60787 - _globals['_OPENCHANNELINITRESPONSE']._serialized_end=61024 - _globals['_OPENCHANNELINITCHANNELTYPE']._serialized_start=61026 - _globals['_OPENCHANNELINITCHANNELTYPE']._serialized_end=61105 - _globals['_OPENCHANNELSIGNEDREQUEST']._serialized_start=61107 - _globals['_OPENCHANNELSIGNEDREQUEST']._serialized_end=61174 - _globals['_OPENCHANNELSIGNEDRESPONSE']._serialized_start=61176 - _globals['_OPENCHANNELSIGNEDRESPONSE']._serialized_end=61249 - _globals['_OPENCHANNELUPDATEREQUEST']._serialized_start=61251 - _globals['_OPENCHANNELUPDATEREQUEST']._serialized_end=61311 - _globals['_OPENCHANNELUPDATERESPONSE']._serialized_start=61314 - _globals['_OPENCHANNELUPDATERESPONSE']._serialized_end=61591 - _globals['_OPENCHANNELUPDATECHANNELTYPE']._serialized_start=61593 - _globals['_OPENCHANNELUPDATECHANNELTYPE']._serialized_end=61674 - _globals['_PINGREQUEST']._serialized_start=61676 - _globals['_PINGREQUEST']._serialized_end=61765 - _globals['_PINGRESPONSE']._serialized_start=61767 - _globals['_PINGRESPONSE']._serialized_end=61797 - _globals['_PLUGINREQUEST']._serialized_start=61800 - _globals['_PLUGINREQUEST']._serialized_end=61945 - _globals['_PLUGINRESPONSE']._serialized_start=61947 - _globals['_PLUGINRESPONSE']._serialized_end=62072 - _globals['_PLUGINPLUGINS']._serialized_start=62074 - _globals['_PLUGINPLUGINS']._serialized_end=62136 - _globals['_RENEPAYSTATUSREQUEST']._serialized_start=62138 - _globals['_RENEPAYSTATUSREQUEST']._serialized_end=62202 - _globals['_RENEPAYSTATUSRESPONSE']._serialized_start=62204 - _globals['_RENEPAYSTATUSRESPONSE']._serialized_end=62279 - _globals['_RENEPAYSTATUSPAYSTATUS']._serialized_start=62282 - _globals['_RENEPAYSTATUSPAYSTATUS']._serialized_end=62820 - _globals['_RENEPAYSTATUSPAYSTATUS_RENEPAYSTATUSPAYSTATUSSTATUS']._serialized_start=62671 - _globals['_RENEPAYSTATUSPAYSTATUS_RENEPAYSTATUSPAYSTATUSSTATUS']._serialized_end=62752 - _globals['_RENEPAYREQUEST']._serialized_start=62823 - _globals['_RENEPAYREQUEST']._serialized_end=63205 - _globals['_RENEPAYRESPONSE']._serialized_start=63208 - _globals['_RENEPAYRESPONSE']._serialized_end=63685 - _globals['_RENEPAYRESPONSE_RENEPAYSTATUS']._serialized_start=63569 - _globals['_RENEPAYRESPONSE_RENEPAYSTATUS']._serialized_end=63635 - _globals['_RESERVEINPUTSREQUEST']._serialized_start=63687 - _globals['_RESERVEINPUTSREQUEST']._serialized_end=63795 - _globals['_RESERVEINPUTSRESPONSE']._serialized_start=63797 - _globals['_RESERVEINPUTSRESPONSE']._serialized_end=63874 - _globals['_RESERVEINPUTSRESERVATIONS']._serialized_start=63876 - _globals['_RESERVEINPUTSRESERVATIONS']._serialized_end=63998 - _globals['_SENDCUSTOMMSGREQUEST']._serialized_start=64000 - _globals['_SENDCUSTOMMSGREQUEST']._serialized_end=64052 - _globals['_SENDCUSTOMMSGRESPONSE']._serialized_start=64054 - _globals['_SENDCUSTOMMSGRESPONSE']._serialized_end=64093 - _globals['_SENDINVOICEREQUEST']._serialized_start=64096 - _globals['_SENDINVOICEREQUEST']._serialized_end=64272 - _globals['_SENDINVOICERESPONSE']._serialized_start=64275 - _globals['_SENDINVOICERESPONSE']._serialized_end=64843 - _globals['_SENDINVOICERESPONSE_SENDINVOICESTATUS']._serialized_start=64672 - _globals['_SENDINVOICERESPONSE_SENDINVOICESTATUS']._serialized_end=64726 - _globals['_SETCHANNELREQUEST']._serialized_start=64846 - _globals['_SETCHANNELREQUEST']._serialized_end=65144 - _globals['_SETCHANNELRESPONSE']._serialized_start=65146 - _globals['_SETCHANNELRESPONSE']._serialized_end=65209 - _globals['_SETCHANNELCHANNELS']._serialized_start=65212 - _globals['_SETCHANNELCHANNELS']._serialized_end=65643 - _globals['_SETCONFIGREQUEST']._serialized_start=65645 - _globals['_SETCONFIGREQUEST']._serialized_end=65743 - _globals['_SETCONFIGRESPONSE']._serialized_start=65745 - _globals['_SETCONFIGRESPONSE']._serialized_end=65802 - _globals['_SETCONFIGCONFIG']._serialized_start=65805 - _globals['_SETCONFIGCONFIG']._serialized_end=66151 - _globals['_SETPSBTVERSIONREQUEST']._serialized_start=66153 - _globals['_SETPSBTVERSIONREQUEST']._serialized_end=66207 - _globals['_SETPSBTVERSIONRESPONSE']._serialized_start=66209 - _globals['_SETPSBTVERSIONRESPONSE']._serialized_end=66247 - _globals['_SIGNINVOICEREQUEST']._serialized_start=66249 - _globals['_SIGNINVOICEREQUEST']._serialized_end=66288 - _globals['_SIGNINVOICERESPONSE']._serialized_start=66290 - _globals['_SIGNINVOICERESPONSE']._serialized_end=66327 - _globals['_SIGNMESSAGEREQUEST']._serialized_start=66329 - _globals['_SIGNMESSAGEREQUEST']._serialized_end=66366 - _globals['_SIGNMESSAGERESPONSE']._serialized_start=66368 - _globals['_SIGNMESSAGERESPONSE']._serialized_end=66438 - _globals['_SPLICEINITREQUEST']._serialized_start=66441 - _globals['_SPLICEINITREQUEST']._serialized_end=66641 - _globals['_SPLICEINITRESPONSE']._serialized_start=66643 - _globals['_SPLICEINITRESPONSE']._serialized_end=66677 - _globals['_SPLICESIGNEDREQUEST']._serialized_start=66679 - _globals['_SPLICESIGNEDREQUEST']._serialized_end=66774 - _globals['_SPLICESIGNEDRESPONSE']._serialized_start=66776 - _globals['_SPLICESIGNEDRESPONSE']._serialized_end=66870 - _globals['_SPLICEUPDATEREQUEST']._serialized_start=66872 - _globals['_SPLICEUPDATEREQUEST']._serialized_end=66927 - _globals['_SPLICEUPDATERESPONSE']._serialized_start=66929 - _globals['_SPLICEUPDATERESPONSE']._serialized_end=67050 - _globals['_SPLICEINREQUEST']._serialized_start=67052 - _globals['_SPLICEINREQUEST']._serialized_end=67102 - _globals['_SPLICEINRESPONSE']._serialized_start=67104 - _globals['_SPLICEINRESPONSE']._serialized_end=67202 - _globals['_SPLICEOUTREQUEST']._serialized_start=67205 - _globals['_SPLICEOUTREQUEST']._serialized_end=67344 - _globals['_SPLICEOUTRESPONSE']._serialized_start=67346 - _globals['_SPLICEOUTRESPONSE']._serialized_end=67445 - _globals['_DEVSPLICEREQUEST']._serialized_start=67448 - _globals['_DEVSPLICEREQUEST']._serialized_end=67646 - _globals['_DEVSPLICERESPONSE']._serialized_start=67649 - _globals['_DEVSPLICERESPONSE']._serialized_end=67777 - _globals['_UNRESERVEINPUTSREQUEST']._serialized_start=67779 - _globals['_UNRESERVEINPUTSREQUEST']._serialized_end=67851 - _globals['_UNRESERVEINPUTSRESPONSE']._serialized_start=67853 - _globals['_UNRESERVEINPUTSRESPONSE']._serialized_end=67934 - _globals['_UNRESERVEINPUTSRESERVATIONS']._serialized_start=67937 - _globals['_UNRESERVEINPUTSRESERVATIONS']._serialized_end=68088 - _globals['_UPGRADEWALLETREQUEST']._serialized_start=68090 - _globals['_UPGRADEWALLETREQUEST']._serialized_end=68200 - _globals['_UPGRADEWALLETRESPONSE']._serialized_start=68202 - _globals['_UPGRADEWALLETRESPONSE']._serialized_end=68328 - _globals['_WAITBLOCKHEIGHTREQUEST']._serialized_start=68330 - _globals['_WAITBLOCKHEIGHTREQUEST']._serialized_end=68409 - _globals['_WAITBLOCKHEIGHTRESPONSE']._serialized_start=68411 - _globals['_WAITBLOCKHEIGHTRESPONSE']._serialized_end=68457 - _globals['_WAITREQUEST']._serialized_start=68460 - _globals['_WAITREQUEST']._serialized_end=68773 - _globals['_WAITREQUEST_WAITINDEXNAME']._serialized_start=68596 - _globals['_WAITREQUEST_WAITINDEXNAME']._serialized_end=68650 - _globals['_WAITREQUEST_WAITSUBSYSTEM']._serialized_start=68652 - _globals['_WAITREQUEST_WAITSUBSYSTEM']._serialized_end=68773 - _globals['_WAITRESPONSE']._serialized_start=68776 - _globals['_WAITRESPONSE']._serialized_end=69532 - _globals['_WAITRESPONSE_WAITSUBSYSTEM']._serialized_start=68652 - _globals['_WAITRESPONSE_WAITSUBSYSTEM']._serialized_end=68773 - _globals['_WAITCHAINMOVES']._serialized_start=69534 - _globals['_WAITCHAINMOVES']._serialized_end=69634 - _globals['_WAITCHANNELMOVES']._serialized_start=69636 - _globals['_WAITCHANNELMOVES']._serialized_end=69738 - _globals['_WAITDETAILS']._serialized_start=69741 - _globals['_WAITDETAILS']._serialized_end=70461 - _globals['_WAITDETAILS_WAITDETAILSSTATUS']._serialized_start=70131 - _globals['_WAITDETAILS_WAITDETAILSSTATUS']._serialized_end=70304 - _globals['_WAITFORWARDS']._serialized_start=70464 - _globals['_WAITFORWARDS']._serialized_end=70795 - _globals['_WAITFORWARDS_WAITFORWARDSSTATUS']._serialized_start=70650 - _globals['_WAITFORWARDS_WAITFORWARDSSTATUS']._serialized_end=70726 - _globals['_WAITHTLCS']._serialized_start=70798 - _globals['_WAITHTLCS']._serialized_end=71194 - _globals['_WAITHTLCS_WAITHTLCSDIRECTION']._serialized_start=71051 - _globals['_WAITHTLCS_WAITHTLCSDIRECTION']._serialized_end=71088 - _globals['_WAITINVOICES']._serialized_start=71197 - _globals['_WAITINVOICES']._serialized_end=71474 - _globals['_WAITINVOICES_WAITINVOICESSTATUS']._serialized_start=71360 - _globals['_WAITINVOICES_WAITINVOICESSTATUS']._serialized_end=71415 - _globals['_WAITNETWORKEVENTS']._serialized_start=71477 - _globals['_WAITNETWORKEVENTS']._serialized_end=71742 - _globals['_WAITNETWORKEVENTS_WAITNETWORKEVENTSTYPE']._serialized_start=71618 - _globals['_WAITNETWORKEVENTS_WAITNETWORKEVENTSTYPE']._serialized_end=71698 - _globals['_WAITSENDPAYS']._serialized_start=71745 - _globals['_WAITSENDPAYS']._serialized_end=72000 - _globals['_WAITSENDPAYS_WAITSENDPAYSSTATUS']._serialized_start=71890 - _globals['_WAITSENDPAYS_WAITSENDPAYSSTATUS']._serialized_end=71949 - _globals['_LISTCONFIGSREQUEST']._serialized_start=72002 - _globals['_LISTCONFIGSREQUEST']._serialized_end=72054 - _globals['_LISTCONFIGSRESPONSE']._serialized_start=72056 - _globals['_LISTCONFIGSRESPONSE']._serialized_end=72136 - _globals['_LISTCONFIGSCONFIGS']._serialized_start=72139 - _globals['_LISTCONFIGSCONFIGS']._serialized_end=78148 - _globals['_LISTCONFIGSCONFIGSADDR']._serialized_start=78150 - _globals['_LISTCONFIGSCONFIGSADDR']._serialized_end=78211 - _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_start=78213 - _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_end=78273 - _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_start=78275 - _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_end=78350 - _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_start=78352 - _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_end=78422 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_start=78424 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_end=78493 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_start=78496 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_end=78752 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_start=78671 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_end=78752 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_start=78754 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_end=78835 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_start=78837 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_end=78908 - _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_start=78910 - _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_end=78987 - _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_start=78989 - _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_end=79055 - _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_start=79057 - _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_end=79122 - _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_start=79124 - _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_end=79185 - _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_start=79187 - _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_end=79251 - _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_start=79253 - _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_end=79317 - _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_start=79319 - _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_end=79383 - _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_start=79385 - _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_end=79459 - _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_start=79461 - _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_end=79526 - _globals['_LISTCONFIGSCONFIGSCONF']._serialized_start=79529 - _globals['_LISTCONFIGSCONFIGSCONF']._serialized_end=79691 - _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_start=79648 - _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_end=79691 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_start=79693 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_end=79803 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_start=79805 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_end=79919 - _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_start=79921 - _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_end=79976 - _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_start=79978 - _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_end=80049 - _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_start=80051 - _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_end=80109 - _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_start=80111 - _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_end=80170 - _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_start=80172 - _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_end=80263 - _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_start=80265 - _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_end=80335 - _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_start=80337 - _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_end=80398 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_start=80400 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_end=80468 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_start=80470 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_end=80539 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_start=80541 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_end=80613 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_start=80615 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_end=80696 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_start=80698 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_end=80775 - _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_start=80777 - _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_end=80839 - _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_start=80841 - _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_end=80909 - _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_start=80911 - _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_end=81013 - _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_start=81015 - _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_end=81083 - _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_start=81085 - _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_end=81155 - _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_start=81157 - _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_end=81241 - _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_start=81243 - _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_end=81327 - _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_start=81329 - _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_end=81400 - _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_start=81402 - _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_end=81474 - _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_start=81476 - _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_end=81543 - _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_start=81545 - _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_end=81607 - _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_start=81609 - _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_end=81676 - _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_start=81678 - _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_end=81742 - _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_start=81744 - _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_end=81807 - _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_start=81809 - _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_end=81873 - _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_start=81875 - _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_end=81944 - _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_start=81946 - _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_end=82002 - _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_start=82004 - _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_end=82077 - _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_start=82079 - _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_end=82171 - _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_start=82173 - _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_end=82276 - _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_start=82278 - _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_end=82340 - _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_start=82342 - _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_end=82398 - _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_start=82400 - _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_end=82462 - _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_start=82464 - _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_end=82527 - _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_start=82529 - _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_end=82595 - _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_start=82597 - _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_end=82657 - _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_start=82659 - _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_end=82715 - _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_start=82717 - _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_end=82795 - _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_start=82797 - _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_end=82858 - _globals['_LISTCONFIGSCONFIGSRGB']._serialized_start=82860 - _globals['_LISTCONFIGSCONFIGSRGB']._serialized_end=82918 - _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_start=82920 - _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_end=82982 - _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_start=82984 - _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_end=83050 - _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_start=83052 - _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_end=83107 - _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_start=83109 - _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_end=83175 - _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_start=83177 - _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_end=83233 - _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_start=83235 - _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_end=83308 - _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_start=83310 - _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_end=83371 - _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_start=83373 - _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_end=83443 - _globals['_STOPREQUEST']._serialized_start=83445 - _globals['_STOPREQUEST']._serialized_end=83458 - _globals['_STOPRESPONSE']._serialized_start=83460 - _globals['_STOPRESPONSE']._serialized_end=83557 - _globals['_STOPRESPONSE_STOPRESULT']._serialized_start=83522 - _globals['_STOPRESPONSE_STOPRESULT']._serialized_end=83557 - _globals['_HELPREQUEST']._serialized_start=83559 - _globals['_HELPREQUEST']._serialized_end=83606 - _globals['_HELPRESPONSE']._serialized_start=83609 - _globals['_HELPRESPONSE']._serialized_end=83758 - _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_start=83714 - _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_end=83742 - _globals['_HELPHELP']._serialized_start=83760 - _globals['_HELPHELP']._serialized_end=83787 - _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_start=83789 - _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_end=83892 - _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_start=83894 - _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_end=83921 - _globals['_PREAPPROVEINVOICEREQUEST']._serialized_start=83923 - _globals['_PREAPPROVEINVOICEREQUEST']._serialized_end=83965 - _globals['_PREAPPROVEINVOICERESPONSE']._serialized_start=83967 - _globals['_PREAPPROVEINVOICERESPONSE']._serialized_end=83994 - _globals['_STATICBACKUPREQUEST']._serialized_start=83996 - _globals['_STATICBACKUPREQUEST']._serialized_end=84017 - _globals['_STATICBACKUPRESPONSE']._serialized_start=84019 - _globals['_STATICBACKUPRESPONSE']._serialized_end=84054 - _globals['_BKPRCHANNELSAPYREQUEST']._serialized_start=84056 - _globals['_BKPRCHANNELSAPYREQUEST']._serialized_end=84156 - _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_start=84158 - _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_end=84238 - _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_start=84241 - _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_end=85130 - _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_start=85133 - _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_end=85343 - _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_start=85346 - _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_end=85558 - _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_start=85472 - _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_end=85558 - _globals['_BKPRINSPECTREQUEST']._serialized_start=85560 - _globals['_BKPRINSPECTREQUEST']._serialized_end=85597 - _globals['_BKPRINSPECTRESPONSE']._serialized_start=85599 - _globals['_BKPRINSPECTRESPONSE']._serialized_end=85654 - _globals['_BKPRINSPECTTXS']._serialized_start=85657 - _globals['_BKPRINSPECTTXS']._serialized_end=85811 - _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_start=85814 - _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_end=86258 - _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_start=86260 - _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_end=86364 - _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_start=86366 - _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_end=86447 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_start=86450 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_end=87167 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_start=86953 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_end=87027 - _globals['_BKPRLISTBALANCESREQUEST']._serialized_start=87169 - _globals['_BKPRLISTBALANCESREQUEST']._serialized_end=87194 - _globals['_BKPRLISTBALANCESRESPONSE']._serialized_start=87196 - _globals['_BKPRLISTBALANCESRESPONSE']._serialized_end=87271 - _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_start=87274 - _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_end=87600 - _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_start=87602 - _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_end=87690 - _globals['_BKPRLISTINCOMEREQUEST']._serialized_start=87693 - _globals['_BKPRLISTINCOMEREQUEST']._serialized_end=87844 - _globals['_BKPRLISTINCOMERESPONSE']._serialized_start=87846 - _globals['_BKPRLISTINCOMERESPONSE']._serialized_end=87926 - _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_start=87929 - _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_end=88237 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_start=88239 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_end=88319 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_start=88321 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_end=88422 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_start=88425 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_end=89100 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_start=88926 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_end=88993 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_start=89102 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_end=89179 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_start=89181 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_end=89280 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_start=89283 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_end=89954 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_start=89781 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_end=89847 - _globals['_BKPRREPORTREQUEST']._serialized_start=89957 - _globals['_BKPRREPORTREQUEST']._serialized_end=90133 - _globals['_BKPRREPORTRESPONSE']._serialized_start=90135 - _globals['_BKPRREPORTRESPONSE']._serialized_end=90171 - _globals['_BLACKLISTRUNEREQUEST']._serialized_start=90173 - _globals['_BLACKLISTRUNEREQUEST']._serialized_end=90283 - _globals['_BLACKLISTRUNERESPONSE']._serialized_start=90285 - _globals['_BLACKLISTRUNERESPONSE']._serialized_end=90356 - _globals['_BLACKLISTRUNEBLACKLIST']._serialized_start=90358 - _globals['_BLACKLISTRUNEBLACKLIST']._serialized_end=90410 - _globals['_CHECKRUNEREQUEST']._serialized_start=90412 - _globals['_CHECKRUNEREQUEST']._serialized_end=90524 - _globals['_CHECKRUNERESPONSE']._serialized_start=90526 - _globals['_CHECKRUNERESPONSE']._serialized_end=90560 - _globals['_CREATERUNEREQUEST']._serialized_start=90562 - _globals['_CREATERUNEREQUEST']._serialized_end=90631 - _globals['_CREATERUNERESPONSE']._serialized_start=90633 - _globals['_CREATERUNERESPONSE']._serialized_end=90756 - _globals['_SHOWRUNESREQUEST']._serialized_start=90758 - _globals['_SHOWRUNESREQUEST']._serialized_end=90804 - _globals['_SHOWRUNESRESPONSE']._serialized_start=90806 - _globals['_SHOWRUNESRESPONSE']._serialized_end=90861 - _globals['_SHOWRUNESRUNES']._serialized_start=90864 - _globals['_SHOWRUNESRUNES']._serialized_end=91149 - _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_start=91151 - _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_end=91263 - _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_start=91265 - _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_end=91375 - _globals['_ASKRENEUNRESERVEREQUEST']._serialized_start=91377 - _globals['_ASKRENEUNRESERVEREQUEST']._serialized_end=91491 - _globals['_ASKRENEUNRESERVERESPONSE']._serialized_start=91493 - _globals['_ASKRENEUNRESERVERESPONSE']._serialized_end=91519 - _globals['_ASKRENEUNRESERVEPATH']._serialized_start=91521 - _globals['_ASKRENEUNRESERVEPATH']._serialized_end=91637 - _globals['_ASKRENELISTLAYERSREQUEST']._serialized_start=91639 - _globals['_ASKRENELISTLAYERSREQUEST']._serialized_end=91695 - _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_start=91697 - _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_end=91770 - _globals['_ASKRENELISTLAYERSLAYERS']._serialized_start=91773 - _globals['_ASKRENELISTLAYERSLAYERS']._serialized_end=92199 - _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_start=92202 - _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_end=92357 - _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_start=92360 - _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_end=92784 - _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_start=92787 - _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_end=93005 - _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_start=93008 - _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_end=93147 - _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_start=93150 - _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_end=93295 - _globals['_ASKRENECREATELAYERREQUEST']._serialized_start=93297 - _globals['_ASKRENECREATELAYERREQUEST']._serialized_end=93379 - _globals['_ASKRENECREATELAYERRESPONSE']._serialized_start=93381 - _globals['_ASKRENECREATELAYERRESPONSE']._serialized_end=93456 - _globals['_ASKRENECREATELAYERLAYERS']._serialized_start=93459 - _globals['_ASKRENECREATELAYERLAYERS']._serialized_end=93891 - _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_start=93894 - _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_end=94050 - _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_start=94053 - _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_end=94390 - _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_start=94393 - _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_end=94589 - _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_start=94592 - _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_end=94732 - _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_start=94735 - _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_end=94881 - _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_start=94883 - _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_end=94925 - _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_start=94927 - _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_end=94955 - _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_start=94957 - _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_end=95037 - _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_start=95039 - _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_end=95075 - _globals['_ASKRENERESERVEREQUEST']._serialized_start=95077 - _globals['_ASKRENERESERVEREQUEST']._serialized_end=95139 - _globals['_ASKRENERESERVERESPONSE']._serialized_start=95141 - _globals['_ASKRENERESERVERESPONSE']._serialized_end=95165 - _globals['_ASKRENERESERVEPATH']._serialized_start=95167 - _globals['_ASKRENERESERVEPATH']._serialized_end=95281 - _globals['_ASKRENEAGEREQUEST']._serialized_start=95283 - _globals['_ASKRENEAGEREQUEST']._serialized_end=95333 - _globals['_ASKRENEAGERESPONSE']._serialized_start=95335 - _globals['_ASKRENEAGERESPONSE']._serialized_end=95391 - _globals['_GETROUTESREQUEST']._serialized_start=95394 - _globals['_GETROUTESREQUEST']._serialized_end=95625 - _globals['_GETROUTESRESPONSE']._serialized_start=95627 - _globals['_GETROUTESRESPONSE']._serialized_end=95709 - _globals['_GETROUTESROUTES']._serialized_start=95712 - _globals['_GETROUTESROUTES']._serialized_end=95848 - _globals['_GETROUTESROUTESPATH']._serialized_start=95851 - _globals['_GETROUTESROUTESPATH']._serialized_end=96319 - _globals['_ASKRENEDISABLENODEREQUEST']._serialized_start=96321 - _globals['_ASKRENEDISABLENODEREQUEST']._serialized_end=96377 - _globals['_ASKRENEDISABLENODERESPONSE']._serialized_start=96379 - _globals['_ASKRENEDISABLENODERESPONSE']._serialized_end=96407 - _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_start=96410 - _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_end=96676 - _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_start=96597 - _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_end=96676 - _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_start=96678 - _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_end=96767 - _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_start=96770 - _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_end=96981 - _globals['_ASKRENECREATECHANNELREQUEST']._serialized_start=96984 - _globals['_ASKRENECREATECHANNELREQUEST']._serialized_end=97127 - _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_start=97129 - _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_end=97159 - _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_start=97162 - _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_end=97591 - _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_start=97593 - _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_end=97623 - _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_start=97626 - _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_end=97790 - _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_start=97792 - _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_end=97867 - _globals['_ASKRENEBIASCHANNELBIASES']._serialized_start=97870 - _globals['_ASKRENEBIASCHANNELBIASES']._serialized_end=98035 - _globals['_ASKRENEBIASNODEREQUEST']._serialized_start=98038 - _globals['_ASKRENEBIASNODEREQUEST']._serialized_end=98202 - _globals['_ASKRENEBIASNODERESPONSE']._serialized_start=98204 - _globals['_ASKRENEBIASNODERESPONSE']._serialized_end=98282 - _globals['_ASKRENEBIASNODENODEBIASES']._serialized_start=98285 - _globals['_ASKRENEBIASNODENODEBIASES']._serialized_end=98437 - _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_start=98439 - _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_end=98471 - _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_start=98473 - _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_end=98570 - _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_start=98573 - _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_end=98718 - _globals['_INJECTPAYMENTONIONREQUEST']._serialized_start=98721 - _globals['_INJECTPAYMENTONIONREQUEST']._serialized_end=99094 - _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_start=99096 - _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_end=99215 - _globals['_INJECTONIONMESSAGEREQUEST']._serialized_start=99217 - _globals['_INJECTONIONMESSAGEREQUEST']._serialized_end=99279 - _globals['_INJECTONIONMESSAGERESPONSE']._serialized_start=99281 - _globals['_INJECTONIONMESSAGERESPONSE']._serialized_end=99309 - _globals['_XPAYREQUEST']._serialized_start=99312 - _globals['_XPAYREQUEST']._serialized_end=99755 - _globals['_XPAYRESPONSE']._serialized_start=99758 - _globals['_XPAYRESPONSE']._serialized_end=99919 - _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_start=99921 - _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_end=99982 - _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_start=99984 - _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_end=100080 - _globals['_LISTCHANNELMOVESREQUEST']._serialized_start=100083 - _globals['_LISTCHANNELMOVESREQUEST']._serialized_end=100288 - _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_start=100222 - _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_end=100258 - _globals['_LISTCHANNELMOVESRESPONSE']._serialized_start=100290 - _globals['_LISTCHANNELMOVESRESPONSE']._serialized_end=100373 - _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_start=100376 - _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_end=100929 - _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_start=100737 - _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_end=100887 - _globals['_LISTCHAINMOVESREQUEST']._serialized_start=100932 - _globals['_LISTCHAINMOVESREQUEST']._serialized_end=101129 - _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_start=101065 - _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_end=101099 - _globals['_LISTCHAINMOVESRESPONSE']._serialized_start=101131 - _globals['_LISTCHAINMOVESRESPONSE']._serialized_end=101206 - _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_start=101209 - _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_end=102061 - _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_start=101696 - _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_end=101973 - _globals['_LISTNETWORKEVENTSREQUEST']._serialized_start=102064 - _globals['_LISTNETWORKEVENTSREQUEST']._serialized_end=102297 - _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_start=102223 - _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_end=102260 - _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_start=102299 - _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_end=102386 - _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_start=102389 - _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_end=102631 - _globals['_DELNETWORKEVENTREQUEST']._serialized_start=102633 - _globals['_DELNETWORKEVENTREQUEST']._serialized_end=102680 - _globals['_DELNETWORKEVENTRESPONSE']._serialized_start=102682 - _globals['_DELNETWORKEVENTRESPONSE']._serialized_end=102707 - _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_start=102710 - _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_end=102956 - _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_start=102958 - _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_end=102987 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_start=102990 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_end=103208 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_start=103141 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_end=103186 - _globals['_LISTCURRENCYRATESREQUEST']._serialized_start=103210 - _globals['_LISTCURRENCYRATESREQUEST']._serialized_end=103254 - _globals['_LISTCURRENCYRATESRESPONSE']._serialized_start=103256 - _globals['_LISTCURRENCYRATESRESPONSE']._serialized_end=103343 - _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_start=103345 - _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_end=103409 - _globals['_CURRENCYCONVERTREQUEST']._serialized_start=103411 - _globals['_CURRENCYCONVERTREQUEST']._serialized_end=103469 - _globals['_CURRENCYCONVERTRESPONSE']._serialized_start=103471 - _globals['_CURRENCYCONVERTRESPONSE']._serialized_end=103523 - _globals['_CURRENCYRATEREQUEST']._serialized_start=103525 - _globals['_CURRENCYRATEREQUEST']._serialized_end=103596 - _globals['_CURRENCYRATERESPONSE']._serialized_start=103598 - _globals['_CURRENCYRATERESPONSE']._serialized_end=103634 - _globals['_SENDAMOUNTREQUEST']._serialized_start=103637 - _globals['_SENDAMOUNTREQUEST']._serialized_end=103914 - _globals['_SENDAMOUNTRESPONSE']._serialized_start=103917 - _globals['_SENDAMOUNTRESPONSE']._serialized_end=104084 - _globals['_CREATEPROOFREQUEST']._serialized_start=104086 - _globals['_CREATEPROOFREQUEST']._serialized_end=104187 - _globals['_CREATEPROOFRESPONSE']._serialized_start=104189 - _globals['_CREATEPROOFRESPONSE']._serialized_end=104250 - _globals['_CREATEPROOFPROOFS']._serialized_start=104253 - _globals['_CREATEPROOFPROOFS']._serialized_end=104435 - _globals['_XKEYSENDREQUEST']._serialized_start=104438 - _globals['_XKEYSENDREQUEST']._serialized_end=104781 - _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_start=104685 - _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_end=104733 - _globals['_XKEYSENDRESPONSE']._serialized_start=104784 - _globals['_XKEYSENDRESPONSE']._serialized_end=104949 - _globals['_GRACEFULREQUEST']._serialized_start=104951 - _globals['_GRACEFULREQUEST']._serialized_end=105002 - _globals['_GRACEFULRESPONSE']._serialized_start=105004 - _globals['_GRACEFULRESPONSE']._serialized_end=105076 - _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_start=105078 - _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_end=105108 - _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_start=105111 - _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_end=105245 - _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_start=105247 - _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_end=105346 - _globals['_STREAMBLOCKADDEDREQUEST']._serialized_start=105348 - _globals['_STREAMBLOCKADDEDREQUEST']._serialized_end=105373 - _globals['_BLOCKADDEDNOTIFICATION']._serialized_start=105375 - _globals['_BLOCKADDEDNOTIFICATION']._serialized_end=105429 - _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_start=105431 - _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_end=105463 - _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_start=105465 - _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_end=105516 - _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_start=105518 - _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_end=105546 - _globals['_CHANNELOPENEDNOTIFICATION']._serialized_start=105548 - _globals['_CHANNELOPENEDNOTIFICATION']._serialized_end=105667 - _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_start=105669 - _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_end=105703 - _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_start=105706 - _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_end=106155 - _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_start=106009 - _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_end=106108 - _globals['_STREAMCONNECTREQUEST']._serialized_start=106157 - _globals['_STREAMCONNECTREQUEST']._serialized_end=106179 - _globals['_PEERCONNECTNOTIFICATION']._serialized_start=106182 - _globals['_PEERCONNECTNOTIFICATION']._serialized_end=106372 - _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_start=106333 - _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_end=106372 - _globals['_PEERCONNECTADDRESS']._serialized_start=106375 - _globals['_PEERCONNECTADDRESS']._serialized_end=106657 - _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_start=106526 - _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_end=106625 - _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_start=106659 - _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_end=106686 - _globals['_COINMOVEMENTNOTIFICATION']._serialized_start=106689 - _globals['_COINMOVEMENTNOTIFICATION']._serialized_end=108144 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_start=107483 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_end=107858 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_start=107860 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_end=107910 - _globals['_STREAMCUSTOMMSGREQUEST']._serialized_start=108146 - _globals['_STREAMCUSTOMMSGREQUEST']._serialized_end=108170 - _globals['_CUSTOMMSGNOTIFICATION']._serialized_start=108172 - _globals['_CUSTOMMSGNOTIFICATION']._serialized_end=108229 - _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_start=108231 - _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_end=108263 - _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_start=108265 - _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_end=108319 - _globals['_STREAMDISCONNECTREQUEST']._serialized_start=108321 - _globals['_STREAMDISCONNECTREQUEST']._serialized_end=108346 - _globals['_DISCONNECTNOTIFICATION']._serialized_start=108348 - _globals['_DISCONNECTNOTIFICATION']._serialized_end=108384 - _globals['_STREAMFORWARDEVENTREQUEST']._serialized_start=108386 - _globals['_STREAMFORWARDEVENTREQUEST']._serialized_end=108413 - _globals['_FORWARDEVENTNOTIFICATION']._serialized_start=108416 - _globals['_FORWARDEVENTNOTIFICATION']._serialized_end=109064 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_start=108848 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_end=108924 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_start=108926 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_end=108966 - _globals['_STREAMINVOICECREATIONREQUEST']._serialized_start=109066 - _globals['_STREAMINVOICECREATIONREQUEST']._serialized_end=109096 - _globals['_INVOICECREATIONNOTIFICATION']._serialized_start=109098 - _globals['_INVOICECREATIONNOTIFICATION']._serialized_end=109201 - _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_start=109203 - _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_end=109232 - _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_start=109235 - _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_end=109374 - _globals['_STREAMLOGREQUEST']._serialized_start=109376 - _globals['_STREAMLOGREQUEST']._serialized_end=109394 - _globals['_LOGNOTIFICATION']._serialized_start=109397 - _globals['_LOGNOTIFICATION']._serialized_end=109599 - _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_start=109524 - _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_end=109599 - _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_start=109601 - _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_end=109639 - _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_start=109642 - _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_end=109881 - _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_start=109883 - _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_end=109917 - _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_start=109919 - _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_end=109993 - _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_start=109995 - _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_end=110023 - _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_start=110025 - _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_end=110111 - _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_start=110113 - _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_end=110141 - _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_start=110143 - _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_end=110229 - _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_start=110231 - _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_end=110260 - _globals['_SENDPAYFAILURENOTIFICATION']._serialized_start=110262 - _globals['_SENDPAYFAILURENOTIFICATION']._serialized_end=110360 - _globals['_SENDPAYFAILUREDATA']._serialized_start=110363 - _globals['_SENDPAYFAILUREDATA']._serialized_end=111580 - _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_start=111118 - _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_end=111183 - _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_start=111582 - _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_end=111611 - _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_start=111614 - _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_end=112330 - _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_start=112132 - _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_end=112168 - _globals['_STREAMSHUTDOWNREQUEST']._serialized_start=112332 - _globals['_STREAMSHUTDOWNREQUEST']._serialized_end=112355 - _globals['_SHUTDOWNNOTIFICATION']._serialized_start=112357 - _globals['_SHUTDOWNNOTIFICATION']._serialized_end=112379 - _globals['_STREAMWARNINGREQUEST']._serialized_start=112381 - _globals['_STREAMWARNINGREQUEST']._serialized_end=112403 - _globals['_WARNINGNOTIFICATION']._serialized_start=112406 - _globals['_WARNINGNOTIFICATION']._serialized_end=112580 - _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_start=112545 - _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_end=112580 - _globals['_STREAMPAYPARTENDREQUEST']._serialized_start=112582 - _globals['_STREAMPAYPARTENDREQUEST']._serialized_end=112607 - _globals['_PAYPARTENDNOTIFICATION']._serialized_start=112610 - _globals['_PAYPARTENDNOTIFICATION']._serialized_end=113107 - _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_start=112947 - _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_end=112991 - _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_start=113109 - _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_end=113136 - _globals['_PAYPARTSTARTNOTIFICATION']._serialized_start=113139 - _globals['_PAYPARTSTARTNOTIFICATION']._serialized_end=113333 - _globals['_PAYPARTSTARTHOPS']._serialized_start=113336 - _globals['_PAYPARTSTARTHOPS']._serialized_end=113495 - _globals['_NODE']._serialized_start=113498 - _globals['_NODE']._serialized_end=126868 + _globals['_LISTPEERCHANNELSCHANNELS']._serialized_end=31034 + _globals['_LISTPEERCHANNELSCHANNELSALIAS']._serialized_start=31036 + _globals['_LISTPEERCHANNELSCHANNELSALIAS']._serialized_end=31129 + _globals['_LISTPEERCHANNELSCHANNELSCHANNELTYPE']._serialized_start=31131 + _globals['_LISTPEERCHANNELSCHANNELSCHANNELTYPE']._serialized_end=31219 + _globals['_LISTPEERCHANNELSCHANNELSFEERATE']._serialized_start=31221 + _globals['_LISTPEERCHANNELSCHANNELSFEERATE']._serialized_end=31284 + _globals['_LISTPEERCHANNELSCHANNELSFUNDING']._serialized_start=31287 + _globals['_LISTPEERCHANNELSCHANNELSFUNDING']._serialized_end=31636 + _globals['_LISTPEERCHANNELSCHANNELSHTLCS']._serialized_start=31639 + _globals['_LISTPEERCHANNELSCHANNELSHTLCS']._serialized_end=32016 + _globals['_LISTPEERCHANNELSCHANNELSHTLCS_LISTPEERCHANNELSCHANNELSHTLCSDIRECTION']._serialized_start=31930 + _globals['_LISTPEERCHANNELSCHANNELSHTLCS_LISTPEERCHANNELSCHANNELSHTLCSDIRECTION']._serialized_end=31987 + _globals['_LISTPEERCHANNELSCHANNELSINFLIGHT']._serialized_start=32019 + _globals['_LISTPEERCHANNELSCHANNELSINFLIGHT']._serialized_end=32263 + _globals['_LISTPEERCHANNELSCHANNELSSTATECHANGES']._serialized_start=32266 + _globals['_LISTPEERCHANNELSCHANNELSSTATECHANGES']._serialized_end=32634 + _globals['_LISTPEERCHANNELSCHANNELSSTATECHANGES_LISTPEERCHANNELSCHANNELSSTATECHANGESCAUSE']._serialized_start=32518 + _globals['_LISTPEERCHANNELSCHANNELSSTATECHANGES_LISTPEERCHANNELSCHANNELSSTATECHANGESCAUSE']._serialized_end=32634 + _globals['_LISTPEERCHANNELSCHANNELSUPDATES']._serialized_start=32637 + _globals['_LISTPEERCHANNELSCHANNELSUPDATES']._serialized_end=32804 + _globals['_LISTPEERCHANNELSCHANNELSUPDATESLOCAL']._serialized_start=32807 + _globals['_LISTPEERCHANNELSCHANNELSUPDATESLOCAL']._serialized_end=33025 + _globals['_LISTPEERCHANNELSCHANNELSUPDATESREMOTE']._serialized_start=33028 + _globals['_LISTPEERCHANNELSCHANNELSUPDATESREMOTE']._serialized_end=33247 + _globals['_LISTCLOSEDCHANNELSREQUEST']._serialized_start=33249 + _globals['_LISTCLOSEDCHANNELSREQUEST']._serialized_end=33300 + _globals['_LISTCLOSEDCHANNELSRESPONSE']._serialized_start=33302 + _globals['_LISTCLOSEDCHANNELSRESPONSE']._serialized_end=33393 + _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELS']._serialized_start=33396 + _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELS']._serialized_end=34850 + _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELS_LISTCLOSEDCHANNELSCLOSEDCHANNELSCLOSECAUSE']._serialized_start=34467 + _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELS_LISTCLOSEDCHANNELSCLOSEDCHANNELSCLOSECAUSE']._serialized_end=34584 + _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELSALIAS']._serialized_start=34852 + _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELSALIAS']._serialized_end=34953 + _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELSCHANNELTYPE']._serialized_start=34955 + _globals['_LISTCLOSEDCHANNELSCLOSEDCHANNELSCHANNELTYPE']._serialized_end=35051 + _globals['_DECODEREQUEST']._serialized_start=35053 + _globals['_DECODEREQUEST']._serialized_end=35084 + _globals['_DECODERESPONSE']._serialized_start=35087 + _globals['_DECODERESPONSE']._serialized_end=41036 + _globals['_DECODERESPONSE_DECODETYPE']._serialized_start=38831 + _globals['_DECODERESPONSE_DECODETYPE']._serialized_end=38986 + _globals['_DECODEEXTRA']._serialized_start=41038 + _globals['_DECODEEXTRA']._serialized_end=41078 + _globals['_DECODEFALLBACKS']._serialized_start=41081 + _globals['_DECODEFALLBACKS']._serialized_end=41277 + _globals['_DECODEFALLBACKS_DECODEFALLBACKSTYPE']._serialized_start=41193 + _globals['_DECODEFALLBACKS_DECODEFALLBACKSTYPE']._serialized_end=41268 + _globals['_DECODEINVOICEFALLBACKS']._serialized_start=41279 + _globals['_DECODEINVOICEFALLBACKS']._serialized_end=41367 + _globals['_DECODEINVOICEPATHS']._serialized_start=41370 + _globals['_DECODEINVOICEPATHS']._serialized_end=41664 + _globals['_DECODEINVOICEPATHSPATH']._serialized_start=41666 + _globals['_DECODEINVOICEPATHSPATH']._serialized_end=41749 + _globals['_DECODEINVOICEPATHSPAYINFO']._serialized_start=41752 + _globals['_DECODEINVOICEPATHSPAYINFO']._serialized_end=42031 + _globals['_DECODEINVREQBIP353NAME']._serialized_start=42033 + _globals['_DECODEINVREQBIP353NAME']._serialized_end=42117 + _globals['_DECODEINVREQPATHS']._serialized_start=42120 + _globals['_DECODEINVREQPATHS']._serialized_end=42363 + _globals['_DECODEINVREQPATHSPATH']._serialized_start=42365 + _globals['_DECODEINVREQPATHSPATH']._serialized_end=42447 + _globals['_DECODEOFFERPATHS']._serialized_start=42450 + _globals['_DECODEOFFERPATHS']._serialized_end=42691 + _globals['_DECODEOFFERPATHSPATH']._serialized_start=42693 + _globals['_DECODEOFFERPATHSPATH']._serialized_end=42774 + _globals['_DECODEOFFERRECURRENCE']._serialized_start=42777 + _globals['_DECODEOFFERRECURRENCE']._serialized_end=43076 + _globals['_DECODEOFFERRECURRENCEPAYWINDOW']._serialized_start=43079 + _globals['_DECODEOFFERRECURRENCEPAYWINDOW']._serialized_end=43216 + _globals['_DECODERESTRICTIONS']._serialized_start=43218 + _globals['_DECODERESTRICTIONS']._serialized_end=43277 + _globals['_DECODEUNKNOWNINVOICEREQUESTTLVS']._serialized_start=43279 + _globals['_DECODEUNKNOWNINVOICEREQUESTTLVS']._serialized_end=43362 + _globals['_DECODEUNKNOWNINVOICETLVS']._serialized_start=43364 + _globals['_DECODEUNKNOWNINVOICETLVS']._serialized_end=43440 + _globals['_DECODEUNKNOWNOFFERTLVS']._serialized_start=43442 + _globals['_DECODEUNKNOWNOFFERTLVS']._serialized_end=43516 + _globals['_DECODEUNKNOWNPAYERPROOFTLVS']._serialized_start=43518 + _globals['_DECODEUNKNOWNPAYERPROOFTLVS']._serialized_end=43597 + _globals['_DELPAYREQUEST']._serialized_start=43600 + _globals['_DELPAYREQUEST']._serialized_end=43794 + _globals['_DELPAYREQUEST_DELPAYSTATUS']._serialized_start=43731 + _globals['_DELPAYREQUEST_DELPAYSTATUS']._serialized_end=43771 + _globals['_DELPAYRESPONSE']._serialized_start=43796 + _globals['_DELPAYRESPONSE']._serialized_end=43851 + _globals['_DELPAYPAYMENTS']._serialized_start=43854 + _globals['_DELPAYPAYMENTS']._serialized_end=44546 + _globals['_DELPAYPAYMENTS_DELPAYPAYMENTSSTATUS']._serialized_start=44327 + _globals['_DELPAYPAYMENTS_DELPAYPAYMENTSSTATUS']._serialized_end=44388 + _globals['_DELFORWARDREQUEST']._serialized_start=44549 + _globals['_DELFORWARDREQUEST']._serialized_end=44728 + _globals['_DELFORWARDREQUEST_DELFORWARDSTATUS']._serialized_start=44667 + _globals['_DELFORWARDREQUEST_DELFORWARDSTATUS']._serialized_end=44728 + _globals['_DELFORWARDRESPONSE']._serialized_start=44730 + _globals['_DELFORWARDRESPONSE']._serialized_end=44750 + _globals['_DISABLEOFFERREQUEST']._serialized_start=44752 + _globals['_DISABLEOFFERREQUEST']._serialized_end=44791 + _globals['_DISABLEOFFERRESPONSE']._serialized_start=44794 + _globals['_DISABLEOFFERRESPONSE']._serialized_end=45014 + _globals['_ENABLEOFFERREQUEST']._serialized_start=45016 + _globals['_ENABLEOFFERREQUEST']._serialized_end=45054 + _globals['_ENABLEOFFERRESPONSE']._serialized_start=45057 + _globals['_ENABLEOFFERRESPONSE']._serialized_end=45276 + _globals['_DISCONNECTREQUEST']._serialized_start=45278 + _globals['_DISCONNECTREQUEST']._serialized_end=45339 + _globals['_DISCONNECTRESPONSE']._serialized_start=45341 + _globals['_DISCONNECTRESPONSE']._serialized_end=45361 + _globals['_FEERATESREQUEST']._serialized_start=45363 + _globals['_FEERATESREQUEST']._serialized_end=45470 + _globals['_FEERATESREQUEST_FEERATESSTYLE']._serialized_start=45433 + _globals['_FEERATESREQUEST_FEERATESSTYLE']._serialized_end=45470 + _globals['_FEERATESRESPONSE']._serialized_start=45473 + _globals['_FEERATESRESPONSE']._serialized_end=45755 + _globals['_FEERATESONCHAINFEEESTIMATES']._serialized_start=45758 + _globals['_FEERATESONCHAINFEEESTIMATES']._serialized_end=46039 + _globals['_FEERATESPERKB']._serialized_start=46042 + _globals['_FEERATESPERKB']._serialized_end=46430 + _globals['_FEERATESPERKBESTIMATES']._serialized_start=46432 + _globals['_FEERATESPERKBESTIMATES']._serialized_end=46519 + _globals['_FEERATESPERKW']._serialized_start=46522 + _globals['_FEERATESPERKW']._serialized_end=46910 + _globals['_FEERATESPERKWESTIMATES']._serialized_start=46912 + _globals['_FEERATESPERKWESTIMATES']._serialized_end=46999 + _globals['_FETCHBIP353REQUEST']._serialized_start=47001 + _globals['_FETCHBIP353REQUEST']._serialized_end=47038 + _globals['_FETCHBIP353RESPONSE']._serialized_start=47040 + _globals['_FETCHBIP353RESPONSE']._serialized_end=47128 + _globals['_FETCHBIP353INSTRUCTIONS']._serialized_start=47131 + _globals['_FETCHBIP353INSTRUCTIONS']._serialized_end=47378 + _globals['_FETCHINVOICEREQUEST']._serialized_start=47381 + _globals['_FETCHINVOICEREQUEST']._serialized_end=47822 + _globals['_FETCHINVOICERESPONSE']._serialized_start=47825 + _globals['_FETCHINVOICERESPONSE']._serialized_end=47978 + _globals['_FETCHINVOICECHANGES']._serialized_start=47981 + _globals['_FETCHINVOICECHANGES']._serialized_end=48239 + _globals['_FETCHINVOICENEXTPERIOD']._serialized_start=48241 + _globals['_FETCHINVOICENEXTPERIOD']._serialized_end=48366 + _globals['_CANCELRECURRINGINVOICEREQUEST']._serialized_start=48369 + _globals['_CANCELRECURRINGINVOICEREQUEST']._serialized_end=48593 + _globals['_CANCELRECURRINGINVOICERESPONSE']._serialized_start=48595 + _globals['_CANCELRECURRINGINVOICERESPONSE']._serialized_end=48643 + _globals['_FUNDCHANNELCANCELREQUEST']._serialized_start=48645 + _globals['_FUNDCHANNELCANCELREQUEST']._serialized_end=48683 + _globals['_FUNDCHANNELCANCELRESPONSE']._serialized_start=48685 + _globals['_FUNDCHANNELCANCELRESPONSE']._serialized_end=48731 + _globals['_FUNDCHANNELCOMPLETEREQUEST']._serialized_start=48733 + _globals['_FUNDCHANNELCOMPLETEREQUEST']._serialized_end=48823 + _globals['_FUNDCHANNELCOMPLETERESPONSE']._serialized_start=48825 + _globals['_FUNDCHANNELCOMPLETERESPONSE']._serialized_end=48903 + _globals['_FUNDCHANNELREQUEST']._serialized_start=48906 + _globals['_FUNDCHANNELREQUEST']._serialized_end=49413 + _globals['_FUNDCHANNELRESPONSE']._serialized_start=49416 + _globals['_FUNDCHANNELRESPONSE']._serialized_end=49622 + _globals['_FUNDCHANNELCHANNELTYPE']._serialized_start=49624 + _globals['_FUNDCHANNELCHANNELTYPE']._serialized_end=49699 + _globals['_FUNDCHANNELSTARTREQUEST']._serialized_start=49702 + _globals['_FUNDCHANNELSTARTREQUEST']._serialized_end=50044 + _globals['_FUNDCHANNELSTARTRESPONSE']._serialized_start=50047 + _globals['_FUNDCHANNELSTARTRESPONSE']._serialized_end=50293 + _globals['_FUNDCHANNELSTARTCHANNELTYPE']._serialized_start=50295 + _globals['_FUNDCHANNELSTARTCHANNELTYPE']._serialized_end=50375 + _globals['_GETLOGREQUEST']._serialized_start=50378 + _globals['_GETLOGREQUEST']._serialized_end=50527 + _globals['_GETLOGREQUEST_GETLOGLEVEL']._serialized_start=50447 + _globals['_GETLOGREQUEST_GETLOGLEVEL']._serialized_end=50517 + _globals['_GETLOGRESPONSE']._serialized_start=50529 + _globals['_GETLOGRESPONSE']._serialized_end=50633 + _globals['_GETLOGLOG']._serialized_start=50636 + _globals['_GETLOGLOG']._serialized_end=50996 + _globals['_GETLOGLOG_GETLOGLOGTYPE']._serialized_start=50823 + _globals['_GETLOGLOG_GETLOGLOGTYPE']._serialized_end=50931 + _globals['_FUNDERUPDATEREQUEST']._serialized_start=50999 + _globals['_FUNDERUPDATEREQUEST']._serialized_end=52112 + _globals['_FUNDERUPDATEREQUEST_FUNDERUPDATEPOLICY']._serialized_start=51693 + _globals['_FUNDERUPDATEREQUEST_FUNDERUPDATEPOLICY']._serialized_end=51750 + _globals['_FUNDERUPDATERESPONSE']._serialized_start=52115 + _globals['_FUNDERUPDATERESPONSE']._serialized_end=52978 + _globals['_FUNDERUPDATERESPONSE_FUNDERUPDATEPOLICY']._serialized_start=51693 + _globals['_FUNDERUPDATERESPONSE_FUNDERUPDATEPOLICY']._serialized_end=51750 + _globals['_GETROUTEREQUEST']._serialized_start=52981 + _globals['_GETROUTEREQUEST']._serialized_end=53249 + _globals['_GETROUTERESPONSE']._serialized_start=53251 + _globals['_GETROUTERESPONSE']._serialized_end=53308 + _globals['_GETROUTEROUTE']._serialized_start=53311 + _globals['_GETROUTEROUTE']._serialized_end=53536 + _globals['_GETROUTEROUTE_GETROUTEROUTESTYLE']._serialized_start=53503 + _globals['_GETROUTEROUTE_GETROUTEROUTESTYLE']._serialized_end=53536 + _globals['_LISTADDRESSESREQUEST']._serialized_start=53538 + _globals['_LISTADDRESSESREQUEST']._serialized_end=53654 + _globals['_LISTADDRESSESRESPONSE']._serialized_start=53656 + _globals['_LISTADDRESSESRESPONSE']._serialized_end=53727 + _globals['_LISTADDRESSESADDRESSES']._serialized_start=53729 + _globals['_LISTADDRESSESADDRESSES']._serialized_end=53829 + _globals['_LISTFORWARDSREQUEST']._serialized_start=53832 + _globals['_LISTFORWARDSREQUEST']._serialized_end=54271 + _globals['_LISTFORWARDSREQUEST_LISTFORWARDSINDEX']._serialized_start=54076 + _globals['_LISTFORWARDSREQUEST_LISTFORWARDSINDEX']._serialized_end=54121 + _globals['_LISTFORWARDSREQUEST_LISTFORWARDSSTATUS']._serialized_start=54123 + _globals['_LISTFORWARDSREQUEST_LISTFORWARDSSTATUS']._serialized_end=54199 + _globals['_LISTFORWARDSRESPONSE']._serialized_start=54273 + _globals['_LISTFORWARDSRESPONSE']._serialized_end=54340 + _globals['_LISTFORWARDSFORWARDS']._serialized_start=54343 + _globals['_LISTFORWARDSFORWARDS']._serialized_end=55140 + _globals['_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS']._serialized_start=54859 + _globals['_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS']._serialized_end=54943 + _globals['_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE']._serialized_start=54945 + _globals['_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE']._serialized_end=54993 + _globals['_LISTOFFERSREQUEST']._serialized_start=55142 + _globals['_LISTOFFERSREQUEST']._serialized_end=55239 + _globals['_LISTOFFERSRESPONSE']._serialized_start=55241 + _globals['_LISTOFFERSRESPONSE']._serialized_end=55300 + _globals['_LISTOFFERSOFFERS']._serialized_start=55303 + _globals['_LISTOFFERSOFFERS']._serialized_end=55519 + _globals['_LISTPAYSREQUEST']._serialized_start=55522 + _globals['_LISTPAYSREQUEST']._serialized_end=55910 + _globals['_LISTPAYSREQUEST_LISTPAYSINDEX']._serialized_start=55743 + _globals['_LISTPAYSREQUEST_LISTPAYSINDEX']._serialized_end=55784 + _globals['_LISTPAYSREQUEST_LISTPAYSSTATUS']._serialized_start=55786 + _globals['_LISTPAYSREQUEST_LISTPAYSSTATUS']._serialized_end=55841 + _globals['_LISTPAYSRESPONSE']._serialized_start=55912 + _globals['_LISTPAYSRESPONSE']._serialized_end=55963 + _globals['_LISTPAYSPAYS']._serialized_start=55966 + _globals['_LISTPAYSPAYS']._serialized_end=56697 + _globals['_LISTPAYSPAYS_LISTPAYSPAYSSTATUS']._serialized_start=56436 + _globals['_LISTPAYSPAYS_LISTPAYSPAYSSTATUS']._serialized_end=56495 + _globals['_LISTHTLCSREQUEST']._serialized_start=56700 + _globals['_LISTHTLCSREQUEST']._serialized_end=56914 + _globals['_LISTHTLCSREQUEST_LISTHTLCSINDEX']._serialized_start=56835 + _globals['_LISTHTLCSREQUEST_LISTHTLCSINDEX']._serialized_end=56877 + _globals['_LISTHTLCSRESPONSE']._serialized_start=56916 + _globals['_LISTHTLCSRESPONSE']._serialized_end=56971 + _globals['_LISTHTLCSHTLCS']._serialized_start=56974 + _globals['_LISTHTLCSHTLCS']._serialized_end=57331 + _globals['_LISTHTLCSHTLCS_LISTHTLCSHTLCSDIRECTION']._serialized_start=57253 + _globals['_LISTHTLCSHTLCS_LISTHTLCSHTLCSDIRECTION']._serialized_end=57295 + _globals['_MULTIFUNDCHANNELREQUEST']._serialized_start=57334 + _globals['_MULTIFUNDCHANNELREQUEST']._serialized_end=57640 + _globals['_MULTIFUNDCHANNELRESPONSE']._serialized_start=57643 + _globals['_MULTIFUNDCHANNELRESPONSE']._serialized_end=57794 + _globals['_MULTIFUNDCHANNELDESTINATIONS']._serialized_start=57797 + _globals['_MULTIFUNDCHANNELDESTINATIONS']._serialized_end=58180 + _globals['_MULTIFUNDCHANNELCHANNELIDS']._serialized_start=58183 + _globals['_MULTIFUNDCHANNELCHANNELIDS']._serialized_end=58361 + _globals['_MULTIFUNDCHANNELCHANNELIDSCHANNELTYPE']._serialized_start=58363 + _globals['_MULTIFUNDCHANNELCHANNELIDSCHANNELTYPE']._serialized_end=58453 + _globals['_MULTIFUNDCHANNELFAILED']._serialized_start=58456 + _globals['_MULTIFUNDCHANNELFAILED']._serialized_end=58731 + _globals['_MULTIFUNDCHANNELFAILED_MULTIFUNDCHANNELFAILEDMETHOD']._serialized_start=58617 + _globals['_MULTIFUNDCHANNELFAILED_MULTIFUNDCHANNELFAILEDMETHOD']._serialized_end=58731 + _globals['_MULTIFUNDCHANNELFAILEDERROR']._serialized_start=58733 + _globals['_MULTIFUNDCHANNELFAILEDERROR']._serialized_end=58793 + _globals['_MULTIWITHDRAWREQUEST']._serialized_start=58796 + _globals['_MULTIWITHDRAWREQUEST']._serialized_end=58964 + _globals['_MULTIWITHDRAWRESPONSE']._serialized_start=58966 + _globals['_MULTIWITHDRAWRESPONSE']._serialized_end=59015 + _globals['_OFFERREQUEST']._serialized_start=59018 + _globals['_OFFERREQUEST']._serialized_end=59628 + _globals['_OFFERRESPONSE']._serialized_start=59631 + _globals['_OFFERRESPONSE']._serialized_end=59819 + _globals['_OPENCHANNELABORTREQUEST']._serialized_start=59821 + _globals['_OPENCHANNELABORTREQUEST']._serialized_end=59866 + _globals['_OPENCHANNELABORTRESPONSE']._serialized_start=59868 + _globals['_OPENCHANNELABORTRESPONSE']._serialized_end=59956 + _globals['_OPENCHANNELBUMPREQUEST']._serialized_start=59959 + _globals['_OPENCHANNELBUMPREQUEST']._serialized_end=60117 + _globals['_OPENCHANNELBUMPRESPONSE']._serialized_start=60120 + _globals['_OPENCHANNELBUMPRESPONSE']._serialized_end=60357 + _globals['_OPENCHANNELBUMPCHANNELTYPE']._serialized_start=60359 + _globals['_OPENCHANNELBUMPCHANNELTYPE']._serialized_end=60438 + _globals['_OPENCHANNELINITREQUEST']._serialized_start=60441 + _globals['_OPENCHANNELINITREQUEST']._serialized_end=60856 + _globals['_OPENCHANNELINITRESPONSE']._serialized_start=60859 + _globals['_OPENCHANNELINITRESPONSE']._serialized_end=61096 + _globals['_OPENCHANNELINITCHANNELTYPE']._serialized_start=61098 + _globals['_OPENCHANNELINITCHANNELTYPE']._serialized_end=61177 + _globals['_OPENCHANNELSIGNEDREQUEST']._serialized_start=61179 + _globals['_OPENCHANNELSIGNEDREQUEST']._serialized_end=61246 + _globals['_OPENCHANNELSIGNEDRESPONSE']._serialized_start=61248 + _globals['_OPENCHANNELSIGNEDRESPONSE']._serialized_end=61321 + _globals['_OPENCHANNELUPDATEREQUEST']._serialized_start=61323 + _globals['_OPENCHANNELUPDATEREQUEST']._serialized_end=61383 + _globals['_OPENCHANNELUPDATERESPONSE']._serialized_start=61386 + _globals['_OPENCHANNELUPDATERESPONSE']._serialized_end=61663 + _globals['_OPENCHANNELUPDATECHANNELTYPE']._serialized_start=61665 + _globals['_OPENCHANNELUPDATECHANNELTYPE']._serialized_end=61746 + _globals['_PINGREQUEST']._serialized_start=61748 + _globals['_PINGREQUEST']._serialized_end=61837 + _globals['_PINGRESPONSE']._serialized_start=61839 + _globals['_PINGRESPONSE']._serialized_end=61869 + _globals['_PLUGINREQUEST']._serialized_start=61872 + _globals['_PLUGINREQUEST']._serialized_end=62017 + _globals['_PLUGINRESPONSE']._serialized_start=62019 + _globals['_PLUGINRESPONSE']._serialized_end=62144 + _globals['_PLUGINPLUGINS']._serialized_start=62146 + _globals['_PLUGINPLUGINS']._serialized_end=62208 + _globals['_RENEPAYSTATUSREQUEST']._serialized_start=62210 + _globals['_RENEPAYSTATUSREQUEST']._serialized_end=62274 + _globals['_RENEPAYSTATUSRESPONSE']._serialized_start=62276 + _globals['_RENEPAYSTATUSRESPONSE']._serialized_end=62351 + _globals['_RENEPAYSTATUSPAYSTATUS']._serialized_start=62354 + _globals['_RENEPAYSTATUSPAYSTATUS']._serialized_end=62892 + _globals['_RENEPAYSTATUSPAYSTATUS_RENEPAYSTATUSPAYSTATUSSTATUS']._serialized_start=62743 + _globals['_RENEPAYSTATUSPAYSTATUS_RENEPAYSTATUSPAYSTATUSSTATUS']._serialized_end=62824 + _globals['_RENEPAYREQUEST']._serialized_start=62895 + _globals['_RENEPAYREQUEST']._serialized_end=63277 + _globals['_RENEPAYRESPONSE']._serialized_start=63280 + _globals['_RENEPAYRESPONSE']._serialized_end=63757 + _globals['_RENEPAYRESPONSE_RENEPAYSTATUS']._serialized_start=63641 + _globals['_RENEPAYRESPONSE_RENEPAYSTATUS']._serialized_end=63707 + _globals['_RESERVEINPUTSREQUEST']._serialized_start=63759 + _globals['_RESERVEINPUTSREQUEST']._serialized_end=63867 + _globals['_RESERVEINPUTSRESPONSE']._serialized_start=63869 + _globals['_RESERVEINPUTSRESPONSE']._serialized_end=63946 + _globals['_RESERVEINPUTSRESERVATIONS']._serialized_start=63948 + _globals['_RESERVEINPUTSRESERVATIONS']._serialized_end=64070 + _globals['_SENDCUSTOMMSGREQUEST']._serialized_start=64072 + _globals['_SENDCUSTOMMSGREQUEST']._serialized_end=64124 + _globals['_SENDCUSTOMMSGRESPONSE']._serialized_start=64126 + _globals['_SENDCUSTOMMSGRESPONSE']._serialized_end=64165 + _globals['_SENDINVOICEREQUEST']._serialized_start=64168 + _globals['_SENDINVOICEREQUEST']._serialized_end=64344 + _globals['_SENDINVOICERESPONSE']._serialized_start=64347 + _globals['_SENDINVOICERESPONSE']._serialized_end=64915 + _globals['_SENDINVOICERESPONSE_SENDINVOICESTATUS']._serialized_start=64744 + _globals['_SENDINVOICERESPONSE_SENDINVOICESTATUS']._serialized_end=64798 + _globals['_SETCHANNELREQUEST']._serialized_start=64918 + _globals['_SETCHANNELREQUEST']._serialized_end=65216 + _globals['_SETCHANNELRESPONSE']._serialized_start=65218 + _globals['_SETCHANNELRESPONSE']._serialized_end=65281 + _globals['_SETCHANNELCHANNELS']._serialized_start=65284 + _globals['_SETCHANNELCHANNELS']._serialized_end=65715 + _globals['_SETCONFIGREQUEST']._serialized_start=65717 + _globals['_SETCONFIGREQUEST']._serialized_end=65815 + _globals['_SETCONFIGRESPONSE']._serialized_start=65817 + _globals['_SETCONFIGRESPONSE']._serialized_end=65874 + _globals['_SETCONFIGCONFIG']._serialized_start=65877 + _globals['_SETCONFIGCONFIG']._serialized_end=66223 + _globals['_SETPSBTVERSIONREQUEST']._serialized_start=66225 + _globals['_SETPSBTVERSIONREQUEST']._serialized_end=66279 + _globals['_SETPSBTVERSIONRESPONSE']._serialized_start=66281 + _globals['_SETPSBTVERSIONRESPONSE']._serialized_end=66319 + _globals['_SIGNINVOICEREQUEST']._serialized_start=66321 + _globals['_SIGNINVOICEREQUEST']._serialized_end=66360 + _globals['_SIGNINVOICERESPONSE']._serialized_start=66362 + _globals['_SIGNINVOICERESPONSE']._serialized_end=66399 + _globals['_SIGNMESSAGEREQUEST']._serialized_start=66401 + _globals['_SIGNMESSAGEREQUEST']._serialized_end=66438 + _globals['_SIGNMESSAGERESPONSE']._serialized_start=66440 + _globals['_SIGNMESSAGERESPONSE']._serialized_end=66510 + _globals['_SPLICEINITREQUEST']._serialized_start=66513 + _globals['_SPLICEINITREQUEST']._serialized_end=66713 + _globals['_SPLICEINITRESPONSE']._serialized_start=66715 + _globals['_SPLICEINITRESPONSE']._serialized_end=66749 + _globals['_SPLICESIGNEDREQUEST']._serialized_start=66751 + _globals['_SPLICESIGNEDREQUEST']._serialized_end=66846 + _globals['_SPLICESIGNEDRESPONSE']._serialized_start=66848 + _globals['_SPLICESIGNEDRESPONSE']._serialized_end=66942 + _globals['_SPLICEUPDATEREQUEST']._serialized_start=66944 + _globals['_SPLICEUPDATEREQUEST']._serialized_end=66999 + _globals['_SPLICEUPDATERESPONSE']._serialized_start=67001 + _globals['_SPLICEUPDATERESPONSE']._serialized_end=67122 + _globals['_SPLICEINREQUEST']._serialized_start=67124 + _globals['_SPLICEINREQUEST']._serialized_end=67174 + _globals['_SPLICEINRESPONSE']._serialized_start=67176 + _globals['_SPLICEINRESPONSE']._serialized_end=67274 + _globals['_SPLICEOUTREQUEST']._serialized_start=67277 + _globals['_SPLICEOUTREQUEST']._serialized_end=67416 + _globals['_SPLICEOUTRESPONSE']._serialized_start=67418 + _globals['_SPLICEOUTRESPONSE']._serialized_end=67517 + _globals['_DEVSPLICEREQUEST']._serialized_start=67520 + _globals['_DEVSPLICEREQUEST']._serialized_end=67718 + _globals['_DEVSPLICERESPONSE']._serialized_start=67721 + _globals['_DEVSPLICERESPONSE']._serialized_end=67849 + _globals['_UNRESERVEINPUTSREQUEST']._serialized_start=67851 + _globals['_UNRESERVEINPUTSREQUEST']._serialized_end=67923 + _globals['_UNRESERVEINPUTSRESPONSE']._serialized_start=67925 + _globals['_UNRESERVEINPUTSRESPONSE']._serialized_end=68006 + _globals['_UNRESERVEINPUTSRESERVATIONS']._serialized_start=68009 + _globals['_UNRESERVEINPUTSRESERVATIONS']._serialized_end=68160 + _globals['_UPGRADEWALLETREQUEST']._serialized_start=68162 + _globals['_UPGRADEWALLETREQUEST']._serialized_end=68272 + _globals['_UPGRADEWALLETRESPONSE']._serialized_start=68274 + _globals['_UPGRADEWALLETRESPONSE']._serialized_end=68400 + _globals['_WAITBLOCKHEIGHTREQUEST']._serialized_start=68402 + _globals['_WAITBLOCKHEIGHTREQUEST']._serialized_end=68481 + _globals['_WAITBLOCKHEIGHTRESPONSE']._serialized_start=68483 + _globals['_WAITBLOCKHEIGHTRESPONSE']._serialized_end=68529 + _globals['_WAITREQUEST']._serialized_start=68532 + _globals['_WAITREQUEST']._serialized_end=68845 + _globals['_WAITREQUEST_WAITINDEXNAME']._serialized_start=68668 + _globals['_WAITREQUEST_WAITINDEXNAME']._serialized_end=68722 + _globals['_WAITREQUEST_WAITSUBSYSTEM']._serialized_start=68724 + _globals['_WAITREQUEST_WAITSUBSYSTEM']._serialized_end=68845 + _globals['_WAITRESPONSE']._serialized_start=68848 + _globals['_WAITRESPONSE']._serialized_end=69604 + _globals['_WAITRESPONSE_WAITSUBSYSTEM']._serialized_start=68724 + _globals['_WAITRESPONSE_WAITSUBSYSTEM']._serialized_end=68845 + _globals['_WAITCHAINMOVES']._serialized_start=69606 + _globals['_WAITCHAINMOVES']._serialized_end=69706 + _globals['_WAITCHANNELMOVES']._serialized_start=69708 + _globals['_WAITCHANNELMOVES']._serialized_end=69810 + _globals['_WAITDETAILS']._serialized_start=69813 + _globals['_WAITDETAILS']._serialized_end=70533 + _globals['_WAITDETAILS_WAITDETAILSSTATUS']._serialized_start=70203 + _globals['_WAITDETAILS_WAITDETAILSSTATUS']._serialized_end=70376 + _globals['_WAITFORWARDS']._serialized_start=70536 + _globals['_WAITFORWARDS']._serialized_end=70867 + _globals['_WAITFORWARDS_WAITFORWARDSSTATUS']._serialized_start=70722 + _globals['_WAITFORWARDS_WAITFORWARDSSTATUS']._serialized_end=70798 + _globals['_WAITHTLCS']._serialized_start=70870 + _globals['_WAITHTLCS']._serialized_end=71266 + _globals['_WAITHTLCS_WAITHTLCSDIRECTION']._serialized_start=71123 + _globals['_WAITHTLCS_WAITHTLCSDIRECTION']._serialized_end=71160 + _globals['_WAITINVOICES']._serialized_start=71269 + _globals['_WAITINVOICES']._serialized_end=71546 + _globals['_WAITINVOICES_WAITINVOICESSTATUS']._serialized_start=71432 + _globals['_WAITINVOICES_WAITINVOICESSTATUS']._serialized_end=71487 + _globals['_WAITNETWORKEVENTS']._serialized_start=71549 + _globals['_WAITNETWORKEVENTS']._serialized_end=71814 + _globals['_WAITNETWORKEVENTS_WAITNETWORKEVENTSTYPE']._serialized_start=71690 + _globals['_WAITNETWORKEVENTS_WAITNETWORKEVENTSTYPE']._serialized_end=71770 + _globals['_WAITSENDPAYS']._serialized_start=71817 + _globals['_WAITSENDPAYS']._serialized_end=72072 + _globals['_WAITSENDPAYS_WAITSENDPAYSSTATUS']._serialized_start=71962 + _globals['_WAITSENDPAYS_WAITSENDPAYSSTATUS']._serialized_end=72021 + _globals['_LISTCONFIGSREQUEST']._serialized_start=72074 + _globals['_LISTCONFIGSREQUEST']._serialized_end=72126 + _globals['_LISTCONFIGSRESPONSE']._serialized_start=72128 + _globals['_LISTCONFIGSRESPONSE']._serialized_end=72208 + _globals['_LISTCONFIGSCONFIGS']._serialized_start=72211 + _globals['_LISTCONFIGSCONFIGS']._serialized_end=78220 + _globals['_LISTCONFIGSCONFIGSADDR']._serialized_start=78222 + _globals['_LISTCONFIGSCONFIGSADDR']._serialized_end=78283 + _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_start=78285 + _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_end=78345 + _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_start=78347 + _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_end=78422 + _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_start=78424 + _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_end=78494 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_start=78496 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_end=78565 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_start=78568 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_end=78824 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_start=78743 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_end=78824 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_start=78826 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_end=78907 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_start=78909 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_end=78980 + _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_start=78982 + _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_end=79059 + _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_start=79061 + _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_end=79127 + _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_start=79129 + _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_end=79194 + _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_start=79196 + _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_end=79257 + _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_start=79259 + _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_end=79323 + _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_start=79325 + _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_end=79389 + _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_start=79391 + _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_end=79455 + _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_start=79457 + _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_end=79531 + _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_start=79533 + _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_end=79598 + _globals['_LISTCONFIGSCONFIGSCONF']._serialized_start=79601 + _globals['_LISTCONFIGSCONFIGSCONF']._serialized_end=79763 + _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_start=79720 + _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_end=79763 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_start=79765 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_end=79875 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_start=79877 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_end=79991 + _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_start=79993 + _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_end=80048 + _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_start=80050 + _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_end=80121 + _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_start=80123 + _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_end=80181 + _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_start=80183 + _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_end=80242 + _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_start=80244 + _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_end=80335 + _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_start=80337 + _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_end=80407 + _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_start=80409 + _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_end=80470 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_start=80472 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_end=80540 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_start=80542 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_end=80611 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_start=80613 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_end=80685 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_start=80687 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_end=80768 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_start=80770 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_end=80847 + _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_start=80849 + _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_end=80911 + _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_start=80913 + _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_end=80981 + _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_start=80983 + _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_end=81085 + _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_start=81087 + _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_end=81155 + _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_start=81157 + _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_end=81227 + _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_start=81229 + _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_end=81313 + _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_start=81315 + _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_end=81399 + _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_start=81401 + _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_end=81472 + _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_start=81474 + _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_end=81546 + _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_start=81548 + _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_end=81615 + _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_start=81617 + _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_end=81679 + _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_start=81681 + _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_end=81748 + _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_start=81750 + _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_end=81814 + _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_start=81816 + _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_end=81879 + _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_start=81881 + _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_end=81945 + _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_start=81947 + _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_end=82016 + _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_start=82018 + _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_end=82074 + _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_start=82076 + _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_end=82149 + _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_start=82151 + _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_end=82243 + _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_start=82245 + _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_end=82348 + _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_start=82350 + _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_end=82412 + _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_start=82414 + _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_end=82470 + _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_start=82472 + _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_end=82534 + _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_start=82536 + _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_end=82599 + _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_start=82601 + _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_end=82667 + _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_start=82669 + _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_end=82729 + _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_start=82731 + _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_end=82787 + _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_start=82789 + _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_end=82867 + _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_start=82869 + _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_end=82930 + _globals['_LISTCONFIGSCONFIGSRGB']._serialized_start=82932 + _globals['_LISTCONFIGSCONFIGSRGB']._serialized_end=82990 + _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_start=82992 + _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_end=83054 + _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_start=83056 + _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_end=83122 + _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_start=83124 + _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_end=83179 + _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_start=83181 + _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_end=83247 + _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_start=83249 + _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_end=83305 + _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_start=83307 + _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_end=83380 + _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_start=83382 + _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_end=83443 + _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_start=83445 + _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_end=83515 + _globals['_STOPREQUEST']._serialized_start=83517 + _globals['_STOPREQUEST']._serialized_end=83530 + _globals['_STOPRESPONSE']._serialized_start=83532 + _globals['_STOPRESPONSE']._serialized_end=83629 + _globals['_STOPRESPONSE_STOPRESULT']._serialized_start=83594 + _globals['_STOPRESPONSE_STOPRESULT']._serialized_end=83629 + _globals['_HELPREQUEST']._serialized_start=83631 + _globals['_HELPREQUEST']._serialized_end=83678 + _globals['_HELPRESPONSE']._serialized_start=83681 + _globals['_HELPRESPONSE']._serialized_end=83830 + _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_start=83786 + _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_end=83814 + _globals['_HELPHELP']._serialized_start=83832 + _globals['_HELPHELP']._serialized_end=83859 + _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_start=83861 + _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_end=83964 + _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_start=83966 + _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_end=83993 + _globals['_PREAPPROVEINVOICEREQUEST']._serialized_start=83995 + _globals['_PREAPPROVEINVOICEREQUEST']._serialized_end=84037 + _globals['_PREAPPROVEINVOICERESPONSE']._serialized_start=84039 + _globals['_PREAPPROVEINVOICERESPONSE']._serialized_end=84066 + _globals['_STATICBACKUPREQUEST']._serialized_start=84068 + _globals['_STATICBACKUPREQUEST']._serialized_end=84089 + _globals['_STATICBACKUPRESPONSE']._serialized_start=84091 + _globals['_STATICBACKUPRESPONSE']._serialized_end=84126 + _globals['_BKPRCHANNELSAPYREQUEST']._serialized_start=84128 + _globals['_BKPRCHANNELSAPYREQUEST']._serialized_end=84228 + _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_start=84230 + _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_end=84310 + _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_start=84313 + _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_end=85202 + _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_start=85205 + _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_end=85415 + _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_start=85418 + _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_end=85630 + _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_start=85544 + _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_end=85630 + _globals['_BKPRINSPECTREQUEST']._serialized_start=85632 + _globals['_BKPRINSPECTREQUEST']._serialized_end=85669 + _globals['_BKPRINSPECTRESPONSE']._serialized_start=85671 + _globals['_BKPRINSPECTRESPONSE']._serialized_end=85726 + _globals['_BKPRINSPECTTXS']._serialized_start=85729 + _globals['_BKPRINSPECTTXS']._serialized_end=85883 + _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_start=85886 + _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_end=86330 + _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_start=86332 + _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_end=86436 + _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_start=86438 + _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_end=86519 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_start=86522 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_end=87239 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_start=87025 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_end=87099 + _globals['_BKPRLISTBALANCESREQUEST']._serialized_start=87241 + _globals['_BKPRLISTBALANCESREQUEST']._serialized_end=87266 + _globals['_BKPRLISTBALANCESRESPONSE']._serialized_start=87268 + _globals['_BKPRLISTBALANCESRESPONSE']._serialized_end=87343 + _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_start=87346 + _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_end=87672 + _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_start=87674 + _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_end=87762 + _globals['_BKPRLISTINCOMEREQUEST']._serialized_start=87765 + _globals['_BKPRLISTINCOMEREQUEST']._serialized_end=87916 + _globals['_BKPRLISTINCOMERESPONSE']._serialized_start=87918 + _globals['_BKPRLISTINCOMERESPONSE']._serialized_end=87998 + _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_start=88001 + _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_end=88309 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_start=88311 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_end=88391 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_start=88393 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_end=88494 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_start=88497 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_end=89172 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_start=88998 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_end=89065 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_start=89174 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_end=89251 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_start=89253 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_end=89352 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_start=89355 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_end=90026 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_start=89853 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_end=89919 + _globals['_BKPRREPORTREQUEST']._serialized_start=90029 + _globals['_BKPRREPORTREQUEST']._serialized_end=90205 + _globals['_BKPRREPORTRESPONSE']._serialized_start=90207 + _globals['_BKPRREPORTRESPONSE']._serialized_end=90243 + _globals['_BLACKLISTRUNEREQUEST']._serialized_start=90245 + _globals['_BLACKLISTRUNEREQUEST']._serialized_end=90355 + _globals['_BLACKLISTRUNERESPONSE']._serialized_start=90357 + _globals['_BLACKLISTRUNERESPONSE']._serialized_end=90428 + _globals['_BLACKLISTRUNEBLACKLIST']._serialized_start=90430 + _globals['_BLACKLISTRUNEBLACKLIST']._serialized_end=90482 + _globals['_CHECKRUNEREQUEST']._serialized_start=90484 + _globals['_CHECKRUNEREQUEST']._serialized_end=90596 + _globals['_CHECKRUNERESPONSE']._serialized_start=90598 + _globals['_CHECKRUNERESPONSE']._serialized_end=90632 + _globals['_CREATERUNEREQUEST']._serialized_start=90634 + _globals['_CREATERUNEREQUEST']._serialized_end=90703 + _globals['_CREATERUNERESPONSE']._serialized_start=90705 + _globals['_CREATERUNERESPONSE']._serialized_end=90828 + _globals['_SHOWRUNESREQUEST']._serialized_start=90830 + _globals['_SHOWRUNESREQUEST']._serialized_end=90876 + _globals['_SHOWRUNESRESPONSE']._serialized_start=90878 + _globals['_SHOWRUNESRESPONSE']._serialized_end=90933 + _globals['_SHOWRUNESRUNES']._serialized_start=90936 + _globals['_SHOWRUNESRUNES']._serialized_end=91221 + _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_start=91223 + _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_end=91335 + _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_start=91337 + _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_end=91447 + _globals['_ASKRENEUNRESERVEREQUEST']._serialized_start=91449 + _globals['_ASKRENEUNRESERVEREQUEST']._serialized_end=91563 + _globals['_ASKRENEUNRESERVERESPONSE']._serialized_start=91565 + _globals['_ASKRENEUNRESERVERESPONSE']._serialized_end=91591 + _globals['_ASKRENEUNRESERVEPATH']._serialized_start=91593 + _globals['_ASKRENEUNRESERVEPATH']._serialized_end=91709 + _globals['_ASKRENELISTLAYERSREQUEST']._serialized_start=91711 + _globals['_ASKRENELISTLAYERSREQUEST']._serialized_end=91767 + _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_start=91769 + _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_end=91842 + _globals['_ASKRENELISTLAYERSLAYERS']._serialized_start=91845 + _globals['_ASKRENELISTLAYERSLAYERS']._serialized_end=92271 + _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_start=92274 + _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_end=92429 + _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_start=92432 + _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_end=92856 + _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_start=92859 + _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_end=93077 + _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_start=93080 + _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_end=93219 + _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_start=93222 + _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_end=93367 + _globals['_ASKRENECREATELAYERREQUEST']._serialized_start=93369 + _globals['_ASKRENECREATELAYERREQUEST']._serialized_end=93451 + _globals['_ASKRENECREATELAYERRESPONSE']._serialized_start=93453 + _globals['_ASKRENECREATELAYERRESPONSE']._serialized_end=93528 + _globals['_ASKRENECREATELAYERLAYERS']._serialized_start=93531 + _globals['_ASKRENECREATELAYERLAYERS']._serialized_end=93963 + _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_start=93966 + _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_end=94122 + _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_start=94125 + _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_end=94462 + _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_start=94465 + _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_end=94661 + _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_start=94664 + _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_end=94804 + _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_start=94807 + _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_end=94953 + _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_start=94955 + _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_end=94997 + _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_start=94999 + _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_end=95027 + _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_start=95029 + _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_end=95109 + _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_start=95111 + _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_end=95147 + _globals['_ASKRENERESERVEREQUEST']._serialized_start=95149 + _globals['_ASKRENERESERVEREQUEST']._serialized_end=95211 + _globals['_ASKRENERESERVERESPONSE']._serialized_start=95213 + _globals['_ASKRENERESERVERESPONSE']._serialized_end=95237 + _globals['_ASKRENERESERVEPATH']._serialized_start=95239 + _globals['_ASKRENERESERVEPATH']._serialized_end=95353 + _globals['_ASKRENEAGEREQUEST']._serialized_start=95355 + _globals['_ASKRENEAGEREQUEST']._serialized_end=95405 + _globals['_ASKRENEAGERESPONSE']._serialized_start=95407 + _globals['_ASKRENEAGERESPONSE']._serialized_end=95463 + _globals['_GETROUTESREQUEST']._serialized_start=95466 + _globals['_GETROUTESREQUEST']._serialized_end=95697 + _globals['_GETROUTESRESPONSE']._serialized_start=95699 + _globals['_GETROUTESRESPONSE']._serialized_end=95781 + _globals['_GETROUTESROUTES']._serialized_start=95784 + _globals['_GETROUTESROUTES']._serialized_end=95920 + _globals['_GETROUTESROUTESPATH']._serialized_start=95923 + _globals['_GETROUTESROUTESPATH']._serialized_end=96391 + _globals['_ASKRENEDISABLENODEREQUEST']._serialized_start=96393 + _globals['_ASKRENEDISABLENODEREQUEST']._serialized_end=96449 + _globals['_ASKRENEDISABLENODERESPONSE']._serialized_start=96451 + _globals['_ASKRENEDISABLENODERESPONSE']._serialized_end=96479 + _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_start=96482 + _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_end=96748 + _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_start=96669 + _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_end=96748 + _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_start=96750 + _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_end=96839 + _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_start=96842 + _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_end=97053 + _globals['_ASKRENECREATECHANNELREQUEST']._serialized_start=97056 + _globals['_ASKRENECREATECHANNELREQUEST']._serialized_end=97199 + _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_start=97201 + _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_end=97231 + _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_start=97234 + _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_end=97663 + _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_start=97665 + _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_end=97695 + _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_start=97698 + _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_end=97862 + _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_start=97864 + _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_end=97939 + _globals['_ASKRENEBIASCHANNELBIASES']._serialized_start=97942 + _globals['_ASKRENEBIASCHANNELBIASES']._serialized_end=98107 + _globals['_ASKRENEBIASNODEREQUEST']._serialized_start=98110 + _globals['_ASKRENEBIASNODEREQUEST']._serialized_end=98274 + _globals['_ASKRENEBIASNODERESPONSE']._serialized_start=98276 + _globals['_ASKRENEBIASNODERESPONSE']._serialized_end=98354 + _globals['_ASKRENEBIASNODENODEBIASES']._serialized_start=98357 + _globals['_ASKRENEBIASNODENODEBIASES']._serialized_end=98509 + _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_start=98511 + _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_end=98543 + _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_start=98545 + _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_end=98642 + _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_start=98645 + _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_end=98790 + _globals['_INJECTPAYMENTONIONREQUEST']._serialized_start=98793 + _globals['_INJECTPAYMENTONIONREQUEST']._serialized_end=99166 + _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_start=99168 + _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_end=99287 + _globals['_INJECTONIONMESSAGEREQUEST']._serialized_start=99289 + _globals['_INJECTONIONMESSAGEREQUEST']._serialized_end=99351 + _globals['_INJECTONIONMESSAGERESPONSE']._serialized_start=99353 + _globals['_INJECTONIONMESSAGERESPONSE']._serialized_end=99381 + _globals['_XPAYREQUEST']._serialized_start=99384 + _globals['_XPAYREQUEST']._serialized_end=99827 + _globals['_XPAYRESPONSE']._serialized_start=99830 + _globals['_XPAYRESPONSE']._serialized_end=99991 + _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_start=99993 + _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_end=100054 + _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_start=100056 + _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_end=100152 + _globals['_LISTCHANNELMOVESREQUEST']._serialized_start=100155 + _globals['_LISTCHANNELMOVESREQUEST']._serialized_end=100360 + _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_start=100294 + _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_end=100330 + _globals['_LISTCHANNELMOVESRESPONSE']._serialized_start=100362 + _globals['_LISTCHANNELMOVESRESPONSE']._serialized_end=100445 + _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_start=100448 + _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_end=101001 + _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_start=100809 + _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_end=100959 + _globals['_LISTCHAINMOVESREQUEST']._serialized_start=101004 + _globals['_LISTCHAINMOVESREQUEST']._serialized_end=101201 + _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_start=101137 + _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_end=101171 + _globals['_LISTCHAINMOVESRESPONSE']._serialized_start=101203 + _globals['_LISTCHAINMOVESRESPONSE']._serialized_end=101278 + _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_start=101281 + _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_end=102133 + _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_start=101768 + _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_end=102045 + _globals['_LISTNETWORKEVENTSREQUEST']._serialized_start=102136 + _globals['_LISTNETWORKEVENTSREQUEST']._serialized_end=102369 + _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_start=102295 + _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_end=102332 + _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_start=102371 + _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_end=102458 + _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_start=102461 + _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_end=102703 + _globals['_DELNETWORKEVENTREQUEST']._serialized_start=102705 + _globals['_DELNETWORKEVENTREQUEST']._serialized_end=102752 + _globals['_DELNETWORKEVENTRESPONSE']._serialized_start=102754 + _globals['_DELNETWORKEVENTRESPONSE']._serialized_end=102779 + _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_start=102782 + _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_end=103028 + _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_start=103030 + _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_end=103059 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_start=103062 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_end=103280 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_start=103213 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_end=103258 + _globals['_LISTCURRENCYRATESREQUEST']._serialized_start=103282 + _globals['_LISTCURRENCYRATESREQUEST']._serialized_end=103326 + _globals['_LISTCURRENCYRATESRESPONSE']._serialized_start=103328 + _globals['_LISTCURRENCYRATESRESPONSE']._serialized_end=103415 + _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_start=103417 + _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_end=103481 + _globals['_CURRENCYCONVERTREQUEST']._serialized_start=103483 + _globals['_CURRENCYCONVERTREQUEST']._serialized_end=103541 + _globals['_CURRENCYCONVERTRESPONSE']._serialized_start=103543 + _globals['_CURRENCYCONVERTRESPONSE']._serialized_end=103595 + _globals['_CURRENCYRATEREQUEST']._serialized_start=103597 + _globals['_CURRENCYRATEREQUEST']._serialized_end=103668 + _globals['_CURRENCYRATERESPONSE']._serialized_start=103670 + _globals['_CURRENCYRATERESPONSE']._serialized_end=103706 + _globals['_SENDAMOUNTREQUEST']._serialized_start=103709 + _globals['_SENDAMOUNTREQUEST']._serialized_end=103986 + _globals['_SENDAMOUNTRESPONSE']._serialized_start=103989 + _globals['_SENDAMOUNTRESPONSE']._serialized_end=104156 + _globals['_CREATEPROOFREQUEST']._serialized_start=104158 + _globals['_CREATEPROOFREQUEST']._serialized_end=104259 + _globals['_CREATEPROOFRESPONSE']._serialized_start=104261 + _globals['_CREATEPROOFRESPONSE']._serialized_end=104322 + _globals['_CREATEPROOFPROOFS']._serialized_start=104325 + _globals['_CREATEPROOFPROOFS']._serialized_end=104507 + _globals['_XKEYSENDREQUEST']._serialized_start=104510 + _globals['_XKEYSENDREQUEST']._serialized_end=104853 + _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_start=104757 + _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_end=104805 + _globals['_XKEYSENDRESPONSE']._serialized_start=104856 + _globals['_XKEYSENDRESPONSE']._serialized_end=105021 + _globals['_GRACEFULREQUEST']._serialized_start=105023 + _globals['_GRACEFULREQUEST']._serialized_end=105074 + _globals['_GRACEFULRESPONSE']._serialized_start=105076 + _globals['_GRACEFULRESPONSE']._serialized_end=105148 + _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_start=105150 + _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_end=105180 + _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_start=105183 + _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_end=105317 + _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_start=105319 + _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_end=105418 + _globals['_STREAMBLOCKADDEDREQUEST']._serialized_start=105420 + _globals['_STREAMBLOCKADDEDREQUEST']._serialized_end=105445 + _globals['_BLOCKADDEDNOTIFICATION']._serialized_start=105447 + _globals['_BLOCKADDEDNOTIFICATION']._serialized_end=105501 + _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_start=105503 + _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_end=105535 + _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_start=105537 + _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_end=105588 + _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_start=105590 + _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_end=105618 + _globals['_CHANNELOPENEDNOTIFICATION']._serialized_start=105620 + _globals['_CHANNELOPENEDNOTIFICATION']._serialized_end=105739 + _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_start=105741 + _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_end=105775 + _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_start=105778 + _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_end=106227 + _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_start=106081 + _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_end=106180 + _globals['_STREAMCONNECTREQUEST']._serialized_start=106229 + _globals['_STREAMCONNECTREQUEST']._serialized_end=106251 + _globals['_PEERCONNECTNOTIFICATION']._serialized_start=106254 + _globals['_PEERCONNECTNOTIFICATION']._serialized_end=106444 + _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_start=106405 + _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_end=106444 + _globals['_PEERCONNECTADDRESS']._serialized_start=106447 + _globals['_PEERCONNECTADDRESS']._serialized_end=106729 + _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_start=106598 + _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_end=106697 + _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_start=106731 + _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_end=106758 + _globals['_COINMOVEMENTNOTIFICATION']._serialized_start=106761 + _globals['_COINMOVEMENTNOTIFICATION']._serialized_end=108216 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_start=107555 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_end=107930 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_start=107932 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_end=107982 + _globals['_STREAMCUSTOMMSGREQUEST']._serialized_start=108218 + _globals['_STREAMCUSTOMMSGREQUEST']._serialized_end=108242 + _globals['_CUSTOMMSGNOTIFICATION']._serialized_start=108244 + _globals['_CUSTOMMSGNOTIFICATION']._serialized_end=108301 + _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_start=108303 + _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_end=108335 + _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_start=108337 + _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_end=108391 + _globals['_STREAMDISCONNECTREQUEST']._serialized_start=108393 + _globals['_STREAMDISCONNECTREQUEST']._serialized_end=108418 + _globals['_DISCONNECTNOTIFICATION']._serialized_start=108420 + _globals['_DISCONNECTNOTIFICATION']._serialized_end=108456 + _globals['_STREAMFORWARDEVENTREQUEST']._serialized_start=108458 + _globals['_STREAMFORWARDEVENTREQUEST']._serialized_end=108485 + _globals['_FORWARDEVENTNOTIFICATION']._serialized_start=108488 + _globals['_FORWARDEVENTNOTIFICATION']._serialized_end=109136 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_start=108920 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_end=108996 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_start=108998 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_end=109038 + _globals['_STREAMINVOICECREATIONREQUEST']._serialized_start=109138 + _globals['_STREAMINVOICECREATIONREQUEST']._serialized_end=109168 + _globals['_INVOICECREATIONNOTIFICATION']._serialized_start=109170 + _globals['_INVOICECREATIONNOTIFICATION']._serialized_end=109273 + _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_start=109275 + _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_end=109304 + _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_start=109307 + _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_end=109446 + _globals['_STREAMLOGREQUEST']._serialized_start=109448 + _globals['_STREAMLOGREQUEST']._serialized_end=109466 + _globals['_LOGNOTIFICATION']._serialized_start=109469 + _globals['_LOGNOTIFICATION']._serialized_end=109671 + _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_start=109596 + _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_end=109671 + _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_start=109673 + _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_end=109711 + _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_start=109714 + _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_end=109953 + _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_start=109955 + _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_end=109989 + _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_start=109991 + _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_end=110065 + _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_start=110067 + _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_end=110095 + _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_start=110097 + _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_end=110183 + _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_start=110185 + _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_end=110213 + _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_start=110215 + _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_end=110301 + _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_start=110303 + _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_end=110332 + _globals['_SENDPAYFAILURENOTIFICATION']._serialized_start=110334 + _globals['_SENDPAYFAILURENOTIFICATION']._serialized_end=110432 + _globals['_SENDPAYFAILUREDATA']._serialized_start=110435 + _globals['_SENDPAYFAILUREDATA']._serialized_end=111652 + _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_start=111190 + _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_end=111255 + _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_start=111654 + _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_end=111683 + _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_start=111686 + _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_end=112402 + _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_start=112204 + _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_end=112240 + _globals['_STREAMSHUTDOWNREQUEST']._serialized_start=112404 + _globals['_STREAMSHUTDOWNREQUEST']._serialized_end=112427 + _globals['_SHUTDOWNNOTIFICATION']._serialized_start=112429 + _globals['_SHUTDOWNNOTIFICATION']._serialized_end=112451 + _globals['_STREAMWARNINGREQUEST']._serialized_start=112453 + _globals['_STREAMWARNINGREQUEST']._serialized_end=112475 + _globals['_WARNINGNOTIFICATION']._serialized_start=112478 + _globals['_WARNINGNOTIFICATION']._serialized_end=112652 + _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_start=112617 + _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_end=112652 + _globals['_STREAMPAYPARTENDREQUEST']._serialized_start=112654 + _globals['_STREAMPAYPARTENDREQUEST']._serialized_end=112679 + _globals['_PAYPARTENDNOTIFICATION']._serialized_start=112682 + _globals['_PAYPARTENDNOTIFICATION']._serialized_end=113179 + _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_start=113019 + _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_end=113063 + _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_start=113181 + _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_end=113208 + _globals['_PAYPARTSTARTNOTIFICATION']._serialized_start=113211 + _globals['_PAYPARTSTARTNOTIFICATION']._serialized_end=113405 + _globals['_PAYPARTSTARTHOPS']._serialized_start=113408 + _globals['_PAYPARTSTARTHOPS']._serialized_end=113567 + _globals['_NODE']._serialized_start=113570 + _globals['_NODE']._serialized_end=126940 # @@protoc_insertion_point(module_scope) diff --git a/contrib/pyln-testing/pyln/testing/grpc2py.py b/contrib/pyln-testing/pyln/testing/grpc2py.py index 30bed0aded14..aa8a556bafc3 100644 --- a/contrib/pyln-testing/pyln/testing/grpc2py.py +++ b/contrib/pyln-testing/pyln/testing/grpc2py.py @@ -1022,6 +1022,7 @@ def listpeerchannels_channels2py(m): "in_offered_msat": amount2msat(m.in_offered_msat), # PrimitiveField in generate_composite "in_payments_fulfilled": m.in_payments_fulfilled, # PrimitiveField in generate_composite "in_payments_offered": m.in_payments_offered, # PrimitiveField in generate_composite + "independent_secrets_stored": m.independent_secrets_stored, # PrimitiveField in generate_composite "initial_feerate": m.initial_feerate, # PrimitiveField in generate_composite "last_feerate": m.last_feerate, # PrimitiveField in generate_composite "last_stable_connection": m.last_stable_connection, # PrimitiveField in generate_composite diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md index b9af362291ea..9030ecd19218 100644 --- a/doc/independent-secrets.md +++ b/doc/independent-secrets.md @@ -49,6 +49,9 @@ generates its own: they still come from its shachain. `listpeerchannels` and `listclosedchannels` show the add-on in `channel_type` as bit 266, `independent_secrets/even`. +On such a channel `listpeerchannels` also shows `independent_secrets_stored`: +how many of the peer's secrets are stored one by one, because they don't fit a +shachain. It stays 0 with a peer that uses one. ## Turning it on diff --git a/doc/schemas/listpeerchannels.json b/doc/schemas/listpeerchannels.json index 10a800908d45..0d075596ef51 100644 --- a/doc/schemas/listpeerchannels.json +++ b/doc/schemas/listpeerchannels.json @@ -154,6 +154,13 @@ } } }, + "independent_secrets_stored": { + "type": "u64", + "added": "v26.06.9-blake2b.8", + "description": [ + "Only for a channel with *independent_secrets/even* in its channel_type: how many of the peer's per-commitment secrets we store one by one in the database, because they don't fit a shachain (0 while they all do)." + ] + }, "updates": { "type": "object", "added": "v24.02", @@ -1037,6 +1044,7 @@ "reestablished": {}, "scratch_txid": {}, "channel_type": {}, + "independent_secrets_stored": {}, "feerate": {}, "ignore_fee_limits": {}, "lost_state": {}, @@ -1137,6 +1145,7 @@ "alias": {}, "scratch_txid": {}, "channel_type": {}, + "independent_secrets_stored": {}, "feerate": {}, "ignore_fee_limits": {}, "lost_state": {}, @@ -1236,6 +1245,7 @@ "state": {}, "scratch_txid": {}, "channel_type": {}, + "independent_secrets_stored": {}, "feerate": {}, "ignore_fee_limits": {}, "lost_state": {}, @@ -1336,6 +1346,7 @@ "reestablished": {}, "scratch_txid": {}, "channel_type": {}, + "independent_secrets_stored": {}, "feerate": {}, "ignore_fee_limits": {}, "lost_state": {}, diff --git a/lightningd/channel.c b/lightningd/channel.c index daf35598a304..1e8b945c55f2 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -289,6 +289,16 @@ u64 channel_their_revocations(const struct channel *channel) return revocations_received(&channel->their_shachain.chain); } +u64 channel_their_stored_secrets(const struct channel *channel) +{ + if (!channel->their_secrets_in_db) + return 0; + /* The shachain stopped taking them at the first which didn't fit, + * and the db has every one from there on, without gaps. */ + return channel->their_secrets_received + - revocations_received(&channel->their_shachain.chain); +} + bool channel_their_last_secret(const struct channel *channel, struct secret *secret) { diff --git a/lightningd/channel.h b/lightningd/channel.h index 5be835478fdb..9cbece8cfd4c 100644 --- a/lightningd/channel.h +++ b/lightningd/channel.h @@ -988,6 +988,11 @@ static inline bool channel_has(const struct channel *channel, int f) * any after that are in the db. */ u64 channel_their_revocations(const struct channel *channel); +/* How many of the peer's per-commitment secrets we store individually, in + * the db, on an option_independent_secrets channel: those from the first + * which didn't fit their_shachain. 0 while they all do. */ +u64 channel_their_stored_secrets(const struct channel *channel); + /* The last per-commitment secret the peer revealed, for * `your_last_per_commitment_secret`: all zeroes if they have revealed none. * False if it should exist but we can't produce it. */ diff --git a/lightningd/peer_control.c b/lightningd/peer_control.c index a7f5c685d8cc..3198c7a4449d 100644 --- a/lightningd/peer_control.c +++ b/lightningd/peer_control.c @@ -1003,6 +1003,9 @@ static void NON_NULL_ARGS(1, 2, 4, 5) json_add_channel(struct command *cmd, json_add_bool(response, "reestablished", channel->reestablished); } json_add_channel_type(response, "channel_type", channel->type); + if (channel_has(channel, OPT_INDEPENDENT_SECRETS)) + json_add_u64(response, "independent_secrets_stored", + channel_their_stored_secrets(channel)); if (channel->ignore_fee_limits) { json_add_bool(response, "ignore_fee_limits", channel->ignore_fee_limits); } diff --git a/lightningd/test/run-invoice-select-inchan.c b/lightningd/test/run-invoice-select-inchan.c index 3bd149021dec..32e4c9b3f86e 100644 --- a/lightningd/test/run-invoice-select-inchan.c +++ b/lightningd/test/run-invoice-select-inchan.c @@ -128,6 +128,16 @@ const char *channel_state_name(const struct channel *channel UNNEEDED) /* Generated stub for channel_state_str */ const char *channel_state_str(enum channel_state state UNNEEDED) { fprintf(stderr, "channel_state_str called!\n"); abort(); } +/* Generated stub for channel_their_last_secret */ +bool channel_their_last_secret(const struct channel *channel UNNEEDED, + struct secret *secret UNNEEDED) +{ fprintf(stderr, "channel_their_last_secret called!\n"); abort(); } +/* Generated stub for channel_their_revocations */ +u64 channel_their_revocations(const struct channel *channel UNNEEDED) +{ fprintf(stderr, "channel_their_revocations called!\n"); abort(); } +/* Generated stub for channel_their_stored_secrets */ +u64 channel_their_stored_secrets(const struct channel *channel UNNEEDED) +{ fprintf(stderr, "channel_their_stored_secrets called!\n"); abort(); } /* Generated stub for channel_unsaved_close_conn */ void channel_unsaved_close_conn(struct channel *channel UNNEEDED, const char *why UNNEEDED) { fprintf(stderr, "channel_unsaved_close_conn called!\n"); abort(); } diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 4e9fb688c416..d617335448bc 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -53,6 +53,11 @@ def stored_secrets(node): 'SELECT commitnum FROM channel_revocation_secrets ORDER BY commitnum;')] +def reported_stored(node, peer): + """What listpeerchannels says node stores of peer's secrets.""" + return only_one(node.rpc.listpeerchannels(peer.info['id'])['channels']).get('independent_secrets_stored') + + def their_revocations(node, peer): """How many of peer's commitments node holds the secret for, once they outgrew the shachain: what node tells peer in channel_reestablish as @@ -128,6 +133,8 @@ def test_independent_secrets_shachain_channel_unchanged(node_factory): pay_back_and_forth(l1, l2, 3) assert stored_secrets(l1) == [] assert stored_secrets(l2) == [] + # Not reported without the add-on. + assert reported_stored(l1, l2) is None @pytest.mark.openchannel('v1') @@ -147,6 +154,8 @@ def test_independent_secrets_shachain_peer(node_factory): pay_back_and_forth(l1, l2, 1) assert stored_secrets(l1) == [] assert stored_secrets(l2) == [] + assert reported_stored(l1, l2) == 0 + assert reported_stored(l2, l1) == 0 @pytest.mark.openchannel('v1') @@ -162,6 +171,9 @@ def test_independent_secrets_stored(node_factory): assert stored_secrets(l1)[0] == 1 assert stored_secrets(l2)[0] == 1 n1, n2 = their_revocations(l1, l2), their_revocations(l2, l1) + # listpeerchannels counts them: all but the first, which fit. + assert reported_stored(l1, l2) == len(stored_secrets(l1)) == n1 - 1 + assert reported_stored(l2, l1) == len(stored_secrets(l2)) == n2 - 1 # channel_reestablish carries the count and the last secret from the # db; each side checks the last secret is the one it revealed. @@ -178,6 +190,9 @@ def test_independent_secrets_stored(node_factory): pay_back_and_forth(l1, l2, 2) assert their_revocations(l1, l2) > n1 assert their_revocations(l2, l1) > n2 + # Including after a restart. + assert reported_stored(l1, l2) == their_revocations(l1, l2) - 1 + assert reported_stored(l2, l1) == their_revocations(l2, l1) - 1 @pytest.mark.openchannel('v1') @@ -205,6 +220,7 @@ def test_independent_secrets_kept_without_the_option(node_factory, bitcoind): pay_back_and_forth(l1, l2, 2) assert old_num > n assert old_num in stored_secrets(l2) + assert reported_stored(l2, l1) == their_revocations(l2, l1) - 1 bitcoind.rpc.sendrawtransaction(old_tx) bitcoind.generate_block(1) From d0373fddea7826d9ef2f63945d8389b895723184 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Sat, 17 Oct 2026 12:04:41 +0200 Subject: [PATCH 11/28] lightningd: close a channel once it stores max-independent-secrets On a channel with option_independent_secrets, every update adds a secret we store one by one once they outgrow the shachain, and nothing else bounds them while the channel is open. --max-independent-secrets (default 1,000,000: 32MB of secrets, about 60MB in sqlite3; 0 for no limit) bounds them: at 90% we log a warning, and at the limit we start a mutual close, as `close` would, sending P2WPKH if the peer can't take our default P2TR address. After `shutdown` the peer only needs as many more as it takes to settle the HTLCs in flight, but it can keep a closing channel updating with update_fee, so once we store 10% more than the limit (at least one more) we close the channel unilaterally. Like `close`, we keep a lease we sold, and close at the first update after it expires. Changelog-Added: Config: `max-independent-secrets` closes a channel with `option_independent_secrets` once it stores that many of the peer's secrets (default 1000000). --- .msggen.json | 17 + cln-grpc/proto/node.proto | 6 + cln-grpc/src/convert.rs | 11 + cln-rpc/src/model.rs | 9 + contrib/msggen/msggen/schema.json | 27 + contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py | 1162 +++++++++-------- contrib/pyln-testing/pyln/testing/grpc2py.py | 7 + doc/independent-secrets.md | 18 + doc/lightningd-config.5.md | 15 + doc/schemas/listconfigs.json | 27 + lightningd/channel.c | 6 + lightningd/channel.h | 3 + lightningd/closing_control.c | 67 + lightningd/closing_control.h | 5 + lightningd/lightningd.c | 2 + lightningd/lightningd.h | 4 + lightningd/options.c | 6 + lightningd/peer_htlcs.c | 77 ++ tests/test_independent_secrets.py | 63 + 19 files changed, 952 insertions(+), 580 deletions(-) diff --git a/.msggen.json b/.msggen.json index 5b03decaea39..b8b7f81bd118 100644 --- a/.msggen.json +++ b/.msggen.json @@ -2560,6 +2560,7 @@ "ListConfigs.configs.mainnet": 5, "ListConfigs.configs.max-concurrent-htlcs": 42, "ListConfigs.configs.max-dust-htlc-exposure-msat": 45, + "ListConfigs.configs.max-independent-secrets": 77, "ListConfigs.configs.max-locktime-blocks": 34, "ListConfigs.configs.min-capacity-sat": 46, "ListConfigs.configs.network": 13, @@ -2811,6 +2812,10 @@ "ListConfigs.configs.max-dust-htlc-exposure-msat.source": 2, "ListConfigs.configs.max-dust-htlc-exposure-msat.value_msat": 1 }, + "ListconfigsConfigsMax-independent-secrets": { + "ListConfigs.configs.max-independent-secrets.source": 1, + "ListConfigs.configs.max-independent-secrets.value_int": 2 + }, "ListconfigsConfigsMax-locktime-blocks": { "ListConfigs.configs.max-locktime-blocks.source": 2, "ListConfigs.configs.max-locktime-blocks.value_int": 1 @@ -10413,6 +10418,18 @@ "added": "v23.08", "deprecated": null }, + "ListConfigs.configs.max-independent-secrets": { + "added": "v26.06.9-blake2b.8", + "deprecated": null + }, + "ListConfigs.configs.max-independent-secrets.source": { + "added": "v26.06.9-blake2b.8", + "deprecated": null + }, + "ListConfigs.configs.max-independent-secrets.value_int": { + "added": "v26.06.9-blake2b.8", + "deprecated": null + }, "ListConfigs.configs.max-locktime-blocks": { "added": "pre-v0.10.1", "deprecated": "v24.05" diff --git a/cln-grpc/proto/node.proto b/cln-grpc/proto/node.proto index b78de63c6796..4bcd24a8b1f0 100644 --- a/cln-grpc/proto/node.proto +++ b/cln-grpc/proto/node.proto @@ -3238,6 +3238,7 @@ message ListconfigsConfigs { optional ListconfigsConfigsCurrencyrateaddsource currencyrate_add_source = 74; optional ListconfigsConfigsCurrencyratedisablesource currencyrate_disable_source = 75; optional ListconfigsConfigsIndependentsecrets independent_secrets = 76; + optional ListconfigsConfigsMaxindependentsecrets max_independent_secrets = 77; } message ListconfigsConfigsAddr { @@ -3509,6 +3510,11 @@ message ListconfigsConfigsMaxdusthtlcexposuremsat { string source = 2; } +message ListconfigsConfigsMaxindependentsecrets { + string source = 1; + uint64 value_int = 2; +} + message ListconfigsConfigsMincapacitysat { uint64 value_int = 1; string source = 2; diff --git a/cln-grpc/src/convert.rs b/cln-grpc/src/convert.rs index b060cab19b36..42cf981308ac 100644 --- a/cln-grpc/src/convert.rs +++ b/cln-grpc/src/convert.rs @@ -3589,6 +3589,16 @@ impl From for pb::Listconf } } +#[allow(unused_variables)] +impl From for pb::ListconfigsConfigsMaxindependentsecrets { + fn from(c: responses::ListconfigsConfigsMaxindependentsecrets) -> Self { + Self { + source: c.source, // Rule #2 for type string + value_int: c.value_int, // Rule #2 for type u64 + } + } +} + #[allow(unused_variables)] impl From for pb::ListconfigsConfigsMincapacitysat { fn from(c: responses::ListconfigsConfigsMincapacitysat) -> Self { @@ -3841,6 +3851,7 @@ impl From for pb::ListconfigsConfigs { mainnet: c.mainnet.map(|v| v.into()), max_concurrent_htlcs: c.max_concurrent_htlcs.map(|v| v.into()), max_dust_htlc_exposure_msat: c.max_dust_htlc_exposure_msat.map(|v| v.into()), + max_independent_secrets: c.max_independent_secrets.map(|v| v.into()), min_capacity_sat: c.min_capacity_sat.map(|v| v.into()), network: c.network.map(|v| v.into()), offline: c.offline.map(|v| v.into()), diff --git a/cln-rpc/src/model.rs b/cln-rpc/src/model.rs index a0fbb7367fe2..d7e121113204 100644 --- a/cln-rpc/src/model.rs +++ b/cln-rpc/src/model.rs @@ -11272,6 +11272,12 @@ pub mod responses { pub value_msat: Amount, } + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct ListconfigsConfigsMaxindependentsecrets { + pub source: String, + pub value_int: u64, + } + #[derive(Clone, Debug, Deserialize, Serialize)] pub struct ListconfigsConfigsMincapacitysat { #[serde(skip_serializing_if = "Option::is_none")] @@ -11592,6 +11598,9 @@ pub mod responses { #[serde(rename = "max-dust-htlc-exposure-msat")] #[serde(skip_serializing_if = "Option::is_none")] pub max_dust_htlc_exposure_msat: Option, + #[serde(rename = "max-independent-secrets")] + #[serde(skip_serializing_if = "Option::is_none")] + pub max_independent_secrets: Option, #[serde(rename = "min-capacity-sat")] #[serde(skip_serializing_if = "Option::is_none")] pub min_capacity_sat: Option, diff --git a/contrib/msggen/msggen/schema.json b/contrib/msggen/msggen/schema.json index ae53c0c9adeb..b9b714779784 100644 --- a/contrib/msggen/msggen/schema.json +++ b/contrib/msggen/msggen/schema.json @@ -20644,6 +20644,29 @@ } } }, + "max-independent-secrets": { + "added": "v26.06.9-blake2b.8", + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" + ], + "properties": { + "value_int": { + "type": "u64", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + }, "max-concurrent-htlcs": { "type": "object", "additionalProperties": false, @@ -21833,6 +21856,10 @@ "set": false, "source": "default" }, + "max-independent-secrets": { + "value_int": 1000000, + "source": "default" + }, "max-concurrent-htlcs": { "value_int": 483, "source": "default" diff --git a/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py b/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py index 54a4cce324b1..2b9aaf10deca 100644 --- a/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py +++ b/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py @@ -25,7 +25,7 @@ from pyln.grpc import primitives_pb2 as primitives__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nnode.proto\x12\x03\x63ln\x1a\x10primitives.proto\"\x10\n\x0eGetinfoRequest\"\xb1\x04\n\x0fGetinfoResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\r\n\x05\x63olor\x18\x03 \x01(\x0c\x12\x11\n\tnum_peers\x18\x04 \x01(\r\x12\x1c\n\x14num_pending_channels\x18\x05 \x01(\r\x12\x1b\n\x13num_active_channels\x18\x06 \x01(\r\x12\x1d\n\x15num_inactive_channels\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\t\x12\x15\n\rlightning_dir\x18\t \x01(\t\x12\x32\n\x0cour_features\x18\n \x01(\x0b\x32\x17.cln.GetinfoOurFeaturesH\x00\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0b \x01(\r\x12\x0f\n\x07network\x18\x0c \x01(\t\x12(\n\x13\x66\x65\x65s_collected_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x07\x61\x64\x64ress\x18\x0e \x03(\x0b\x32\x13.cln.GetinfoAddress\x12$\n\x07\x62inding\x18\x0f \x03(\x0b\x32\x13.cln.GetinfoBinding\x12\"\n\x15warning_bitcoind_sync\x18\x10 \x01(\tH\x01\x88\x01\x01\x12$\n\x17warning_lightningd_sync\x18\x11 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_our_featuresB\x18\n\x16_warning_bitcoind_syncB\x1a\n\x18_warning_lightningd_sync\"\xc4\x01\n\x0eGetinfoAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoAddress.GetinfoAddressType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"G\n\x12GetinfoAddressType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xac\x02\n\x0eGetinfoBinding\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoBinding.GetinfoBindingType\x12\x14\n\x07\x61\x64\x64ress\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06socket\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07subtype\x18\x05 \x01(\tH\x03\x88\x01\x01\"_\n\x12GetinfoBindingType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\n\n\x08_addressB\x07\n\x05_portB\t\n\x07_socketB\n\n\x08_subtype\"R\n\x12GetinfoOurFeatures\x12\x0c\n\x04init\x18\x01 \x01(\x0c\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63hannel\x18\x03 \x01(\x0c\x12\x0f\n\x07invoice\x18\x04 \x01(\x0c\"\xb5\x01\n\x10ListpeersRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x38\n\x05level\x18\x02 \x01(\x0e\x32$.cln.ListpeersRequest.ListpeersLevelH\x01\x88\x01\x01\"E\n\x0eListpeersLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\x0b\n\x07UNUSUAL\x10\x03\x12\t\n\x05TRACE\x10\x04\x42\x05\n\x03_idB\x08\n\x06_level\"7\n\x11ListpeersResponse\x12\"\n\x05peers\x18\x01 \x03(\x0b\x32\x13.cln.ListpeersPeers\"\xc9\x01\n\x0eListpeersPeers\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12#\n\x03log\x18\x03 \x03(\x0b\x32\x16.cln.ListpeersPeersLog\x12\x0f\n\x07netaddr\x18\x05 \x03(\t\x12\x15\n\x08\x66\x65\x61tures\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bremote_addr\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cnum_channels\x18\x08 \x01(\rB\x0b\n\t_featuresB\x0e\n\x0c_remote_addr\"\x88\x03\n\x11ListpeersPeersLog\x12?\n\titem_type\x18\x01 \x01(\x0e\x32,.cln.ListpeersPeersLog.ListpeersPeersLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"t\n\x15ListpeersPeersLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"0\n\x10ListfundsRequest\x12\x12\n\x05spent\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_spent\"e\n\x11ListfundsResponse\x12&\n\x07outputs\x18\x01 \x03(\x0b\x32\x15.cln.ListfundsOutputs\x12(\n\x08\x63hannels\x18\x02 \x03(\x0b\x32\x16.cln.ListfundsChannels\"\x97\x02\n\x11ListfundsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12$\n\x0four_amount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x04 \x01(\x0c\x12\x16\n\x0e\x66unding_output\x18\x05 \x01(\r\x12\x11\n\tconnected\x18\x06 \x01(\x08\x12 \n\x05state\x18\x07 \x01(\x0e\x32\x11.cln.ChannelState\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\t \x01(\x0c\x42\x13\n\x11_short_channel_id\"\xb9\x03\n\x10ListfundsOutputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06output\x18\x02 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0cscriptpubkey\x18\x04 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0credeemscript\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12<\n\x06status\x18\x07 \x01(\x0e\x32,.cln.ListfundsOutputs.ListfundsOutputsStatus\x12\x18\n\x0b\x62lockheight\x18\x08 \x01(\rH\x02\x88\x01\x01\x12\x10\n\x08reserved\x18\t \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\n \x01(\rH\x03\x88\x01\x01\"Q\n\x16ListfundsOutputsStatus\x12\x0f\n\x0bUNCONFIRMED\x10\x00\x12\r\n\tCONFIRMED\x10\x01\x12\t\n\x05SPENT\x10\x02\x12\x0c\n\x08IMMATURE\x10\x03\x42\n\n\x08_addressB\x0f\n\r_redeemscriptB\x0e\n\x0c_blockheightB\x14\n\x12_reserved_to_block\"\xbb\x03\n\x0eSendpayRequest\x12 \n\x05route\x18\x01 \x03(\x0b\x32\x11.cln.SendpayRoute\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x13\n\x06partid\x18\x07 \x01(\x04H\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\t \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_bolt11B\x11\n\x0f_payment_secretB\t\n\x07_partidB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x13\n\x11_payment_metadataB\x0e\n\x0c_description\"\x96\x05\n\x0fSendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x32\n\x06status\x18\x04 \x01(\x0e\x32\".cln.SendpayResponse.SendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x14\n\x07message\x18\x0e \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0f \x01(\x04H\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\"*\n\rSendpayStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\xe6\x02\n\x0cSendpayRoute\x12\x0f\n\x02id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x04 \x01(\tH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12!\n\x14short_channel_id_dir\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\t \x01(\rH\x07\x88\x01\x01\x42\x05\n\x03_idB\x08\n\x06_delayB\n\n\x08_channelB\x0e\n\x0c_amount_msatB\x17\n\x15_short_channel_id_dirB\x0e\n\x0c_node_id_outB\x12\n\x10_amount_out_msatB\x0b\n\t_cltv_out\"\x93\x01\n\x13ListchannelsRequest\x12\x1d\n\x10short_channel_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06source\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\t\n\x07_sourceB\x0e\n\x0c_destination\"C\n\x14ListchannelsResponse\x12+\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x19.cln.ListchannelsChannels\"\xb3\x03\n\x14ListchannelsChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\x0e\n\x06public\x18\x04 \x01(\x08\x12 \n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\rmessage_flags\x18\x06 \x01(\r\x12\x15\n\rchannel_flags\x18\x07 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x08 \x01(\x08\x12\x13\n\x0blast_update\x18\t \x01(\r\x12\x1d\n\x15\x62\x61se_fee_millisatoshi\x18\n \x01(\r\x12\x19\n\x11\x66\x65\x65_per_millionth\x18\x0b \x01(\r\x12\r\n\x05\x64\x65lay\x18\x0c \x01(\r\x12&\n\x11htlc_minimum_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x11htlc_maximum_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x0f \x01(\x0c\x12\x11\n\tdirection\x18\x10 \x01(\rB\x14\n\x12_htlc_maximum_msat\"#\n\x10\x41\x64\x64gossipRequest\x12\x0f\n\x07message\x18\x01 \x01(\x0c\"\x13\n\x11\x41\x64\x64gossipResponse\"\xac\x01\n\x14\x41\x64\x64psbtoutputRequest\x12\x1c\n\x07satoshi\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\x08locktime\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_locktimeB\x0e\n\x0c_initialpsbtB\x0e\n\x0c_destination\"U\n\x15\x41\x64\x64psbtoutputResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1e\n\x16\x65stimated_added_weight\x18\x02 \x01(\r\x12\x0e\n\x06outnum\x18\x03 \x01(\r\"O\n\x14\x41utocleanonceRequest\x12*\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystem\x12\x0b\n\x03\x61ge\x18\x02 \x01(\x04\"G\n\x15\x41utocleanonceResponse\x12.\n\tautoclean\x18\x01 \x01(\x0b\x32\x1b.cln.AutocleanonceAutoclean\"\x89\x05\n\x16\x41utocleanonceAutoclean\x12L\n\x11succeededforwards\x18\x01 \x01(\x0b\x32,.cln.AutocleanonceAutocleanSucceededforwardsH\x00\x88\x01\x01\x12\x46\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32).cln.AutocleanonceAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x44\n\rsucceededpays\x18\x03 \x01(\x0b\x32(.cln.AutocleanonceAutocleanSucceededpaysH\x02\x88\x01\x01\x12>\n\nfailedpays\x18\x04 \x01(\x0b\x32%.cln.AutocleanonceAutocleanFailedpaysH\x03\x88\x01\x01\x12\x42\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32\'.cln.AutocleanonceAutocleanPaidinvoicesH\x04\x88\x01\x01\x12H\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32*.cln.AutocleanonceAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x44\n\rnetworkevents\x18\x07 \x01(\x0b\x32(.cln.AutocleanonceAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"K\n%AutocleanonceAutocleanExpiredinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"J\n$AutocleanonceAutocleanFailedforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"F\n AutocleanonceAutocleanFailedpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanNetworkevents\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"H\n\"AutocleanonceAutocleanPaidinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"M\n\'AutocleanonceAutocleanSucceededforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanSucceededpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"W\n\x16\x41utocleanstatusRequest\x12/\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystemH\x00\x88\x01\x01\x42\x0c\n\n_subsystem\"K\n\x17\x41utocleanstatusResponse\x12\x30\n\tautoclean\x18\x01 \x01(\x0b\x32\x1d.cln.AutocleanstatusAutoclean\"\x99\x05\n\x18\x41utocleanstatusAutoclean\x12N\n\x11succeededforwards\x18\x01 \x01(\x0b\x32..cln.AutocleanstatusAutocleanSucceededforwardsH\x00\x88\x01\x01\x12H\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32+.cln.AutocleanstatusAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x46\n\rsucceededpays\x18\x03 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanSucceededpaysH\x02\x88\x01\x01\x12@\n\nfailedpays\x18\x04 \x01(\x0b\x32\'.cln.AutocleanstatusAutocleanFailedpaysH\x03\x88\x01\x01\x12\x44\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32).cln.AutocleanstatusAutocleanPaidinvoicesH\x04\x88\x01\x01\x12J\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32,.cln.AutocleanstatusAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x46\n\rnetworkevents\x18\x07 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"e\n\'AutocleanstatusAutocleanExpiredinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"d\n&AutocleanstatusAutocleanFailedforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"`\n\"AutocleanstatusAutocleanFailedpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanNetworkevents\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"b\n$AutocleanstatusAutocleanPaidinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"g\n)AutocleanstatusAutocleanSucceededforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanSucceededpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"U\n\x13\x43heckmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\r\n\x05zbase\x18\x02 \x01(\t\x12\x13\n\x06pubkey\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x42\t\n\x07_pubkey\"8\n\x14\x43heckmessageResponse\x12\x10\n\x08verified\x18\x01 \x01(\x08\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\"\xcb\x02\n\x0c\x43loseRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1e\n\x11unilateraltimeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x01\x88\x01\x01\x12!\n\x14\x66\x65\x65_negotiation_step\x18\x04 \x01(\tH\x02\x88\x01\x01\x12)\n\rwrong_funding\x18\x05 \x01(\x0b\x32\r.cln.OutpointH\x03\x88\x01\x01\x12\x1f\n\x12\x66orce_lease_closed\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1e\n\x08\x66\x65\x65range\x18\x07 \x03(\x0b\x32\x0c.cln.FeerateB\x14\n\x12_unilateraltimeoutB\x0e\n\x0c_destinationB\x17\n\x15_fee_negotiation_stepB\x10\n\x0e_wrong_fundingB\x15\n\x13_force_lease_closed\"\x93\x01\n\rCloseResponse\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.CloseResponse.CloseType\x12\x0b\n\x03txs\x18\x04 \x03(\x0c\x12\r\n\x05txids\x18\x05 \x03(\x0c\"5\n\tCloseType\x12\n\n\x06MUTUAL\x10\x00\x12\x0e\n\nUNILATERAL\x10\x01\x12\x0c\n\x08UNOPENED\x10\x02\"T\n\x0e\x43onnectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04host\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x07\n\x05_hostB\x07\n\x05_port\"\xb4\x01\n\x0f\x43onnectResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\x38\n\tdirection\x18\x03 \x01(\x0e\x32%.cln.ConnectResponse.ConnectDirection\x12$\n\x07\x61\x64\x64ress\x18\x04 \x01(\x0b\x32\x13.cln.ConnectAddress\"#\n\x10\x43onnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\xfb\x01\n\x0e\x43onnectAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.ConnectAddress.ConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"P\n\x12\x43onnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"J\n\x14\x43reateinvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x10\n\x08preimage\x18\x03 \x01(\x0c\"\xe6\x05\n\x15\x43reateinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12>\n\x06status\x18\x06 \x01(\x0e\x32..cln.CreateinvoiceResponse.CreateinvoiceStatus\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x16\n\tpay_index\x18\t \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12:\n\rpaid_outpoint\x18\x11 \x01(\x0b\x32\x1e.cln.CreateinvoicePaidOutpointH\t\x88\x01\x01\"8\n\x13\x43reateinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_paid_outpoint\"9\n\x19\x43reateinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xb4\x02\n\x10\x44\x61tastoreRequest\x12\x10\n\x03hex\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x36\n\x04mode\x18\x03 \x01(\x0e\x32#.cln.DatastoreRequest.DatastoreModeH\x01\x88\x01\x01\x12\x17\n\ngeneration\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\t\x12\x13\n\x06string\x18\x06 \x01(\tH\x03\x88\x01\x01\"p\n\rDatastoreMode\x12\x0f\n\x0bMUST_CREATE\x10\x00\x12\x10\n\x0cMUST_REPLACE\x10\x01\x12\x15\n\x11\x43REATE_OR_REPLACE\x10\x02\x12\x0f\n\x0bMUST_APPEND\x10\x03\x12\x14\n\x10\x43REATE_OR_APPEND\x10\x04\x42\x06\n\x04_hexB\x07\n\x05_modeB\r\n\x0b_generationB\t\n\x07_string\"\x82\x01\n\x11\x44\x61tastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"$\n\x15\x44\x61tastoreusageRequest\x12\x0b\n\x03key\x18\x01 \x03(\t\"S\n\x16\x44\x61tastoreusageResponse\x12\x39\n\x0e\x64\x61tastoreusage\x18\x01 \x01(\x0b\x32!.cln.DatastoreusageDatastoreusage\"@\n\x1c\x44\x61tastoreusageDatastoreusage\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x13\n\x0btotal_bytes\x18\x02 \x01(\x04\"\x9d\x01\n\x12\x43reateonionRequest\x12\"\n\x04hops\x18\x01 \x03(\x0b\x32\x14.cln.CreateonionHops\x12\x11\n\tassocdata\x18\x02 \x01(\x0c\x12\x18\n\x0bsession_key\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x17\n\nonion_size\x18\x04 \x01(\rH\x01\x88\x01\x01\x42\x0e\n\x0c_session_keyB\r\n\x0b_onion_size\"<\n\x13\x43reateonionResponse\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x16\n\x0eshared_secrets\x18\x02 \x03(\x0c\"2\n\x0f\x43reateonionHops\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"J\n\x13\x44\x65ldatastoreRequest\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x03 \x03(\tB\r\n\x0b_generation\"\x85\x01\n\x14\x44\x65ldatastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xb6\x01\n\x11\x44\x65linvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\'.cln.DelinvoiceRequest.DelinvoiceStatus\x12\x15\n\x08\x64\x65sconly\x18\x03 \x01(\x08H\x00\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\x0b\n\t_desconly\"\xcf\x05\n\x12\x44\x65linvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x38\n\x06status\x18\x07 \x01(\x0e\x32(.cln.DelinvoiceResponse.DelinvoiceStatus\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x16\n\tpay_index\x18\x0e \x01(\x04H\x07\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x07paid_at\x18\x10 \x01(\x04H\t\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x11 \x01(\x0cH\n\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\x9f\x01\n\x17\x44\x65vforgetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\x05\x66orce\x18\x04 \x01(\x08H\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x08\n\x06_force\"Y\n\x18\x44\x65vforgetchannelResponse\x12\x0e\n\x06\x66orced\x18\x01 \x01(\x08\x12\x17\n\x0f\x66unding_unspent\x18\x02 \x01(\x08\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\"\x19\n\x17\x45mergencyrecoverRequest\")\n\x18\x45mergencyrecoverResponse\x12\r\n\x05stubs\x18\x01 \x03(\x0c\" \n\x1eGetemergencyrecoverdataRequest\"\x8a\x01\n\x1fGetemergencyrecoverdataResponse\x12\x10\n\x08\x66iledata\x18\x01 \x01(\x0c\x12\x1f\n\x12\x63\x61n_create_penalty\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x15\x62\x61\x63ked_up_channel_ids\x18\x03 \x03(\x0c\x42\x15\n\x13_can_create_penalty\"Q\n\x13\x45xposesecretRequest\x12\x12\n\npassphrase\x18\x01 \x01(\t\x12\x17\n\nidentifier\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\r\n\x0b_identifier\"_\n\x14\x45xposesecretResponse\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12\x0f\n\x07\x63odex32\x18\x02 \x01(\t\x12\x15\n\x08mnemonic\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_mnemonic\"#\n\x0eRecoverRequest\x12\x11\n\thsmsecret\x18\x01 \x01(\t\"x\n\x0fRecoverResponse\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".cln.RecoverResponse.RecoverResult\"1\n\rRecoverResult\x12 \n\x1cRECOVERY_RESTART_IN_PROGRESS\x10\x00\"$\n\x15RecoverchannelRequest\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"\'\n\x16RecoverchannelResponse\x12\r\n\x05stubs\x18\x01 \x03(\t\"\x99\x02\n\x0eInvoiceRequest\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\x12\x11\n\tfallbacks\x18\x04 \x03(\t\x12\x15\n\x08preimage\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x11\n\x04\x63ltv\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18\x07 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x15\x65xposeprivatechannels\x18\x08 \x03(\t\x12\x19\n\x0c\x64\x65schashonly\x18\t \x01(\x08H\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x10.cln.AmountOrAnyB\x0b\n\t_preimageB\x07\n\x05_cltvB\t\n\x07_expiryB\x0f\n\r_deschashonly\"\xfe\x02\n\x0fInvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x16\n\x0epayment_secret\x18\x03 \x01(\x0c\x12\x12\n\nexpires_at\x18\x04 \x01(\x04\x12\x1d\n\x10warning_capacity\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0fwarning_offline\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10warning_deadends\x18\x07 \x01(\tH\x02\x88\x01\x01\x12#\n\x16warning_private_unused\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0bwarning_mpp\x18\t \x01(\tH\x04\x88\x01\x01\x12\x15\n\rcreated_index\x18\n \x01(\x04\x42\x13\n\x11_warning_capacityB\x12\n\x10_warning_offlineB\x13\n\x11_warning_deadendsB\x19\n\x17_warning_private_unusedB\x0e\n\x0c_warning_mpp\"\xe1\x01\n\x15InvoicerequestRequest\x12\x1b\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12\x17\n\nsingle_use\x18\x06 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_issuerB\x08\n\x06_labelB\x12\n\x10_absolute_expiryB\r\n\x0b_single_use\"\x8b\x01\n\x16InvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"1\n\x1c\x44isableinvoicerequestRequest\x12\x11\n\tinvreq_id\x18\x01 \x01(\t\"\x92\x01\n\x1d\x44isableinvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"l\n\x1aListinvoicerequestsRequest\x12\x16\n\tinvreq_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_invreq_idB\x0e\n\x0c_active_only\"_\n\x1bListinvoicerequestsResponse\x12@\n\x0finvoicerequests\x18\x01 \x03(\x0b\x32\'.cln.ListinvoicerequestsInvoicerequests\"\x97\x01\n\"ListinvoicerequestsInvoicerequests\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"#\n\x14ListdatastoreRequest\x12\x0b\n\x03key\x18\x02 \x03(\t\"G\n\x15ListdatastoreResponse\x12.\n\tdatastore\x18\x01 \x03(\x0b\x32\x1b.cln.ListdatastoreDatastore\"\x87\x01\n\x16ListdatastoreDatastore\x12\x0b\n\x03key\x18\x01 \x03(\t\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xde\x02\n\x13ListinvoicesRequest\x12\x12\n\x05label\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08offer_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12>\n\x05index\x18\x05 \x01(\x0e\x32*.cln.ListinvoicesRequest.ListinvoicesIndexH\x04\x88\x01\x01\x12\x12\n\x05start\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x06\x88\x01\x01\"-\n\x11ListinvoicesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x0f\n\r_payment_hashB\x0b\n\t_offer_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListinvoicesResponse\x12+\n\x08invoices\x18\x01 \x03(\x0b\x32\x19.cln.ListinvoicesInvoices\"\xbc\x06\n\x14ListinvoicesInvoices\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x16\n\tpay_index\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x14\n\x07paid_at\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0e \x01(\x0cH\x08\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\x12\x41\n\rpaid_outpoint\x18\x12 \x01(\x0b\x32%.cln.ListinvoicesInvoicesPaidOutpointH\x0b\x88\x01\x01\"?\n\x1aListinvoicesInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x11\n\x0f_local_offer_idB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"@\n ListinvoicesInvoicesPaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xf6\x03\n\x10SendonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12)\n\tfirst_hop\x18\x02 \x01(\x0b\x32\x16.cln.SendonionFirstHop\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x12\n\x05label\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0eshared_secrets\x18\x05 \x03(\x0c\x12\x13\n\x06partid\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\t \x01(\x0cH\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12+\n\x11total_amount_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\x0e\n\x0c_destinationB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0e\n\x0c_descriptionB\x14\n\x12_total_amount_msat\"\xd0\x04\n\x11SendonionResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x36\n\x06status\x18\x03 \x01(\x0e\x32&.cln.SendonionResponse.SendonionStatus\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x06 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\n \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0b \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07message\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06partid\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0e \x01(\x04\x12\x1a\n\rupdated_index\x18\x0f \x01(\x04H\x08\x88\x01\x01\",\n\x0fSendonionStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\t\n\x07_partidB\x10\n\x0e_updated_index\"P\n\x11SendonionFirstHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\r\n\x05\x64\x65lay\x18\x03 \x01(\r\"\xa0\x03\n\x13ListsendpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12@\n\x06status\x18\x03 \x01(\x0e\x32+.cln.ListsendpaysRequest.ListsendpaysStatusH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListsendpaysRequest.ListsendpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListsendpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\";\n\x12ListsendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListsendpaysResponse\x12+\n\x08payments\x18\x01 \x03(\x0b\x32\x19.cln.ListsendpaysPayments\"\xe5\x05\n\x14ListsendpaysPayments\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListsendpaysPayments.ListsendpaysPaymentsStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\n \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06partid\x18\x0f \x01(\x04H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x12 \x01(\x04H\n\x88\x01\x01\"C\n\x1aListsendpaysPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\t\n\x07_partidB\x10\n\x0e_updated_indexB\x0f\n\r_completed_at\"\x19\n\x17ListtransactionsRequest\"S\n\x18ListtransactionsResponse\x12\x37\n\x0ctransactions\x18\x01 \x03(\x0b\x32!.cln.ListtransactionsTransactions\"\xf8\x01\n\x1cListtransactionsTransactions\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\r\n\x05rawtx\x18\x02 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x03 \x01(\r\x12\x0f\n\x07txindex\x18\x04 \x01(\r\x12\x10\n\x08locktime\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\r\x12\x37\n\x06inputs\x18\t \x03(\x0b\x32\'.cln.ListtransactionsTransactionsInputs\x12\x39\n\x07outputs\x18\n \x03(\x0b\x32(.cln.ListtransactionsTransactionsOutputs\"S\n\"ListtransactionsTransactionsInputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\r\n\x05index\x18\x02 \x01(\r\x12\x10\n\x08sequence\x18\x03 \x01(\r\"l\n#ListtransactionsTransactionsOutputs\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0cscriptPubKey\x18\x03 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\"M\n\x11MakesecretRequest\x12\x10\n\x03hex\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x13\n\x06string\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x06\n\x04_hexB\t\n\x07_string\"$\n\x12MakesecretResponse\x12\x0e\n\x06secret\x18\x01 \x01(\x0c\"\xc7\x04\n\nPayRequest\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12\x1b\n\nriskfactor\x18\x08 \x01(\x01\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\n \x03(\tB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x06\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x0c \x01(\tB\x02\x18\x01H\x07\x88\x01\x01\x12)\n\x0b\x61mount_msat\x18\r \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x08\x88\x01\x01\x12\x1e\n\rlocalinvreqid\x18\x0e \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12*\n\x0cpartial_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_riskfactorB\t\n\x07_maxfeeB\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0f\n\r_partial_msat\"\xab\x03\n\x0bPayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12.\n\x06status\x18\t \x01(\x0e\x32\x1a.cln.PayResponse.PayStatusB\x02\x18\x01\">\n\tPayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"*\n\x10ListnodesRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"7\n\x11ListnodesResponse\x12\"\n\x05nodes\x18\x01 \x03(\x0b\x32\x13.cln.ListnodesNodes\"\xb8\x02\n\x0eListnodesNodes\x12\x0e\n\x06nodeid\x18\x01 \x01(\x0c\x12\x1b\n\x0elast_timestamp\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x12\n\x05\x61lias\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63olor\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x05 \x01(\x0cH\x03\x88\x01\x01\x12/\n\taddresses\x18\x06 \x03(\x0b\x32\x1c.cln.ListnodesNodesAddresses\x12@\n\x10option_will_fund\x18\x07 \x01(\x0b\x32!.cln.ListnodesNodesOptionWillFundH\x04\x88\x01\x01\x42\x11\n\x0f_last_timestampB\x08\n\x06_aliasB\x08\n\x06_colorB\x0b\n\t_featuresB\x13\n\x11_option_will_fund\"\xe8\x01\n\x17ListnodesNodesAddresses\x12K\n\titem_type\x18\x01 \x01(\x0e\x32\x38.cln.ListnodesNodesAddresses.ListnodesNodesAddressesType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"P\n\x1bListnodesNodesAddressesType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xf2\x01\n\x1cListnodesNodesOptionWillFund\x12(\n\x13lease_fee_base_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x17\n\x0flease_fee_basis\x18\x02 \x01(\r\x12\x16\n\x0e\x66unding_weight\x18\x03 \x01(\r\x12.\n\x19\x63hannel_fee_max_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x30\n(channel_fee_max_proportional_thousandths\x18\x05 \x01(\r\x12\x15\n\rcompact_lease\x18\x06 \x01(\x0c\"g\n\x15WaitanyinvoiceRequest\x12\x1a\n\rlastpay_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\x10\n\x0e_lastpay_indexB\n\n\x08_timeout\"\xbc\x05\n\x16WaitanyinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12@\n\x06status\x18\x04 \x01(\x0e\x32\x30.cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12;\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1f.cln.WaitanyinvoicePaidOutpointH\t\x88\x01\x01\"-\n\x14WaitanyinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\":\n\x1aWaitanyinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"#\n\x12WaitinvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\"\xad\x05\n\x13WaitinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitinvoiceResponse.WaitinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12\x38\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1c.cln.WaitinvoicePaidOutpointH\t\x88\x01\x01\"*\n\x11WaitinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"7\n\x17WaitinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\x8e\x01\n\x12WaitsendpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\t\n\x07_partidB\n\n\x08_timeoutB\n\n\x08_groupid\"\xf7\x04\n\x13WaitsendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitsendpayResponse.WaitsendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0e \x01(\x01H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0f \x01(\x04\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\t\x88\x01\x01\"!\n\x11WaitsendpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\x97\x01\n\x0eNewaddrRequest\x12@\n\x0b\x61\x64\x64resstype\x18\x01 \x01(\x0e\x32&.cln.NewaddrRequest.NewaddrAddresstypeH\x00\x88\x01\x01\"3\n\x12NewaddrAddresstype\x12\n\n\x06\x42\x45\x43H32\x10\x00\x12\x07\n\x03\x41LL\x10\x02\x12\x08\n\x04P2TR\x10\x03\x42\x0e\n\x0c_addresstype\"M\n\x0fNewaddrResponse\x12\x13\n\x06\x62\x65\x63h32\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb9\x01\n\x0fWithdrawRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12!\n\x07satoshi\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\"\n\x07\x66\x65\x65rate\x18\x05 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_feerate\":\n\x10WithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0c\n\x04psbt\x18\x03 \x01(\t\"\xd7\x03\n\x0eKeysendRequest\x12\x17\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12/\n\nroutehints\x18\x08 \x01(\x0b\x32\x12.cln.RoutehintListB\x02\x18\x01H\x05\x88\x01\x01\x12*\n\textratlvs\x18\t \x01(\x0b\x32\x0e.cln.TlvStreamB\x02\x18\x01H\x06\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x07\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_routehintsB\x0c\n\n_extratlvsB\t\n\x07_maxfee\"\x9a\x03\n\x0fKeysendResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x36\n\x06status\x18\t \x01(\x0e\x32\".cln.KeysendResponse.KeysendStatusB\x02\x18\x01\"!\n\rKeysendStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"\xa4\x03\n\x0f\x46undpsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x14\n\x07minconf\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\x08 \x01(\x08H\x04\x88\x01\x01\x12\x17\n\nnonwrapped\x18\t \x01(\x08H\x05\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x06\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_changeB\r\n\x0b_nonwrappedB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10\x46undpsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.FundpsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14\x46undpsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"A\n\x0fSendpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\",\n\x10SendpsbtResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"1\n\x0fSignpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x10\n\x08signonly\x18\x02 \x03(\r\"\'\n\x10SignpsbtResponse\x12\x13\n\x0bsigned_psbt\x18\x01 \x01(\t\"\xa0\x03\n\x0fUtxopsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nreservedok\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\t \x01(\x08H\x04\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\r\n\x0b_reservedokB\x13\n\x11_excess_as_changeB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10UtxopsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.UtxopsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14UtxopsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\" \n\x10TxdiscardRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"6\n\x11TxdiscardResponse\x12\x13\n\x0bunsigned_tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xa4\x01\n\x10TxprepareRequest\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12 \n\x07outputs\x18\x05 \x03(\x0b\x32\x0f.cln.OutputDescB\n\n\x08_feerateB\n\n\x08_minconf\"D\n\x11TxprepareResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x13\n\x0bunsigned_tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x1d\n\rTxsendRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"8\n\x0eTxsendResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x8d\x01\n\x17ListpeerchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x05\n\x03_idB\x13\n\x11_short_channel_idB\r\n\x0b_channel_id\"K\n\x18ListpeerchannelsResponse\x12/\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1d.cln.ListpeerchannelsChannels\"\x99\x1b\n\x18ListpeerchannelsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x16\n\x0epeer_connected\x18\x02 \x01(\x08\x12 \n\x05state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x19\n\x0cscratch_txid\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x43\n\x0c\x63hannel_type\x18\x05 \x01(\x0b\x32(.cln.ListpeerchannelsChannelsChannelTypeH\x01\x88\x01\x01\x12:\n\x07\x66\x65\x65rate\x18\x06 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFeerateH\x02\x88\x01\x01\x12\x12\n\x05owner\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x17\n\nchannel_id\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\r \x01(\tH\t\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0e \x01(\tH\n\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0f \x01(\rH\x0b\x88\x01\x01\x12\x37\n\x08inflight\x18\x10 \x03(\x0b\x32%.cln.ListpeerchannelsChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x11 \x01(\x0cH\x0c\x88\x01\x01\x12\x14\n\x07private\x18\x12 \x01(\x08H\r\x88\x01\x01\x12 \n\x06opener\x18\x13 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x14 \x01(\x0e\x32\x10.cln.ChannelSideH\x0e\x88\x01\x01\x12:\n\x07\x66unding\x18\x16 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFundingH\x0f\x88\x01\x01\x12$\n\nto_us_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x19 \x01(\x0b\x32\x0b.cln.AmountH\x12\x88\x01\x01\x12$\n\ntotal_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x1c \x01(\rH\x15\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1f \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12*\n\x10our_reserve_msat\x18 \x01(\x0b\x32\x0b.cln.AmountH\x18\x88\x01\x01\x12(\n\x0espendable_msat\x18! \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12)\n\x0freceivable_msat\x18\" \x01(\x0b\x32\x0b.cln.AmountH\x1a\x88\x01\x01\x12.\n\x14minimum_htlc_in_msat\x18# \x01(\x0b\x32\x0b.cln.AmountH\x1b\x88\x01\x01\x12/\n\x15minimum_htlc_out_msat\x18$ \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18% \x01(\x0b\x32\x0b.cln.AmountH\x1d\x88\x01\x01\x12 \n\x13their_to_self_delay\x18& \x01(\rH\x1e\x88\x01\x01\x12\x1e\n\x11our_to_self_delay\x18\' \x01(\rH\x1f\x88\x01\x01\x12\x1f\n\x12max_accepted_htlcs\x18( \x01(\rH \x88\x01\x01\x12\x36\n\x05\x61lias\x18) \x01(\x0b\x32\".cln.ListpeerchannelsChannelsAliasH!\x88\x01\x01\x12@\n\rstate_changes\x18* \x03(\x0b\x32).cln.ListpeerchannelsChannelsStateChanges\x12\x0e\n\x06status\x18+ \x03(\t\x12 \n\x13in_payments_offered\x18, \x01(\x04H\"\x88\x01\x01\x12)\n\x0fin_offered_msat\x18- \x01(\x0b\x32\x0b.cln.AmountH#\x88\x01\x01\x12\"\n\x15in_payments_fulfilled\x18. \x01(\x04H$\x88\x01\x01\x12+\n\x11in_fulfilled_msat\x18/ \x01(\x0b\x32\x0b.cln.AmountH%\x88\x01\x01\x12!\n\x14out_payments_offered\x18\x30 \x01(\x04H&\x88\x01\x01\x12*\n\x10out_offered_msat\x18\x31 \x01(\x0b\x32\x0b.cln.AmountH\'\x88\x01\x01\x12#\n\x16out_payments_fulfilled\x18\x32 \x01(\x04H(\x88\x01\x01\x12,\n\x12out_fulfilled_msat\x18\x33 \x01(\x0b\x32\x0b.cln.AmountH)\x88\x01\x01\x12\x31\n\x05htlcs\x18\x34 \x03(\x0b\x32\".cln.ListpeerchannelsChannelsHtlcs\x12\x1a\n\rclose_to_addr\x18\x35 \x01(\tH*\x88\x01\x01\x12\x1e\n\x11ignore_fee_limits\x18\x36 \x01(\x08H+\x88\x01\x01\x12:\n\x07updates\x18\x37 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsUpdatesH,\x88\x01\x01\x12#\n\x16last_stable_connection\x18\x38 \x01(\x04H-\x88\x01\x01\x12\x17\n\nlost_state\x18\x39 \x01(\x08H.\x88\x01\x01\x12\x1a\n\rreestablished\x18: \x01(\x08H/\x88\x01\x01\x12*\n\x10last_tx_fee_msat\x18; \x01(\x0b\x32\x0b.cln.AmountH0\x88\x01\x01\x12\x16\n\tdirection\x18< \x01(\rH1\x88\x01\x01\x12=\n#their_max_htlc_value_in_flight_msat\x18= \x01(\x0b\x32\x0b.cln.AmountH2\x88\x01\x01\x12;\n!our_max_htlc_value_in_flight_msat\x18> \x01(\x0b\x32\x0b.cln.AmountH3\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18? \x03(\t\x12\'\n\x1aindependent_secrets_stored\x18@ \x01(\x04H4\x88\x01\x01\x42\x0f\n\r_scratch_txidB\x0f\n\r_channel_typeB\n\n\x08_feerateB\x08\n\x06_ownerB\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x0f\n\r_funding_txidB\x11\n\x0f_funding_outnumB\x12\n\x10_initial_feerateB\x0f\n\r_last_feerateB\x0f\n\r_next_feerateB\x10\n\x0e_next_fee_stepB\x0b\n\t_close_toB\n\n\x08_privateB\t\n\x07_closerB\n\n\x08_fundingB\r\n\x0b_to_us_msatB\x11\n\x0f_min_to_us_msatB\x11\n\x0f_max_to_us_msatB\r\n\x0b_total_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x12\n\x10_dust_limit_msatB\x15\n\x13_their_reserve_msatB\x13\n\x11_our_reserve_msatB\x11\n\x0f_spendable_msatB\x12\n\x10_receivable_msatB\x17\n\x15_minimum_htlc_in_msatB\x18\n\x16_minimum_htlc_out_msatB\x18\n\x16_maximum_htlc_out_msatB\x16\n\x14_their_to_self_delayB\x14\n\x12_our_to_self_delayB\x15\n\x13_max_accepted_htlcsB\x08\n\x06_aliasB\x16\n\x14_in_payments_offeredB\x12\n\x10_in_offered_msatB\x18\n\x16_in_payments_fulfilledB\x14\n\x12_in_fulfilled_msatB\x17\n\x15_out_payments_offeredB\x13\n\x11_out_offered_msatB\x19\n\x17_out_payments_fulfilledB\x15\n\x13_out_fulfilled_msatB\x10\n\x0e_close_to_addrB\x14\n\x12_ignore_fee_limitsB\n\n\x08_updatesB\x19\n\x17_last_stable_connectionB\r\n\x0b_lost_stateB\x10\n\x0e_reestablishedB\x13\n\x11_last_tx_fee_msatB\x0c\n\n_directionB&\n$_their_max_htlc_value_in_flight_msatB$\n\"_our_max_htlc_value_in_flight_msatB\x1d\n\x1b_independent_secrets_stored\"]\n\x1dListpeerchannelsChannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"X\n#ListpeerchannelsChannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"?\n\x1fListpeerchannelsChannelsFeerate\x12\r\n\x05perkw\x18\x01 \x01(\r\x12\r\n\x05perkb\x18\x02 \x01(\r\"\xdd\x02\n\x1fListpeerchannelsChannelsFunding\x12%\n\x0bpushed_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12%\n\x10local_funds_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11remote_funds_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\rfee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x11\n\x04psbt\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x15\n\x08withheld\x18\x07 \x01(\x08H\x04\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msatB\x07\n\x05_psbtB\x0b\n\t_withheld\"\xf9\x02\n\x1dListpeerchannelsChannelsHtlcs\x12\\\n\tdirection\x18\x01 \x01(\x0e\x32I.cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection\x12\n\n\x02id\x18\x02 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06\x65xpiry\x18\x04 \x01(\r\x12\x14\n\x0cpayment_hash\x18\x05 \x01(\x0c\x12\x1a\n\rlocal_trimmed\x18\x06 \x01(\x08H\x00\x88\x01\x01\x12\x13\n\x06status\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x05state\x18\x08 \x01(\x0e\x32\x0e.cln.HtlcState\"9\n&ListpeerchannelsChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x10\n\x0e_local_trimmedB\t\n\x07_status\"\xf4\x01\n ListpeerchannelsChannelsInflight\x12\x14\n\x0c\x66unding_txid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\x02 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x03 \x01(\t\x12\'\n\x12total_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10our_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0cscratch_txid\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\rsplice_amount\x18\x07 \x01(\x12\x42\x0f\n\r_scratch_txid\"\xf0\x02\n$ListpeerchannelsChannelsStateChanges\x12\x11\n\ttimestamp\x18\x01 \x01(\t\x12$\n\told_state\x18\x02 \x01(\x0e\x32\x11.cln.ChannelState\x12$\n\tnew_state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x62\n\x05\x63\x61use\x18\x04 \x01(\x0e\x32S.cln.ListpeerchannelsChannelsStateChanges.ListpeerchannelsChannelsStateChangesCause\x12\x0f\n\x07message\x18\x05 \x01(\t\"t\n)ListpeerchannelsChannelsStateChangesCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\"\xa7\x01\n\x1fListpeerchannelsChannelsUpdates\x12\x38\n\x05local\x18\x01 \x01(\x0b\x32).cln.ListpeerchannelsChannelsUpdatesLocal\x12?\n\x06remote\x18\x02 \x01(\x0b\x32*.cln.ListpeerchannelsChannelsUpdatesRemoteH\x00\x88\x01\x01\x42\t\n\x07_remote\"\xda\x01\n$ListpeerchannelsChannelsUpdatesLocal\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"\xdb\x01\n%ListpeerchannelsChannelsUpdatesRemote\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"3\n\x19ListclosedchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"[\n\x1aListclosedchannelsResponse\x12=\n\x0e\x63losedchannels\x18\x01 \x03(\x0b\x32%.cln.ListclosedchannelsClosedchannels\"\xae\x0b\n ListclosedchannelsClosedchannels\x12\x14\n\x07peer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x01\x88\x01\x01\x12>\n\x05\x61lias\x18\x04 \x01(\x0b\x32*.cln.ListclosedchannelsClosedchannelsAliasH\x02\x88\x01\x01\x12 \n\x06opener\x18\x05 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x06 \x01(\x0e\x32\x10.cln.ChannelSideH\x03\x88\x01\x01\x12\x0f\n\x07private\x18\x07 \x01(\x08\x12K\n\x0c\x63hannel_type\x18\x08 \x01(\x0b\x32\x30.cln.ListclosedchannelsClosedchannelsChannelTypeH\x04\x88\x01\x01\x12\x1f\n\x17total_local_commitments\x18\t \x01(\x04\x12 \n\x18total_remote_commitments\x18\n \x01(\x04\x12\x18\n\x10total_htlcs_sent\x18\x0b \x01(\x04\x12\x14\n\x0c\x66unding_txid\x18\x0c \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\r \x01(\r\x12\x0e\n\x06leased\x18\x0e \x01(\x08\x12/\n\x15\x66unding_fee_paid_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12/\n\x15\x66unding_fee_rcvd_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12-\n\x13\x66unding_pushed_msat\x18\x11 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x1f\n\ntotal_msat\x18\x12 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x66inal_to_us_msat\x18\x13 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emin_to_us_msat\x18\x14 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emax_to_us_msat\x18\x15 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x14last_commitment_txid\x18\x16 \x01(\x0cH\x08\x88\x01\x01\x12\x32\n\x18last_commitment_fee_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\t\x88\x01\x01\x12\x65\n\x0b\x63lose_cause\x18\x18 \x01(\x0e\x32P.cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsCloseCause\x12#\n\x16last_stable_connection\x18\x19 \x01(\x04H\n\x88\x01\x01\x12\x19\n\x0c\x66unding_psbt\x18\x1a \x01(\tH\x0b\x88\x01\x01\x12\x1d\n\x10\x66unding_withheld\x18\x1b \x01(\x08H\x0c\x88\x01\x01\"u\n*ListclosedchannelsClosedchannelsCloseCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\n\n\x08_peer_idB\x13\n\x11_short_channel_idB\x08\n\x06_aliasB\t\n\x07_closerB\x0f\n\r_channel_typeB\x18\n\x16_funding_fee_paid_msatB\x18\n\x16_funding_fee_rcvd_msatB\x16\n\x14_funding_pushed_msatB\x17\n\x15_last_commitment_txidB\x1b\n\x19_last_commitment_fee_msatB\x19\n\x17_last_stable_connectionB\x0f\n\r_funding_psbtB\x13\n\x11_funding_withheld\"e\n%ListclosedchannelsClosedchannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"`\n+ListclosedchannelsClosedchannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x1f\n\rDecodeRequest\x12\x0e\n\x06string\x18\x01 \x01(\t\"\xbd.\n\x0e\x44\x65\x63odeResponse\x12\x31\n\titem_type\x18\x01 \x01(\x0e\x32\x1e.cln.DecodeResponse.DecodeType\x12\r\n\x05valid\x18\x02 \x01(\x08\x12\x15\n\x08offer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x0coffer_chains\x18\x04 \x03(\x0c\x12\x1b\n\x0eoffer_metadata\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0eoffer_currency\x18\x06 \x01(\tH\x02\x88\x01\x01\x12+\n\x1ewarning_unknown_offer_currency\x18\x07 \x01(\tH\x03\x88\x01\x01\x12 \n\x13\x63urrency_minor_unit\x18\x08 \x01(\rH\x04\x88\x01\x01\x12\x19\n\x0coffer_amount\x18\t \x01(\x04H\x05\x88\x01\x01\x12+\n\x11offer_amount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x1e\n\x11offer_description\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0coffer_issuer\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x1b\n\x0eoffer_features\x18\r \x01(\x0cH\t\x88\x01\x01\x12\"\n\x15offer_absolute_expiry\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1f\n\x12offer_quantity_max\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12*\n\x0boffer_paths\x18\x10 \x03(\x0b\x32\x15.cln.DecodeOfferPaths\x12\x39\n\x10offer_recurrence\x18\x12 \x01(\x0b\x32\x1a.cln.DecodeOfferRecurrenceH\x0c\x88\x01\x01\x12\x37\n\x12unknown_offer_tlvs\x18\x13 \x03(\x0b\x32\x1b.cln.DecodeUnknownOfferTlvs\x12.\n!warning_invalid_offer_description\x18\x15 \x01(\tH\r\x88\x01\x01\x12.\n!warning_missing_offer_description\x18\x16 \x01(\tH\x0e\x88\x01\x01\x12+\n\x1ewarning_invalid_offer_currency\x18\x17 \x01(\tH\x0f\x88\x01\x01\x12)\n\x1cwarning_invalid_offer_issuer\x18\x18 \x01(\tH\x10\x88\x01\x01\x12\x1c\n\x0finvreq_metadata\x18\x19 \x01(\x0cH\x11\x88\x01\x01\x12\x1c\n\x0finvreq_payer_id\x18\x1a \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0cinvreq_chain\x18\x1b \x01(\x0cH\x13\x88\x01\x01\x12,\n\x12invreq_amount_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12\x1c\n\x0finvreq_features\x18\x1d \x01(\x0cH\x15\x88\x01\x01\x12\x1c\n\x0finvreq_quantity\x18\x1e \x01(\x04H\x16\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x1f \x01(\tH\x17\x88\x01\x01\x12&\n\x19invreq_recurrence_counter\x18 \x01(\rH\x18\x88\x01\x01\x12$\n\x17invreq_recurrence_start\x18! \x01(\rH\x19\x88\x01\x01\x12J\n\x1cunknown_invoice_request_tlvs\x18\" \x03(\x0b\x32$.cln.DecodeUnknownInvoiceRequestTlvs\x12,\n\x1fwarning_missing_invreq_metadata\x18# \x01(\tH\x1a\x88\x01\x01\x12,\n\x1fwarning_missing_invreq_payer_id\x18$ \x01(\tH\x1b\x88\x01\x01\x12.\n!warning_invalid_invreq_payer_note\x18% \x01(\tH\x1c\x88\x01\x01\x12\x36\n)warning_missing_invoice_request_signature\x18& \x01(\tH\x1d\x88\x01\x01\x12\x36\n)warning_invalid_invoice_request_signature\x18\' \x01(\tH\x1e\x88\x01\x01\x12.\n\rinvoice_paths\x18( \x03(\x0b\x32\x17.cln.DecodeInvoicePaths\x12\x1f\n\x12invoice_created_at\x18) \x01(\x04H\x1f\x88\x01\x01\x12$\n\x17invoice_relative_expiry\x18* \x01(\rH \x88\x01\x01\x12!\n\x14invoice_payment_hash\x18+ \x01(\x0cH!\x88\x01\x01\x12-\n\x13invoice_amount_msat\x18, \x01(\x0b\x32\x0b.cln.AmountH\"\x88\x01\x01\x12\x36\n\x11invoice_fallbacks\x18- \x03(\x0b\x32\x1b.cln.DecodeInvoiceFallbacks\x12\x1d\n\x10invoice_features\x18. \x01(\x0cH#\x88\x01\x01\x12\x1c\n\x0finvoice_node_id\x18/ \x01(\x0cH$\x88\x01\x01\x12(\n\x1binvoice_recurrence_basetime\x18\x30 \x01(\x04H%\x88\x01\x01\x12;\n\x14unknown_invoice_tlvs\x18\x31 \x03(\x0b\x32\x1d.cln.DecodeUnknownInvoiceTlvs\x12*\n\x1dwarning_missing_invoice_paths\x18\x32 \x01(\tH&\x88\x01\x01\x12/\n\"warning_missing_invoice_blindedpay\x18\x33 \x01(\tH\'\x88\x01\x01\x12/\n\"warning_missing_invoice_created_at\x18\x34 \x01(\tH(\x88\x01\x01\x12\x31\n$warning_missing_invoice_payment_hash\x18\x35 \x01(\tH)\x88\x01\x01\x12+\n\x1ewarning_missing_invoice_amount\x18\x36 \x01(\tH*\x88\x01\x01\x12\x38\n+warning_missing_invoice_recurrence_basetime\x18\x37 \x01(\tH+\x88\x01\x01\x12,\n\x1fwarning_missing_invoice_node_id\x18\x38 \x01(\tH,\x88\x01\x01\x12.\n!warning_missing_invoice_signature\x18\x39 \x01(\tH-\x88\x01\x01\x12.\n!warning_invalid_invoice_signature\x18: \x01(\tH.\x88\x01\x01\x12\'\n\tfallbacks\x18; \x03(\x0b\x32\x14.cln.DecodeFallbacks\x12\x17\n\ncreated_at\x18< \x01(\x04H/\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18= \x01(\x04H0\x88\x01\x01\x12\x12\n\x05payee\x18> \x01(\x0cH1\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18? \x01(\x0cH2\x88\x01\x01\x12\x1d\n\x10\x64\x65scription_hash\x18@ \x01(\x0cH3\x88\x01\x01\x12\"\n\x15min_final_cltv_expiry\x18\x41 \x01(\rH4\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x42 \x01(\x0cH5\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x43 \x01(\x0cH6\x88\x01\x01\x12\x1f\n\x05\x65xtra\x18\x45 \x03(\x0b\x32\x10.cln.DecodeExtra\x12\x16\n\tunique_id\x18\x46 \x01(\tH7\x88\x01\x01\x12\x14\n\x07version\x18G \x01(\tH8\x88\x01\x01\x12\x13\n\x06string\x18H \x01(\tH9\x88\x01\x01\x12-\n\x0crestrictions\x18I \x03(\x0b\x32\x17.cln.DecodeRestrictions\x12&\n\x19warning_rune_invalid_utf8\x18J \x01(\tH:\x88\x01\x01\x12\x10\n\x03hex\x18K \x01(\x0cH;\x88\x01\x01\x12\x16\n\tdecrypted\x18L \x01(\x0cH<\x88\x01\x01\x12\x16\n\tsignature\x18M \x01(\tH=\x88\x01\x01\x12\x15\n\x08\x63urrency\x18N \x01(\tH>\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18O \x01(\x0b\x32\x0b.cln.AmountH?\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18P \x01(\tH@\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18Q \x01(\x0cHA\x88\x01\x01\x12-\n\x06routes\x18R \x01(\x0b\x32\x18.cln.DecodeRoutehintListHB\x88\x01\x01\x12\x1c\n\x0foffer_issuer_id\x18S \x01(\x0cHC\x88\x01\x01\x12,\n\x1fwarning_missing_offer_issuer_id\x18T \x01(\tHD\x88\x01\x01\x12,\n\x0cinvreq_paths\x18U \x03(\x0b\x32\x16.cln.DecodeInvreqPaths\x12\'\n\x1awarning_empty_blinded_path\x18V \x01(\tHE\x88\x01\x01\x12=\n\x13invreq_bip_353_name\x18W \x01(\x0b\x32\x1b.cln.DecodeInvreqBip353NameHF\x88\x01\x01\x12\x35\n(warning_invreq_bip_353_name_name_invalid\x18X \x01(\tHG\x88\x01\x01\x12\x37\n*warning_invreq_bip_353_name_domain_invalid\x18Y \x01(\tHH\x88\x01\x01\x12%\n\x18invreq_recurrence_cancel\x18Z \x01(\x08HI\x88\x01\x01\x12=\n0warning_invreq_recurrence_cancel_without_counter\x18[ \x01(\tHJ\x88\x01\x01\x12?\n2warning_invreq_recurrence_cancel_with_zero_counter\x18\\ \x01(\tHK\x88\x01\x01\x12\x1b\n\x0eproof_preimage\x18] \x01(\x0cHL\x88\x01\x01\x12\x1a\n\x12proof_omitted_tlvs\x18^ \x03(\x04\x12\x1c\n\x14proof_missing_hashes\x18_ \x03(\x0c\x12\x19\n\x11proof_leaf_hashes\x18` \x03(\x0c\x12\x17\n\nproof_note\x18\x61 \x01(\tHM\x88\x01\x01\x12\x1c\n\x0fproof_signature\x18\x62 \x01(\tHN\x88\x01\x01\x12\x42\n\x18unknown_payer_proof_tlvs\x18\x63 \x03(\x0b\x32 .cln.DecodeUnknownPayerProofTlvs\"\x9b\x01\n\nDecodeType\x12\x10\n\x0c\x42OLT12_OFFER\x10\x00\x12\x12\n\x0e\x42OLT12_INVOICE\x10\x01\x12\x1a\n\x16\x42OLT12_INVOICE_REQUEST\x10\x02\x12\x12\n\x0e\x42OLT11_INVOICE\x10\x03\x12\x08\n\x04RUNE\x10\x04\x12\x15\n\x11\x45MERGENCY_RECOVER\x10\x05\x12\x16\n\x12\x42OLT12_PAYER_PROOF\x10\x06\x42\x0b\n\t_offer_idB\x11\n\x0f_offer_metadataB\x11\n\x0f_offer_currencyB!\n\x1f_warning_unknown_offer_currencyB\x16\n\x14_currency_minor_unitB\x0f\n\r_offer_amountB\x14\n\x12_offer_amount_msatB\x14\n\x12_offer_descriptionB\x0f\n\r_offer_issuerB\x11\n\x0f_offer_featuresB\x18\n\x16_offer_absolute_expiryB\x15\n\x13_offer_quantity_maxB\x13\n\x11_offer_recurrenceB$\n\"_warning_invalid_offer_descriptionB$\n\"_warning_missing_offer_descriptionB!\n\x1f_warning_invalid_offer_currencyB\x1f\n\x1d_warning_invalid_offer_issuerB\x12\n\x10_invreq_metadataB\x12\n\x10_invreq_payer_idB\x0f\n\r_invreq_chainB\x15\n\x13_invreq_amount_msatB\x12\n\x10_invreq_featuresB\x12\n\x10_invreq_quantityB\x14\n\x12_invreq_payer_noteB\x1c\n\x1a_invreq_recurrence_counterB\x1a\n\x18_invreq_recurrence_startB\"\n _warning_missing_invreq_metadataB\"\n _warning_missing_invreq_payer_idB$\n\"_warning_invalid_invreq_payer_noteB,\n*_warning_missing_invoice_request_signatureB,\n*_warning_invalid_invoice_request_signatureB\x15\n\x13_invoice_created_atB\x1a\n\x18_invoice_relative_expiryB\x17\n\x15_invoice_payment_hashB\x16\n\x14_invoice_amount_msatB\x13\n\x11_invoice_featuresB\x12\n\x10_invoice_node_idB\x1e\n\x1c_invoice_recurrence_basetimeB \n\x1e_warning_missing_invoice_pathsB%\n#_warning_missing_invoice_blindedpayB%\n#_warning_missing_invoice_created_atB\'\n%_warning_missing_invoice_payment_hashB!\n\x1f_warning_missing_invoice_amountB.\n,_warning_missing_invoice_recurrence_basetimeB\"\n _warning_missing_invoice_node_idB$\n\"_warning_missing_invoice_signatureB$\n\"_warning_invalid_invoice_signatureB\r\n\x0b_created_atB\t\n\x07_expiryB\x08\n\x06_payeeB\x0f\n\r_payment_hashB\x13\n\x11_description_hashB\x18\n\x16_min_final_cltv_expiryB\x11\n\x0f_payment_secretB\x13\n\x11_payment_metadataB\x0c\n\n_unique_idB\n\n\x08_versionB\t\n\x07_stringB\x1c\n\x1a_warning_rune_invalid_utf8B\x06\n\x04_hexB\x0c\n\n_decryptedB\x0c\n\n_signatureB\x0b\n\t_currencyB\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x0b\n\t_featuresB\t\n\x07_routesB\x12\n\x10_offer_issuer_idB\"\n _warning_missing_offer_issuer_idB\x1d\n\x1b_warning_empty_blinded_pathB\x16\n\x14_invreq_bip_353_nameB+\n)_warning_invreq_bip_353_name_name_invalidB-\n+_warning_invreq_bip_353_name_domain_invalidB\x1b\n\x19_invreq_recurrence_cancelB3\n1_warning_invreq_recurrence_cancel_without_counterB5\n3_warning_invreq_recurrence_cancel_with_zero_counterB\x11\n\x0f_proof_preimageB\r\n\x0b_proof_noteB\x12\n\x10_proof_signature\"(\n\x0b\x44\x65\x63odeExtra\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\xc4\x01\n\x0f\x44\x65\x63odeFallbacks\x12;\n\titem_type\x18\x02 \x01(\x0e\x32(.cln.DecodeFallbacks.DecodeFallbacksType\x12\x11\n\x04\x61\x64\x64r\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0b\n\x03hex\x18\x04 \x01(\x0c\"K\n\x13\x44\x65\x63odeFallbacksType\x12\t\n\x05P2PKH\x10\x00\x12\x08\n\x04P2SH\x10\x01\x12\n\n\x06P2WPKH\x10\x02\x12\t\n\x05P2WSH\x10\x03\x12\x08\n\x04P2TR\x10\x04\x42\x07\n\x05_addr\"X\n\x16\x44\x65\x63odeInvoiceFallbacks\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03hex\x18\x02 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_address\"\xa6\x02\n\x12\x44\x65\x63odeInvoicePaths\x12)\n\x04path\x18\x01 \x03(\x0b\x32\x1b.cln.DecodeInvoicePathsPath\x12/\n\x07payinfo\x18\x02 \x01(\x0b\x32\x1e.cln.DecodeInvoicePathsPayinfo\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0e\x66irst_scid_dir\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x06 \x01(\tH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_path_keyB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scid\"S\n\x16\x44\x65\x63odeInvoicePathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\x97\x02\n\x19\x44\x65\x63odeInvoicePathsPayinfo\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\"\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\r\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x19\n\x11\x63ltv_expiry_delta\x18\x06 \x01(\rB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msat\"T\n\x16\x44\x65\x63odeInvreqBip353Name\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x64omain\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\t\n\x07_domain\"\xf3\x01\n\x11\x44\x65\x63odeInvreqPaths\x12\x1b\n\x0e\x66irst_scid_dir\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12(\n\x04path\x18\x05 \x03(\x0b\x32\x1a.cln.DecodeInvreqPathsPath\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x11\n\x0f_first_scid_dirB\x10\n\x0e_first_node_idB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"R\n\x15\x44\x65\x63odeInvreqPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xf1\x01\n\x10\x44\x65\x63odeOfferPaths\x12\x1a\n\rfirst_node_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\'\n\x04path\x18\x03 \x03(\x0b\x32\x19.cln.DecodeOfferPathsPath\x12\x1b\n\x0e\x66irst_scid_dir\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"Q\n\x14\x44\x65\x63odeOfferPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xab\x02\n\x15\x44\x65\x63odeOfferRecurrence\x12\x11\n\ttime_unit\x18\x01 \x01(\r\x12\x1d\n\x10\x63ompulsory_field\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0etime_unit_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06period\x18\x04 \x01(\r\x12\x15\n\x08\x62\x61setime\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12;\n\tpaywindow\x18\x06 \x01(\x0b\x32#.cln.DecodeOfferRecurrencePaywindowH\x03\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\x13\n\x11_compulsory_fieldB\x11\n\x0f_time_unit_nameB\x0b\n\t_basetimeB\x0c\n\n_paywindowB\x08\n\x06_limit\"\x89\x01\n\x1e\x44\x65\x63odeOfferRecurrencePaywindow\x12\x16\n\x0eseconds_before\x18\x01 \x01(\r\x12\x15\n\rseconds_after\x18\x02 \x01(\r\x12 \n\x13proportional_amount\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x16\n\x14_proportional_amount\";\n\x12\x44\x65\x63odeRestrictions\x12\x14\n\x0c\x61lternatives\x18\x01 \x03(\t\x12\x0f\n\x07summary\x18\x02 \x01(\t\"S\n\x1f\x44\x65\x63odeUnknownInvoiceRequestTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"L\n\x18\x44\x65\x63odeUnknownInvoiceTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"J\n\x16\x44\x65\x63odeUnknownOfferTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"O\n\x1b\x44\x65\x63odeUnknownPayerProofTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"\xc2\x01\n\rDelpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12/\n\x06status\x18\x02 \x01(\x0e\x32\x1f.cln.DelpayRequest.DelpayStatus\x12\x13\n\x06partid\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x01\x88\x01\x01\"(\n\x0c\x44\x65lpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x42\t\n\x07_partidB\n\n\x08_groupid\"7\n\x0e\x44\x65lpayResponse\x12%\n\x08payments\x18\x01 \x03(\x0b\x32\x13.cln.DelpayPayments\"\xb4\x05\n\x0e\x44\x65lpayPayments\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x38\n\x06status\x18\x04 \x01(\x0e\x32(.cln.DelpayPayments.DelpayPaymentsStatus\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\t \x01(\x04\x12\x1a\n\rupdated_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x14\n\x07groupid\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x11 \x01(\x0cH\n\x88\x01\x01\"=\n\x14\x44\x65lpayPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x10\n\x0e_updated_indexB\x0f\n\r_completed_atB\n\n\x08_groupidB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\r\n\x0b_erroronion\"\xb3\x01\n\x11\x44\x65lforwardRequest\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x12\n\nin_htlc_id\x18\x02 \x01(\x04\x12\x37\n\x06status\x18\x03 \x01(\x0e\x32\'.cln.DelforwardRequest.DelforwardStatus\"=\n\x10\x44\x65lforwardStatus\x12\x0b\n\x07SETTLED\x10\x00\x12\x10\n\x0cLOCAL_FAILED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"\x14\n\x12\x44\x65lforwardResponse\"\'\n\x13\x44isableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdc\x01\n\x14\x44isableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"&\n\x12\x45nableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdb\x01\n\x13\x45nableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"=\n\x11\x44isconnectRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_force\"\x14\n\x12\x44isconnectResponse\"k\n\x0f\x46\x65\x65ratesRequest\x12\x31\n\x05style\x18\x01 \x01(\x0e\x32\".cln.FeeratesRequest.FeeratesStyle\"%\n\rFeeratesStyle\x12\t\n\x05PERKB\x10\x00\x12\t\n\x05PERKW\x10\x01\"\x9a\x02\n\x10\x46\x65\x65ratesResponse\x12%\n\x18warning_missing_feerates\x18\x01 \x01(\tH\x00\x88\x01\x01\x12&\n\x05perkb\x18\x02 \x01(\x0b\x32\x12.cln.FeeratesPerkbH\x01\x88\x01\x01\x12&\n\x05perkw\x18\x03 \x01(\x0b\x32\x12.cln.FeeratesPerkwH\x02\x88\x01\x01\x12\x44\n\x15onchain_fee_estimates\x18\x04 \x01(\x0b\x32 .cln.FeeratesOnchainFeeEstimatesH\x03\x88\x01\x01\x42\x1b\n\x19_warning_missing_feeratesB\x08\n\x06_perkbB\x08\n\x06_perkwB\x18\n\x16_onchain_fee_estimates\"\x99\x02\n\x1b\x46\x65\x65ratesOnchainFeeEstimates\x12 \n\x18opening_channel_satoshis\x18\x01 \x01(\x04\x12\x1d\n\x15mutual_close_satoshis\x18\x02 \x01(\x04\x12!\n\x19unilateral_close_satoshis\x18\x03 \x01(\x04\x12\x1d\n\x15htlc_timeout_satoshis\x18\x04 \x01(\x04\x12\x1d\n\x15htlc_success_satoshis\x18\x05 \x01(\x04\x12\x30\n#unilateral_close_nonanchor_satoshis\x18\x06 \x01(\x04H\x00\x88\x01\x01\x42&\n$_unilateral_close_nonanchor_satoshis\"\x84\x03\n\rFeeratesPerkb\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkbEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkbEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"\x84\x03\n\rFeeratesPerkw\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkwEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkwEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"%\n\x12\x46\x65tchbip353Request\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"X\n\x13\x46\x65tchbip353Response\x12\r\n\x05proof\x18\x01 \x01(\t\x12\x32\n\x0cinstructions\x18\x02 \x03(\x0b\x32\x1c.cln.Fetchbip353Instructions\"\xf7\x01\n\x17\x46\x65tchbip353Instructions\x12\x18\n\x0b\x64\x65scription\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05offer\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07onchain\x18\x03 \x01(\tH\x02\x88\x01\x01\x12!\n\x14offchain_amount_msat\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1f\n\x12onchain_amount_sat\x18\x05 \x01(\x04H\x04\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x08\n\x06_offerB\n\n\x08_onchainB\x17\n\x15_offchain_amount_msatB\x15\n\x13_onchain_amount_sat\"\xb9\x03\n\x13\x46\x65tchinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x15\n\x08quantity\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x1f\n\x12recurrence_counter\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x10recurrence_start\x18\x05 \x01(\x01H\x03\x88\x01\x01\x12\x1d\n\x10recurrence_label\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\x07 \x01(\x01H\x05\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x1b\n\x0epayer_metadata\x18\t \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\n \x01(\tH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0b\n\t_quantityB\x15\n\x13_recurrence_counterB\x13\n\x11_recurrence_startB\x13\n\x11_recurrence_labelB\n\n\x08_timeoutB\r\n\x0b_payer_noteB\x11\n\x0f_payer_metadataB\t\n\x07_bip353\"\x99\x01\n\x14\x46\x65tchinvoiceResponse\x12\x0f\n\x07invoice\x18\x01 \x01(\t\x12)\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x18.cln.FetchinvoiceChanges\x12\x35\n\x0bnext_period\x18\x03 \x01(\x0b\x32\x1b.cln.FetchinvoiceNextPeriodH\x00\x88\x01\x01\x42\x0e\n\x0c_next_period\"\x82\x02\n\x13\x46\x65tchinvoiceChanges\x12!\n\x14\x64\x65scription_appended\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0evendor_removed\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06vendor\x18\x04 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x42\x17\n\x15_description_appendedB\x0e\n\x0c_descriptionB\x11\n\x0f_vendor_removedB\t\n\x07_vendorB\x0e\n\x0c_amount_msat\"}\n\x16\x46\x65tchinvoiceNextPeriod\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\x04\x12\x11\n\tstarttime\x18\x02 \x01(\x04\x12\x0f\n\x07\x65ndtime\x18\x03 \x01(\x04\x12\x17\n\x0fpaywindow_start\x18\x04 \x01(\x04\x12\x15\n\rpaywindow_end\x18\x05 \x01(\x04\"\xe0\x01\n\x1d\x43\x61ncelrecurringinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12\x1a\n\x12recurrence_counter\x18\x02 \x01(\x04\x12\x18\n\x10recurrence_label\x18\x03 \x01(\t\x12\x1d\n\x10recurrence_start\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x17\n\npayer_note\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_recurrence_startB\r\n\x0b_payer_noteB\t\n\x07_bip353\"0\n\x1e\x43\x61ncelrecurringinvoiceResponse\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\"&\n\x18\x46undchannelCancelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\".\n\x19\x46undchannelCancelResponse\x12\x11\n\tcancelled\x18\x01 \x01(\t\"Z\n\x1a\x46undchannelCompleteRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x15\n\x08withhold\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x0b\n\t_withhold\"N\n\x1b\x46undchannelCompleteResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\"\xfb\x03\n\x12\x46undchannelRequest\x12 \n\x06\x61mount\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12#\n\tpush_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\n\n\x02id\x18\t \x01(\x0c\x12\x14\n\x07minconf\x18\n \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x05utxos\x18\x0b \x03(\x0b\x32\r.cln.Outpoint\x12\x15\n\x08mindepth\x18\x0c \x01(\rH\x07\x88\x01\x01\x12!\n\x07reserve\x18\r \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\x0e \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\n\n\x08_minconfB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xce\x01\n\x13\x46undchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0e\n\x06outnum\x18\x03 \x01(\r\x12\x12\n\nchannel_id\x18\x04 \x01(\x0c\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x31\n\x0c\x63hannel_type\x18\x07 \x01(\x0b\x32\x1b.cln.FundchannelChannelTypeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"K\n\x16\x46undchannelChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\xd6\x02\n\x17\x46undchannelStartRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x07\x66\x65\x65rate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12#\n\tpush_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08mindepth\x18\x07 \x01(\rH\x04\x88\x01\x01\x12!\n\x07reserve\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0c\n\n_push_msatB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xf6\x01\n\x18\x46undchannelStartResponse\x12\x17\n\x0f\x66unding_address\x18\x01 \x01(\t\x12\x14\n\x0cscriptpubkey\x18\x02 \x01(\x0c\x12;\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32 .cln.FundchannelStartChannelTypeH\x00\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x15\n\rwarning_usage\x18\x05 \x01(\t\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x02\x88\x01\x01\x42\x0f\n\r_channel_typeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"P\n\x1b\x46undchannelStartChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x95\x01\n\rGetlogRequest\x12\x32\n\x05level\x18\x01 \x01(\x0e\x32\x1e.cln.GetlogRequest.GetlogLevelH\x00\x88\x01\x01\"F\n\x0bGetlogLevel\x12\n\n\x06\x42ROKEN\x10\x00\x12\x0b\n\x07UNUSUAL\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\t\n\x05\x44\x45\x42UG\x10\x03\x12\t\n\x05TRACE\x10\x05\x42\x08\n\x06_level\"h\n\x0eGetlogResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\t\x12\x12\n\nbytes_used\x18\x02 \x01(\r\x12\x11\n\tbytes_max\x18\x03 \x01(\r\x12\x1b\n\x03log\x18\x04 \x03(\x0b\x32\x0e.cln.GetlogLog\"\xe8\x02\n\tGetlogLog\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.GetlogLog.GetlogLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"l\n\rGetlogLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"\xd9\x08\n\x13\x46underupdateRequest\x12@\n\x06policy\x18\x01 \x01(\x0e\x32+.cln.FunderupdateRequest.FunderupdatePolicyH\x00\x88\x01\x01\x12$\n\npolicy_mod\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0bleases_only\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x30\n\x16min_their_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x30\n\x16max_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12.\n\x14per_channel_min_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12.\n\x14per_channel_max_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12+\n\x11reserve_tank_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x19\n\x0c\x66uzz_percent\x18\t \x01(\rH\x08\x88\x01\x01\x12\x1d\n\x10\x66und_probability\x18\n \x01(\rH\t\x88\x01\x01\x12-\n\x13lease_fee_base_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\n\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\x0c \x01(\rH\x0b\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\r \x01(\rH\x0c\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x0f \x01(\rH\x0e\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x10 \x01(\x0cH\x0f\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\t\n\x07_policyB\r\n\x0b_policy_modB\x0e\n\x0c_leases_onlyB\x19\n\x17_min_their_funding_msatB\x19\n\x17_max_their_funding_msatB\x17\n\x15_per_channel_min_msatB\x17\n\x15_per_channel_max_msatB\x14\n\x12_reserve_tank_msatB\x0f\n\r_fuzz_percentB\x13\n\x11_fund_probabilityB\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\xdf\x06\n\x14\x46underupdateResponse\x12\x0f\n\x07summary\x18\x01 \x01(\t\x12<\n\x06policy\x18\x02 \x01(\x0e\x32,.cln.FunderupdateResponse.FunderupdatePolicy\x12\x12\n\npolicy_mod\x18\x03 \x01(\r\x12\x13\n\x0bleases_only\x18\x04 \x01(\x08\x12+\n\x16min_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16max_their_funding_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_min_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_max_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11reserve_tank_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66uzz_percent\x18\n \x01(\r\x12\x18\n\x10\x66und_probability\x18\x0b \x01(\r\x12-\n\x13lease_fee_base_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\r \x01(\rH\x01\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\x0e \x01(\rH\x02\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x10 \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x11 \x01(\x0cH\x05\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\x8c\x02\n\x0fGetrouteRequest\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\nriskfactor\x18\x03 \x01(\x04\x42\x02\x18\x01\x12\x15\n\x04\x63ltv\x18\x04 \x01(\rB\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x66romid\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x66uzzpercent\x18\x06 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\x07 \x03(\tB\x02\x18\x01\x12\x18\n\x07maxhops\x18\x08 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x42\x07\n\x05_cltvB\t\n\x07_fromidB\x0e\n\x0c_fuzzpercentB\n\n\x08_maxhops\"9\n\x10GetrouteResponse\x12%\n\x05route\x18\x01 \x03(\x0b\x32\x12.cln.GetrouteRouteB\x02\x18\x01\"\xe1\x01\n\rGetrouteRoute\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x07\x63hannel\x18\x02 \x01(\tB\x02\x18\x01\x12\x15\n\tdirection\x18\x03 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x11\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01\x12\x38\n\x05style\x18\x06 \x01(\x0e\x32%.cln.GetrouteRoute.GetrouteRouteStyleB\x02\x18\x01\"!\n\x12GetrouteRouteStyle\x12\x0b\n\x03TLV\x10\x00\x1a\x02\x08\x01\"t\n\x14ListaddressesRequest\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\n\n\x08_addressB\x08\n\x06_startB\x08\n\x06_limit\"G\n\x15ListaddressesResponse\x12.\n\taddresses\x18\x01 \x03(\x0b\x32\x1b.cln.ListaddressesAddresses\"d\n\x16ListaddressesAddresses\x12\x0e\n\x06keyidx\x18\x01 \x01(\x04\x12\x13\n\x06\x62\x65\x63h32\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb7\x03\n\x13ListforwardsRequest\x12@\n\x06status\x18\x01 \x01(\x0e\x32+.cln.ListforwardsRequest.ListforwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListforwardsRequest.ListforwardsIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListforwardsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"L\n\x12ListforwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\x0e\n\x0c_out_channelB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListforwardsResponse\x12+\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x19.cln.ListforwardsForwards\"\x9d\x06\n\x14ListforwardsForwards\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x1c\n\x07in_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x44\n\x06status\x18\x03 \x01(\x0e\x32\x34.cln.ListforwardsForwards.ListforwardsForwardsStatus\x12\x15\n\rreceived_time\x18\x04 \x01(\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12G\n\x05style\x18\t \x01(\x0e\x32\x33.cln.ListforwardsForwards.ListforwardsForwardsStyleH\x03\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x18\n\x0bout_htlc_id\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x1a\n\rresolved_time\x18\x0e \x01(\x01H\x07\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x0f \x01(\rH\x08\x88\x01\x01\x12\x17\n\nfailreason\x18\x10 \x01(\tH\t\x88\x01\x01\"T\n\x1aListforwardsForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"0\n\x19ListforwardsForwardsStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_fee_msatB\x0b\n\t_out_msatB\x08\n\x06_styleB\r\n\x0b_in_htlc_idB\x0e\n\x0c_out_htlc_idB\x10\n\x0e_updated_indexB\x10\n\x0e_resolved_timeB\x0b\n\t_failcodeB\r\n\x0b_failreason\"a\n\x11ListoffersRequest\x12\x15\n\x08offer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_offer_idB\x0e\n\x0c_active_only\";\n\x12ListoffersResponse\x12%\n\x06offers\x18\x01 \x03(\x0b\x32\x15.cln.ListoffersOffers\"\xd8\x01\n\x10ListoffersOffers\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"\x84\x03\n\x0fListpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x38\n\x06status\x18\x03 \x01(\x0e\x32#.cln.ListpaysRequest.ListpaysStatusH\x02\x88\x01\x01\x12\x36\n\x05index\x18\x04 \x01(\x0e\x32\".cln.ListpaysRequest.ListpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\")\n\rListpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"7\n\x0eListpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"3\n\x10ListpaysResponse\x12\x1f\n\x04pays\x18\x01 \x03(\x0b\x32\x11.cln.ListpaysPays\"\xdb\x05\n\x0cListpaysPays\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x34\n\x06status\x18\x02 \x01(\x0e\x32$.cln.ListpaysPays.ListpaysPaysStatus\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\ncreated_at\x18\x04 \x01(\x04\x12\x12\n\x05label\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x15\n\x08preimage\x18\r \x01(\x0cH\t\x88\x01\x01\x12\x1c\n\x0fnumber_of_parts\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1a\n\rcreated_index\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\x0c\x88\x01\x01\";\n\x12ListpaysPaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\x0f\n\r_completed_atB\x0b\n\t_preimageB\x12\n\x10_number_of_partsB\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xd6\x01\n\x10ListhtlcsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x38\n\x05index\x18\x02 \x01(\x0e\x32$.cln.ListhtlcsRequest.ListhtlcsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"*\n\x0eListhtlcsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"7\n\x11ListhtlcsResponse\x12\"\n\x05htlcs\x18\x01 \x03(\x0b\x32\x13.cln.ListhtlcsHtlcs\"\xe5\x02\n\x0eListhtlcsHtlcs\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x0e\n\x06\x65xpiry\x18\x03 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12>\n\tdirection\x18\x05 \x01(\x0e\x32+.cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x1d\n\x05state\x18\x07 \x01(\x0e\x32\x0e.cln.HtlcState\x12\x1a\n\rcreated_index\x18\x08 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x01\x88\x01\x01\"*\n\x17ListhtlcsHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xb2\x02\n\x17MultifundchannelRequest\x12\x37\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32!.cln.MultifundchannelDestinations\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\x12H\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x18\n\x0bminchannels\x18\x05 \x01(\x12H\x02\x88\x01\x01\x12-\n\x12\x63ommitment_feerate\x18\x06 \x01(\x0b\x32\x0c.cln.FeerateH\x03\x88\x01\x01\x42\n\n\x08_feerateB\n\n\x08_minconfB\x0e\n\x0c_minchannelsB\x15\n\x13_commitment_feerate\"\x97\x01\n\x18MultifundchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x34\n\x0b\x63hannel_ids\x18\x03 \x03(\x0b\x32\x1f.cln.MultifundchannelChannelIds\x12+\n\x06\x66\x61iled\x18\x04 \x03(\x0b\x32\x1b.cln.MultifundchannelFailed\"\xff\x02\n\x1cMultifundchannelDestinations\x12\n\n\x02id\x18\x01 \x01(\t\x12 \n\x06\x61mount\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12#\n\tpush_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12%\n\x0brequest_amt\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x15\n\x08mindepth\x18\x08 \x01(\rH\x05\x88\x01\x01\x12!\n\x07reserve\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x42\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xb2\x01\n\x1aMultifundchannelChannelIds\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12\x12\n\nchannel_id\x18\x03 \x01(\x0c\x12@\n\x0c\x63hannel_type\x18\x04 \x01(\x0b\x32*.cln.MultifundchannelChannelIdsChannelType\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_close_to\"Z\n%MultifundchannelChannelIdsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x93\x02\n\x16MultifundchannelFailed\x12\n\n\x02id\x18\x01 \x01(\x0c\x12H\n\x06method\x18\x02 \x01(\x0e\x32\x38.cln.MultifundchannelFailed.MultifundchannelFailedMethod\x12/\n\x05\x65rror\x18\x03 \x01(\x0b\x32 .cln.MultifundchannelFailedError\"r\n\x1cMultifundchannelFailedMethod\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x14\n\x10OPENCHANNEL_INIT\x10\x01\x12\x15\n\x11\x46UNDCHANNEL_START\x10\x02\x12\x18\n\x14\x46UNDCHANNEL_COMPLETE\x10\x03\"<\n\x1bMultifundchannelFailedError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xa8\x01\n\x14MultiwithdrawRequest\x12 \n\x07outputs\x18\x01 \x03(\x0b\x32\x0f.cln.OutputDesc\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_feerateB\n\n\x08_minconf\"1\n\x15MultiwithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xe2\x04\n\x0cOfferRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0cquantity_max\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12\x17\n\nrecurrence\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x1c\n\x0frecurrence_base\x18\x08 \x01(\tH\x06\x88\x01\x01\x12!\n\x14recurrence_paywindow\x18\t \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10recurrence_limit\x18\n \x01(\rH\x08\x88\x01\x01\x12\x17\n\nsingle_use\x18\x0b \x01(\x08H\t\x88\x01\x01\x12 \n\x13proportional_amount\x18\r \x01(\x08H\n\x88\x01\x01\x12 \n\x13optional_recurrence\x18\x0e \x01(\x08H\x0b\x88\x01\x01\x12\x16\n\x0e\x66ronting_nodes\x18\x0f \x03(\x0c\x42\x0e\n\x0c_descriptionB\t\n\x07_issuerB\x08\n\x06_labelB\x0f\n\r_quantity_maxB\x12\n\x10_absolute_expiryB\r\n\x0b_recurrenceB\x12\n\x10_recurrence_baseB\x17\n\x15_recurrence_paywindowB\x13\n\x11_recurrence_limitB\r\n\x0b_single_useB\x16\n\x14_proportional_amountB\x16\n\x14_optional_recurrence\"\xbc\x01\n\rOfferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x0f\n\x07\x63reated\x18\x06 \x01(\x08\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x01\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_force_paths\"-\n\x17OpenchannelAbortRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"X\n\x18OpenchannelAbortResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x18\n\x10\x63hannel_canceled\x18\x02 \x01(\x08\x12\x0e\n\x06reason\x18\x03 \x01(\t\"\x9e\x01\n\x16OpenchannelBumpRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12*\n\x0f\x66unding_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x12\n\x10_funding_feerate\"\xed\x01\n\x17OpenchannelBumpResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x35\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32\x1f.cln.OpenchannelBumpChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelBumpChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x9f\x03\n\x16OpenchannelInitRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12-\n\x12\x63ommitment_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12*\n\x0f\x66unding_feerate\x18\x04 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\r\x12\x1b\n\x06\x61mount\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x15\n\x13_commitment_feerateB\x12\n\x10_funding_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_lease\"\xed\x01\n\x17OpenchannelInitResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x35\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32\x1f.cln.OpenchannelInitChannelType\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelInitChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"C\n\x18OpenchannelSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"I\n\x19OpenchannelSignedResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"<\n\x18OpenchannelUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"\x95\x02\n\x19OpenchannelUpdateResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x37\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32!.cln.OpenchannelUpdateChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_outnum\x18\x05 \x01(\r\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12&\n\x19requires_confirmed_inputs\x18\x07 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_close_toB\x1c\n\x1a_requires_confirmed_inputs\"Q\n\x1cOpenchannelUpdateChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"Y\n\x0bPingRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x03len\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x16\n\tpongbytes\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x06\n\x04_lenB\x0c\n\n_pongbytes\"\x1e\n\x0cPingResponse\x12\x0e\n\x06totlen\x18\x01 \x01(\r\"\x91\x01\n\rPluginRequest\x12)\n\nsubcommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12\x13\n\x06plugin\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tdirectory\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07options\x18\x04 \x03(\tB\t\n\x07_pluginB\x0c\n\n_directory\"}\n\x0ePluginResponse\x12&\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12#\n\x07plugins\x18\x02 \x03(\x0b\x32\x12.cln.PluginPlugins\x12\x13\n\x06result\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_result\">\n\rPluginPlugins\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x03 \x01(\x08\"@\n\x14RenepaystatusRequest\x12\x1a\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x42\x0c\n\n_invstring\"K\n\x15RenepaystatusResponse\x12\x32\n\tpaystatus\x18\x01 \x03(\x0b\x32\x1b.cln.RenepaystatusPaystatusB\x02\x18\x01\"\x9a\x04\n\x16RenepaystatusPaystatus\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12!\n\x10payment_preimage\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x13\n\x07groupid\x18\x05 \x01(\rB\x02\x18\x01\x12\x16\n\x05parts\x18\x06 \x01(\rB\x02\x18\x01H\x01\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12.\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x02\x88\x01\x01\x12L\n\x06status\x18\t \x01(\x0e\x32\x38.cln.RenepaystatusPaystatus.RenepaystatusPaystatusStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\n \x01(\x0c\x42\x02\x18\x01H\x03\x88\x01\x01\x12\x11\n\x05notes\x18\x0b \x03(\tB\x02\x18\x01\"Q\n\x1cRenepaystatusPaystatusStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x13\n\x11_payment_preimageB\x08\n\x06_partsB\x13\n\x11_amount_sent_msatB\x0e\n\x0c_destination\"\xfe\x02\n\x0eRenepayRequest\x12\x15\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01\x12)\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12$\n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x01\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x04 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x16\n\x05label\x18\x07 \x01(\tB\x02\x18\x01H\x05\x88\x01\x01\x12\x1f\n\x0e\x64\x65v_use_shadow\x18\x08 \x01(\x08\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\t \x03(\tB\x02\x18\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0b\n\t_maxdelayB\x0c\n\n_retry_forB\x0e\n\x0c_descriptionB\x08\n\x06_labelB\x11\n\x0f_dev_use_shadow\"\xdd\x03\n\x0fRenepayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x18\n\x0cpayment_hash\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x03 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x04 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x36\n\x06status\x18\x07 \x01(\x0e\x32\".cln.RenepayResponse.RenepayStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\t \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\n \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x18\n\x07groupid\x18\x0b \x01(\x04\x42\x02\x18\x01H\x03\x88\x01\x01\"B\n\rRenepayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\t\n\x07_bolt11B\t\n\x07_bolt12B\n\n\x08_groupid\"l\n\x14ReserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\texclusive\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x0c\n\n_exclusiveB\n\n\x08_reserve\"M\n\x15ReserveinputsResponse\x12\x34\n\x0creservations\x18\x01 \x03(\x0b\x32\x1e.cln.ReserveinputsReservations\"z\n\x19ReserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"4\n\x14SendcustommsgRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"\'\n\x15SendcustommsgResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\"\xb0\x01\n\x12SendinvoiceRequest\x12\x0e\n\x06invreq\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08quantity\x18\x05 \x01(\x04H\x02\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\n\n\x08_timeoutB\x0b\n\t_quantity\"\xb8\x04\n\x13SendinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.SendinvoiceResponse.SendinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x15\n\rcreated_index\x18\x08 \x01(\x04\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x16\n\tpay_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\"6\n\x11SendinvoiceStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_amount_msatB\t\n\x07_bolt12B\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\xaa\x02\n\x11SetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07\x66\x65\x65\x62\x61se\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x66\x65\x65ppm\x18\x03 \x01(\rH\x01\x88\x01\x01\x12!\n\x07htlcmin\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12!\n\x07htlcmax\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x19\n\x0c\x65nforcedelay\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fignorefeelimits\x18\x07 \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_feebaseB\t\n\x07_feeppmB\n\n\x08_htlcminB\n\n\x08_htlcmaxB\x0f\n\r_enforcedelayB\x12\n\x10_ignorefeelimits\"?\n\x12SetchannelResponse\x12)\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x17.cln.SetchannelChannels\"\xaf\x03\n\x12SetchannelChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\x12*\n\x15minimum_htlc_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x17warning_htlcmin_too_low\x18\x07 \x01(\tH\x01\x88\x01\x01\x12*\n\x15maximum_htlc_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x18warning_htlcmax_too_high\x18\t \x01(\tH\x02\x88\x01\x01\x12\x19\n\x11ignore_fee_limits\x18\n \x01(\x08\x42\x13\n\x11_short_channel_idB\x1a\n\x18_warning_htlcmin_too_lowB\x1b\n\x19_warning_htlcmax_too_high\"b\n\x10SetconfigRequest\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x10\n\x03val\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttransient\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04_valB\x0c\n\n_transient\"9\n\x11SetconfigResponse\x12$\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x14.cln.SetconfigConfig\"\xda\x02\n\x0fSetconfigConfig\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07\x64ynamic\x18\x04 \x01(\x08\x12\x10\n\x03set\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\tvalue_str\x18\x06 \x01(\tH\x03\x88\x01\x01\x12$\n\nvalue_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x16\n\tvalue_int\x18\x08 \x01(\x12H\x05\x88\x01\x01\x12\x17\n\nvalue_bool\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x0f\n\x07sources\x18\n \x03(\t\x12\x12\n\nvalues_str\x18\x0b \x03(\tB\t\n\x07_sourceB\t\n\x07_pluginB\x06\n\x04_setB\x0c\n\n_value_strB\r\n\x0b_value_msatB\x0c\n\n_value_intB\r\n\x0b_value_bool\"6\n\x15SetpsbtversionRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\r\"&\n\x16SetpsbtversionResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"\'\n\x12SigninvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\"%\n\x13SigninvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"%\n\x12SignmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\"F\n\x13SignmessageResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\r\n\x05recid\x18\x02 \x01(\x0c\x12\r\n\x05zbase\x18\x03 \x01(\t\"\xc8\x01\n\x11SpliceInitRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x17\n\x0frelative_amount\x18\x02 \x01(\x12\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x65\x65rate_per_kw\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\x0e\n\x0c_initialpsbtB\x11\n\x0f_feerate_per_kwB\x10\n\x0e_force_feerate\"\"\n\x12SpliceInitResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"_\n\x13SpliceSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x17\n\nsign_first\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_sign_first\"^\n\x14SpliceSignedResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x13\n\x06outnum\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04psbt\x18\x04 \x01(\tB\t\n\x07_outnum\"7\n\x13SpliceUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"y\n\x14SpliceUpdateResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\x12\x1f\n\x12signatures_secured\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x15\n\x13_signatures_secured\"2\n\x0fSpliceinRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\"b\n\x10SpliceinResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\x8b\x01\n\x10SpliceoutRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_destinationB\x10\n\x0e_force_feerate\"c\n\x11SpliceoutResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\xc6\x01\n\x10\x44\x65vspliceRequest\x12\x16\n\x0escript_or_json\x18\x01 \x01(\t\x12\x13\n\x06\x64ryrun\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tdebug_log\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x17\n\ndev_wetrun\x18\x05 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_dryrunB\x10\n\x0e_force_feerateB\x0c\n\n_debug_logB\r\n\x0b_dev_wetrun\"\x80\x01\n\x11\x44\x65vspliceResponse\x12\x0e\n\x06\x64ryrun\x18\x01 \x03(\t\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03log\x18\x05 \x03(\tB\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"H\n\x16UnreserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\"Q\n\x17UnreserveinputsResponse\x12\x36\n\x0creservations\x18\x01 \x03(\x0b\x32 .cln.UnreserveinputsReservations\"\x97\x01\n\x1bUnreserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\x05 \x01(\rH\x00\x88\x01\x01\x42\x14\n\x12_reserved_to_block\"n\n\x14UpgradewalletRequest\x12\"\n\x07\x66\x65\x65rate\x18\x01 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x17\n\nreservedok\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_feerateB\r\n\x0b_reservedok\"~\n\x15UpgradewalletResponse\x12\x15\n\rupgraded_outs\x18\x01 \x01(\x04\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"O\n\x16WaitblockheightRequest\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\x12\x14\n\x07timeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\".\n\x17WaitblockheightResponse\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\"\xb9\x02\n\x0bWaitRequest\x12\x31\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitSubsystem\x12\x31\n\tindexname\x18\x02 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitIndexname\x12\x11\n\tnextvalue\x18\x03 \x01(\x04\"6\n\rWaitIndexname\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\"\xf4\x05\n\x0cWaitResponse\x12\x32\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1f.cln.WaitResponse.WaitSubsystem\x12\x14\n\x07\x63reated\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07updated\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07\x64\x65leted\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12*\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x10.cln.WaitDetailsB\x02\x18\x01H\x03\x88\x01\x01\x12(\n\x08\x66orwards\x18\x06 \x01(\x0b\x32\x11.cln.WaitForwardsH\x04\x88\x01\x01\x12(\n\x08invoices\x18\x07 \x01(\x0b\x32\x11.cln.WaitInvoicesH\x05\x88\x01\x01\x12(\n\x08sendpays\x18\x08 \x01(\x0b\x32\x11.cln.WaitSendpaysH\x06\x88\x01\x01\x12\"\n\x05htlcs\x18\t \x01(\x0b\x32\x0e.cln.WaitHtlcsH\x07\x88\x01\x01\x12,\n\nchainmoves\x18\n \x01(\x0b\x32\x13.cln.WaitChainmovesH\x08\x88\x01\x01\x12\x30\n\x0c\x63hannelmoves\x18\x0b \x01(\x0b\x32\x15.cln.WaitChannelmovesH\t\x88\x01\x01\x12\x32\n\rnetworkevents\x18\x0c \x01(\x0b\x32\x16.cln.WaitNetworkeventsH\n\x88\x01\x01\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\x42\n\n\x08_createdB\n\n\x08_updatedB\n\n\x08_deletedB\n\n\x08_detailsB\x0b\n\t_forwardsB\x0b\n\t_invoicesB\x0b\n\t_sendpaysB\x08\n\x06_htlcsB\r\n\x0b_chainmovesB\x0f\n\r_channelmovesB\x10\n\x0e_networkevents\"d\n\x0eWaitChainmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"f\n\x10WaitChannelmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\xd0\x05\n\x0bWaitDetails\x12;\n\x06status\x18\x01 \x01(\x0e\x32\".cln.WaitDetails.WaitDetailsStatusB\x02\x18\x01H\x00\x88\x01\x01\x12\x16\n\x05label\x18\x02 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\x04 \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\x05 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x17\n\x06partid\x18\x06 \x01(\x04\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x18\n\x07groupid\x18\x07 \x01(\x04\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x1d\n\x0cpayment_hash\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x07\x88\x01\x01\x12\x1b\n\nin_channel\x18\t \x01(\tB\x02\x18\x01H\x08\x88\x01\x01\x12\x1b\n\nin_htlc_id\x18\n \x01(\x04\x42\x02\x18\x01H\t\x88\x01\x01\x12%\n\x07in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x12\x1c\n\x0bout_channel\x18\x0c \x01(\tB\x02\x18\x01H\x0b\x88\x01\x01\"\xad\x01\n\x11WaitDetailsStatus\x12\x0e\n\x06UNPAID\x10\x00\x1a\x02\x08\x01\x12\x0c\n\x04PAID\x10\x01\x1a\x02\x08\x01\x12\x0f\n\x07\x45XPIRED\x10\x02\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x03\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x04\x1a\x02\x08\x01\x12\x10\n\x08\x43OMPLETE\x10\x05\x1a\x02\x08\x01\x12\x0f\n\x07OFFERED\x10\x06\x1a\x02\x08\x01\x12\x0f\n\x07SETTLED\x10\x07\x1a\x02\x08\x01\x12\x14\n\x0cLOCAL_FAILED\x10\x08\x1a\x02\x08\x01\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12B\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hashB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\xcb\x02\n\x0cWaitForwards\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitForwards.WaitForwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12!\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x04\x88\x01\x01\"L\n\x12WaitForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x10\n\x0cLOCAL_FAILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\x8c\x03\n\tWaitHtlcs\x12\"\n\x05state\x18\x01 \x01(\x0e\x32\x0e.cln.HtlcStateH\x00\x88\x01\x01\x12\x14\n\x07htlc_id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x63ltv_expiry\x18\x04 \x01(\rH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x39\n\tdirection\x18\x06 \x01(\x0e\x32!.cln.WaitHtlcs.WaitHtlcsDirectionH\x05\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x06\x88\x01\x01\"%\n\x12WaitHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x08\n\x06_stateB\n\n\x08_htlc_idB\x13\n\x11_short_channel_idB\x0e\n\x0c_cltv_expiryB\x0e\n\x0c_amount_msatB\x0c\n\n_directionB\x0f\n\r_payment_hash\"\x95\x02\n\x0cWaitInvoices\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitInvoices.WaitInvoicesStatusH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x05 \x01(\tH\x04\x88\x01\x01\"7\n\x12WaitInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12\"\x89\x02\n\x11WaitNetworkevents\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x44\n\titem_type\x18\x02 \x01(\x0e\x32,.cln.WaitNetworkevents.WaitNetworkeventsTypeH\x01\x88\x01\x01\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\"P\n\x15WaitNetworkeventsType\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x10\n\x0c\x43ONNECT_FAIL\x10\x01\x12\x08\n\x04PING\x10\x02\x12\x0e\n\nDISCONNECT\x10\x03\x42\x10\n\x0e_created_indexB\x0c\n\n_item_typeB\n\n\x08_peer_id\"\xff\x01\n\x0cWaitSendpays\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitSendpays.WaitSendpaysStatusH\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x04 \x01(\x0cH\x03\x88\x01\x01\";\n\x12WaitSendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_statusB\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hash\"4\n\x12ListconfigsRequest\x12\x13\n\x06\x63onfig\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_config\"P\n\x13ListconfigsResponse\x12-\n\x07\x63onfigs\x18\x01 \x01(\x0b\x32\x17.cln.ListconfigsConfigsH\x00\x88\x01\x01\x42\n\n\x08_configs\"\xf9.\n\x12ListconfigsConfigs\x12.\n\x04\x63onf\x18\x01 \x01(\x0b\x32\x1b.cln.ListconfigsConfigsConfH\x00\x88\x01\x01\x12\x38\n\tdeveloper\x18\x02 \x01(\x0b\x32 .cln.ListconfigsConfigsDeveloperH\x01\x88\x01\x01\x12?\n\rclear_plugins\x18\x03 \x01(\x0b\x32#.cln.ListconfigsConfigsClearpluginsH\x02\x88\x01\x01\x12;\n\x0b\x64isable_mpp\x18\x04 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablemppH\x03\x88\x01\x01\x12\x34\n\x07mainnet\x18\x05 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsMainnetH\x04\x88\x01\x01\x12\x34\n\x07regtest\x18\x06 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRegtestH\x05\x88\x01\x01\x12\x32\n\x06signet\x18\x07 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsSignetH\x06\x88\x01\x01\x12\x34\n\x07testnet\x18\x08 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsTestnetH\x07\x88\x01\x01\x12\x45\n\x10important_plugin\x18\t \x01(\x0b\x32&.cln.ListconfigsConfigsImportantpluginH\x08\x88\x01\x01\x12\x32\n\x06plugin\x18\n \x01(\x0b\x32\x1d.cln.ListconfigsConfigsPluginH\t\x88\x01\x01\x12\x39\n\nplugin_dir\x18\x0b \x01(\x0b\x32 .cln.ListconfigsConfigsPlugindirH\n\x88\x01\x01\x12?\n\rlightning_dir\x18\x0c \x01(\x0b\x32#.cln.ListconfigsConfigsLightningdirH\x0b\x88\x01\x01\x12\x34\n\x07network\x18\r \x01(\x0b\x32\x1e.cln.ListconfigsConfigsNetworkH\x0c\x88\x01\x01\x12N\n\x15\x61llow_deprecated_apis\x18\x0e \x01(\x0b\x32*.cln.ListconfigsConfigsAllowdeprecatedapisH\r\x88\x01\x01\x12\x35\n\x08rpc_file\x18\x0f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRpcfileH\x0e\x88\x01\x01\x12\x41\n\x0e\x64isable_plugin\x18\x10 \x01(\x0b\x32$.cln.ListconfigsConfigsDisablepluginH\x0f\x88\x01\x01\x12\x44\n\x10\x61lways_use_proxy\x18\x11 \x01(\x0b\x32%.cln.ListconfigsConfigsAlwaysuseproxyH\x10\x88\x01\x01\x12\x32\n\x06\x64\x61\x65mon\x18\x12 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsDaemonH\x11\x88\x01\x01\x12\x32\n\x06wallet\x18\x13 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsWalletH\x12\x88\x01\x01\x12\x41\n\x0elarge_channels\x18\x14 \x01(\x0b\x32$.cln.ListconfigsConfigsLargechannelsH\x13\x88\x01\x01\x12P\n\x16\x65xperimental_dual_fund\x18\x15 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentaldualfundH\x14\x88\x01\x01\x12S\n\x15\x65xperimental_splicing\x18\x16 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentalsplicingB\x02\x18\x01H\x15\x88\x01\x01\x12i\n#experimental_shutdown_wrong_funding\x18\x19 \x01(\x0b\x32\x37.cln.ListconfigsConfigsExperimentalshutdownwrongfundingH\x16\x88\x01\x01\x12V\n\x19\x65xperimental_peer_storage\x18\x1a \x01(\x0b\x32..cln.ListconfigsConfigsExperimentalpeerstorageH\x17\x88\x01\x01\x12M\n\x14\x65xperimental_anchors\x18\x1b \x01(\x0b\x32*.cln.ListconfigsConfigsExperimentalanchorsH\x18\x88\x01\x01\x12\x45\n\x10\x64\x61tabase_upgrade\x18\x1c \x01(\x0b\x32&.cln.ListconfigsConfigsDatabaseupgradeH\x19\x88\x01\x01\x12,\n\x03rgb\x18\x1d \x01(\x0b\x32\x1a.cln.ListconfigsConfigsRgbH\x1a\x88\x01\x01\x12\x30\n\x05\x61lias\x18\x1e \x01(\x0b\x32\x1c.cln.ListconfigsConfigsAliasH\x1b\x88\x01\x01\x12\x35\n\x08pid_file\x18\x1f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsPidfileH\x1c\x88\x01\x01\x12\x46\n\x11ignore_fee_limits\x18 \x01(\x0b\x32&.cln.ListconfigsConfigsIgnorefeelimitsH\x1d\x88\x01\x01\x12\x45\n\x10watchtime_blocks\x18! \x01(\x0b\x32&.cln.ListconfigsConfigsWatchtimeblocksH\x1e\x88\x01\x01\x12\x45\n\x10\x66unding_confirms\x18# \x01(\x0b\x32&.cln.ListconfigsConfigsFundingconfirmsH\x1f\x88\x01\x01\x12\x39\n\ncltv_delta\x18$ \x01(\x0b\x32 .cln.ListconfigsConfigsCltvdeltaH \x88\x01\x01\x12\x39\n\ncltv_final\x18% \x01(\x0b\x32 .cln.ListconfigsConfigsCltvfinalH!\x88\x01\x01\x12;\n\x0b\x63ommit_time\x18& \x01(\x0b\x32!.cln.ListconfigsConfigsCommittimeH\"\x88\x01\x01\x12\x35\n\x08\x66\x65\x65_base\x18\' \x01(\x0b\x32\x1e.cln.ListconfigsConfigsFeebaseH#\x88\x01\x01\x12\x32\n\x06rescan\x18( \x01(\x0b\x32\x1d.cln.ListconfigsConfigsRescanH$\x88\x01\x01\x12\x42\n\x0f\x66\x65\x65_per_satoshi\x18) \x01(\x0b\x32$.cln.ListconfigsConfigsFeepersatoshiH%\x88\x01\x01\x12L\n\x14max_concurrent_htlcs\x18* \x01(\x0b\x32).cln.ListconfigsConfigsMaxconcurrenthtlcsH&\x88\x01\x01\x12\x46\n\x11htlc_minimum_msat\x18+ \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcminimummsatH\'\x88\x01\x01\x12\x46\n\x11htlc_maximum_msat\x18, \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcmaximummsatH(\x88\x01\x01\x12X\n\x1bmax_dust_htlc_exposure_msat\x18- \x01(\x0b\x32..cln.ListconfigsConfigsMaxdusthtlcexposuremsatH)\x88\x01\x01\x12\x44\n\x10min_capacity_sat\x18. \x01(\x0b\x32%.cln.ListconfigsConfigsMincapacitysatH*\x88\x01\x01\x12.\n\x04\x61\x64\x64r\x18/ \x01(\x0b\x32\x1b.cln.ListconfigsConfigsAddrH+\x88\x01\x01\x12?\n\rannounce_addr\x18\x30 \x01(\x0b\x32#.cln.ListconfigsConfigsAnnounceaddrH,\x88\x01\x01\x12\x37\n\tbind_addr\x18\x31 \x01(\x0b\x32\x1f.cln.ListconfigsConfigsBindaddrH-\x88\x01\x01\x12\x34\n\x07offline\x18\x32 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsOfflineH.\x88\x01\x01\x12:\n\nautolisten\x18\x33 \x01(\x0b\x32!.cln.ListconfigsConfigsAutolistenH/\x88\x01\x01\x12\x30\n\x05proxy\x18\x34 \x01(\x0b\x32\x1c.cln.ListconfigsConfigsProxyH0\x88\x01\x01\x12;\n\x0b\x64isable_dns\x18\x35 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablednsH1\x88\x01\x01\x12T\n\x18\x61nnounce_addr_discovered\x18\x36 \x01(\x0b\x32-.cln.ListconfigsConfigsAnnounceaddrdiscoveredH2\x88\x01\x01\x12]\n\x1d\x61nnounce_addr_discovered_port\x18\x37 \x01(\x0b\x32\x31.cln.ListconfigsConfigsAnnounceaddrdiscoveredportH3\x88\x01\x01\x12?\n\rencrypted_hsm\x18\x38 \x01(\x0b\x32#.cln.ListconfigsConfigsEncryptedhsmH4\x88\x01\x01\x12>\n\rrpc_file_mode\x18\x39 \x01(\x0b\x32\".cln.ListconfigsConfigsRpcfilemodeH5\x88\x01\x01\x12\x37\n\tlog_level\x18: \x01(\x0b\x32\x1f.cln.ListconfigsConfigsLoglevelH6\x88\x01\x01\x12\x39\n\nlog_prefix\x18; \x01(\x0b\x32 .cln.ListconfigsConfigsLogprefixH7\x88\x01\x01\x12\x35\n\x08log_file\x18< \x01(\x0b\x32\x1e.cln.ListconfigsConfigsLogfileH8\x88\x01\x01\x12\x41\n\x0elog_timestamps\x18= \x01(\x0b\x32$.cln.ListconfigsConfigsLogtimestampsH9\x88\x01\x01\x12\x41\n\x0e\x66orce_feerates\x18> \x01(\x0b\x32$.cln.ListconfigsConfigsForcefeeratesH:\x88\x01\x01\x12\x38\n\tsubdaemon\x18? \x01(\x0b\x32 .cln.ListconfigsConfigsSubdaemonH;\x88\x01\x01\x12Q\n\x16\x66\x65tchinvoice_noconnect\x18@ \x01(\x0b\x32,.cln.ListconfigsConfigsFetchinvoicenoconnectH<\x88\x01\x01\x12L\n\x14tor_service_password\x18\x42 \x01(\x0b\x32).cln.ListconfigsConfigsTorservicepasswordH=\x88\x01\x01\x12\x46\n\x11\x61nnounce_addr_dns\x18\x43 \x01(\x0b\x32&.cln.ListconfigsConfigsAnnounceaddrdnsH>\x88\x01\x01\x12T\n\x18require_confirmed_inputs\x18\x44 \x01(\x0b\x32-.cln.ListconfigsConfigsRequireconfirmedinputsH?\x88\x01\x01\x12\x39\n\ncommit_fee\x18\x45 \x01(\x0b\x32 .cln.ListconfigsConfigsCommitfeeH@\x88\x01\x01\x12N\n\x15\x63ommit_feerate_offset\x18\x46 \x01(\x0b\x32*.cln.ListconfigsConfigsCommitfeerateoffsetHA\x88\x01\x01\x12T\n\x18\x61utoconnect_seeker_peers\x18G \x01(\x0b\x32-.cln.ListconfigsConfigsAutoconnectseekerpeersHB\x88\x01\x01\x12R\n\x17\x63urrencyrate_add_source\x18J \x01(\x0b\x32,.cln.ListconfigsConfigsCurrencyrateaddsourceHC\x88\x01\x01\x12Z\n\x1b\x63urrencyrate_disable_source\x18K \x01(\x0b\x32\x30.cln.ListconfigsConfigsCurrencyratedisablesourceHD\x88\x01\x01\x12K\n\x13independent_secrets\x18L \x01(\x0b\x32).cln.ListconfigsConfigsIndependentsecretsHE\x88\x01\x01\x42\x07\n\x05_confB\x0c\n\n_developerB\x10\n\x0e_clear_pluginsB\x0e\n\x0c_disable_mppB\n\n\x08_mainnetB\n\n\x08_regtestB\t\n\x07_signetB\n\n\x08_testnetB\x13\n\x11_important_pluginB\t\n\x07_pluginB\r\n\x0b_plugin_dirB\x10\n\x0e_lightning_dirB\n\n\x08_networkB\x18\n\x16_allow_deprecated_apisB\x0b\n\t_rpc_fileB\x11\n\x0f_disable_pluginB\x13\n\x11_always_use_proxyB\t\n\x07_daemonB\t\n\x07_walletB\x11\n\x0f_large_channelsB\x19\n\x17_experimental_dual_fundB\x18\n\x16_experimental_splicingB&\n$_experimental_shutdown_wrong_fundingB\x1c\n\x1a_experimental_peer_storageB\x17\n\x15_experimental_anchorsB\x13\n\x11_database_upgradeB\x06\n\x04_rgbB\x08\n\x06_aliasB\x0b\n\t_pid_fileB\x14\n\x12_ignore_fee_limitsB\x13\n\x11_watchtime_blocksB\x13\n\x11_funding_confirmsB\r\n\x0b_cltv_deltaB\r\n\x0b_cltv_finalB\x0e\n\x0c_commit_timeB\x0b\n\t_fee_baseB\t\n\x07_rescanB\x12\n\x10_fee_per_satoshiB\x17\n\x15_max_concurrent_htlcsB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x1e\n\x1c_max_dust_htlc_exposure_msatB\x13\n\x11_min_capacity_satB\x07\n\x05_addrB\x10\n\x0e_announce_addrB\x0c\n\n_bind_addrB\n\n\x08_offlineB\r\n\x0b_autolistenB\x08\n\x06_proxyB\x0e\n\x0c_disable_dnsB\x1b\n\x19_announce_addr_discoveredB \n\x1e_announce_addr_discovered_portB\x10\n\x0e_encrypted_hsmB\x10\n\x0e_rpc_file_modeB\x0c\n\n_log_levelB\r\n\x0b_log_prefixB\x0b\n\t_log_fileB\x11\n\x0f_log_timestampsB\x11\n\x0f_force_feeratesB\x0c\n\n_subdaemonB\x19\n\x17_fetchinvoice_noconnectB\x17\n\x15_tor_service_passwordB\x14\n\x12_announce_addr_dnsB\x1b\n\x19_require_confirmed_inputsB\r\n\x0b_commit_feeB\x18\n\x16_commit_feerate_offsetB\x1b\n\x19_autoconnect_seeker_peersB\x1a\n\x18_currencyrate_add_sourceB\x1e\n\x1c_currencyrate_disable_sourceB\x16\n\x14_independent_secrets\"=\n\x16ListconfigsConfigsAddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsAlias\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"K\n%ListconfigsConfigsAllowdeprecatedapis\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n ListconfigsConfigsAlwaysuseproxy\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1eListconfigsConfigsAnnounceaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"\x80\x02\n(ListconfigsConfigsAnnounceaddrdiscovered\x12q\n\tvalue_str\x18\x01 \x01(\x0e\x32^.cln.ListconfigsConfigsAnnounceaddrdiscovered.ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n0ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x08\n\x04TRUE\x10\x00\x12\t\n\x05\x46\x41LSE\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\"Q\n,ListconfigsConfigsAnnounceaddrdiscoveredport\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsAnnounceaddrdns\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n(ListconfigsConfigsAutoconnectseekerpeers\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1cListconfigsConfigsAutolisten\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1aListconfigsConfigsBindaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsClearplugins\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvdelta\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvfinal\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCommitfee\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\"J\n%ListconfigsConfigsCommitfeerateoffset\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1cListconfigsConfigsCommittime\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\xa2\x01\n\x16ListconfigsConfigsConf\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12H\n\x06source\x18\x02 \x01(\x0e\x32\x38.cln.ListconfigsConfigsConf.ListconfigsConfigsConfSource\"+\n\x1cListconfigsConfigsConfSource\x12\x0b\n\x07\x43MDLINE\x10\x00\"n\n\'ListconfigsConfigsCurrencyrateaddsource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"r\n+ListconfigsConfigsCurrencyratedisablesource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"7\n\x18ListconfigsConfigsDaemon\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsDatabaseupgrade\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x1bListconfigsConfigsDeveloper\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\";\n\x1cListconfigsConfigsDisabledns\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"[\n\x1cListconfigsConfigsDisablempp\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"F\n\x1fListconfigsConfigsDisableplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsEncryptedhsm\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n%ListconfigsConfigsExperimentalanchors\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n&ListconfigsConfigsExperimentaldualfund\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n)ListconfigsConfigsExperimentalpeerstorage\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n2ListconfigsConfigsExperimentalshutdownwrongfunding\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n&ListconfigsConfigsExperimentalsplicing\x12\x0f\n\x03set\x18\x01 \x01(\x08\x42\x02\x18\x01\x12\x12\n\x06source\x18\x02 \x01(\tB\x02\x18\x01\">\n\x19ListconfigsConfigsFeebase\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n\x1fListconfigsConfigsFeepersatoshi\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"f\n\'ListconfigsConfigsFetchinvoicenoconnect\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"D\n\x1fListconfigsConfigsForcefeerates\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsFundingconfirms\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcmaximummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcminimummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsIgnorefeelimits\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n!ListconfigsConfigsImportantplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"C\n$ListconfigsConfigsIndependentsecrets\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x1fListconfigsConfigsLargechannels\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"C\n\x1eListconfigsConfigsLightningdir\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x19ListconfigsConfigsLogfile\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"?\n\x1aListconfigsConfigsLoglevel\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsLogprefix\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1fListconfigsConfigsLogtimestamps\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsMainnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsMaxconcurrenthtlcs\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\\\n)ListconfigsConfigsMaxdusthtlcexposuremsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"g\n ListconfigsConfigsMincapacitysat\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x14\n\x07\x64ynamic\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\n\n\x08_dynamic\">\n\x19ListconfigsConfigsNetwork\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsOffline\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsPidfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"?\n\x18ListconfigsConfigsPlugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"B\n\x1bListconfigsConfigsPlugindir\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsProxy\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsRegtest\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"N\n(ListconfigsConfigsRequireconfirmedinputs\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsRescan\x12\x11\n\tvalue_int\x18\x01 \x01(\x12\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x15ListconfigsConfigsRgb\x12\x11\n\tvalue_str\x18\x01 \x01(\x0c\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsRpcfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1dListconfigsConfigsRpcfilemode\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"7\n\x18ListconfigsConfigsSignet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1bListconfigsConfigsSubdaemon\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"8\n\x19ListconfigsConfigsTestnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsTorservicepassword\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsWallet\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsWatchtimeblocks\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\r\n\x0bStopRequest\"a\n\x0cStopResponse\x12,\n\x06result\x18\x01 \x01(\x0e\x32\x1c.cln.StopResponse.StopResult\"#\n\nStopResult\x12\x15\n\x11SHUTDOWN_COMPLETE\x10\x00\"/\n\x0bHelpRequest\x12\x14\n\x07\x63ommand\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_command\"\x95\x01\n\x0cHelpResponse\x12\x1b\n\x04help\x18\x01 \x03(\x0b\x32\r.cln.HelpHelp\x12:\n\x0b\x66ormat_hint\x18\x02 \x01(\x0e\x32 .cln.HelpResponse.HelpFormathintH\x00\x88\x01\x01\"\x1c\n\x0eHelpFormathint\x12\n\n\x06SIMPLE\x10\x00\x42\x0e\n\x0c_format_hint\"\x1b\n\x08HelpHelp\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\"g\n\x18PreapprovekeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\x1b\n\x19PreapprovekeysendResponse\"*\n\x18PreapproveinvoiceRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"\x1b\n\x19PreapproveinvoiceResponse\"\x15\n\x13StaticbackupRequest\"#\n\x14StaticbackupResponse\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"d\n\x16\x42kprchannelsapyRequest\x12\x17\n\nstart_time\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x17\x42kprchannelsapyResponse\x12\x35\n\x0c\x63hannels_apy\x18\x01 \x03(\x0b\x32\x1f.cln.BkprchannelsapyChannelsApy\"\xf9\x06\n\x1a\x42kprchannelsapyChannelsApy\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12$\n\x0frouted_out_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0erouted_in_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12(\n\x13lease_fee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12*\n\x15lease_fee_earned_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x0fpushed_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0epushed_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16our_start_balance_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12/\n\x1a\x63hannel_start_balance_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\rfees_out_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x0c\x66\x65\x65s_in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x17\n\x0futilization_out\x18\x0c \x01(\t\x12$\n\x17utilization_out_initial\x18\r \x01(\tH\x01\x88\x01\x01\x12\x16\n\x0eutilization_in\x18\x0e \x01(\t\x12#\n\x16utilization_in_initial\x18\x0f \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x07\x61py_out\x18\x10 \x01(\t\x12\x1c\n\x0f\x61py_out_initial\x18\x11 \x01(\tH\x03\x88\x01\x01\x12\x0e\n\x06\x61py_in\x18\x12 \x01(\t\x12\x1b\n\x0e\x61py_in_initial\x18\x13 \x01(\tH\x04\x88\x01\x01\x12\x11\n\tapy_total\x18\x14 \x01(\t\x12\x1e\n\x11\x61py_total_initial\x18\x15 \x01(\tH\x05\x88\x01\x01\x12\x16\n\tapy_lease\x18\x16 \x01(\tH\x06\x88\x01\x01\x42\x0f\n\r_fees_in_msatB\x1a\n\x18_utilization_out_initialB\x19\n\x17_utilization_in_initialB\x12\n\x10_apy_out_initialB\x11\n\x0f_apy_in_initialB\x14\n\x12_apy_total_initialB\x0c\n\n_apy_lease\"\xd2\x01\n\x18\x42kprdumpincomecsvRequest\x12\x12\n\ncsv_format\x18\x01 \x01(\t\x12\x15\n\x08\x63sv_file\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x63onsolidate_fees\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\x04H\x03\x88\x01\x01\x42\x0b\n\t_csv_fileB\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"\xd4\x01\n\x19\x42kprdumpincomecsvResponse\x12\x10\n\x08\x63sv_file\x18\x01 \x01(\t\x12M\n\ncsv_format\x18\x02 \x01(\x0e\x32\x39.cln.BkprdumpincomecsvResponse.BkprdumpincomecsvCsvFormat\"V\n\x1a\x42kprdumpincomecsvCsvFormat\x12\x0f\n\x0b\x43OINTRACKER\x10\x00\x12\n\n\x06KOINLY\x10\x01\x12\x0b\n\x07HARMONY\x10\x02\x12\x0e\n\nQUICKBOOKS\x10\x03\"%\n\x12\x42kprinspectRequest\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\"7\n\x13\x42kprinspectResponse\x12 \n\x03txs\x18\x01 \x03(\x0b\x32\x13.cln.BkprinspectTxs\"\x9a\x01\n\x0e\x42kprinspectTxs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x18\n\x0b\x62lockheight\x18\x02 \x01(\rH\x00\x88\x01\x01\x12#\n\x0e\x66\x65\x65s_paid_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x07outputs\x18\x04 \x03(\x0b\x32\x1a.cln.BkprinspectTxsOutputsB\x0e\n\x0c_blockheight\"\xbc\x03\n\x15\x42kprinspectTxsOutputs\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12&\n\x11output_value_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12%\n\x0b\x63redit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12$\n\ndebit_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12 \n\x13originating_account\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x17\n\noutput_tag\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tspend_tag\x18\t \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x42\x0e\n\x0c_credit_msatB\r\n\x0b_debit_msatB\x16\n\x14_originating_accountB\r\n\x0b_output_tagB\x0c\n\n_spend_tagB\x10\n\x0e_spending_txidB\r\n\x0b_payment_id\"h\n\x1c\x42kprlistaccounteventsRequest\x12\x14\n\x07\x61\x63\x63ount\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\npayment_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_accountB\r\n\x0b_payment_id\"Q\n\x1d\x42kprlistaccounteventsResponse\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .cln.BkprlistaccounteventsEvents\"\xcd\x05\n\x1b\x42kprlistaccounteventsEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12S\n\titem_type\x18\x02 \x01(\x0e\x32@.cln.BkprlistaccounteventsEvents.BkprlistaccounteventsEventsType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\t \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\n \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\x0c \x01(\x0cH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x05\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x07\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x08\x88\x01\x01\x12\x19\n\x0c\x63urrencyrate\x18\x11 \x01(\x01H\t\x88\x01\x01\"J\n\x1f\x42kprlistaccounteventsEventsType\x12\x0f\n\x0bONCHAIN_FEE\x10\x00\x12\t\n\x05\x43HAIN\x10\x01\x12\x0b\n\x07\x43HANNEL\x10\x02\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0e\n\x0c_descriptionB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_idB\x0f\n\r_currencyrate\"\x19\n\x17\x42kprlistbalancesRequest\"K\n\x18\x42kprlistbalancesResponse\x12/\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1d.cln.BkprlistbalancesAccounts\"\xc6\x02\n\x18\x42kprlistbalancesAccounts\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x37\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32%.cln.BkprlistbalancesAccountsBalances\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x16\n\twe_opened\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x61\x63\x63ount_closed\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x1d\n\x10\x61\x63\x63ount_resolved\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x1e\n\x11resolved_at_block\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\n\n\x08_peer_idB\x0c\n\n_we_openedB\x11\n\x0f_account_closedB\x13\n\x11_account_resolvedB\x14\n\x12_resolved_at_block\"X\n BkprlistbalancesAccountsBalances\x12!\n\x0c\x62\x61lance_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x02 \x01(\t\"\x97\x01\n\x15\x42kprlistincomeRequest\x12\x1d\n\x10\x63onsolidate_fees\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x17\n\nstart_time\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x16\x42kprlistincomeResponse\x12\x36\n\rincome_events\x18\x01 \x03(\x0b\x32\x1f.cln.BkprlistincomeIncomeEvents\"\xb4\x02\n\x1a\x42kprlistincomeIncomeEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12\x11\n\ttimestamp\x18\x06 \x01(\r\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\n \x01(\x0cH\x03\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_outpointB\x07\n\x05_txidB\r\n\x0b_payment_id\"P\n%BkpreditdescriptionbypaymentidRequest\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"e\n&BkpreditdescriptionbypaymentidResponse\x12;\n\x07updated\x18\x01 \x03(\x0b\x32*.cln.BkpreditdescriptionbypaymentidUpdated\"\xa3\x05\n%BkpreditdescriptionbypaymentidUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12g\n\titem_type\x18\x02 \x01(\x0e\x32T.cln.BkpreditdescriptionbypaymentidUpdated.BkpreditdescriptionbypaymentidUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"C\n)BkpreditdescriptionbypaymentidUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"M\n$BkpreditdescriptionbyoutpointRequest\x12\x10\n\x08outpoint\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"c\n%BkpreditdescriptionbyoutpointResponse\x12:\n\x07updated\x18\x01 \x03(\x0b\x32).cln.BkpreditdescriptionbyoutpointUpdated\"\x9f\x05\n$BkpreditdescriptionbyoutpointUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x65\n\titem_type\x18\x02 \x01(\x0e\x32R.cln.BkpreditdescriptionbyoutpointUpdated.BkpreditdescriptionbyoutpointUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"B\n(BkpreditdescriptionbyoutpointUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"\xb0\x01\n\x11\x42kprreportRequest\x12\x13\n\x06\x66ormat\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x07headers\x18\x02 \x03(\t\x12\x13\n\x06\x65scape\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\rH\x03\x88\x01\x01\x42\t\n\x07_formatB\t\n\x07_escapeB\r\n\x0b_start_timeB\x0b\n\t_end_time\"$\n\x12\x42kprreportResponse\x12\x0e\n\x06report\x18\x01 \x03(\t\"n\n\x14\x42lacklistruneRequest\x12\x12\n\x05start\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03\x65nd\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06relist\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_startB\x06\n\x04_endB\t\n\x07_relist\"G\n\x15\x42lacklistruneResponse\x12.\n\tblacklist\x18\x01 \x03(\x0b\x32\x1b.cln.BlacklistruneBlacklist\"4\n\x16\x42lacklistruneBlacklist\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\"p\n\x10\x43heckruneRequest\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x13\n\x06nodeid\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06params\x18\x04 \x03(\tB\t\n\x07_nodeidB\t\n\x07_method\"\"\n\x11\x43heckruneResponse\x12\r\n\x05valid\x18\x01 \x01(\x08\"E\n\x11\x43reateruneRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0crestrictions\x18\x02 \x03(\tB\x07\n\x05_rune\"{\n\x12\x43reateruneResponse\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12&\n\x19warning_unrestricted_rune\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x1c\n\x1a_warning_unrestricted_rune\".\n\x10ShowrunesRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_rune\"7\n\x11ShowrunesResponse\x12\"\n\x05runes\x18\x01 \x03(\x0b\x32\x13.cln.ShowrunesRunes\"\x9d\x02\n\x0eShowrunesRunes\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x35\n\x0crestrictions\x18\x03 \x03(\x0b\x32\x1f.cln.ShowrunesRunesRestrictions\x12\x1f\n\x17restrictions_as_english\x18\x04 \x01(\t\x12\x13\n\x06stored\x18\x05 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x0b\x62lacklisted\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tlast_used\x18\x07 \x01(\x01H\x02\x88\x01\x01\x12\x15\n\x08our_rune\x18\x08 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_storedB\x0e\n\x0c_blacklistedB\x0c\n\n_last_usedB\x0b\n\t_our_rune\"p\n\x1aShowrunesRunesRestrictions\x12\x41\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32+.cln.ShowrunesRunesRestrictionsAlternatives\x12\x0f\n\x07\x65nglish\x18\x02 \x01(\t\"n\n&ShowrunesRunesRestrictionsAlternatives\x12\x11\n\tfieldname\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x11\n\tcondition\x18\x03 \x01(\t\x12\x0f\n\x07\x65nglish\x18\x04 \x01(\t\"r\n\x17\x41skreneunreserveRequest\x12\'\n\x04path\x18\x01 \x03(\x0b\x32\x19.cln.AskreneunreservePath\x12\x1b\n\x0e\x64\x65v_remove_all\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_dev_remove_all\"\x1a\n\x18\x41skreneunreserveResponse\"t\n\x14\x41skreneunreservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"8\n\x18\x41skrenelistlayersRequest\x12\x12\n\x05layer\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"I\n\x19\x41skrenelistlayersResponse\x12,\n\x06layers\x18\x01 \x03(\x0b\x32\x1c.cln.AskrenelistlayersLayers\"\xaa\x03\n\x17\x41skrenelistlayersLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x16\n\x0e\x64isabled_nodes\x18\x02 \x03(\x0c\x12\x45\n\x10\x63reated_channels\x18\x03 \x03(\x0b\x32+.cln.AskrenelistlayersLayersCreatedChannels\x12<\n\x0b\x63onstraints\x18\x04 \x03(\x0b\x32\'.cln.AskrenelistlayersLayersConstraints\x12\x12\n\npersistent\x18\x05 \x01(\x08\x12\x19\n\x11\x64isabled_channels\x18\x06 \x03(\t\x12\x43\n\x0f\x63hannel_updates\x18\x07 \x03(\x0b\x32*.cln.AskrenelistlayersLayersChannelUpdates\x12\x32\n\x06\x62iases\x18\x08 \x03(\x0b\x32\".cln.AskrenelistlayersLayersBiases\x12;\n\x0bnode_biases\x18\t \x03(\x0b\x32&.cln.AskrenelistlayersLayersNodeBiases\"\x9b\x01\n\x1d\x41skrenelistlayersLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa8\x03\n%AskrenelistlayersLayersChannelUpdates\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x14\n\x07\x65nabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x07 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\xda\x01\n\"AskrenelistlayersLayersConstraints\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x05 \x01(\t\x12\x16\n\ttimestamp\x18\x06 \x01(\x04H\x02\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msatB\x0c\n\n_timestamp\"\x8b\x01\n&AskrenelistlayersLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x91\x01\n!AskrenelistlayersLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"R\n\x19\x41skrenecreatelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x17\n\npersistent\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_persistent\"K\n\x1a\x41skrenecreatelayerResponse\x12-\n\x06layers\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenecreatelayerLayers\"\xb0\x03\n\x18\x41skrenecreatelayerLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x12\n\npersistent\x18\x02 \x01(\x08\x12\x16\n\x0e\x64isabled_nodes\x18\x03 \x03(\x0c\x12\x19\n\x11\x64isabled_channels\x18\x04 \x03(\t\x12\x46\n\x10\x63reated_channels\x18\x05 \x03(\x0b\x32,.cln.AskrenecreatelayerLayersCreatedChannels\x12\x44\n\x0f\x63hannel_updates\x18\x06 \x03(\x0b\x32+.cln.AskrenecreatelayerLayersChannelUpdates\x12=\n\x0b\x63onstraints\x18\x07 \x03(\x0b\x32(.cln.AskrenecreatelayerLayersConstraints\x12\x33\n\x06\x62iases\x18\x08 \x03(\x0b\x32#.cln.AskrenecreatelayerLayersBiases\x12<\n\x0bnode_biases\x18\t \x03(\x0b\x32\'.cln.AskrenecreatelayerLayersNodeBiases\"\x9c\x01\n\x1e\x41skrenecreatelayerLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xd1\x02\n&AskrenecreatelayerLayersChannelUpdates\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x05 \x01(\rH\x04\x88\x01\x01\x42\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x08\n\x06_delay\"\xc4\x01\n#AskrenecreatelayerLayersConstraints\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\r\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8c\x01\n\'AskrenecreatelayerLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x92\x01\n\"AskrenecreatelayerLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"*\n\x19\x41skreneremovelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\"\x1c\n\x1a\x41skreneremovelayerResponse\"P\n!AskreneremovechannelupdateRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\"$\n\"AskreneremovechannelupdateResponse\">\n\x15\x41skrenereserveRequest\x12%\n\x04path\x18\x01 \x03(\x0b\x32\x17.cln.AskrenereservePath\"\x18\n\x16\x41skrenereserveResponse\"r\n\x12\x41skrenereservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"2\n\x11\x41skreneageRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06\x63utoff\x18\x02 \x01(\x04\"8\n\x12\x41skreneageResponse\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x13\n\x0bnum_removed\x18\x02 \x01(\x04\"\xe7\x01\n\x10GetroutesRequest\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12 \n\x0bmaxfee_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\nfinal_cltv\x18\x07 \x01(\r\x12\x15\n\x08maxdelay\x18\x08 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08maxparts\x18\t \x01(\rH\x01\x88\x01\x01\x42\x0b\n\t_maxdelayB\x0b\n\t_maxparts\"R\n\x11GetroutesResponse\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12$\n\x06routes\x18\x02 \x03(\x0b\x32\x14.cln.GetroutesRoutes\"\x88\x01\n\x0fGetroutesRoutes\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x04path\x18\x03 \x03(\x0b\x32\x18.cln.GetroutesRoutesPath\x12\x12\n\nfinal_cltv\x18\x04 \x01(\r\"\xd4\x03\n\x13GetroutesRoutesPath\x12)\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12\x1d\n\x0cnext_node_id\x18\x04 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x16\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12(\n\x0e\x61mount_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x17\n\nnode_id_in\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x14\n\x07\x63ltv_in\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\x0c \x01(\rH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0f\n\r_next_node_idB\x08\n\x06_delayB\x11\n\x0f_amount_in_msatB\x12\n\x10_amount_out_msatB\r\n\x0b_node_id_inB\x0e\n\x0c_node_id_outB\n\n\x08_cltv_inB\x0b\n\t_cltv_out\"8\n\x19\x41skrenedisablenodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\"\x1c\n\x1a\x41skrenedisablenodeResponse\"\x8a\x02\n\x1b\x41skreneinformchannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12K\n\x06inform\x18\x08 \x01(\x0e\x32;.cln.AskreneinformchannelRequest.AskreneinformchannelInform\"O\n\x1a\x41skreneinformchannelInform\x12\x0f\n\x0b\x43ONSTRAINED\x10\x00\x12\x11\n\rUNCONSTRAINED\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\"Y\n\x1c\x41skreneinformchannelResponse\x12\x39\n\x0b\x63onstraints\x18\x02 \x03(\x0b\x32$.cln.AskreneinformchannelConstraints\"\xd3\x01\n\x1f\x41skreneinformchannelConstraints\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\r\n\x05layer\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\x04\x12&\n\x0cmaximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8f\x01\n\x1b\x41skrenecreatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x03 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x04 \x01(\t\x12\"\n\rcapacity_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"\x1e\n\x1c\x41skrenecreatechannelResponse\"\xad\x03\n\x1b\x41skreneupdatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x14\n\x07\x65nabled\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x08 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\x1e\n\x1c\x41skreneupdatechannelResponse\"\xa4\x01\n\x19\x41skrenebiaschannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"K\n\x1a\x41skrenebiaschannelResponse\x12-\n\x06\x62iases\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenebiaschannelBiases\"\xa5\x01\n\x18\x41skrenebiaschannelBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x05 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa4\x01\n\x16\x41skrenebiasnodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x11\n\tdirection\x18\x03 \x01(\t\x12\x0c\n\x04\x62ias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x06 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"N\n\x17\x41skrenebiasnodeResponse\x12\x33\n\x0bnode_biases\x18\x01 \x03(\x0b\x32\x1e.cln.AskrenebiasnodeNodeBiases\"\x98\x01\n\x19\x41skrenebiasnodeNodeBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x03 \x01(\x12\x12\x10\n\x08out_bias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x06 \x01(\x04\x42\x0e\n\x0c_description\" \n\x1e\x41skrenelistreservationsRequest\"a\n\x1f\x41skrenelistreservationsResponse\x12>\n\x0creservations\x18\x01 \x03(\x0b\x32(.cln.AskrenelistreservationsReservations\"\x91\x01\n#AskrenelistreservationsReservations\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x16\n\x0e\x61ge_in_seconds\x18\x03 \x01(\x04\x12\x12\n\ncommand_id\x18\x04 \x01(\t\"\xf5\x02\n\x19InjectpaymentonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x63ltv_expiry\x18\x04 \x01(\r\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x0f\n\x07groupid\x18\x06 \x01(\x04\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12*\n\x10\x64\x65stination_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x0b \x01(\x0cH\x04\x88\x01\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x10\n\x0e_localinvreqidB\x13\n\x11_destination_msatB\x0e\n\x0c_destination\"w\n\x1aInjectpaymentonionResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\x04\x12\x14\n\x0c\x63ompleted_at\x18\x02 \x01(\x04\x12\x15\n\rcreated_index\x18\x03 \x01(\x04\x12\x18\n\x10payment_preimage\x18\x04 \x01(\x0c\">\n\x19InjectonionmessageRequest\x12\x10\n\x08path_key\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"\x1c\n\x1aInjectonionmessageResponse\"\xbb\x03\n\x0bXpayRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x02\x88\x01\x01\x12&\n\x0cpartial_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\x12\n\x05label\x18\t \x01(\tH\x06\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\n \x01(\x0cH\x07\x88\x01\x01\x12\x1b\n\x0e\x64\x65v_use_shadow\x18\x0b \x01(\x08H\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0f\n\r_partial_msatB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_labelB\x10\n\x0e_localinvreqidB\x11\n\x0f_dev_use_shadow\"\xa1\x01\n\x0cXpayResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"=\n\x19SignmessagewithkeyRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"`\n\x1aSignmessagewithkeyResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x0e\n\x06\x62\x61se64\x18\x04 \x01(\t\"\xcd\x01\n\x17ListchannelmovesRequest\x12\x46\n\x05index\x18\x01 \x01(\x0e\x32\x32.cln.ListchannelmovesRequest.ListchannelmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"$\n\x15ListchannelmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"S\n\x18ListchannelmovesResponse\x12\x37\n\x0c\x63hannelmoves\x18\x01 \x03(\x0b\x32!.cln.ListchannelmovesChannelmoves\"\xa9\x04\n\x1cListchannelmovesChannelmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12]\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32H.cln.ListchannelmovesChannelmoves.ListchannelmovesChannelmovesPrimaryTag\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x07part_id\x18\x08 \x01(\x04H\x01\x88\x01\x01\x12\x15\n\x08group_id\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x1e\n\tfees_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\"\x96\x01\n&ListchannelmovesChannelmovesPrimaryTag\x12\x0b\n\x07INVOICE\x10\x00\x12\n\n\x06ROUTED\x10\x01\x12\n\n\x06PUSHED\x10\x02\x12\r\n\tLEASE_FEE\x10\x03\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x04\x12\x0f\n\x0bPENALTY_ADJ\x10\x05\x12\x11\n\rJOURNAL_ENTRY\x10\x06\x42\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_id\"\xc5\x01\n\x15ListchainmovesRequest\x12\x42\n\x05index\x18\x01 \x01(\x0e\x32..cln.ListchainmovesRequest.ListchainmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"\"\n\x13ListchainmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"K\n\x16ListchainmovesResponse\x12\x31\n\nchainmoves\x18\x01 \x03(\x0b\x32\x1d.cln.ListchainmovesChainmoves\"\xd4\x06\n\x18ListchainmovesChainmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12U\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32@.cln.ListchainmovesChainmoves.ListchainmovesChainmovesPrimaryTag\x12\x14\n\x07peer_id\x18\x08 \x01(\x0cH\x00\x88\x01\x01\x12 \n\x13originating_account\x18\t \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x02\x88\x01\x01\x12\x1b\n\x04utxo\x18\x0b \x01(\x0b\x32\r.cln.Outpoint\x12\x19\n\x0cpayment_hash\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12 \n\x0boutput_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0coutput_count\x18\x0e \x01(\rH\x04\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0f \x01(\r\x12\x12\n\nextra_tags\x18\x10 \x03(\t\"\x95\x02\n\"ListchainmovesChainmovesPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x42\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x10\n\x0e_spending_txidB\x0f\n\r_payment_hashB\x0f\n\r_output_count\"\xe9\x01\n\x18ListnetworkeventsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12H\n\x05index\x18\x02 \x01(\x0e\x32\x34.cln.ListnetworkeventsRequest.ListnetworkeventsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"%\n\x16ListnetworkeventsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"W\n\x19ListnetworkeventsResponse\x12:\n\rnetworkevents\x18\x01 \x03(\x0b\x32#.cln.ListnetworkeventsNetworkevents\"\xf2\x01\n\x1eListnetworkeventsNetworkevents\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x0f\n\x07peer_id\x18\x03 \x01(\x0c\x12\x11\n\titem_type\x18\x04 \x01(\t\x12\x13\n\x06reason\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rduration_nsec\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x1e\n\x11\x63onnect_attempted\x18\x07 \x01(\x08H\x02\x88\x01\x01\x42\t\n\x07_reasonB\x10\n\x0e_duration_nsecB\x14\n\x12_connect_attempted\"/\n\x16\x44\x65lnetworkeventRequest\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\"\x19\n\x17\x44\x65lnetworkeventResponse\"\xf6\x01\n\x1a\x43lnrestregisterpathRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x12\n\nrpc_method\x18\x02 \x01(\t\x12H\n\x11rune_restrictions\x18\x03 \x01(\x0b\x32(.cln.ClnrestregisterpathRuneRestrictionsH\x00\x88\x01\x01\x12\x1a\n\rrune_required\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x18\n\x0bhttp_method\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x14\n\x12_rune_restrictionsB\x10\n\x0e_rune_requiredB\x0e\n\x0c_http_method\"\x1d\n\x1b\x43lnrestregisterpathResponse\"\xda\x01\n#ClnrestregisterpathRuneRestrictions\x12\x13\n\x06nodeid\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x44\n\x06params\x18\x03 \x03(\x0b\x32\x34.cln.ClnrestregisterpathRuneRestrictions.ParamsEntry\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_nodeidB\t\n\x07_method\",\n\x18ListcurrencyratesRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\"W\n\x19ListcurrencyratesResponse\x12:\n\rcurrencyrates\x18\x01 \x03(\x0b\x32#.cln.ListcurrencyratesCurrencyrates\"@\n\x1eListcurrencyratesCurrencyrates\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x01\":\n\x16\x43urrencyconvertRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x10\n\x08\x63urrency\x18\x02 \x01(\t\"4\n\x17\x43urrencyconvertResponse\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\"G\n\x13\x43urrencyrateRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_source\"$\n\x14\x43urrencyrateResponse\x12\x0c\n\x04rate\x18\x01 \x01(\x01\"\x95\x02\n\x11SendamountRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x17\n\npayer_note\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x12\n\x05label\x18\x08 \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_label\"\xa7\x01\n\x12SendamountResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"e\n\x12\x43reateproofRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\x11\n\x04note\x18\x02 \x01(\tH\x00\x88\x01\x01\x12 \n\x07include\x18\x03 \x03(\x0b\x32\x0f.cln.ProofFieldB\x07\n\x05_note\"=\n\x13\x43reateproofResponse\x12&\n\x06proofs\x18\x01 \x03(\x0b\x32\x16.cln.CreateproofProofs\"\xb6\x01\n\x11\x43reateproofProofs\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\x12.\n\x15offer_fields_included\x18\x02 \x03(\x0b\x32\x0f.cln.ProofField\x12/\n\x16invreq_fields_included\x18\x03 \x03(\x0b\x32\x0f.cln.ProofField\x12\x30\n\x17invoice_fields_included\x18\x04 \x03(\x0b\x32\x0f.cln.ProofField\"\xd7\x02\n\x0fXkeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x05 \x03(\t\x12\x16\n\tretry_for\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x36\n\textratlvs\x18\x08 \x03(\x0b\x32#.cln.XkeysendRequest.ExtratlvsEntry\x1a\x30\n\x0e\x45xtratlvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x08\n\x06_labelB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelay\"\xa5\x01\n\x10XkeysendResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"3\n\x0fGracefulRequest\x12\x14\n\x07timeout\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\"H\n\x10GracefulResponse\x12\x1d\n\x15pending_htlc_expiries\x18\x01 \x03(\r\x12\x15\n\rpending_peers\x18\x02 \x03(\x0c\"\x1e\n\x1cStreamBalanceSnapshotRequest\"\x86\x01\n\x1b\x42\x61lanceSnapshotNotification\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\r\x12.\n\x08\x61\x63\x63ounts\x18\x04 \x03(\x0b\x32\x1c.cln.BalanceSnapshotAccounts\"c\n\x17\x42\x61lanceSnapshotAccounts\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12!\n\x0c\x62\x61lance_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x03 \x01(\t\"\x19\n\x17StreamBlockAddedRequest\"6\n\x16\x42lockAddedNotification\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0e\n\x06height\x18\x02 \x01(\r\" \n\x1eStreamChannelOpenFailedRequest\"3\n\x1d\x43hannelOpenFailedNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"\x1c\n\x1aStreamChannelOpenedRequest\"w\n\x19\x43hannelOpenedNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12!\n\x0c\x66unding_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\x12\x15\n\rchannel_ready\x18\x04 \x01(\x08\"\"\n StreamChannelStateChangedRequest\"\xc1\x03\n\x1f\x43hannelStateChangedNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x04 \x01(\t\x12)\n\told_state\x18\x05 \x01(\x0e\x32\x11.cln.ChannelStateH\x01\x88\x01\x01\x12$\n\tnew_state\x18\x06 \x01(\x0e\x32\x11.cln.ChannelState\x12L\n\x05\x63\x61use\x18\x07 \x01(\x0e\x32=.cln.ChannelStateChangedNotification.ChannelStateChangedCause\x12\x14\n\x07message\x18\x08 \x01(\tH\x02\x88\x01\x01\"c\n\x18\x43hannelStateChangedCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\x13\n\x11_short_channel_idB\x0c\n\n_old_stateB\n\n\x08_message\"\x16\n\x14StreamConnectRequest\"\xbe\x01\n\x17PeerConnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x44\n\tdirection\x18\x02 \x01(\x0e\x32\x31.cln.PeerConnectNotification.PeerConnectDirection\x12(\n\x07\x61\x64\x64ress\x18\x03 \x01(\x0b\x32\x17.cln.PeerConnectAddress\"\'\n\x14PeerConnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\x9a\x02\n\x12PeerConnectAddress\x12\x41\n\titem_type\x18\x01 \x01(\x0e\x32..cln.PeerConnectAddress.PeerConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"c\n\x16PeerConnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"\x1b\n\x19StreamCoinMovementRequest\"\xaf\x0b\n\x18\x43oinMovementNotification\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x11\n\tcoin_type\x18\x02 \x01(\t\x12\x0f\n\x07node_id\x18\x03 \x01(\x0c\x12\x41\n\titem_type\x18\x04 \x01(\x0e\x32..cln.CoinMovementNotification.CoinMovementType\x12\x1a\n\rcreated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\naccount_id\x18\x06 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12\x10\n\x04tags\x18\n \x03(\tB\x02\x18\x01\x12N\n\x0bprimary_tag\x18\x0b \x01(\x0e\x32\x34.cln.CoinMovementNotification.CoinMovementPrimaryTagH\x01\x88\x01\x01\x12\x12\n\nextra_tags\x18\x0c \x03(\t\x12\x19\n\x0cpayment_hash\x18\r \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07part_id\x18\x0e \x01(\x04H\x03\x88\x01\x01\x12\x15\n\x08group_id\x18\x0f \x01(\x04H\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12 \n\x04utxo\x18\x11 \x01(\x0b\x32\r.cln.OutpointH\x06\x88\x01\x01\x12\x14\n\x07peer_id\x18\x12 \x01(\x0cH\x07\x88\x01\x01\x12 \n\x13originating_account\x18\x13 \x01(\tH\x08\x88\x01\x01\x12\x15\n\x04txid\x18\x14 \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12\x1a\n\rspending_txid\x18\x15 \x01(\x0cH\n\x88\x01\x01\x12\x1a\n\tutxo_txid\x18\x16 \x01(\x0c\x42\x02\x18\x01H\x0b\x88\x01\x01\x12\x15\n\x04vout\x18\x17 \x01(\rB\x02\x18\x01H\x0c\x88\x01\x01\x12%\n\x0boutput_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x19\n\x0coutput_count\x18\x19 \x01(\rH\x0e\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\x1a \x01(\rH\x0f\x88\x01\x01\"\xf7\x02\n\x16\x43oinMovementPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x12\x0b\n\x07INVOICE\x10\x10\x12\n\n\x06ROUTED\x10\x11\x12\n\n\x06PUSHED\x10\x12\x12\r\n\tLEASE_FEE\x10\x13\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x14\x12\x0f\n\x0bPENALTY_ADJ\x10\x15\x12\x11\n\rJOURNAL_ENTRY\x10\x16\"2\n\x10\x43oinMovementType\x12\x0f\n\x0b\x43HANNEL_MVT\x10\x00\x12\r\n\tCHAIN_MVT\x10\x01\x42\x10\n\x0e_created_indexB\x0e\n\x0c_primary_tagB\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_idB\x0c\n\n_fees_msatB\x07\n\x05_utxoB\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x07\n\x05_txidB\x10\n\x0e_spending_txidB\x0c\n\n_utxo_txidB\x07\n\x05_voutB\x0e\n\x0c_output_msatB\x0f\n\r_output_countB\x0e\n\x0c_blockheight\"\x18\n\x16StreamCustomMsgRequest\"9\n\x15\x43ustomMsgNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\" \n\x1eStreamDeprecatedOneshotRequest\"6\n\x1d\x44\x65precatedOneshotNotification\x12\x15\n\rdeprecated_ok\x18\x01 \x01(\x08\"\x19\n\x17StreamDisconnectRequest\"$\n\x16\x44isconnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\"\x1b\n\x19StreamForwardEventRequest\"\x88\x05\n\x18\x46orwardEventNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x12\n\nin_channel\x18\x02 \x01(\t\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x08out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12@\n\x06status\x18\x07 \x01(\x0e\x32\x30.cln.ForwardEventNotification.ForwardEventStatus\x12\x15\n\x08\x66\x61ilcode\x18\x08 \x01(\rH\x03\x88\x01\x01\x12\x17\n\nfailreason\x18\t \x01(\tH\x04\x88\x01\x01\x12\x43\n\x05style\x18\n \x01(\x0e\x32/.cln.ForwardEventNotification.ForwardEventStyleH\x05\x88\x01\x01\x12\x15\n\rreceived_time\x18\x0b \x01(\x01\x12\x1a\n\rresolved_time\x18\x0c \x01(\x01H\x06\x88\x01\x01\"L\n\x12\x46orwardEventStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"(\n\x11\x46orwardEventStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_out_msatB\x0b\n\t_fee_msatB\x0b\n\t_failcodeB\r\n\x0b_failreasonB\x08\n\x06_styleB\x10\n\x0e_resolved_time\"\x1e\n\x1cStreamInvoiceCreationRequest\"g\n\x1bInvoiceCreationNotification\x12\x1e\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12\r\n\x05label\x18\x03 \x01(\tB\x07\n\x05_msat\"\x1d\n\x1bStreamInvoicePaymentRequest\"\x8b\x01\n\x1aInvoicePaymentNotification\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12$\n\x08outpoint\x18\x03 \x01(\x0b\x32\r.cln.OutpointH\x00\x88\x01\x01\x12\r\n\x05label\x18\x04 \x01(\tB\x0b\n\t_outpoint\"\x12\n\x10StreamLogRequest\"\xca\x01\n\x0fLogNotification\x12,\n\x05level\x18\x01 \x01(\x0e\x32\x1d.cln.LogNotification.LogLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"K\n\x08LogLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05TRACE\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07UNUSUAL\x10\x04\x12\n\n\x06\x42ROKEN\x10\x05\"&\n$StreamOnionMessageForwardFailRequest\"\xef\x01\n#OnionMessageForwardFailNotification\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x10\n\x08incoming\x18\x02 \x01(\x0c\x12\x10\n\x08path_key\x18\x03 \x01(\x0c\x12\x15\n\x08outgoing\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x19\n\x0cnext_node_id\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12&\n\x19next_short_channel_id_dir\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_outgoingB\x0f\n\r_next_node_idB\x1c\n\x1a_next_short_channel_id_dir\"\"\n StreamOpenChannelPeerSigsRequest\"J\n\x1fOpenChannelPeerSigsNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"\x1c\n\x1aStreamPluginStartedRequest\"V\n\x19PluginStartedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1c\n\x1aStreamPluginStoppedRequest\"V\n\x19PluginStoppedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1d\n\x1bStreamSendPayFailureRequest\"b\n\x1aSendPayFailureNotification\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x17.cln.SendpayFailureData\"\xc1\t\n\x12SendpayFailureData\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x06\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x17\n\ncreated_at\x18\n \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\n\x88\x01\x01\x12\x45\n\x06status\x18\x0c \x01(\x0e\x32\x30.cln.SendpayFailureData.SendpayFailureDataStatusH\x0b\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x0c\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\r\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x0e\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x0f\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\x10\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\x11\x88\x01\x01\x12\x17\n\nonionreply\x18\x13 \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0c\x65rring_index\x18\x14 \x01(\rH\x13\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x15 \x01(\rH\x14\x88\x01\x01\x12\x19\n\x0c\x66\x61ilcodename\x18\x16 \x01(\tH\x15\x88\x01\x01\x12\x18\n\x0b\x65rring_node\x18\x17 \x01(\x0cH\x16\x88\x01\x01\x12\x1b\n\x0e\x65rring_channel\x18\x18 \x01(\tH\x17\x88\x01\x01\x12\x1d\n\x10\x65rring_direction\x18\x19 \x01(\rH\x18\x88\x01\x01\x12\x18\n\x0braw_message\x18\x1a \x01(\x0cH\x19\x88\x01\x01\"A\n\x18SendpayFailureDataStatus\x12\n\n\x06\x46\x41ILED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x10\n\x0e_created_indexB\x05\n\x03_idB\x0f\n\r_payment_hashB\n\n\x08_groupidB\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_created_atB\x0f\n\r_completed_atB\t\n\x07_statusB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronionB\r\n\x0b_onionreplyB\x0f\n\r_erring_indexB\x0b\n\t_failcodeB\x0f\n\r_failcodenameB\x0e\n\x0c_erring_nodeB\x11\n\x0f_erring_channelB\x13\n\x11_erring_directionB\x0e\n\x0c_raw_message\"\x1d\n\x1bStreamSendPaySuccessRequest\"\xcc\x05\n\x1aSendPaySuccessNotification\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\ncreated_at\x18\n \x01(\x04\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32\x34.cln.SendPaySuccessNotification.SendpaySuccessStatus\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x05\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\n\x88\x01\x01\"$\n\x14SendpaySuccessStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x0f\n\r_completed_atB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronion\"\x17\n\x15StreamShutdownRequest\"\x16\n\x14ShutdownNotification\"\x16\n\x14StreamWarningRequest\"\xae\x01\n\x13WarningNotification\x12\x34\n\x05level\x18\x01 \x01(\x0e\x32%.cln.WarningNotification.WarningLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"#\n\x0cWarningLevel\x12\x08\n\x04WARN\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"\x19\n\x17StreamPayPartEndRequest\"\xf1\x03\n\x16PayPartEndNotification\x12<\n\x06status\x18\x01 \x01(\x0e\x32,.cln.PayPartEndNotification.PayPartEndStatus\x12\x10\n\x08\x64uration\x18\x02 \x01(\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x17\n\nfailed_msg\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x61iled_node_id\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12$\n\x17\x66\x61iled_short_channel_id\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10\x66\x61iled_direction\x18\t \x01(\rH\x03\x88\x01\x01\x12\x17\n\nerror_code\x18\n \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rerror_message\x18\x0b \x01(\tH\x05\x88\x01\x01\",\n\x10PayPartEndStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x0b\n\x07\x46\x41ILURE\x10\x01\x42\r\n\x0b_failed_msgB\x11\n\x0f_failed_node_idB\x1a\n\x18_failed_short_channel_idB\x13\n\x11_failed_directionB\r\n\x0b_error_codeB\x10\n\x0e_error_message\"\x1b\n\x19StreamPayPartStartRequest\"\xc2\x01\n\x18PayPartStartNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x0e\n\x06partid\x18\x03 \x01(\x04\x12\'\n\x12total_payment_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x0c\x61ttempt_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x04hops\x18\x06 \x03(\x0b\x32\x15.cln.PayPartStartHops\"\x9f\x01\n\x10PayPartStartHops\x12\x11\n\tnext_node\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\r\x12$\n\x0f\x63hannel_in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x63hannel_out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount2\xbah\n\x04Node\x12\x36\n\x07Getinfo\x12\x13.cln.GetinfoRequest\x1a\x14.cln.GetinfoResponse\"\x00\x12<\n\tListPeers\x12\x15.cln.ListpeersRequest\x1a\x16.cln.ListpeersResponse\"\x00\x12<\n\tListFunds\x12\x15.cln.ListfundsRequest\x1a\x16.cln.ListfundsResponse\"\x00\x12\x36\n\x07SendPay\x12\x13.cln.SendpayRequest\x1a\x14.cln.SendpayResponse\"\x00\x12\x45\n\x0cListChannels\x12\x18.cln.ListchannelsRequest\x1a\x19.cln.ListchannelsResponse\"\x00\x12<\n\tAddGossip\x12\x15.cln.AddgossipRequest\x1a\x16.cln.AddgossipResponse\"\x00\x12H\n\rAddPsbtOutput\x12\x19.cln.AddpsbtoutputRequest\x1a\x1a.cln.AddpsbtoutputResponse\"\x00\x12H\n\rAutoCleanOnce\x12\x19.cln.AutocleanonceRequest\x1a\x1a.cln.AutocleanonceResponse\"\x00\x12N\n\x0f\x41utoCleanStatus\x12\x1b.cln.AutocleanstatusRequest\x1a\x1c.cln.AutocleanstatusResponse\"\x00\x12\x45\n\x0c\x43heckMessage\x12\x18.cln.CheckmessageRequest\x1a\x19.cln.CheckmessageResponse\"\x00\x12\x30\n\x05\x43lose\x12\x11.cln.CloseRequest\x1a\x12.cln.CloseResponse\"\x00\x12:\n\x0b\x43onnectPeer\x12\x13.cln.ConnectRequest\x1a\x14.cln.ConnectResponse\"\x00\x12H\n\rCreateInvoice\x12\x19.cln.CreateinvoiceRequest\x1a\x1a.cln.CreateinvoiceResponse\"\x00\x12<\n\tDatastore\x12\x15.cln.DatastoreRequest\x1a\x16.cln.DatastoreResponse\"\x00\x12K\n\x0e\x44\x61tastoreUsage\x12\x1a.cln.DatastoreusageRequest\x1a\x1b.cln.DatastoreusageResponse\"\x00\x12\x42\n\x0b\x43reateOnion\x12\x17.cln.CreateonionRequest\x1a\x18.cln.CreateonionResponse\"\x00\x12\x45\n\x0c\x44\x65lDatastore\x12\x18.cln.DeldatastoreRequest\x1a\x19.cln.DeldatastoreResponse\"\x00\x12?\n\nDelInvoice\x12\x16.cln.DelinvoiceRequest\x1a\x17.cln.DelinvoiceResponse\"\x00\x12Q\n\x10\x44\x65vForgetChannel\x12\x1c.cln.DevforgetchannelRequest\x1a\x1d.cln.DevforgetchannelResponse\"\x00\x12Q\n\x10\x45mergencyRecover\x12\x1c.cln.EmergencyrecoverRequest\x1a\x1d.cln.EmergencyrecoverResponse\"\x00\x12\x66\n\x17GetEmergencyRecoverData\x12#.cln.GetemergencyrecoverdataRequest\x1a$.cln.GetemergencyrecoverdataResponse\"\x00\x12\x45\n\x0c\x45xposeSecret\x12\x18.cln.ExposesecretRequest\x1a\x19.cln.ExposesecretResponse\"\x00\x12\x36\n\x07Recover\x12\x13.cln.RecoverRequest\x1a\x14.cln.RecoverResponse\"\x00\x12K\n\x0eRecoverChannel\x12\x1a.cln.RecoverchannelRequest\x1a\x1b.cln.RecoverchannelResponse\"\x00\x12\x36\n\x07Invoice\x12\x13.cln.InvoiceRequest\x1a\x14.cln.InvoiceResponse\"\x00\x12Q\n\x14\x43reateInvoiceRequest\x12\x1a.cln.InvoicerequestRequest\x1a\x1b.cln.InvoicerequestResponse\"\x00\x12`\n\x15\x44isableInvoiceRequest\x12!.cln.DisableinvoicerequestRequest\x1a\".cln.DisableinvoicerequestResponse\"\x00\x12Z\n\x13ListInvoiceRequests\x12\x1f.cln.ListinvoicerequestsRequest\x1a .cln.ListinvoicerequestsResponse\"\x00\x12H\n\rListDatastore\x12\x19.cln.ListdatastoreRequest\x1a\x1a.cln.ListdatastoreResponse\"\x00\x12\x45\n\x0cListInvoices\x12\x18.cln.ListinvoicesRequest\x1a\x19.cln.ListinvoicesResponse\"\x00\x12<\n\tSendOnion\x12\x15.cln.SendonionRequest\x1a\x16.cln.SendonionResponse\"\x00\x12\x45\n\x0cListSendPays\x12\x18.cln.ListsendpaysRequest\x1a\x19.cln.ListsendpaysResponse\"\x00\x12Q\n\x10ListTransactions\x12\x1c.cln.ListtransactionsRequest\x1a\x1d.cln.ListtransactionsResponse\"\x00\x12?\n\nMakeSecret\x12\x16.cln.MakesecretRequest\x1a\x17.cln.MakesecretResponse\"\x00\x12*\n\x03Pay\x12\x0f.cln.PayRequest\x1a\x10.cln.PayResponse\"\x00\x12<\n\tListNodes\x12\x15.cln.ListnodesRequest\x1a\x16.cln.ListnodesResponse\"\x00\x12K\n\x0eWaitAnyInvoice\x12\x1a.cln.WaitanyinvoiceRequest\x1a\x1b.cln.WaitanyinvoiceResponse\"\x00\x12\x42\n\x0bWaitInvoice\x12\x17.cln.WaitinvoiceRequest\x1a\x18.cln.WaitinvoiceResponse\"\x00\x12\x42\n\x0bWaitSendPay\x12\x17.cln.WaitsendpayRequest\x1a\x18.cln.WaitsendpayResponse\"\x00\x12\x36\n\x07NewAddr\x12\x13.cln.NewaddrRequest\x1a\x14.cln.NewaddrResponse\"\x00\x12\x39\n\x08Withdraw\x12\x14.cln.WithdrawRequest\x1a\x15.cln.WithdrawResponse\"\x00\x12\x36\n\x07KeySend\x12\x13.cln.KeysendRequest\x1a\x14.cln.KeysendResponse\"\x00\x12\x39\n\x08\x46undPsbt\x12\x14.cln.FundpsbtRequest\x1a\x15.cln.FundpsbtResponse\"\x00\x12\x39\n\x08SendPsbt\x12\x14.cln.SendpsbtRequest\x1a\x15.cln.SendpsbtResponse\"\x00\x12\x39\n\x08SignPsbt\x12\x14.cln.SignpsbtRequest\x1a\x15.cln.SignpsbtResponse\"\x00\x12\x39\n\x08UtxoPsbt\x12\x14.cln.UtxopsbtRequest\x1a\x15.cln.UtxopsbtResponse\"\x00\x12<\n\tTxDiscard\x12\x15.cln.TxdiscardRequest\x1a\x16.cln.TxdiscardResponse\"\x00\x12<\n\tTxPrepare\x12\x15.cln.TxprepareRequest\x1a\x16.cln.TxprepareResponse\"\x00\x12\x33\n\x06TxSend\x12\x12.cln.TxsendRequest\x1a\x13.cln.TxsendResponse\"\x00\x12Q\n\x10ListPeerChannels\x12\x1c.cln.ListpeerchannelsRequest\x1a\x1d.cln.ListpeerchannelsResponse\"\x00\x12W\n\x12ListClosedChannels\x12\x1e.cln.ListclosedchannelsRequest\x1a\x1f.cln.ListclosedchannelsResponse\"\x00\x12\x33\n\x06\x44\x65\x63ode\x12\x12.cln.DecodeRequest\x1a\x13.cln.DecodeResponse\"\x00\x12\x33\n\x06\x44\x65lPay\x12\x12.cln.DelpayRequest\x1a\x13.cln.DelpayResponse\"\x00\x12?\n\nDelForward\x12\x16.cln.DelforwardRequest\x1a\x17.cln.DelforwardResponse\"\x00\x12\x45\n\x0c\x44isableOffer\x12\x18.cln.DisableofferRequest\x1a\x19.cln.DisableofferResponse\"\x00\x12\x42\n\x0b\x45nableOffer\x12\x17.cln.EnableofferRequest\x1a\x18.cln.EnableofferResponse\"\x00\x12?\n\nDisconnect\x12\x16.cln.DisconnectRequest\x1a\x17.cln.DisconnectResponse\"\x00\x12\x39\n\x08\x46\x65\x65rates\x12\x14.cln.FeeratesRequest\x1a\x15.cln.FeeratesResponse\"\x00\x12\x42\n\x0b\x46\x65tchBip353\x12\x17.cln.Fetchbip353Request\x1a\x18.cln.Fetchbip353Response\"\x00\x12\x45\n\x0c\x46\x65tchInvoice\x12\x18.cln.FetchinvoiceRequest\x1a\x19.cln.FetchinvoiceResponse\"\x00\x12\x63\n\x16\x43\x61ncelRecurringInvoice\x12\".cln.CancelrecurringinvoiceRequest\x1a#.cln.CancelrecurringinvoiceResponse\"\x00\x12T\n\x11\x46undChannelCancel\x12\x1d.cln.FundchannelCancelRequest\x1a\x1e.cln.FundchannelCancelResponse\"\x00\x12Z\n\x13\x46undChannelComplete\x12\x1f.cln.FundchannelCompleteRequest\x1a .cln.FundchannelCompleteResponse\"\x00\x12\x42\n\x0b\x46undChannel\x12\x17.cln.FundchannelRequest\x1a\x18.cln.FundchannelResponse\"\x00\x12Q\n\x10\x46undChannelStart\x12\x1c.cln.FundchannelStartRequest\x1a\x1d.cln.FundchannelStartResponse\"\x00\x12\x33\n\x06GetLog\x12\x12.cln.GetlogRequest\x1a\x13.cln.GetlogResponse\"\x00\x12\x45\n\x0c\x46underUpdate\x12\x18.cln.FunderupdateRequest\x1a\x19.cln.FunderupdateResponse\"\x00\x12\x39\n\x08GetRoute\x12\x14.cln.GetrouteRequest\x1a\x15.cln.GetrouteResponse\"\x00\x12H\n\rListAddresses\x12\x19.cln.ListaddressesRequest\x1a\x1a.cln.ListaddressesResponse\"\x00\x12\x45\n\x0cListForwards\x12\x18.cln.ListforwardsRequest\x1a\x19.cln.ListforwardsResponse\"\x00\x12?\n\nListOffers\x12\x16.cln.ListoffersRequest\x1a\x17.cln.ListoffersResponse\"\x00\x12\x39\n\x08ListPays\x12\x14.cln.ListpaysRequest\x1a\x15.cln.ListpaysResponse\"\x00\x12<\n\tListHtlcs\x12\x15.cln.ListhtlcsRequest\x1a\x16.cln.ListhtlcsResponse\"\x00\x12Q\n\x10MultiFundChannel\x12\x1c.cln.MultifundchannelRequest\x1a\x1d.cln.MultifundchannelResponse\"\x00\x12H\n\rMultiWithdraw\x12\x19.cln.MultiwithdrawRequest\x1a\x1a.cln.MultiwithdrawResponse\"\x00\x12\x30\n\x05Offer\x12\x11.cln.OfferRequest\x1a\x12.cln.OfferResponse\"\x00\x12Q\n\x10OpenChannelAbort\x12\x1c.cln.OpenchannelAbortRequest\x1a\x1d.cln.OpenchannelAbortResponse\"\x00\x12N\n\x0fOpenChannelBump\x12\x1b.cln.OpenchannelBumpRequest\x1a\x1c.cln.OpenchannelBumpResponse\"\x00\x12N\n\x0fOpenChannelInit\x12\x1b.cln.OpenchannelInitRequest\x1a\x1c.cln.OpenchannelInitResponse\"\x00\x12T\n\x11OpenChannelSigned\x12\x1d.cln.OpenchannelSignedRequest\x1a\x1e.cln.OpenchannelSignedResponse\"\x00\x12T\n\x11OpenChannelUpdate\x12\x1d.cln.OpenchannelUpdateRequest\x1a\x1e.cln.OpenchannelUpdateResponse\"\x00\x12-\n\x04Ping\x12\x10.cln.PingRequest\x1a\x11.cln.PingResponse\"\x00\x12\x33\n\x06Plugin\x12\x12.cln.PluginRequest\x1a\x13.cln.PluginResponse\"\x00\x12H\n\rRenePayStatus\x12\x19.cln.RenepaystatusRequest\x1a\x1a.cln.RenepaystatusResponse\"\x00\x12\x36\n\x07RenePay\x12\x13.cln.RenepayRequest\x1a\x14.cln.RenepayResponse\"\x00\x12H\n\rReserveInputs\x12\x19.cln.ReserveinputsRequest\x1a\x1a.cln.ReserveinputsResponse\"\x00\x12H\n\rSendCustomMsg\x12\x19.cln.SendcustommsgRequest\x1a\x1a.cln.SendcustommsgResponse\"\x00\x12\x42\n\x0bSendInvoice\x12\x17.cln.SendinvoiceRequest\x1a\x18.cln.SendinvoiceResponse\"\x00\x12?\n\nSetChannel\x12\x16.cln.SetchannelRequest\x1a\x17.cln.SetchannelResponse\"\x00\x12<\n\tSetConfig\x12\x15.cln.SetconfigRequest\x1a\x16.cln.SetconfigResponse\"\x00\x12K\n\x0eSetPsbtVersion\x12\x1a.cln.SetpsbtversionRequest\x1a\x1b.cln.SetpsbtversionResponse\"\x00\x12\x42\n\x0bSignInvoice\x12\x17.cln.SigninvoiceRequest\x1a\x18.cln.SigninvoiceResponse\"\x00\x12\x42\n\x0bSignMessage\x12\x17.cln.SignmessageRequest\x1a\x18.cln.SignmessageResponse\"\x00\x12?\n\nSpliceInit\x12\x16.cln.SpliceInitRequest\x1a\x17.cln.SpliceInitResponse\"\x00\x12\x45\n\x0cSpliceSigned\x12\x18.cln.SpliceSignedRequest\x1a\x19.cln.SpliceSignedResponse\"\x00\x12\x45\n\x0cSpliceUpdate\x12\x18.cln.SpliceUpdateRequest\x1a\x19.cln.SpliceUpdateResponse\"\x00\x12\x39\n\x08SpliceIn\x12\x14.cln.SpliceinRequest\x1a\x15.cln.SpliceinResponse\"\x00\x12<\n\tSpliceOut\x12\x15.cln.SpliceoutRequest\x1a\x16.cln.SpliceoutResponse\"\x00\x12<\n\tDevSplice\x12\x15.cln.DevspliceRequest\x1a\x16.cln.DevspliceResponse\"\x00\x12N\n\x0fUnreserveInputs\x12\x1b.cln.UnreserveinputsRequest\x1a\x1c.cln.UnreserveinputsResponse\"\x00\x12H\n\rUpgradeWallet\x12\x19.cln.UpgradewalletRequest\x1a\x1a.cln.UpgradewalletResponse\"\x00\x12N\n\x0fWaitBlockHeight\x12\x1b.cln.WaitblockheightRequest\x1a\x1c.cln.WaitblockheightResponse\"\x00\x12-\n\x04Wait\x12\x10.cln.WaitRequest\x1a\x11.cln.WaitResponse\"\x00\x12\x42\n\x0bListConfigs\x12\x17.cln.ListconfigsRequest\x1a\x18.cln.ListconfigsResponse\"\x00\x12-\n\x04Stop\x12\x10.cln.StopRequest\x1a\x11.cln.StopResponse\"\x00\x12-\n\x04Help\x12\x10.cln.HelpRequest\x1a\x11.cln.HelpResponse\"\x00\x12T\n\x11PreApproveKeysend\x12\x1d.cln.PreapprovekeysendRequest\x1a\x1e.cln.PreapprovekeysendResponse\"\x00\x12T\n\x11PreApproveInvoice\x12\x1d.cln.PreapproveinvoiceRequest\x1a\x1e.cln.PreapproveinvoiceResponse\"\x00\x12\x45\n\x0cStaticBackup\x12\x18.cln.StaticbackupRequest\x1a\x19.cln.StaticbackupResponse\"\x00\x12N\n\x0f\x42kprChannelsApy\x12\x1b.cln.BkprchannelsapyRequest\x1a\x1c.cln.BkprchannelsapyResponse\"\x00\x12T\n\x11\x42kprDumpIncomeCsv\x12\x1d.cln.BkprdumpincomecsvRequest\x1a\x1e.cln.BkprdumpincomecsvResponse\"\x00\x12\x42\n\x0b\x42kprInspect\x12\x17.cln.BkprinspectRequest\x1a\x18.cln.BkprinspectResponse\"\x00\x12`\n\x15\x42kprListAccountEvents\x12!.cln.BkprlistaccounteventsRequest\x1a\".cln.BkprlistaccounteventsResponse\"\x00\x12Q\n\x10\x42kprListBalances\x12\x1c.cln.BkprlistbalancesRequest\x1a\x1d.cln.BkprlistbalancesResponse\"\x00\x12K\n\x0e\x42kprListIncome\x12\x1a.cln.BkprlistincomeRequest\x1a\x1b.cln.BkprlistincomeResponse\"\x00\x12{\n\x1e\x42kprEditDescriptionByPaymentId\x12*.cln.BkpreditdescriptionbypaymentidRequest\x1a+.cln.BkpreditdescriptionbypaymentidResponse\"\x00\x12x\n\x1d\x42kprEditDescriptionByOutpoint\x12).cln.BkpreditdescriptionbyoutpointRequest\x1a*.cln.BkpreditdescriptionbyoutpointResponse\"\x00\x12?\n\nBkprReport\x12\x16.cln.BkprreportRequest\x1a\x17.cln.BkprreportResponse\"\x00\x12H\n\rBlacklistRune\x12\x19.cln.BlacklistruneRequest\x1a\x1a.cln.BlacklistruneResponse\"\x00\x12<\n\tCheckRune\x12\x15.cln.CheckruneRequest\x1a\x16.cln.CheckruneResponse\"\x00\x12?\n\nCreateRune\x12\x16.cln.CreateruneRequest\x1a\x17.cln.CreateruneResponse\"\x00\x12<\n\tShowRunes\x12\x15.cln.ShowrunesRequest\x1a\x16.cln.ShowrunesResponse\"\x00\x12Q\n\x10\x41skReneUnreserve\x12\x1c.cln.AskreneunreserveRequest\x1a\x1d.cln.AskreneunreserveResponse\"\x00\x12T\n\x11\x41skReneListLayers\x12\x1d.cln.AskrenelistlayersRequest\x1a\x1e.cln.AskrenelistlayersResponse\"\x00\x12W\n\x12\x41skReneCreateLayer\x12\x1e.cln.AskrenecreatelayerRequest\x1a\x1f.cln.AskrenecreatelayerResponse\"\x00\x12W\n\x12\x41skReneRemoveLayer\x12\x1e.cln.AskreneremovelayerRequest\x1a\x1f.cln.AskreneremovelayerResponse\"\x00\x12o\n\x1a\x41skReneRemoveChannelUpdate\x12&.cln.AskreneremovechannelupdateRequest\x1a\'.cln.AskreneremovechannelupdateResponse\"\x00\x12K\n\x0e\x41skReneReserve\x12\x1a.cln.AskrenereserveRequest\x1a\x1b.cln.AskrenereserveResponse\"\x00\x12?\n\nAskReneAge\x12\x16.cln.AskreneageRequest\x1a\x17.cln.AskreneageResponse\"\x00\x12<\n\tGetRoutes\x12\x15.cln.GetroutesRequest\x1a\x16.cln.GetroutesResponse\"\x00\x12W\n\x12\x41skReneDisableNode\x12\x1e.cln.AskrenedisablenodeRequest\x1a\x1f.cln.AskrenedisablenodeResponse\"\x00\x12]\n\x14\x41skReneInformChannel\x12 .cln.AskreneinformchannelRequest\x1a!.cln.AskreneinformchannelResponse\"\x00\x12]\n\x14\x41skReneCreateChannel\x12 .cln.AskrenecreatechannelRequest\x1a!.cln.AskrenecreatechannelResponse\"\x00\x12]\n\x14\x41skReneUpdateChannel\x12 .cln.AskreneupdatechannelRequest\x1a!.cln.AskreneupdatechannelResponse\"\x00\x12W\n\x12\x41skReneBiasChannel\x12\x1e.cln.AskrenebiaschannelRequest\x1a\x1f.cln.AskrenebiaschannelResponse\"\x00\x12N\n\x0f\x41skreneBiasNode\x12\x1b.cln.AskrenebiasnodeRequest\x1a\x1c.cln.AskrenebiasnodeResponse\"\x00\x12\x66\n\x17\x41skReneListReservations\x12#.cln.AskrenelistreservationsRequest\x1a$.cln.AskrenelistreservationsResponse\"\x00\x12W\n\x12InjectPaymentOnion\x12\x1e.cln.InjectpaymentonionRequest\x1a\x1f.cln.InjectpaymentonionResponse\"\x00\x12W\n\x12InjectOnionMessage\x12\x1e.cln.InjectonionmessageRequest\x1a\x1f.cln.InjectonionmessageResponse\"\x00\x12-\n\x04Xpay\x12\x10.cln.XpayRequest\x1a\x11.cln.XpayResponse\"\x00\x12W\n\x12SignMessageWithKey\x12\x1e.cln.SignmessagewithkeyRequest\x1a\x1f.cln.SignmessagewithkeyResponse\"\x00\x12Q\n\x10ListChannelMoves\x12\x1c.cln.ListchannelmovesRequest\x1a\x1d.cln.ListchannelmovesResponse\"\x00\x12K\n\x0eListChainMoves\x12\x1a.cln.ListchainmovesRequest\x1a\x1b.cln.ListchainmovesResponse\"\x00\x12T\n\x11ListNetworkEvents\x12\x1d.cln.ListnetworkeventsRequest\x1a\x1e.cln.ListnetworkeventsResponse\"\x00\x12N\n\x0f\x44\x65lNetworkEvent\x12\x1b.cln.DelnetworkeventRequest\x1a\x1c.cln.DelnetworkeventResponse\"\x00\x12Z\n\x13\x43lnrestRegisterPath\x12\x1f.cln.ClnrestregisterpathRequest\x1a .cln.ClnrestregisterpathResponse\"\x00\x12T\n\x11ListCurrencyRates\x12\x1d.cln.ListcurrencyratesRequest\x1a\x1e.cln.ListcurrencyratesResponse\"\x00\x12N\n\x0f\x43urrencyConvert\x12\x1b.cln.CurrencyconvertRequest\x1a\x1c.cln.CurrencyconvertResponse\"\x00\x12\x45\n\x0c\x43urrencyRate\x12\x18.cln.CurrencyrateRequest\x1a\x19.cln.CurrencyrateResponse\"\x00\x12?\n\nSendAmount\x12\x16.cln.SendamountRequest\x1a\x17.cln.SendamountResponse\"\x00\x12\x42\n\x0b\x43reateProof\x12\x17.cln.CreateproofRequest\x1a\x18.cln.CreateproofResponse\"\x00\x12\x39\n\x08Xkeysend\x12\x14.cln.XkeysendRequest\x1a\x15.cln.XkeysendResponse\"\x00\x12\x39\n\x08Graceful\x12\x14.cln.GracefulRequest\x1a\x15.cln.GracefulResponse\"\x00\x12\x63\n\x18SubscribeBalanceSnapshot\x12!.cln.StreamBalanceSnapshotRequest\x1a .cln.BalanceSnapshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeBlockAdded\x12\x1c.cln.StreamBlockAddedRequest\x1a\x1b.cln.BlockAddedNotification\"\x00\x30\x01\x12i\n\x1aSubscribeChannelOpenFailed\x12#.cln.StreamChannelOpenFailedRequest\x1a\".cln.ChannelOpenFailedNotification\"\x00\x30\x01\x12]\n\x16SubscribeChannelOpened\x12\x1f.cln.StreamChannelOpenedRequest\x1a\x1e.cln.ChannelOpenedNotification\"\x00\x30\x01\x12o\n\x1cSubscribeChannelStateChanged\x12%.cln.StreamChannelStateChangedRequest\x1a$.cln.ChannelStateChangedNotification\"\x00\x30\x01\x12O\n\x10SubscribeConnect\x12\x19.cln.StreamConnectRequest\x1a\x1c.cln.PeerConnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeCoinMovement\x12\x1e.cln.StreamCoinMovementRequest\x1a\x1d.cln.CoinMovementNotification\"\x00\x30\x01\x12Q\n\x12SubscribeCustomMsg\x12\x1b.cln.StreamCustomMsgRequest\x1a\x1a.cln.CustomMsgNotification\"\x00\x30\x01\x12i\n\x1aSubscribeDeprecatedOneshot\x12#.cln.StreamDeprecatedOneshotRequest\x1a\".cln.DeprecatedOneshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeDisconnect\x12\x1c.cln.StreamDisconnectRequest\x1a\x1b.cln.DisconnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeForwardEvent\x12\x1e.cln.StreamForwardEventRequest\x1a\x1d.cln.ForwardEventNotification\"\x00\x30\x01\x12\x63\n\x18SubscribeInvoiceCreation\x12!.cln.StreamInvoiceCreationRequest\x1a .cln.InvoiceCreationNotification\"\x00\x30\x01\x12`\n\x17SubscribeInvoicePayment\x12 .cln.StreamInvoicePaymentRequest\x1a\x1f.cln.InvoicePaymentNotification\"\x00\x30\x01\x12?\n\x0cSubscribeLog\x12\x15.cln.StreamLogRequest\x1a\x14.cln.LogNotification\"\x00\x30\x01\x12{\n SubscribeOnionMessageForwardFail\x12).cln.StreamOnionMessageForwardFailRequest\x1a(.cln.OnionMessageForwardFailNotification\"\x00\x30\x01\x12o\n\x1cSubscribeOpenChannelPeerSigs\x12%.cln.StreamOpenChannelPeerSigsRequest\x1a$.cln.OpenChannelPeerSigsNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStarted\x12\x1f.cln.StreamPluginStartedRequest\x1a\x1e.cln.PluginStartedNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStopped\x12\x1f.cln.StreamPluginStoppedRequest\x1a\x1e.cln.PluginStoppedNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPayFailure\x12 .cln.StreamSendPayFailureRequest\x1a\x1f.cln.SendPayFailureNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPaySuccess\x12 .cln.StreamSendPaySuccessRequest\x1a\x1f.cln.SendPaySuccessNotification\"\x00\x30\x01\x12N\n\x11SubscribeShutdown\x12\x1a.cln.StreamShutdownRequest\x1a\x19.cln.ShutdownNotification\"\x00\x30\x01\x12K\n\x10SubscribeWarning\x12\x19.cln.StreamWarningRequest\x1a\x18.cln.WarningNotification\"\x00\x30\x01\x12T\n\x13SubscribePayPartEnd\x12\x1c.cln.StreamPayPartEndRequest\x1a\x1b.cln.PayPartEndNotification\"\x00\x30\x01\x12Z\n\x15SubscribePayPartStart\x12\x1e.cln.StreamPayPartStartRequest\x1a\x1d.cln.PayPartStartNotification\"\x00\x30\x01\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nnode.proto\x12\x03\x63ln\x1a\x10primitives.proto\"\x10\n\x0eGetinfoRequest\"\xb1\x04\n\x0fGetinfoResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\r\n\x05\x63olor\x18\x03 \x01(\x0c\x12\x11\n\tnum_peers\x18\x04 \x01(\r\x12\x1c\n\x14num_pending_channels\x18\x05 \x01(\r\x12\x1b\n\x13num_active_channels\x18\x06 \x01(\r\x12\x1d\n\x15num_inactive_channels\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\t\x12\x15\n\rlightning_dir\x18\t \x01(\t\x12\x32\n\x0cour_features\x18\n \x01(\x0b\x32\x17.cln.GetinfoOurFeaturesH\x00\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0b \x01(\r\x12\x0f\n\x07network\x18\x0c \x01(\t\x12(\n\x13\x66\x65\x65s_collected_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x07\x61\x64\x64ress\x18\x0e \x03(\x0b\x32\x13.cln.GetinfoAddress\x12$\n\x07\x62inding\x18\x0f \x03(\x0b\x32\x13.cln.GetinfoBinding\x12\"\n\x15warning_bitcoind_sync\x18\x10 \x01(\tH\x01\x88\x01\x01\x12$\n\x17warning_lightningd_sync\x18\x11 \x01(\tH\x02\x88\x01\x01\x42\x0f\n\r_our_featuresB\x18\n\x16_warning_bitcoind_syncB\x1a\n\x18_warning_lightningd_sync\"\xc4\x01\n\x0eGetinfoAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoAddress.GetinfoAddressType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"G\n\x12GetinfoAddressType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xac\x02\n\x0eGetinfoBinding\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.GetinfoBinding.GetinfoBindingType\x12\x14\n\x07\x61\x64\x64ress\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06socket\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x14\n\x07subtype\x18\x05 \x01(\tH\x03\x88\x01\x01\"_\n\x12GetinfoBindingType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\n\n\x08_addressB\x07\n\x05_portB\t\n\x07_socketB\n\n\x08_subtype\"R\n\x12GetinfoOurFeatures\x12\x0c\n\x04init\x18\x01 \x01(\x0c\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07\x63hannel\x18\x03 \x01(\x0c\x12\x0f\n\x07invoice\x18\x04 \x01(\x0c\"\xb5\x01\n\x10ListpeersRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x38\n\x05level\x18\x02 \x01(\x0e\x32$.cln.ListpeersRequest.ListpeersLevelH\x01\x88\x01\x01\"E\n\x0eListpeersLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05\x44\x45\x42UG\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\x0b\n\x07UNUSUAL\x10\x03\x12\t\n\x05TRACE\x10\x04\x42\x05\n\x03_idB\x08\n\x06_level\"7\n\x11ListpeersResponse\x12\"\n\x05peers\x18\x01 \x03(\x0b\x32\x13.cln.ListpeersPeers\"\xc9\x01\n\x0eListpeersPeers\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12#\n\x03log\x18\x03 \x03(\x0b\x32\x16.cln.ListpeersPeersLog\x12\x0f\n\x07netaddr\x18\x05 \x03(\t\x12\x15\n\x08\x66\x65\x61tures\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0bremote_addr\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cnum_channels\x18\x08 \x01(\rB\x0b\n\t_featuresB\x0e\n\x0c_remote_addr\"\x88\x03\n\x11ListpeersPeersLog\x12?\n\titem_type\x18\x01 \x01(\x0e\x32,.cln.ListpeersPeersLog.ListpeersPeersLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"t\n\x15ListpeersPeersLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"0\n\x10ListfundsRequest\x12\x12\n\x05spent\x18\x01 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_spent\"e\n\x11ListfundsResponse\x12&\n\x07outputs\x18\x01 \x03(\x0b\x32\x15.cln.ListfundsOutputs\x12(\n\x08\x63hannels\x18\x02 \x03(\x0b\x32\x16.cln.ListfundsChannels\"\x97\x02\n\x11ListfundsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12$\n\x0four_amount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x04 \x01(\x0c\x12\x16\n\x0e\x66unding_output\x18\x05 \x01(\r\x12\x11\n\tconnected\x18\x06 \x01(\x08\x12 \n\x05state\x18\x07 \x01(\x0e\x32\x11.cln.ChannelState\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\t \x01(\x0c\x42\x13\n\x11_short_channel_id\"\xb9\x03\n\x10ListfundsOutputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06output\x18\x02 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0cscriptpubkey\x18\x04 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0credeemscript\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12<\n\x06status\x18\x07 \x01(\x0e\x32,.cln.ListfundsOutputs.ListfundsOutputsStatus\x12\x18\n\x0b\x62lockheight\x18\x08 \x01(\rH\x02\x88\x01\x01\x12\x10\n\x08reserved\x18\t \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\n \x01(\rH\x03\x88\x01\x01\"Q\n\x16ListfundsOutputsStatus\x12\x0f\n\x0bUNCONFIRMED\x10\x00\x12\r\n\tCONFIRMED\x10\x01\x12\t\n\x05SPENT\x10\x02\x12\x0c\n\x08IMMATURE\x10\x03\x42\n\n\x08_addressB\x0f\n\r_redeemscriptB\x0e\n\x0c_blockheightB\x14\n\x12_reserved_to_block\"\xbb\x03\n\x0eSendpayRequest\x12 \n\x05route\x18\x01 \x03(\x0b\x32\x11.cln.SendpayRoute\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x13\n\x06partid\x18\x07 \x01(\x04H\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\t \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_bolt11B\x11\n\x0f_payment_secretB\t\n\x07_partidB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x13\n\x11_payment_metadataB\x0e\n\x0c_description\"\x96\x05\n\x0fSendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x32\n\x06status\x18\x04 \x01(\x0e\x32\".cln.SendpayResponse.SendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x14\n\x07message\x18\x0e \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0f \x01(\x04H\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\"*\n\rSendpayStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\xe6\x02\n\x0cSendpayRoute\x12\x0f\n\x02id\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x04 \x01(\tH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12!\n\x14short_channel_id_dir\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\t \x01(\rH\x07\x88\x01\x01\x42\x05\n\x03_idB\x08\n\x06_delayB\n\n\x08_channelB\x0e\n\x0c_amount_msatB\x17\n\x15_short_channel_id_dirB\x0e\n\x0c_node_id_outB\x12\n\x10_amount_out_msatB\x0b\n\t_cltv_out\"\x93\x01\n\x13ListchannelsRequest\x12\x1d\n\x10short_channel_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06source\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\t\n\x07_sourceB\x0e\n\x0c_destination\"C\n\x14ListchannelsResponse\x12+\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x19.cln.ListchannelsChannels\"\xb3\x03\n\x14ListchannelsChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\x0e\n\x06public\x18\x04 \x01(\x08\x12 \n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\rmessage_flags\x18\x06 \x01(\r\x12\x15\n\rchannel_flags\x18\x07 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x08 \x01(\x08\x12\x13\n\x0blast_update\x18\t \x01(\r\x12\x1d\n\x15\x62\x61se_fee_millisatoshi\x18\n \x01(\r\x12\x19\n\x11\x66\x65\x65_per_millionth\x18\x0b \x01(\r\x12\r\n\x05\x64\x65lay\x18\x0c \x01(\r\x12&\n\x11htlc_minimum_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x11htlc_maximum_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x0f \x01(\x0c\x12\x11\n\tdirection\x18\x10 \x01(\rB\x14\n\x12_htlc_maximum_msat\"#\n\x10\x41\x64\x64gossipRequest\x12\x0f\n\x07message\x18\x01 \x01(\x0c\"\x13\n\x11\x41\x64\x64gossipResponse\"\xac\x01\n\x14\x41\x64\x64psbtoutputRequest\x12\x1c\n\x07satoshi\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\x08locktime\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_locktimeB\x0e\n\x0c_initialpsbtB\x0e\n\x0c_destination\"U\n\x15\x41\x64\x64psbtoutputResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1e\n\x16\x65stimated_added_weight\x18\x02 \x01(\r\x12\x0e\n\x06outnum\x18\x03 \x01(\r\"O\n\x14\x41utocleanonceRequest\x12*\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystem\x12\x0b\n\x03\x61ge\x18\x02 \x01(\x04\"G\n\x15\x41utocleanonceResponse\x12.\n\tautoclean\x18\x01 \x01(\x0b\x32\x1b.cln.AutocleanonceAutoclean\"\x89\x05\n\x16\x41utocleanonceAutoclean\x12L\n\x11succeededforwards\x18\x01 \x01(\x0b\x32,.cln.AutocleanonceAutocleanSucceededforwardsH\x00\x88\x01\x01\x12\x46\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32).cln.AutocleanonceAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x44\n\rsucceededpays\x18\x03 \x01(\x0b\x32(.cln.AutocleanonceAutocleanSucceededpaysH\x02\x88\x01\x01\x12>\n\nfailedpays\x18\x04 \x01(\x0b\x32%.cln.AutocleanonceAutocleanFailedpaysH\x03\x88\x01\x01\x12\x42\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32\'.cln.AutocleanonceAutocleanPaidinvoicesH\x04\x88\x01\x01\x12H\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32*.cln.AutocleanonceAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x44\n\rnetworkevents\x18\x07 \x01(\x0b\x32(.cln.AutocleanonceAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"K\n%AutocleanonceAutocleanExpiredinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"J\n$AutocleanonceAutocleanFailedforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"F\n AutocleanonceAutocleanFailedpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanNetworkevents\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"H\n\"AutocleanonceAutocleanPaidinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"M\n\'AutocleanonceAutocleanSucceededforwards\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"I\n#AutocleanonceAutocleanSucceededpays\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"W\n\x16\x41utocleanstatusRequest\x12/\n\tsubsystem\x18\x01 \x01(\x0e\x32\x17.cln.AutocleanSubsystemH\x00\x88\x01\x01\x42\x0c\n\n_subsystem\"K\n\x17\x41utocleanstatusResponse\x12\x30\n\tautoclean\x18\x01 \x01(\x0b\x32\x1d.cln.AutocleanstatusAutoclean\"\x99\x05\n\x18\x41utocleanstatusAutoclean\x12N\n\x11succeededforwards\x18\x01 \x01(\x0b\x32..cln.AutocleanstatusAutocleanSucceededforwardsH\x00\x88\x01\x01\x12H\n\x0e\x66\x61iledforwards\x18\x02 \x01(\x0b\x32+.cln.AutocleanstatusAutocleanFailedforwardsH\x01\x88\x01\x01\x12\x46\n\rsucceededpays\x18\x03 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanSucceededpaysH\x02\x88\x01\x01\x12@\n\nfailedpays\x18\x04 \x01(\x0b\x32\'.cln.AutocleanstatusAutocleanFailedpaysH\x03\x88\x01\x01\x12\x44\n\x0cpaidinvoices\x18\x05 \x01(\x0b\x32).cln.AutocleanstatusAutocleanPaidinvoicesH\x04\x88\x01\x01\x12J\n\x0f\x65xpiredinvoices\x18\x06 \x01(\x0b\x32,.cln.AutocleanstatusAutocleanExpiredinvoicesH\x05\x88\x01\x01\x12\x46\n\rnetworkevents\x18\x07 \x01(\x0b\x32*.cln.AutocleanstatusAutocleanNetworkeventsH\x06\x88\x01\x01\x42\x14\n\x12_succeededforwardsB\x11\n\x0f_failedforwardsB\x10\n\x0e_succeededpaysB\r\n\x0b_failedpaysB\x0f\n\r_paidinvoicesB\x12\n\x10_expiredinvoicesB\x10\n\x0e_networkevents\"e\n\'AutocleanstatusAutocleanExpiredinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"d\n&AutocleanstatusAutocleanFailedforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"`\n\"AutocleanstatusAutocleanFailedpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanNetworkevents\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"b\n$AutocleanstatusAutocleanPaidinvoices\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"g\n)AutocleanstatusAutocleanSucceededforwards\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"c\n%AutocleanstatusAutocleanSucceededpays\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x0f\n\x07\x63leaned\x18\x02 \x01(\x04\x12\x10\n\x03\x61ge\x18\x03 \x01(\x04H\x00\x88\x01\x01\x42\x06\n\x04_age\"U\n\x13\x43heckmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\r\n\x05zbase\x18\x02 \x01(\t\x12\x13\n\x06pubkey\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x42\t\n\x07_pubkey\"8\n\x14\x43heckmessageResponse\x12\x10\n\x08verified\x18\x01 \x01(\x08\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\"\xcb\x02\n\x0c\x43loseRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1e\n\x11unilateraltimeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x01\x88\x01\x01\x12!\n\x14\x66\x65\x65_negotiation_step\x18\x04 \x01(\tH\x02\x88\x01\x01\x12)\n\rwrong_funding\x18\x05 \x01(\x0b\x32\r.cln.OutpointH\x03\x88\x01\x01\x12\x1f\n\x12\x66orce_lease_closed\x18\x06 \x01(\x08H\x04\x88\x01\x01\x12\x1e\n\x08\x66\x65\x65range\x18\x07 \x03(\x0b\x32\x0c.cln.FeerateB\x14\n\x12_unilateraltimeoutB\x0e\n\x0c_destinationB\x17\n\x15_fee_negotiation_stepB\x10\n\x0e_wrong_fundingB\x15\n\x13_force_lease_closed\"\x93\x01\n\rCloseResponse\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.CloseResponse.CloseType\x12\x0b\n\x03txs\x18\x04 \x03(\x0c\x12\r\n\x05txids\x18\x05 \x03(\x0c\"5\n\tCloseType\x12\n\n\x06MUTUAL\x10\x00\x12\x0e\n\nUNILATERAL\x10\x01\x12\x0c\n\x08UNOPENED\x10\x02\"T\n\x0e\x43onnectRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04host\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04port\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x07\n\x05_hostB\x07\n\x05_port\"\xb4\x01\n\x0f\x43onnectResponse\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\x38\n\tdirection\x18\x03 \x01(\x0e\x32%.cln.ConnectResponse.ConnectDirection\x12$\n\x07\x61\x64\x64ress\x18\x04 \x01(\x0b\x32\x13.cln.ConnectAddress\"#\n\x10\x43onnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\xfb\x01\n\x0e\x43onnectAddress\x12\x39\n\titem_type\x18\x01 \x01(\x0e\x32&.cln.ConnectAddress.ConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"P\n\x12\x43onnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"J\n\x14\x43reateinvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x10\n\x08preimage\x18\x03 \x01(\x0c\"\xe6\x05\n\x15\x43reateinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12>\n\x06status\x18\x06 \x01(\x0e\x32..cln.CreateinvoiceResponse.CreateinvoiceStatus\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x16\n\tpay_index\x18\t \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12:\n\rpaid_outpoint\x18\x11 \x01(\x0b\x32\x1e.cln.CreateinvoicePaidOutpointH\t\x88\x01\x01\"8\n\x13\x43reateinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_paid_outpoint\"9\n\x19\x43reateinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xb4\x02\n\x10\x44\x61tastoreRequest\x12\x10\n\x03hex\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x36\n\x04mode\x18\x03 \x01(\x0e\x32#.cln.DatastoreRequest.DatastoreModeH\x01\x88\x01\x01\x12\x17\n\ngeneration\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\t\x12\x13\n\x06string\x18\x06 \x01(\tH\x03\x88\x01\x01\"p\n\rDatastoreMode\x12\x0f\n\x0bMUST_CREATE\x10\x00\x12\x10\n\x0cMUST_REPLACE\x10\x01\x12\x15\n\x11\x43REATE_OR_REPLACE\x10\x02\x12\x0f\n\x0bMUST_APPEND\x10\x03\x12\x14\n\x10\x43REATE_OR_APPEND\x10\x04\x42\x06\n\x04_hexB\x07\n\x05_modeB\r\n\x0b_generationB\t\n\x07_string\"\x82\x01\n\x11\x44\x61tastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"$\n\x15\x44\x61tastoreusageRequest\x12\x0b\n\x03key\x18\x01 \x03(\t\"S\n\x16\x44\x61tastoreusageResponse\x12\x39\n\x0e\x64\x61tastoreusage\x18\x01 \x01(\x0b\x32!.cln.DatastoreusageDatastoreusage\"@\n\x1c\x44\x61tastoreusageDatastoreusage\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x13\n\x0btotal_bytes\x18\x02 \x01(\x04\"\x9d\x01\n\x12\x43reateonionRequest\x12\"\n\x04hops\x18\x01 \x03(\x0b\x32\x14.cln.CreateonionHops\x12\x11\n\tassocdata\x18\x02 \x01(\x0c\x12\x18\n\x0bsession_key\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x17\n\nonion_size\x18\x04 \x01(\rH\x01\x88\x01\x01\x42\x0e\n\x0c_session_keyB\r\n\x0b_onion_size\"<\n\x13\x43reateonionResponse\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x16\n\x0eshared_secrets\x18\x02 \x03(\x0c\"2\n\x0f\x43reateonionHops\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"J\n\x13\x44\x65ldatastoreRequest\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x0b\n\x03key\x18\x03 \x03(\tB\r\n\x0b_generation\"\x85\x01\n\x14\x44\x65ldatastoreResponse\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03key\x18\x05 \x03(\tB\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xb6\x01\n\x11\x44\x65linvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\x12\x37\n\x06status\x18\x02 \x01(\x0e\x32\'.cln.DelinvoiceRequest.DelinvoiceStatus\x12\x15\n\x08\x64\x65sconly\x18\x03 \x01(\x08H\x00\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\x0b\n\t_desconly\"\xcf\x05\n\x12\x44\x65linvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x06\x62olt11\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x03 \x01(\tH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x38\n\x06status\x18\x07 \x01(\x0e\x32(.cln.DelinvoiceResponse.DelinvoiceStatus\x12\x12\n\nexpires_at\x18\x08 \x01(\x04\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x16\n\tpay_index\x18\x0e \x01(\x04H\x07\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x07paid_at\x18\x10 \x01(\x04H\t\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x11 \x01(\x0cH\n\x88\x01\x01\"5\n\x10\x44\x65linvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x12\n\n\x06UNPAID\x10\x02\x42\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x11\n\x0f_local_offer_idB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\x9f\x01\n\x17\x44\x65vforgetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\x05\x66orce\x18\x04 \x01(\x08H\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x08\n\x06_force\"Y\n\x18\x44\x65vforgetchannelResponse\x12\x0e\n\x06\x66orced\x18\x01 \x01(\x08\x12\x17\n\x0f\x66unding_unspent\x18\x02 \x01(\x08\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\"\x19\n\x17\x45mergencyrecoverRequest\")\n\x18\x45mergencyrecoverResponse\x12\r\n\x05stubs\x18\x01 \x03(\x0c\" \n\x1eGetemergencyrecoverdataRequest\"\x8a\x01\n\x1fGetemergencyrecoverdataResponse\x12\x10\n\x08\x66iledata\x18\x01 \x01(\x0c\x12\x1f\n\x12\x63\x61n_create_penalty\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1d\n\x15\x62\x61\x63ked_up_channel_ids\x18\x03 \x03(\x0c\x42\x15\n\x13_can_create_penalty\"Q\n\x13\x45xposesecretRequest\x12\x12\n\npassphrase\x18\x01 \x01(\t\x12\x17\n\nidentifier\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\r\n\x0b_identifier\"_\n\x14\x45xposesecretResponse\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12\x0f\n\x07\x63odex32\x18\x02 \x01(\t\x12\x15\n\x08mnemonic\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0b\n\t_mnemonic\"#\n\x0eRecoverRequest\x12\x11\n\thsmsecret\x18\x01 \x01(\t\"x\n\x0fRecoverResponse\x12\x32\n\x06result\x18\x01 \x01(\x0e\x32\".cln.RecoverResponse.RecoverResult\"1\n\rRecoverResult\x12 \n\x1cRECOVERY_RESTART_IN_PROGRESS\x10\x00\"$\n\x15RecoverchannelRequest\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"\'\n\x16RecoverchannelResponse\x12\r\n\x05stubs\x18\x01 \x03(\t\"\x99\x02\n\x0eInvoiceRequest\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\x12\x11\n\tfallbacks\x18\x04 \x03(\t\x12\x15\n\x08preimage\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x11\n\x04\x63ltv\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18\x07 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x15\x65xposeprivatechannels\x18\x08 \x03(\t\x12\x19\n\x0c\x64\x65schashonly\x18\t \x01(\x08H\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x10.cln.AmountOrAnyB\x0b\n\t_preimageB\x07\n\x05_cltvB\t\n\x07_expiryB\x0f\n\r_deschashonly\"\xfe\x02\n\x0fInvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x16\n\x0epayment_secret\x18\x03 \x01(\x0c\x12\x12\n\nexpires_at\x18\x04 \x01(\x04\x12\x1d\n\x10warning_capacity\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x0fwarning_offline\x18\x06 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10warning_deadends\x18\x07 \x01(\tH\x02\x88\x01\x01\x12#\n\x16warning_private_unused\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0bwarning_mpp\x18\t \x01(\tH\x04\x88\x01\x01\x12\x15\n\rcreated_index\x18\n \x01(\x04\x42\x13\n\x11_warning_capacityB\x12\n\x10_warning_offlineB\x13\n\x11_warning_deadendsB\x19\n\x17_warning_private_unusedB\x0e\n\x0c_warning_mpp\"\xe1\x01\n\x15InvoicerequestRequest\x12\x1b\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12\x17\n\nsingle_use\x18\x06 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_issuerB\x08\n\x06_labelB\x12\n\x10_absolute_expiryB\r\n\x0b_single_use\"\x8b\x01\n\x16InvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"1\n\x1c\x44isableinvoicerequestRequest\x12\x11\n\tinvreq_id\x18\x01 \x01(\t\"\x92\x01\n\x1d\x44isableinvoicerequestResponse\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"l\n\x1aListinvoicerequestsRequest\x12\x16\n\tinvreq_id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0c\n\n_invreq_idB\x0e\n\x0c_active_only\"_\n\x1bListinvoicerequestsResponse\x12@\n\x0finvoicerequests\x18\x01 \x03(\x0b\x32\'.cln.ListinvoicerequestsInvoicerequests\"\x97\x01\n\"ListinvoicerequestsInvoicerequests\x12\x11\n\tinvreq_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_label\"#\n\x14ListdatastoreRequest\x12\x0b\n\x03key\x18\x02 \x03(\t\"G\n\x15ListdatastoreResponse\x12.\n\tdatastore\x18\x01 \x03(\x0b\x32\x1b.cln.ListdatastoreDatastore\"\x87\x01\n\x16ListdatastoreDatastore\x12\x0b\n\x03key\x18\x01 \x03(\t\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x13\n\x06string\x18\x04 \x01(\tH\x02\x88\x01\x01\x42\r\n\x0b_generationB\x06\n\x04_hexB\t\n\x07_string\"\xde\x02\n\x13ListinvoicesRequest\x12\x12\n\x05label\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08offer_id\x18\x04 \x01(\tH\x03\x88\x01\x01\x12>\n\x05index\x18\x05 \x01(\x0e\x32*.cln.ListinvoicesRequest.ListinvoicesIndexH\x04\x88\x01\x01\x12\x12\n\x05start\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x06\x88\x01\x01\"-\n\x11ListinvoicesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x0f\n\r_payment_hashB\x0b\n\t_offer_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListinvoicesResponse\x12+\n\x08invoices\x18\x01 \x03(\x0b\x32\x19.cln.ListinvoicesInvoices\"\xbc\x06\n\x14ListinvoicesInvoices\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListinvoicesInvoices.ListinvoicesInvoicesStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0elocal_offer_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x16\n\tpay_index\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x14\n\x07paid_at\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0e \x01(\x0cH\x08\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\t\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\n\x88\x01\x01\x12\x41\n\rpaid_outpoint\x18\x12 \x01(\x0b\x32%.cln.ListinvoicesInvoicesPaidOutpointH\x0b\x88\x01\x01\"?\n\x1aListinvoicesInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x11\n\x0f_local_offer_idB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x14\n\x12_invreq_payer_noteB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"@\n ListinvoicesInvoicesPaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\xf6\x03\n\x10SendonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12)\n\tfirst_hop\x18\x02 \x01(\x0b\x32\x16.cln.SendonionFirstHop\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x12\n\x05label\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\x0eshared_secrets\x18\x05 \x03(\x0c\x12\x13\n\x06partid\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\t \x01(\x0cH\x03\x88\x01\x01\x12\x14\n\x07groupid\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12+\n\x11total_amount_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\x0e\n\x0c_destinationB\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0e\n\x0c_descriptionB\x14\n\x12_total_amount_msat\"\xd0\x04\n\x11SendonionResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\x36\n\x06status\x18\x03 \x01(\x0e\x32&.cln.SendonionResponse.SendonionStatus\x12%\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x06 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\n \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0b \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07message\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06partid\x18\r \x01(\x04H\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0e \x01(\x04\x12\x1a\n\rupdated_index\x18\x0f \x01(\x04H\x08\x88\x01\x01\",\n\x0fSendonionStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_messageB\t\n\x07_partidB\x10\n\x0e_updated_index\"P\n\x11SendonionFirstHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\r\n\x05\x64\x65lay\x18\x03 \x01(\r\"\xa0\x03\n\x13ListsendpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12@\n\x06status\x18\x03 \x01(\x0e\x32+.cln.ListsendpaysRequest.ListsendpaysStatusH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListsendpaysRequest.ListsendpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListsendpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\";\n\x12ListsendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListsendpaysResponse\x12+\n\x08payments\x18\x01 \x03(\x0b\x32\x19.cln.ListsendpaysPayments\"\xe5\x05\n\x14ListsendpaysPayments\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x44\n\x06status\x18\x04 \x01(\x0e\x32\x34.cln.ListsendpaysPayments.ListsendpaysPaymentsStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\n \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06partid\x18\x0f \x01(\x04H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x10 \x01(\x04\x12\x1a\n\rupdated_index\x18\x11 \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x12 \x01(\x04H\n\x88\x01\x01\"C\n\x1aListsendpaysPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\t\n\x07_partidB\x10\n\x0e_updated_indexB\x0f\n\r_completed_at\"\x19\n\x17ListtransactionsRequest\"S\n\x18ListtransactionsResponse\x12\x37\n\x0ctransactions\x18\x01 \x03(\x0b\x32!.cln.ListtransactionsTransactions\"\xf8\x01\n\x1cListtransactionsTransactions\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\r\n\x05rawtx\x18\x02 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x03 \x01(\r\x12\x0f\n\x07txindex\x18\x04 \x01(\r\x12\x10\n\x08locktime\x18\x07 \x01(\r\x12\x0f\n\x07version\x18\x08 \x01(\r\x12\x37\n\x06inputs\x18\t \x03(\x0b\x32\'.cln.ListtransactionsTransactionsInputs\x12\x39\n\x07outputs\x18\n \x03(\x0b\x32(.cln.ListtransactionsTransactionsOutputs\"S\n\"ListtransactionsTransactionsInputs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\r\n\x05index\x18\x02 \x01(\r\x12\x10\n\x08sequence\x18\x03 \x01(\r\"l\n#ListtransactionsTransactionsOutputs\x12\r\n\x05index\x18\x01 \x01(\r\x12\x14\n\x0cscriptPubKey\x18\x03 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\"M\n\x11MakesecretRequest\x12\x10\n\x03hex\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x13\n\x06string\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x06\n\x04_hexB\t\n\x07_string\"$\n\x12MakesecretResponse\x12\x0e\n\x06secret\x18\x01 \x01(\x0c\"\xc7\x04\n\nPayRequest\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12\x1b\n\nriskfactor\x18\x08 \x01(\x01\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\n \x03(\tB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x06\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x0c \x01(\tB\x02\x18\x01H\x07\x88\x01\x01\x12)\n\x0b\x61mount_msat\x18\r \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x08\x88\x01\x01\x12\x1e\n\rlocalinvreqid\x18\x0e \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12*\n\x0cpartial_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_riskfactorB\t\n\x07_maxfeeB\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\x10\n\x0e_localinvreqidB\x0f\n\r_partial_msat\"\xab\x03\n\x0bPayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12.\n\x06status\x18\t \x01(\x0e\x32\x1a.cln.PayResponse.PayStatusB\x02\x18\x01\">\n\tPayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"*\n\x10ListnodesRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"7\n\x11ListnodesResponse\x12\"\n\x05nodes\x18\x01 \x03(\x0b\x32\x13.cln.ListnodesNodes\"\xb8\x02\n\x0eListnodesNodes\x12\x0e\n\x06nodeid\x18\x01 \x01(\x0c\x12\x1b\n\x0elast_timestamp\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x12\n\x05\x61lias\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05\x63olor\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x05 \x01(\x0cH\x03\x88\x01\x01\x12/\n\taddresses\x18\x06 \x03(\x0b\x32\x1c.cln.ListnodesNodesAddresses\x12@\n\x10option_will_fund\x18\x07 \x01(\x0b\x32!.cln.ListnodesNodesOptionWillFundH\x04\x88\x01\x01\x42\x11\n\x0f_last_timestampB\x08\n\x06_aliasB\x08\n\x06_colorB\x0b\n\t_featuresB\x13\n\x11_option_will_fund\"\xe8\x01\n\x17ListnodesNodesAddresses\x12K\n\titem_type\x18\x01 \x01(\x0e\x32\x38.cln.ListnodesNodesAddresses.ListnodesNodesAddressesType\x12\x0c\n\x04port\x18\x02 \x01(\r\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\"P\n\x1bListnodesNodesAddressesType\x12\x07\n\x03\x44NS\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x42\n\n\x08_address\"\xf2\x01\n\x1cListnodesNodesOptionWillFund\x12(\n\x13lease_fee_base_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x17\n\x0flease_fee_basis\x18\x02 \x01(\r\x12\x16\n\x0e\x66unding_weight\x18\x03 \x01(\r\x12.\n\x19\x63hannel_fee_max_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x30\n(channel_fee_max_proportional_thousandths\x18\x05 \x01(\r\x12\x15\n\rcompact_lease\x18\x06 \x01(\x0c\"g\n\x15WaitanyinvoiceRequest\x12\x1a\n\rlastpay_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\x10\n\x0e_lastpay_indexB\n\n\x08_timeout\"\xbc\x05\n\x16WaitanyinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12@\n\x06status\x18\x04 \x01(\x0e\x32\x30.cln.WaitanyinvoiceResponse.WaitanyinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12;\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1f.cln.WaitanyinvoicePaidOutpointH\t\x88\x01\x01\"-\n\x14WaitanyinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\":\n\x1aWaitanyinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"#\n\x12WaitinvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\"\xad\x05\n\x13WaitinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitinvoiceResponse.WaitinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tpay_index\x18\t \x01(\x04H\x04\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x15\n\rcreated_index\x18\r \x01(\x04\x12\x1a\n\rupdated_index\x18\x0e \x01(\x04H\x08\x88\x01\x01\x12\x38\n\rpaid_outpoint\x18\x0f \x01(\x0b\x32\x1c.cln.WaitinvoicePaidOutpointH\t\x88\x01\x01\"*\n\x11WaitinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\x0e\n\x0c_descriptionB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimageB\x10\n\x0e_updated_indexB\x10\n\x0e_paid_outpoint\"7\n\x17WaitinvoicePaidOutpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"\x8e\x01\n\x12WaitsendpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\t\n\x07_partidB\n\n\x08_timeoutB\n\n\x08_groupid\"\xf7\x04\n\x13WaitsendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitsendpayResponse.WaitsendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0e \x01(\x01H\x08\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0f \x01(\x04\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\t\x88\x01\x01\"!\n\x11WaitsendpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\x0f\n\r_completed_atB\x10\n\x0e_updated_index\"\x97\x01\n\x0eNewaddrRequest\x12@\n\x0b\x61\x64\x64resstype\x18\x01 \x01(\x0e\x32&.cln.NewaddrRequest.NewaddrAddresstypeH\x00\x88\x01\x01\"3\n\x12NewaddrAddresstype\x12\n\n\x06\x42\x45\x43H32\x10\x00\x12\x07\n\x03\x41LL\x10\x02\x12\x08\n\x04P2TR\x10\x03\x42\x0e\n\x0c_addresstype\"M\n\x0fNewaddrResponse\x12\x13\n\x06\x62\x65\x63h32\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb9\x01\n\x0fWithdrawRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12!\n\x07satoshi\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\"\n\x07\x66\x65\x65rate\x18\x05 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_feerate\":\n\x10WithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0c\n\x04psbt\x18\x03 \x01(\t\"\xd7\x03\n\x0eKeysendRequest\x12\x17\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\x05label\x18\x03 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x12\x1e\n\rmaxfeepercent\x18\x04 \x01(\x01\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x06 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\'\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x04\x88\x01\x01\x12/\n\nroutehints\x18\x08 \x01(\x0b\x32\x12.cln.RoutehintListB\x02\x18\x01H\x05\x88\x01\x01\x12*\n\textratlvs\x18\t \x01(\x0b\x32\x0e.cln.TlvStreamB\x02\x18\x01H\x06\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12$\n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x07\x88\x01\x01\x42\x08\n\x06_labelB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\r\n\x0b_routehintsB\x0c\n\n_extratlvsB\t\n\x07_maxfee\"\x9a\x03\n\x0fKeysendResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x05 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12+\n\x1awarning_partial_completion\x18\x08 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x36\n\x06status\x18\t \x01(\x0e\x32\".cln.KeysendResponse.KeysendStatusB\x02\x18\x01\"!\n\rKeysendStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\x1d\n\x1b_warning_partial_completion\"\xa4\x03\n\x0f\x46undpsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x14\n\x07minconf\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\x08 \x01(\x08H\x04\x88\x01\x01\x12\x17\n\nnonwrapped\x18\t \x01(\x08H\x05\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x06\x88\x01\x01\x42\n\n\x08_minconfB\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_changeB\r\n\x0b_nonwrappedB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10\x46undpsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.FundpsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14\x46undpsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"A\n\x0fSendpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\",\n\x10SendpsbtResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"1\n\x0fSignpsbtRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x10\n\x08signonly\x18\x02 \x03(\r\"\'\n\x10SignpsbtResponse\x12\x13\n\x0bsigned_psbt\x18\x01 \x01(\t\"\xa0\x03\n\x0fUtxopsbtRequest\x12!\n\x07satoshi\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x1d\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.Feerate\x12\x13\n\x0bstartweight\x18\x03 \x01(\r\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x14\n\x07reserve\x18\x05 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08locktime\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x1f\n\x12min_witness_weight\x18\x07 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nreservedok\x18\x08 \x01(\x08H\x03\x88\x01\x01\x12\x1d\n\x10\x65xcess_as_change\x18\t \x01(\x08H\x04\x88\x01\x01\x12#\n\x16opening_anchor_channel\x18\n \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\r\n\x0b_reservedokB\x13\n\x11_excess_as_changeB\x19\n\x17_opening_anchor_channel\"\xd9\x01\n\x10UtxopsbtResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\x0e\x66\x65\x65rate_per_kw\x18\x02 \x01(\r\x12\x1e\n\x16\x65stimated_final_weight\x18\x03 \x01(\r\x12 \n\x0b\x65xcess_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1a\n\rchange_outnum\x18\x05 \x01(\rH\x00\x88\x01\x01\x12/\n\x0creservations\x18\x06 \x03(\x0b\x32\x19.cln.UtxopsbtReservationsB\x10\n\x0e_change_outnum\"u\n\x14UtxopsbtReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\" \n\x10TxdiscardRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"6\n\x11TxdiscardResponse\x12\x13\n\x0bunsigned_tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xa4\x01\n\x10TxprepareRequest\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12 \n\x07outputs\x18\x05 \x03(\x0b\x32\x0f.cln.OutputDescB\n\n\x08_feerateB\n\n\x08_minconf\"D\n\x11TxprepareResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x13\n\x0bunsigned_tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x1d\n\rTxsendRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\"8\n\x0eTxsendResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"\x8d\x01\n\x17ListpeerchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nchannel_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x42\x05\n\x03_idB\x13\n\x11_short_channel_idB\r\n\x0b_channel_id\"K\n\x18ListpeerchannelsResponse\x12/\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1d.cln.ListpeerchannelsChannels\"\x99\x1b\n\x18ListpeerchannelsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x16\n\x0epeer_connected\x18\x02 \x01(\x08\x12 \n\x05state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x19\n\x0cscratch_txid\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x43\n\x0c\x63hannel_type\x18\x05 \x01(\x0b\x32(.cln.ListpeerchannelsChannelsChannelTypeH\x01\x88\x01\x01\x12:\n\x07\x66\x65\x65rate\x18\x06 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFeerateH\x02\x88\x01\x01\x12\x12\n\x05owner\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x17\n\nchannel_id\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\r \x01(\tH\t\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0e \x01(\tH\n\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0f \x01(\rH\x0b\x88\x01\x01\x12\x37\n\x08inflight\x18\x10 \x03(\x0b\x32%.cln.ListpeerchannelsChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x11 \x01(\x0cH\x0c\x88\x01\x01\x12\x14\n\x07private\x18\x12 \x01(\x08H\r\x88\x01\x01\x12 \n\x06opener\x18\x13 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x14 \x01(\x0e\x32\x10.cln.ChannelSideH\x0e\x88\x01\x01\x12:\n\x07\x66unding\x18\x16 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFundingH\x0f\x88\x01\x01\x12$\n\nto_us_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x19 \x01(\x0b\x32\x0b.cln.AmountH\x12\x88\x01\x01\x12$\n\ntotal_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x1c \x01(\rH\x15\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1f \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12*\n\x10our_reserve_msat\x18 \x01(\x0b\x32\x0b.cln.AmountH\x18\x88\x01\x01\x12(\n\x0espendable_msat\x18! \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12)\n\x0freceivable_msat\x18\" \x01(\x0b\x32\x0b.cln.AmountH\x1a\x88\x01\x01\x12.\n\x14minimum_htlc_in_msat\x18# \x01(\x0b\x32\x0b.cln.AmountH\x1b\x88\x01\x01\x12/\n\x15minimum_htlc_out_msat\x18$ \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18% \x01(\x0b\x32\x0b.cln.AmountH\x1d\x88\x01\x01\x12 \n\x13their_to_self_delay\x18& \x01(\rH\x1e\x88\x01\x01\x12\x1e\n\x11our_to_self_delay\x18\' \x01(\rH\x1f\x88\x01\x01\x12\x1f\n\x12max_accepted_htlcs\x18( \x01(\rH \x88\x01\x01\x12\x36\n\x05\x61lias\x18) \x01(\x0b\x32\".cln.ListpeerchannelsChannelsAliasH!\x88\x01\x01\x12@\n\rstate_changes\x18* \x03(\x0b\x32).cln.ListpeerchannelsChannelsStateChanges\x12\x0e\n\x06status\x18+ \x03(\t\x12 \n\x13in_payments_offered\x18, \x01(\x04H\"\x88\x01\x01\x12)\n\x0fin_offered_msat\x18- \x01(\x0b\x32\x0b.cln.AmountH#\x88\x01\x01\x12\"\n\x15in_payments_fulfilled\x18. \x01(\x04H$\x88\x01\x01\x12+\n\x11in_fulfilled_msat\x18/ \x01(\x0b\x32\x0b.cln.AmountH%\x88\x01\x01\x12!\n\x14out_payments_offered\x18\x30 \x01(\x04H&\x88\x01\x01\x12*\n\x10out_offered_msat\x18\x31 \x01(\x0b\x32\x0b.cln.AmountH\'\x88\x01\x01\x12#\n\x16out_payments_fulfilled\x18\x32 \x01(\x04H(\x88\x01\x01\x12,\n\x12out_fulfilled_msat\x18\x33 \x01(\x0b\x32\x0b.cln.AmountH)\x88\x01\x01\x12\x31\n\x05htlcs\x18\x34 \x03(\x0b\x32\".cln.ListpeerchannelsChannelsHtlcs\x12\x1a\n\rclose_to_addr\x18\x35 \x01(\tH*\x88\x01\x01\x12\x1e\n\x11ignore_fee_limits\x18\x36 \x01(\x08H+\x88\x01\x01\x12:\n\x07updates\x18\x37 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsUpdatesH,\x88\x01\x01\x12#\n\x16last_stable_connection\x18\x38 \x01(\x04H-\x88\x01\x01\x12\x17\n\nlost_state\x18\x39 \x01(\x08H.\x88\x01\x01\x12\x1a\n\rreestablished\x18: \x01(\x08H/\x88\x01\x01\x12*\n\x10last_tx_fee_msat\x18; \x01(\x0b\x32\x0b.cln.AmountH0\x88\x01\x01\x12\x16\n\tdirection\x18< \x01(\rH1\x88\x01\x01\x12=\n#their_max_htlc_value_in_flight_msat\x18= \x01(\x0b\x32\x0b.cln.AmountH2\x88\x01\x01\x12;\n!our_max_htlc_value_in_flight_msat\x18> \x01(\x0b\x32\x0b.cln.AmountH3\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18? \x03(\t\x12\'\n\x1aindependent_secrets_stored\x18@ \x01(\x04H4\x88\x01\x01\x42\x0f\n\r_scratch_txidB\x0f\n\r_channel_typeB\n\n\x08_feerateB\x08\n\x06_ownerB\x13\n\x11_short_channel_idB\r\n\x0b_channel_idB\x0f\n\r_funding_txidB\x11\n\x0f_funding_outnumB\x12\n\x10_initial_feerateB\x0f\n\r_last_feerateB\x0f\n\r_next_feerateB\x10\n\x0e_next_fee_stepB\x0b\n\t_close_toB\n\n\x08_privateB\t\n\x07_closerB\n\n\x08_fundingB\r\n\x0b_to_us_msatB\x11\n\x0f_min_to_us_msatB\x11\n\x0f_max_to_us_msatB\r\n\x0b_total_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x12\n\x10_dust_limit_msatB\x15\n\x13_their_reserve_msatB\x13\n\x11_our_reserve_msatB\x11\n\x0f_spendable_msatB\x12\n\x10_receivable_msatB\x17\n\x15_minimum_htlc_in_msatB\x18\n\x16_minimum_htlc_out_msatB\x18\n\x16_maximum_htlc_out_msatB\x16\n\x14_their_to_self_delayB\x14\n\x12_our_to_self_delayB\x15\n\x13_max_accepted_htlcsB\x08\n\x06_aliasB\x16\n\x14_in_payments_offeredB\x12\n\x10_in_offered_msatB\x18\n\x16_in_payments_fulfilledB\x14\n\x12_in_fulfilled_msatB\x17\n\x15_out_payments_offeredB\x13\n\x11_out_offered_msatB\x19\n\x17_out_payments_fulfilledB\x15\n\x13_out_fulfilled_msatB\x10\n\x0e_close_to_addrB\x14\n\x12_ignore_fee_limitsB\n\n\x08_updatesB\x19\n\x17_last_stable_connectionB\r\n\x0b_lost_stateB\x10\n\x0e_reestablishedB\x13\n\x11_last_tx_fee_msatB\x0c\n\n_directionB&\n$_their_max_htlc_value_in_flight_msatB$\n\"_our_max_htlc_value_in_flight_msatB\x1d\n\x1b_independent_secrets_stored\"]\n\x1dListpeerchannelsChannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"X\n#ListpeerchannelsChannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"?\n\x1fListpeerchannelsChannelsFeerate\x12\r\n\x05perkw\x18\x01 \x01(\r\x12\r\n\x05perkb\x18\x02 \x01(\r\"\xdd\x02\n\x1fListpeerchannelsChannelsFunding\x12%\n\x0bpushed_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12%\n\x10local_funds_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11remote_funds_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\rfee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x11\n\x04psbt\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x15\n\x08withheld\x18\x07 \x01(\x08H\x04\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msatB\x07\n\x05_psbtB\x0b\n\t_withheld\"\xf9\x02\n\x1dListpeerchannelsChannelsHtlcs\x12\\\n\tdirection\x18\x01 \x01(\x0e\x32I.cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirection\x12\n\n\x02id\x18\x02 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06\x65xpiry\x18\x04 \x01(\r\x12\x14\n\x0cpayment_hash\x18\x05 \x01(\x0c\x12\x1a\n\rlocal_trimmed\x18\x06 \x01(\x08H\x00\x88\x01\x01\x12\x13\n\x06status\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x05state\x18\x08 \x01(\x0e\x32\x0e.cln.HtlcState\"9\n&ListpeerchannelsChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x10\n\x0e_local_trimmedB\t\n\x07_status\"\xf4\x01\n ListpeerchannelsChannelsInflight\x12\x14\n\x0c\x66unding_txid\x18\x01 \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\x02 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x03 \x01(\t\x12\'\n\x12total_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10our_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0cscratch_txid\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\rsplice_amount\x18\x07 \x01(\x12\x42\x0f\n\r_scratch_txid\"\xf0\x02\n$ListpeerchannelsChannelsStateChanges\x12\x11\n\ttimestamp\x18\x01 \x01(\t\x12$\n\told_state\x18\x02 \x01(\x0e\x32\x11.cln.ChannelState\x12$\n\tnew_state\x18\x03 \x01(\x0e\x32\x11.cln.ChannelState\x12\x62\n\x05\x63\x61use\x18\x04 \x01(\x0e\x32S.cln.ListpeerchannelsChannelsStateChanges.ListpeerchannelsChannelsStateChangesCause\x12\x0f\n\x07message\x18\x05 \x01(\t\"t\n)ListpeerchannelsChannelsStateChangesCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\"\xa7\x01\n\x1fListpeerchannelsChannelsUpdates\x12\x38\n\x05local\x18\x01 \x01(\x0b\x32).cln.ListpeerchannelsChannelsUpdatesLocal\x12?\n\x06remote\x18\x02 \x01(\x0b\x32*.cln.ListpeerchannelsChannelsUpdatesRemoteH\x00\x88\x01\x01\x42\t\n\x07_remote\"\xda\x01\n$ListpeerchannelsChannelsUpdatesLocal\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"\xdb\x01\n%ListpeerchannelsChannelsUpdatesRemote\x12&\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x11\x63ltv_expiry_delta\x18\x03 \x01(\r\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\"3\n\x19ListclosedchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"[\n\x1aListclosedchannelsResponse\x12=\n\x0e\x63losedchannels\x18\x01 \x03(\x0b\x32%.cln.ListclosedchannelsClosedchannels\"\xae\x0b\n ListclosedchannelsClosedchannels\x12\x14\n\x07peer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x01\x88\x01\x01\x12>\n\x05\x61lias\x18\x04 \x01(\x0b\x32*.cln.ListclosedchannelsClosedchannelsAliasH\x02\x88\x01\x01\x12 \n\x06opener\x18\x05 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x06 \x01(\x0e\x32\x10.cln.ChannelSideH\x03\x88\x01\x01\x12\x0f\n\x07private\x18\x07 \x01(\x08\x12K\n\x0c\x63hannel_type\x18\x08 \x01(\x0b\x32\x30.cln.ListclosedchannelsClosedchannelsChannelTypeH\x04\x88\x01\x01\x12\x1f\n\x17total_local_commitments\x18\t \x01(\x04\x12 \n\x18total_remote_commitments\x18\n \x01(\x04\x12\x18\n\x10total_htlcs_sent\x18\x0b \x01(\x04\x12\x14\n\x0c\x66unding_txid\x18\x0c \x01(\x0c\x12\x16\n\x0e\x66unding_outnum\x18\r \x01(\r\x12\x0e\n\x06leased\x18\x0e \x01(\x08\x12/\n\x15\x66unding_fee_paid_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12/\n\x15\x66unding_fee_rcvd_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12-\n\x13\x66unding_pushed_msat\x18\x11 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x1f\n\ntotal_msat\x18\x12 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x66inal_to_us_msat\x18\x13 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emin_to_us_msat\x18\x14 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0emax_to_us_msat\x18\x15 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x14last_commitment_txid\x18\x16 \x01(\x0cH\x08\x88\x01\x01\x12\x32\n\x18last_commitment_fee_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\t\x88\x01\x01\x12\x65\n\x0b\x63lose_cause\x18\x18 \x01(\x0e\x32P.cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsCloseCause\x12#\n\x16last_stable_connection\x18\x19 \x01(\x04H\n\x88\x01\x01\x12\x19\n\x0c\x66unding_psbt\x18\x1a \x01(\tH\x0b\x88\x01\x01\x12\x1d\n\x10\x66unding_withheld\x18\x1b \x01(\x08H\x0c\x88\x01\x01\"u\n*ListclosedchannelsClosedchannelsCloseCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\n\n\x08_peer_idB\x13\n\x11_short_channel_idB\x08\n\x06_aliasB\t\n\x07_closerB\x0f\n\r_channel_typeB\x18\n\x16_funding_fee_paid_msatB\x18\n\x16_funding_fee_rcvd_msatB\x16\n\x14_funding_pushed_msatB\x17\n\x15_last_commitment_txidB\x1b\n\x19_last_commitment_fee_msatB\x19\n\x17_last_stable_connectionB\x0f\n\r_funding_psbtB\x13\n\x11_funding_withheld\"e\n%ListclosedchannelsClosedchannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"`\n+ListclosedchannelsClosedchannelsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x1f\n\rDecodeRequest\x12\x0e\n\x06string\x18\x01 \x01(\t\"\xbd.\n\x0e\x44\x65\x63odeResponse\x12\x31\n\titem_type\x18\x01 \x01(\x0e\x32\x1e.cln.DecodeResponse.DecodeType\x12\r\n\x05valid\x18\x02 \x01(\x08\x12\x15\n\x08offer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x0coffer_chains\x18\x04 \x03(\x0c\x12\x1b\n\x0eoffer_metadata\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0eoffer_currency\x18\x06 \x01(\tH\x02\x88\x01\x01\x12+\n\x1ewarning_unknown_offer_currency\x18\x07 \x01(\tH\x03\x88\x01\x01\x12 \n\x13\x63urrency_minor_unit\x18\x08 \x01(\rH\x04\x88\x01\x01\x12\x19\n\x0coffer_amount\x18\t \x01(\x04H\x05\x88\x01\x01\x12+\n\x11offer_amount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x1e\n\x11offer_description\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0coffer_issuer\x18\x0c \x01(\tH\x08\x88\x01\x01\x12\x1b\n\x0eoffer_features\x18\r \x01(\x0cH\t\x88\x01\x01\x12\"\n\x15offer_absolute_expiry\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1f\n\x12offer_quantity_max\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12*\n\x0boffer_paths\x18\x10 \x03(\x0b\x32\x15.cln.DecodeOfferPaths\x12\x39\n\x10offer_recurrence\x18\x12 \x01(\x0b\x32\x1a.cln.DecodeOfferRecurrenceH\x0c\x88\x01\x01\x12\x37\n\x12unknown_offer_tlvs\x18\x13 \x03(\x0b\x32\x1b.cln.DecodeUnknownOfferTlvs\x12.\n!warning_invalid_offer_description\x18\x15 \x01(\tH\r\x88\x01\x01\x12.\n!warning_missing_offer_description\x18\x16 \x01(\tH\x0e\x88\x01\x01\x12+\n\x1ewarning_invalid_offer_currency\x18\x17 \x01(\tH\x0f\x88\x01\x01\x12)\n\x1cwarning_invalid_offer_issuer\x18\x18 \x01(\tH\x10\x88\x01\x01\x12\x1c\n\x0finvreq_metadata\x18\x19 \x01(\x0cH\x11\x88\x01\x01\x12\x1c\n\x0finvreq_payer_id\x18\x1a \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0cinvreq_chain\x18\x1b \x01(\x0cH\x13\x88\x01\x01\x12,\n\x12invreq_amount_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12\x1c\n\x0finvreq_features\x18\x1d \x01(\x0cH\x15\x88\x01\x01\x12\x1c\n\x0finvreq_quantity\x18\x1e \x01(\x04H\x16\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x1f \x01(\tH\x17\x88\x01\x01\x12&\n\x19invreq_recurrence_counter\x18 \x01(\rH\x18\x88\x01\x01\x12$\n\x17invreq_recurrence_start\x18! \x01(\rH\x19\x88\x01\x01\x12J\n\x1cunknown_invoice_request_tlvs\x18\" \x03(\x0b\x32$.cln.DecodeUnknownInvoiceRequestTlvs\x12,\n\x1fwarning_missing_invreq_metadata\x18# \x01(\tH\x1a\x88\x01\x01\x12,\n\x1fwarning_missing_invreq_payer_id\x18$ \x01(\tH\x1b\x88\x01\x01\x12.\n!warning_invalid_invreq_payer_note\x18% \x01(\tH\x1c\x88\x01\x01\x12\x36\n)warning_missing_invoice_request_signature\x18& \x01(\tH\x1d\x88\x01\x01\x12\x36\n)warning_invalid_invoice_request_signature\x18\' \x01(\tH\x1e\x88\x01\x01\x12.\n\rinvoice_paths\x18( \x03(\x0b\x32\x17.cln.DecodeInvoicePaths\x12\x1f\n\x12invoice_created_at\x18) \x01(\x04H\x1f\x88\x01\x01\x12$\n\x17invoice_relative_expiry\x18* \x01(\rH \x88\x01\x01\x12!\n\x14invoice_payment_hash\x18+ \x01(\x0cH!\x88\x01\x01\x12-\n\x13invoice_amount_msat\x18, \x01(\x0b\x32\x0b.cln.AmountH\"\x88\x01\x01\x12\x36\n\x11invoice_fallbacks\x18- \x03(\x0b\x32\x1b.cln.DecodeInvoiceFallbacks\x12\x1d\n\x10invoice_features\x18. \x01(\x0cH#\x88\x01\x01\x12\x1c\n\x0finvoice_node_id\x18/ \x01(\x0cH$\x88\x01\x01\x12(\n\x1binvoice_recurrence_basetime\x18\x30 \x01(\x04H%\x88\x01\x01\x12;\n\x14unknown_invoice_tlvs\x18\x31 \x03(\x0b\x32\x1d.cln.DecodeUnknownInvoiceTlvs\x12*\n\x1dwarning_missing_invoice_paths\x18\x32 \x01(\tH&\x88\x01\x01\x12/\n\"warning_missing_invoice_blindedpay\x18\x33 \x01(\tH\'\x88\x01\x01\x12/\n\"warning_missing_invoice_created_at\x18\x34 \x01(\tH(\x88\x01\x01\x12\x31\n$warning_missing_invoice_payment_hash\x18\x35 \x01(\tH)\x88\x01\x01\x12+\n\x1ewarning_missing_invoice_amount\x18\x36 \x01(\tH*\x88\x01\x01\x12\x38\n+warning_missing_invoice_recurrence_basetime\x18\x37 \x01(\tH+\x88\x01\x01\x12,\n\x1fwarning_missing_invoice_node_id\x18\x38 \x01(\tH,\x88\x01\x01\x12.\n!warning_missing_invoice_signature\x18\x39 \x01(\tH-\x88\x01\x01\x12.\n!warning_invalid_invoice_signature\x18: \x01(\tH.\x88\x01\x01\x12\'\n\tfallbacks\x18; \x03(\x0b\x32\x14.cln.DecodeFallbacks\x12\x17\n\ncreated_at\x18< \x01(\x04H/\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18= \x01(\x04H0\x88\x01\x01\x12\x12\n\x05payee\x18> \x01(\x0cH1\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18? \x01(\x0cH2\x88\x01\x01\x12\x1d\n\x10\x64\x65scription_hash\x18@ \x01(\x0cH3\x88\x01\x01\x12\"\n\x15min_final_cltv_expiry\x18\x41 \x01(\rH4\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x42 \x01(\x0cH5\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x43 \x01(\x0cH6\x88\x01\x01\x12\x1f\n\x05\x65xtra\x18\x45 \x03(\x0b\x32\x10.cln.DecodeExtra\x12\x16\n\tunique_id\x18\x46 \x01(\tH7\x88\x01\x01\x12\x14\n\x07version\x18G \x01(\tH8\x88\x01\x01\x12\x13\n\x06string\x18H \x01(\tH9\x88\x01\x01\x12-\n\x0crestrictions\x18I \x03(\x0b\x32\x17.cln.DecodeRestrictions\x12&\n\x19warning_rune_invalid_utf8\x18J \x01(\tH:\x88\x01\x01\x12\x10\n\x03hex\x18K \x01(\x0cH;\x88\x01\x01\x12\x16\n\tdecrypted\x18L \x01(\x0cH<\x88\x01\x01\x12\x16\n\tsignature\x18M \x01(\tH=\x88\x01\x01\x12\x15\n\x08\x63urrency\x18N \x01(\tH>\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18O \x01(\x0b\x32\x0b.cln.AmountH?\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18P \x01(\tH@\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18Q \x01(\x0cHA\x88\x01\x01\x12-\n\x06routes\x18R \x01(\x0b\x32\x18.cln.DecodeRoutehintListHB\x88\x01\x01\x12\x1c\n\x0foffer_issuer_id\x18S \x01(\x0cHC\x88\x01\x01\x12,\n\x1fwarning_missing_offer_issuer_id\x18T \x01(\tHD\x88\x01\x01\x12,\n\x0cinvreq_paths\x18U \x03(\x0b\x32\x16.cln.DecodeInvreqPaths\x12\'\n\x1awarning_empty_blinded_path\x18V \x01(\tHE\x88\x01\x01\x12=\n\x13invreq_bip_353_name\x18W \x01(\x0b\x32\x1b.cln.DecodeInvreqBip353NameHF\x88\x01\x01\x12\x35\n(warning_invreq_bip_353_name_name_invalid\x18X \x01(\tHG\x88\x01\x01\x12\x37\n*warning_invreq_bip_353_name_domain_invalid\x18Y \x01(\tHH\x88\x01\x01\x12%\n\x18invreq_recurrence_cancel\x18Z \x01(\x08HI\x88\x01\x01\x12=\n0warning_invreq_recurrence_cancel_without_counter\x18[ \x01(\tHJ\x88\x01\x01\x12?\n2warning_invreq_recurrence_cancel_with_zero_counter\x18\\ \x01(\tHK\x88\x01\x01\x12\x1b\n\x0eproof_preimage\x18] \x01(\x0cHL\x88\x01\x01\x12\x1a\n\x12proof_omitted_tlvs\x18^ \x03(\x04\x12\x1c\n\x14proof_missing_hashes\x18_ \x03(\x0c\x12\x19\n\x11proof_leaf_hashes\x18` \x03(\x0c\x12\x17\n\nproof_note\x18\x61 \x01(\tHM\x88\x01\x01\x12\x1c\n\x0fproof_signature\x18\x62 \x01(\tHN\x88\x01\x01\x12\x42\n\x18unknown_payer_proof_tlvs\x18\x63 \x03(\x0b\x32 .cln.DecodeUnknownPayerProofTlvs\"\x9b\x01\n\nDecodeType\x12\x10\n\x0c\x42OLT12_OFFER\x10\x00\x12\x12\n\x0e\x42OLT12_INVOICE\x10\x01\x12\x1a\n\x16\x42OLT12_INVOICE_REQUEST\x10\x02\x12\x12\n\x0e\x42OLT11_INVOICE\x10\x03\x12\x08\n\x04RUNE\x10\x04\x12\x15\n\x11\x45MERGENCY_RECOVER\x10\x05\x12\x16\n\x12\x42OLT12_PAYER_PROOF\x10\x06\x42\x0b\n\t_offer_idB\x11\n\x0f_offer_metadataB\x11\n\x0f_offer_currencyB!\n\x1f_warning_unknown_offer_currencyB\x16\n\x14_currency_minor_unitB\x0f\n\r_offer_amountB\x14\n\x12_offer_amount_msatB\x14\n\x12_offer_descriptionB\x0f\n\r_offer_issuerB\x11\n\x0f_offer_featuresB\x18\n\x16_offer_absolute_expiryB\x15\n\x13_offer_quantity_maxB\x13\n\x11_offer_recurrenceB$\n\"_warning_invalid_offer_descriptionB$\n\"_warning_missing_offer_descriptionB!\n\x1f_warning_invalid_offer_currencyB\x1f\n\x1d_warning_invalid_offer_issuerB\x12\n\x10_invreq_metadataB\x12\n\x10_invreq_payer_idB\x0f\n\r_invreq_chainB\x15\n\x13_invreq_amount_msatB\x12\n\x10_invreq_featuresB\x12\n\x10_invreq_quantityB\x14\n\x12_invreq_payer_noteB\x1c\n\x1a_invreq_recurrence_counterB\x1a\n\x18_invreq_recurrence_startB\"\n _warning_missing_invreq_metadataB\"\n _warning_missing_invreq_payer_idB$\n\"_warning_invalid_invreq_payer_noteB,\n*_warning_missing_invoice_request_signatureB,\n*_warning_invalid_invoice_request_signatureB\x15\n\x13_invoice_created_atB\x1a\n\x18_invoice_relative_expiryB\x17\n\x15_invoice_payment_hashB\x16\n\x14_invoice_amount_msatB\x13\n\x11_invoice_featuresB\x12\n\x10_invoice_node_idB\x1e\n\x1c_invoice_recurrence_basetimeB \n\x1e_warning_missing_invoice_pathsB%\n#_warning_missing_invoice_blindedpayB%\n#_warning_missing_invoice_created_atB\'\n%_warning_missing_invoice_payment_hashB!\n\x1f_warning_missing_invoice_amountB.\n,_warning_missing_invoice_recurrence_basetimeB\"\n _warning_missing_invoice_node_idB$\n\"_warning_missing_invoice_signatureB$\n\"_warning_invalid_invoice_signatureB\r\n\x0b_created_atB\t\n\x07_expiryB\x08\n\x06_payeeB\x0f\n\r_payment_hashB\x13\n\x11_description_hashB\x18\n\x16_min_final_cltv_expiryB\x11\n\x0f_payment_secretB\x13\n\x11_payment_metadataB\x0c\n\n_unique_idB\n\n\x08_versionB\t\n\x07_stringB\x1c\n\x1a_warning_rune_invalid_utf8B\x06\n\x04_hexB\x0c\n\n_decryptedB\x0c\n\n_signatureB\x0b\n\t_currencyB\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x0b\n\t_featuresB\t\n\x07_routesB\x12\n\x10_offer_issuer_idB\"\n _warning_missing_offer_issuer_idB\x1d\n\x1b_warning_empty_blinded_pathB\x16\n\x14_invreq_bip_353_nameB+\n)_warning_invreq_bip_353_name_name_invalidB-\n+_warning_invreq_bip_353_name_domain_invalidB\x1b\n\x19_invreq_recurrence_cancelB3\n1_warning_invreq_recurrence_cancel_without_counterB5\n3_warning_invreq_recurrence_cancel_with_zero_counterB\x11\n\x0f_proof_preimageB\r\n\x0b_proof_noteB\x12\n\x10_proof_signature\"(\n\x0b\x44\x65\x63odeExtra\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\xc4\x01\n\x0f\x44\x65\x63odeFallbacks\x12;\n\titem_type\x18\x02 \x01(\x0e\x32(.cln.DecodeFallbacks.DecodeFallbacksType\x12\x11\n\x04\x61\x64\x64r\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x0b\n\x03hex\x18\x04 \x01(\x0c\"K\n\x13\x44\x65\x63odeFallbacksType\x12\t\n\x05P2PKH\x10\x00\x12\x08\n\x04P2SH\x10\x01\x12\n\n\x06P2WPKH\x10\x02\x12\t\n\x05P2WSH\x10\x03\x12\x08\n\x04P2TR\x10\x04\x42\x07\n\x05_addr\"X\n\x16\x44\x65\x63odeInvoiceFallbacks\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x0b\n\x03hex\x18\x02 \x01(\x0c\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_address\"\xa6\x02\n\x12\x44\x65\x63odeInvoicePaths\x12)\n\x04path\x18\x01 \x03(\x0b\x32\x1b.cln.DecodeInvoicePathsPath\x12/\n\x07payinfo\x18\x02 \x01(\x0b\x32\x1e.cln.DecodeInvoicePathsPayinfo\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0e\x66irst_scid_dir\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x06 \x01(\tH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_path_keyB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scid\"S\n\x16\x44\x65\x63odeInvoicePathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\x97\x02\n\x19\x44\x65\x63odeInvoicePathsPayinfo\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x02 \x01(\x0c\x12\"\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\r\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x19\n\x11\x63ltv_expiry_delta\x18\x06 \x01(\rB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msat\"T\n\x16\x44\x65\x63odeInvreqBip353Name\x12\x11\n\x04name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06\x64omain\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x07\n\x05_nameB\t\n\x07_domain\"\xf3\x01\n\x11\x44\x65\x63odeInvreqPaths\x12\x1b\n\x0e\x66irst_scid_dir\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12(\n\x04path\x18\x05 \x03(\x0b\x32\x1a.cln.DecodeInvreqPathsPath\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x11\n\x0f_first_scid_dirB\x10\n\x0e_first_node_idB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"R\n\x15\x44\x65\x63odeInvreqPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xf1\x01\n\x10\x44\x65\x63odeOfferPaths\x12\x1a\n\rfirst_node_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\'\n\x04path\x18\x03 \x03(\x0b\x32\x19.cln.DecodeOfferPathsPath\x12\x1b\n\x0e\x66irst_scid_dir\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"Q\n\x14\x44\x65\x63odeOfferPathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"\xab\x02\n\x15\x44\x65\x63odeOfferRecurrence\x12\x11\n\ttime_unit\x18\x01 \x01(\r\x12\x1d\n\x10\x63ompulsory_field\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1b\n\x0etime_unit_name\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06period\x18\x04 \x01(\r\x12\x15\n\x08\x62\x61setime\x18\x05 \x01(\x04H\x02\x88\x01\x01\x12;\n\tpaywindow\x18\x06 \x01(\x0b\x32#.cln.DecodeOfferRecurrencePaywindowH\x03\x88\x01\x01\x12\x12\n\x05limit\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\x13\n\x11_compulsory_fieldB\x11\n\x0f_time_unit_nameB\x0b\n\t_basetimeB\x0c\n\n_paywindowB\x08\n\x06_limit\"\x89\x01\n\x1e\x44\x65\x63odeOfferRecurrencePaywindow\x12\x16\n\x0eseconds_before\x18\x01 \x01(\r\x12\x15\n\rseconds_after\x18\x02 \x01(\r\x12 \n\x13proportional_amount\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x16\n\x14_proportional_amount\";\n\x12\x44\x65\x63odeRestrictions\x12\x14\n\x0c\x61lternatives\x18\x01 \x03(\t\x12\x0f\n\x07summary\x18\x02 \x01(\t\"S\n\x1f\x44\x65\x63odeUnknownInvoiceRequestTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"L\n\x18\x44\x65\x63odeUnknownInvoiceTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"J\n\x16\x44\x65\x63odeUnknownOfferTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"O\n\x1b\x44\x65\x63odeUnknownPayerProofTlvs\x12\x11\n\titem_type\x18\x01 \x01(\x04\x12\x0e\n\x06length\x18\x02 \x01(\x04\x12\r\n\x05value\x18\x03 \x01(\x0c\"\xc2\x01\n\rDelpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12/\n\x06status\x18\x02 \x01(\x0e\x32\x1f.cln.DelpayRequest.DelpayStatus\x12\x13\n\x06partid\x18\x03 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x01\x88\x01\x01\"(\n\x0c\x44\x65lpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x42\t\n\x07_partidB\n\n\x08_groupid\"7\n\x0e\x44\x65lpayResponse\x12%\n\x08payments\x18\x01 \x03(\x0b\x32\x13.cln.DelpayPayments\"\xb4\x05\n\x0e\x44\x65lpayPayments\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x38\n\x06status\x18\x04 \x01(\x0e\x32(.cln.DelpayPayments.DelpayPaymentsStatus\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\t \x01(\x04\x12\x1a\n\rupdated_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x14\n\x07groupid\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x08\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x11 \x01(\x0cH\n\x88\x01\x01\"=\n\x14\x44\x65lpayPaymentsStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x10\n\x0e_updated_indexB\x0f\n\r_completed_atB\n\n\x08_groupidB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\r\n\x0b_erroronion\"\xb3\x01\n\x11\x44\x65lforwardRequest\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x12\n\nin_htlc_id\x18\x02 \x01(\x04\x12\x37\n\x06status\x18\x03 \x01(\x0e\x32\'.cln.DelforwardRequest.DelforwardStatus\"=\n\x10\x44\x65lforwardStatus\x12\x0b\n\x07SETTLED\x10\x00\x12\x10\n\x0cLOCAL_FAILED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"\x14\n\x12\x44\x65lforwardResponse\"\'\n\x13\x44isableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdc\x01\n\x14\x44isableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"&\n\x12\x45nableofferRequest\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\"\xdb\x01\n\x13\x45nableofferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"=\n\x11\x44isconnectRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x08\n\x06_force\"\x14\n\x12\x44isconnectResponse\"k\n\x0f\x46\x65\x65ratesRequest\x12\x31\n\x05style\x18\x01 \x01(\x0e\x32\".cln.FeeratesRequest.FeeratesStyle\"%\n\rFeeratesStyle\x12\t\n\x05PERKB\x10\x00\x12\t\n\x05PERKW\x10\x01\"\x9a\x02\n\x10\x46\x65\x65ratesResponse\x12%\n\x18warning_missing_feerates\x18\x01 \x01(\tH\x00\x88\x01\x01\x12&\n\x05perkb\x18\x02 \x01(\x0b\x32\x12.cln.FeeratesPerkbH\x01\x88\x01\x01\x12&\n\x05perkw\x18\x03 \x01(\x0b\x32\x12.cln.FeeratesPerkwH\x02\x88\x01\x01\x12\x44\n\x15onchain_fee_estimates\x18\x04 \x01(\x0b\x32 .cln.FeeratesOnchainFeeEstimatesH\x03\x88\x01\x01\x42\x1b\n\x19_warning_missing_feeratesB\x08\n\x06_perkbB\x08\n\x06_perkwB\x18\n\x16_onchain_fee_estimates\"\x99\x02\n\x1b\x46\x65\x65ratesOnchainFeeEstimates\x12 \n\x18opening_channel_satoshis\x18\x01 \x01(\x04\x12\x1d\n\x15mutual_close_satoshis\x18\x02 \x01(\x04\x12!\n\x19unilateral_close_satoshis\x18\x03 \x01(\x04\x12\x1d\n\x15htlc_timeout_satoshis\x18\x04 \x01(\x04\x12\x1d\n\x15htlc_success_satoshis\x18\x05 \x01(\x04\x12\x30\n#unilateral_close_nonanchor_satoshis\x18\x06 \x01(\x04H\x00\x88\x01\x01\x42&\n$_unilateral_close_nonanchor_satoshis\"\x84\x03\n\rFeeratesPerkb\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkbEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkbEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"\x84\x03\n\rFeeratesPerkw\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x03\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkwEstimates\x12\r\n\x05\x66loor\x18\n \x01(\r\x12$\n\x17unilateral_anchor_close\x18\x0b \x01(\rH\x04\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\n\n\x08_penaltyB\x1a\n\x18_unilateral_anchor_closeB\t\n\x07_splice\"W\n\x16\x46\x65\x65ratesPerkwEstimates\x12\x12\n\nblockcount\x18\x01 \x01(\r\x12\x0f\n\x07\x66\x65\x65rate\x18\x02 \x01(\r\x12\x18\n\x10smoothed_feerate\x18\x03 \x01(\r\"%\n\x12\x46\x65tchbip353Request\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"X\n\x13\x46\x65tchbip353Response\x12\r\n\x05proof\x18\x01 \x01(\t\x12\x32\n\x0cinstructions\x18\x02 \x03(\x0b\x32\x1c.cln.Fetchbip353Instructions\"\xf7\x01\n\x17\x46\x65tchbip353Instructions\x12\x18\n\x0b\x64\x65scription\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05offer\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x14\n\x07onchain\x18\x03 \x01(\tH\x02\x88\x01\x01\x12!\n\x14offchain_amount_msat\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1f\n\x12onchain_amount_sat\x18\x05 \x01(\x04H\x04\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x08\n\x06_offerB\n\n\x08_onchainB\x17\n\x15_offchain_amount_msatB\x15\n\x13_onchain_amount_sat\"\xb9\x03\n\x13\x46\x65tchinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x15\n\x08quantity\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x1f\n\x12recurrence_counter\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x1d\n\x10recurrence_start\x18\x05 \x01(\x01H\x03\x88\x01\x01\x12\x1d\n\x10recurrence_label\x18\x06 \x01(\tH\x04\x88\x01\x01\x12\x14\n\x07timeout\x18\x07 \x01(\x01H\x05\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x1b\n\x0epayer_metadata\x18\t \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\n \x01(\tH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0b\n\t_quantityB\x15\n\x13_recurrence_counterB\x13\n\x11_recurrence_startB\x13\n\x11_recurrence_labelB\n\n\x08_timeoutB\r\n\x0b_payer_noteB\x11\n\x0f_payer_metadataB\t\n\x07_bip353\"\x99\x01\n\x14\x46\x65tchinvoiceResponse\x12\x0f\n\x07invoice\x18\x01 \x01(\t\x12)\n\x07\x63hanges\x18\x02 \x01(\x0b\x32\x18.cln.FetchinvoiceChanges\x12\x35\n\x0bnext_period\x18\x03 \x01(\x0b\x32\x1b.cln.FetchinvoiceNextPeriodH\x00\x88\x01\x01\x42\x0e\n\x0c_next_period\"\x82\x02\n\x13\x46\x65tchinvoiceChanges\x12!\n\x14\x64\x65scription_appended\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1b\n\x0evendor_removed\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06vendor\x18\x04 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x42\x17\n\x15_description_appendedB\x0e\n\x0c_descriptionB\x11\n\x0f_vendor_removedB\t\n\x07_vendorB\x0e\n\x0c_amount_msat\"}\n\x16\x46\x65tchinvoiceNextPeriod\x12\x0f\n\x07\x63ounter\x18\x01 \x01(\x04\x12\x11\n\tstarttime\x18\x02 \x01(\x04\x12\x0f\n\x07\x65ndtime\x18\x03 \x01(\x04\x12\x17\n\x0fpaywindow_start\x18\x04 \x01(\x04\x12\x15\n\rpaywindow_end\x18\x05 \x01(\x04\"\xe0\x01\n\x1d\x43\x61ncelrecurringinvoiceRequest\x12\r\n\x05offer\x18\x01 \x01(\t\x12\x1a\n\x12recurrence_counter\x18\x02 \x01(\x04\x12\x18\n\x10recurrence_label\x18\x03 \x01(\t\x12\x1d\n\x10recurrence_start\x18\x04 \x01(\x01H\x00\x88\x01\x01\x12\x17\n\npayer_note\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62ip353\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_recurrence_startB\r\n\x0b_payer_noteB\t\n\x07_bip353\"0\n\x1e\x43\x61ncelrecurringinvoiceResponse\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\"&\n\x18\x46undchannelCancelRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\".\n\x19\x46undchannelCancelResponse\x12\x11\n\tcancelled\x18\x01 \x01(\t\"Z\n\x1a\x46undchannelCompleteRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x15\n\x08withhold\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x0b\n\t_withhold\"N\n\x1b\x46undchannelCompleteResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\"\xfb\x03\n\x12\x46undchannelRequest\x12 \n\x06\x61mount\x18\x01 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12#\n\tpush_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\n\n\x02id\x18\t \x01(\x0c\x12\x14\n\x07minconf\x18\n \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x05utxos\x18\x0b \x03(\x0b\x32\r.cln.Outpoint\x12\x15\n\x08mindepth\x18\x0c \x01(\rH\x07\x88\x01\x01\x12!\n\x07reserve\x18\r \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\x0e \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\n\n\x08_minconfB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xce\x01\n\x13\x46undchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x0e\n\x06outnum\x18\x03 \x01(\r\x12\x12\n\nchannel_id\x18\x04 \x01(\x0c\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x01\x88\x01\x01\x12\x31\n\x0c\x63hannel_type\x18\x07 \x01(\x0b\x32\x1b.cln.FundchannelChannelTypeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"K\n\x16\x46undchannelChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\xd6\x02\n\x17\x46undchannelStartRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x07\x66\x65\x65rate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12#\n\tpush_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08mindepth\x18\x07 \x01(\rH\x04\x88\x01\x01\x12!\n\x07reserve\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\rB\n\n\x08_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0c\n\n_push_msatB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xf6\x01\n\x18\x46undchannelStartResponse\x12\x17\n\x0f\x66unding_address\x18\x01 \x01(\t\x12\x14\n\x0cscriptpubkey\x18\x02 \x01(\x0c\x12;\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32 .cln.FundchannelStartChannelTypeH\x00\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x04 \x01(\x0cH\x01\x88\x01\x01\x12\x15\n\rwarning_usage\x18\x05 \x01(\t\x12\x15\n\x08mindepth\x18\x06 \x01(\rH\x02\x88\x01\x01\x42\x0f\n\r_channel_typeB\x0b\n\t_close_toB\x0b\n\t_mindepth\"P\n\x1b\x46undchannelStartChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x95\x01\n\rGetlogRequest\x12\x32\n\x05level\x18\x01 \x01(\x0e\x32\x1e.cln.GetlogRequest.GetlogLevelH\x00\x88\x01\x01\"F\n\x0bGetlogLevel\x12\n\n\x06\x42ROKEN\x10\x00\x12\x0b\n\x07UNUSUAL\x10\x01\x12\x08\n\x04INFO\x10\x02\x12\t\n\x05\x44\x45\x42UG\x10\x03\x12\t\n\x05TRACE\x10\x05\x42\x08\n\x06_level\"h\n\x0eGetlogResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\t\x12\x12\n\nbytes_used\x18\x02 \x01(\r\x12\x11\n\tbytes_max\x18\x03 \x01(\r\x12\x1b\n\x03log\x18\x04 \x03(\x0b\x32\x0e.cln.GetlogLog\"\xe8\x02\n\tGetlogLog\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.GetlogLog.GetlogLogType\x12\x18\n\x0bnum_skipped\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x11\n\x04time\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06source\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x10\n\x03log\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x14\n\x07node_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x11\n\x04\x64\x61ta\x18\x07 \x01(\x0cH\x05\x88\x01\x01\"l\n\rGetlogLogType\x12\x0b\n\x07SKIPPED\x10\x00\x12\n\n\x06\x42ROKEN\x10\x01\x12\x0b\n\x07UNUSUAL\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\t\n\x05\x44\x45\x42UG\x10\x04\x12\t\n\x05IO_IN\x10\x05\x12\n\n\x06IO_OUT\x10\x06\x12\t\n\x05TRACE\x10\x07\x42\x0e\n\x0c_num_skippedB\x07\n\x05_timeB\t\n\x07_sourceB\x06\n\x04_logB\n\n\x08_node_idB\x07\n\x05_data\"\xd9\x08\n\x13\x46underupdateRequest\x12@\n\x06policy\x18\x01 \x01(\x0e\x32+.cln.FunderupdateRequest.FunderupdatePolicyH\x00\x88\x01\x01\x12$\n\npolicy_mod\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0bleases_only\x18\x03 \x01(\x08H\x02\x88\x01\x01\x12\x30\n\x16min_their_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x30\n\x16max_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12.\n\x14per_channel_min_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12.\n\x14per_channel_max_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12+\n\x11reserve_tank_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x19\n\x0c\x66uzz_percent\x18\t \x01(\rH\x08\x88\x01\x01\x12\x1d\n\x10\x66und_probability\x18\n \x01(\rH\t\x88\x01\x01\x12-\n\x13lease_fee_base_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\n\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\x0c \x01(\rH\x0b\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\r \x01(\rH\x0c\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x0f \x01(\rH\x0e\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x10 \x01(\x0cH\x0f\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\t\n\x07_policyB\r\n\x0b_policy_modB\x0e\n\x0c_leases_onlyB\x19\n\x17_min_their_funding_msatB\x19\n\x17_max_their_funding_msatB\x17\n\x15_per_channel_min_msatB\x17\n\x15_per_channel_max_msatB\x14\n\x12_reserve_tank_msatB\x0f\n\r_fuzz_percentB\x13\n\x11_fund_probabilityB\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\xdf\x06\n\x14\x46underupdateResponse\x12\x0f\n\x07summary\x18\x01 \x01(\t\x12<\n\x06policy\x18\x02 \x01(\x0e\x32,.cln.FunderupdateResponse.FunderupdatePolicy\x12\x12\n\npolicy_mod\x18\x03 \x01(\r\x12\x13\n\x0bleases_only\x18\x04 \x01(\x08\x12+\n\x16min_their_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16max_their_funding_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_min_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12)\n\x14per_channel_max_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11reserve_tank_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66uzz_percent\x18\n \x01(\r\x12\x18\n\x10\x66und_probability\x18\x0b \x01(\r\x12-\n\x13lease_fee_base_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x1c\n\x0flease_fee_basis\x18\r \x01(\rH\x01\x88\x01\x01\x12\x1b\n\x0e\x66unding_weight\x18\x0e \x01(\rH\x02\x88\x01\x01\x12\x33\n\x19\x63hannel_fee_max_base_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x35\n(channel_fee_max_proportional_thousandths\x18\x10 \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x11 \x01(\x0cH\x05\x88\x01\x01\"9\n\x12\x46underupdatePolicy\x12\t\n\x05MATCH\x10\x00\x12\r\n\tAVAILABLE\x10\x01\x12\t\n\x05\x46IXED\x10\x02\x42\x16\n\x14_lease_fee_base_msatB\x12\n\x10_lease_fee_basisB\x11\n\x0f_funding_weightB\x1c\n\x1a_channel_fee_max_base_msatB+\n)_channel_fee_max_proportional_thousandthsB\x10\n\x0e_compact_lease\"\x8c\x02\n\x0fGetrouteRequest\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\nriskfactor\x18\x03 \x01(\x04\x42\x02\x18\x01\x12\x15\n\x04\x63ltv\x18\x04 \x01(\rB\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x66romid\x18\x05 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x66uzzpercent\x18\x06 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\x07 \x03(\tB\x02\x18\x01\x12\x18\n\x07maxhops\x18\x08 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x42\x07\n\x05_cltvB\t\n\x07_fromidB\x0e\n\x0c_fuzzpercentB\n\n\x08_maxhops\"9\n\x10GetrouteResponse\x12%\n\x05route\x18\x01 \x03(\x0b\x32\x12.cln.GetrouteRouteB\x02\x18\x01\"\xe1\x01\n\rGetrouteRoute\x12\x0e\n\x02id\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x13\n\x07\x63hannel\x18\x02 \x01(\tB\x02\x18\x01\x12\x15\n\tdirection\x18\x03 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x11\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01\x12\x38\n\x05style\x18\x06 \x01(\x0e\x32%.cln.GetrouteRoute.GetrouteRouteStyleB\x02\x18\x01\"!\n\x12GetrouteRouteStyle\x12\x0b\n\x03TLV\x10\x00\x1a\x02\x08\x01\"t\n\x14ListaddressesRequest\x12\x14\n\x07\x61\x64\x64ress\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\n\n\x08_addressB\x08\n\x06_startB\x08\n\x06_limit\"G\n\x15ListaddressesResponse\x12.\n\taddresses\x18\x01 \x03(\x0b\x32\x1b.cln.ListaddressesAddresses\"d\n\x16ListaddressesAddresses\x12\x0e\n\x06keyidx\x18\x01 \x01(\x04\x12\x13\n\x06\x62\x65\x63h32\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x11\n\x04p2tr\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x07\n\x05_p2tr\"\xb7\x03\n\x13ListforwardsRequest\x12@\n\x06status\x18\x01 \x01(\x0e\x32+.cln.ListforwardsRequest.ListforwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x02\x88\x01\x01\x12>\n\x05index\x18\x04 \x01(\x0e\x32*.cln.ListforwardsRequest.ListforwardsIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\"-\n\x11ListforwardsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"L\n\x12ListforwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\x0e\n\x0c_out_channelB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"C\n\x14ListforwardsResponse\x12+\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x19.cln.ListforwardsForwards\"\x9d\x06\n\x14ListforwardsForwards\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x1c\n\x07in_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x44\n\x06status\x18\x03 \x01(\x0e\x32\x34.cln.ListforwardsForwards.ListforwardsForwardsStatus\x12\x15\n\rreceived_time\x18\x04 \x01(\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12G\n\x05style\x18\t \x01(\x0e\x32\x33.cln.ListforwardsForwards.ListforwardsForwardsStyleH\x03\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x18\n\x0bout_htlc_id\x18\x0b \x01(\x04H\x05\x88\x01\x01\x12\x15\n\rcreated_index\x18\x0c \x01(\x04\x12\x1a\n\rupdated_index\x18\r \x01(\x04H\x06\x88\x01\x01\x12\x1a\n\rresolved_time\x18\x0e \x01(\x01H\x07\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x0f \x01(\rH\x08\x88\x01\x01\x12\x17\n\nfailreason\x18\x10 \x01(\tH\t\x88\x01\x01\"T\n\x1aListforwardsForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"0\n\x19ListforwardsForwardsStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_fee_msatB\x0b\n\t_out_msatB\x08\n\x06_styleB\r\n\x0b_in_htlc_idB\x0e\n\x0c_out_htlc_idB\x10\n\x0e_updated_indexB\x10\n\x0e_resolved_timeB\x0b\n\t_failcodeB\r\n\x0b_failreason\"a\n\x11ListoffersRequest\x12\x15\n\x08offer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x18\n\x0b\x61\x63tive_only\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_offer_idB\x0e\n\x0c_active_only\";\n\x12ListoffersResponse\x12%\n\x06offers\x18\x01 \x03(\x0b\x32\x15.cln.ListoffersOffers\"\xd8\x01\n\x10ListoffersOffers\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x12\n\x05label\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_descriptionB\x0e\n\x0c_force_paths\"\x84\x03\n\x0fListpaysRequest\x12\x13\n\x06\x62olt11\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x38\n\x06status\x18\x03 \x01(\x0e\x32#.cln.ListpaysRequest.ListpaysStatusH\x02\x88\x01\x01\x12\x36\n\x05index\x18\x04 \x01(\x0e\x32\".cln.ListpaysRequest.ListpaysIndexH\x03\x88\x01\x01\x12\x12\n\x05start\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x12\n\x05limit\x18\x06 \x01(\rH\x05\x88\x01\x01\")\n\rListpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\"7\n\x0eListpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_statusB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"3\n\x10ListpaysResponse\x12\x1f\n\x04pays\x18\x01 \x03(\x0b\x32\x11.cln.ListpaysPays\"\xdb\x05\n\x0cListpaysPays\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x34\n\x06status\x18\x02 \x01(\x0e\x32$.cln.ListpaysPays.ListpaysPaysStatus\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\ncreated_at\x18\x04 \x01(\x04\x12\x12\n\x05label\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x17\n\nerroronion\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0c \x01(\x04H\x08\x88\x01\x01\x12\x15\n\x08preimage\x18\r \x01(\x0cH\t\x88\x01\x01\x12\x1c\n\x0fnumber_of_parts\x18\x0e \x01(\x04H\n\x88\x01\x01\x12\x1a\n\rcreated_index\x18\x0f \x01(\x04H\x0b\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x10 \x01(\x04H\x0c\x88\x01\x01\";\n\x12ListpaysPaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_erroronionB\x0e\n\x0c_descriptionB\x0f\n\r_completed_atB\x0b\n\t_preimageB\x12\n\x10_number_of_partsB\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xd6\x01\n\x10ListhtlcsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x38\n\x05index\x18\x02 \x01(\x0e\x32$.cln.ListhtlcsRequest.ListhtlcsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"*\n\x0eListhtlcsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"7\n\x11ListhtlcsResponse\x12\"\n\x05htlcs\x18\x01 \x03(\x0b\x32\x13.cln.ListhtlcsHtlcs\"\xe5\x02\n\x0eListhtlcsHtlcs\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x0e\n\x06\x65xpiry\x18\x03 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12>\n\tdirection\x18\x05 \x01(\x0e\x32+.cln.ListhtlcsHtlcs.ListhtlcsHtlcsDirection\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x1d\n\x05state\x18\x07 \x01(\x0e\x32\x0e.cln.HtlcState\x12\x1a\n\rcreated_index\x18\x08 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x01\x88\x01\x01\"*\n\x17ListhtlcsHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x10\n\x0e_created_indexB\x10\n\x0e_updated_index\"\xb2\x02\n\x17MultifundchannelRequest\x12\x37\n\x0c\x64\x65stinations\x18\x01 \x03(\x0b\x32!.cln.MultifundchannelDestinations\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\x12H\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.Outpoint\x12\x18\n\x0bminchannels\x18\x05 \x01(\x12H\x02\x88\x01\x01\x12-\n\x12\x63ommitment_feerate\x18\x06 \x01(\x0b\x32\x0c.cln.FeerateH\x03\x88\x01\x01\x42\n\n\x08_feerateB\n\n\x08_minconfB\x0e\n\x0c_minchannelsB\x15\n\x13_commitment_feerate\"\x97\x01\n\x18MultifundchannelResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x34\n\x0b\x63hannel_ids\x18\x03 \x03(\x0b\x32\x1f.cln.MultifundchannelChannelIds\x12+\n\x06\x66\x61iled\x18\x04 \x03(\x0b\x32\x1b.cln.MultifundchannelFailed\"\xff\x02\n\x1cMultifundchannelDestinations\x12\n\n\x02id\x18\x01 \x01(\t\x12 \n\x06\x61mount\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAll\x12\x15\n\x08\x61nnounce\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12#\n\tpush_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\tH\x02\x88\x01\x01\x12%\n\x0brequest_amt\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x07 \x01(\tH\x04\x88\x01\x01\x12\x15\n\x08mindepth\x18\x08 \x01(\rH\x05\x88\x01\x01\x12!\n\x07reserve\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x42\x0b\n\t_announceB\x0c\n\n_push_msatB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_leaseB\x0b\n\t_mindepthB\n\n\x08_reserve\"\xb2\x01\n\x1aMultifundchannelChannelIds\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12\x12\n\nchannel_id\x18\x03 \x01(\x0c\x12@\n\x0c\x63hannel_type\x18\x04 \x01(\x0b\x32*.cln.MultifundchannelChannelIdsChannelType\x12\x15\n\x08\x63lose_to\x18\x05 \x01(\x0cH\x00\x88\x01\x01\x42\x0b\n\t_close_to\"Z\n%MultifundchannelChannelIdsChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x93\x02\n\x16MultifundchannelFailed\x12\n\n\x02id\x18\x01 \x01(\x0c\x12H\n\x06method\x18\x02 \x01(\x0e\x32\x38.cln.MultifundchannelFailed.MultifundchannelFailedMethod\x12/\n\x05\x65rror\x18\x03 \x01(\x0b\x32 .cln.MultifundchannelFailedError\"r\n\x1cMultifundchannelFailedMethod\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x14\n\x10OPENCHANNEL_INIT\x10\x01\x12\x15\n\x11\x46UNDCHANNEL_START\x10\x02\x12\x18\n\x14\x46UNDCHANNEL_COMPLETE\x10\x03\"<\n\x1bMultifundchannelFailedError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\"\xa8\x01\n\x14MultiwithdrawRequest\x12 \n\x07outputs\x18\x01 \x03(\x0b\x32\x0f.cln.OutputDesc\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_feerateB\n\n\x08_minconf\"1\n\x15MultiwithdrawResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\"\xe2\x04\n\x0cOfferRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06issuer\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x12\n\x05label\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x19\n\x0cquantity_max\x18\x05 \x01(\x04H\x03\x88\x01\x01\x12\x1c\n\x0f\x61\x62solute_expiry\x18\x06 \x01(\x04H\x04\x88\x01\x01\x12\x17\n\nrecurrence\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x1c\n\x0frecurrence_base\x18\x08 \x01(\tH\x06\x88\x01\x01\x12!\n\x14recurrence_paywindow\x18\t \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10recurrence_limit\x18\n \x01(\rH\x08\x88\x01\x01\x12\x17\n\nsingle_use\x18\x0b \x01(\x08H\t\x88\x01\x01\x12 \n\x13proportional_amount\x18\r \x01(\x08H\n\x88\x01\x01\x12 \n\x13optional_recurrence\x18\x0e \x01(\x08H\x0b\x88\x01\x01\x12\x16\n\x0e\x66ronting_nodes\x18\x0f \x03(\x0c\x42\x0e\n\x0c_descriptionB\t\n\x07_issuerB\x08\n\x06_labelB\x0f\n\r_quantity_maxB\x12\n\x10_absolute_expiryB\r\n\x0b_recurrenceB\x12\n\x10_recurrence_baseB\x17\n\x15_recurrence_paywindowB\x13\n\x11_recurrence_limitB\r\n\x0b_single_useB\x16\n\x14_proportional_amountB\x16\n\x14_optional_recurrence\"\xbc\x01\n\rOfferResponse\x12\x10\n\x08offer_id\x18\x01 \x01(\x0c\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x12\n\nsingle_use\x18\x03 \x01(\x08\x12\x0e\n\x06\x62olt12\x18\x04 \x01(\t\x12\x0c\n\x04used\x18\x05 \x01(\x08\x12\x0f\n\x07\x63reated\x18\x06 \x01(\x08\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x66orce_paths\x18\x08 \x01(\x08H\x01\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_force_paths\"-\n\x17OpenchannelAbortRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"X\n\x18OpenchannelAbortResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x18\n\x10\x63hannel_canceled\x18\x02 \x01(\x08\x12\x0e\n\x06reason\x18\x03 \x01(\t\"\x9e\x01\n\x16OpenchannelBumpRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12*\n\x0f\x66unding_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x1b\n\x06\x61mount\x18\x04 \x01(\x0b\x32\x0b.cln.AmountB\x12\n\x10_funding_feerate\"\xed\x01\n\x17OpenchannelBumpResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x35\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32\x1f.cln.OpenchannelBumpChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelBumpChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"\x9f\x03\n\x16OpenchannelInitRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x13\n\x0binitialpsbt\x18\x02 \x01(\t\x12-\n\x12\x63ommitment_feerate\x18\x03 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12*\n\x0f\x66unding_feerate\x18\x04 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x12\x15\n\x08\x61nnounce\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x03\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x0c\x63hannel_type\x18\t \x03(\r\x12\x1b\n\x06\x61mount\x18\n \x01(\x0b\x32\x0b.cln.AmountB\x15\n\x13_commitment_feerateB\x12\n\x10_funding_feerateB\x0b\n\t_announceB\x0b\n\t_close_toB\x0e\n\x0c_request_amtB\x10\n\x0e_compact_lease\"\xed\x01\n\x17OpenchannelInitResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x35\n\x0c\x63hannel_type\x18\x03 \x01(\x0b\x32\x1f.cln.OpenchannelInitChannelType\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_serial\x18\x05 \x01(\x04\x12&\n\x19requires_confirmed_inputs\x18\x06 \x01(\x08H\x00\x88\x01\x01\x42\x1c\n\x1a_requires_confirmed_inputs\"O\n\x1aOpenchannelInitChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"C\n\x18OpenchannelSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"I\n\x19OpenchannelSignedResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\n\n\x02tx\x18\x02 \x01(\x0c\x12\x0c\n\x04txid\x18\x03 \x01(\x0c\"<\n\x18OpenchannelUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"\x95\x02\n\x19OpenchannelUpdateResponse\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x37\n\x0c\x63hannel_type\x18\x02 \x01(\x0b\x32!.cln.OpenchannelUpdateChannelType\x12\x0c\n\x04psbt\x18\x03 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x04 \x01(\x08\x12\x16\n\x0e\x66unding_outnum\x18\x05 \x01(\r\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12&\n\x19requires_confirmed_inputs\x18\x07 \x01(\x08H\x01\x88\x01\x01\x42\x0b\n\t_close_toB\x1c\n\x1a_requires_confirmed_inputs\"Q\n\x1cOpenchannelUpdateChannelType\x12\x0c\n\x04\x62its\x18\x01 \x03(\r\x12#\n\x05names\x18\x02 \x03(\x0e\x32\x14.cln.ChannelTypeName\"Y\n\x0bPingRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x03len\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x16\n\tpongbytes\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x06\n\x04_lenB\x0c\n\n_pongbytes\"\x1e\n\x0cPingResponse\x12\x0e\n\x06totlen\x18\x01 \x01(\r\"\x91\x01\n\rPluginRequest\x12)\n\nsubcommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12\x13\n\x06plugin\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tdirectory\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07options\x18\x04 \x03(\tB\t\n\x07_pluginB\x0c\n\n_directory\"}\n\x0ePluginResponse\x12&\n\x07\x63ommand\x18\x01 \x01(\x0e\x32\x15.cln.PluginSubcommand\x12#\n\x07plugins\x18\x02 \x03(\x0b\x32\x12.cln.PluginPlugins\x12\x13\n\x06result\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_result\">\n\rPluginPlugins\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x63tive\x18\x02 \x01(\x08\x12\x0f\n\x07\x64ynamic\x18\x03 \x01(\x08\"@\n\x14RenepaystatusRequest\x12\x1a\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01H\x00\x88\x01\x01\x42\x0c\n\n_invstring\"K\n\x15RenepaystatusResponse\x12\x32\n\tpaystatus\x18\x01 \x03(\x0b\x32\x1b.cln.RenepaystatusPaystatusB\x02\x18\x01\"\x9a\x04\n\x16RenepaystatusPaystatus\x12\x12\n\x06\x62olt11\x18\x01 \x01(\tB\x02\x18\x01\x12!\n\x10payment_preimage\x18\x02 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x18\n\x0cpayment_hash\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x04 \x01(\x01\x42\x02\x18\x01\x12\x13\n\x07groupid\x18\x05 \x01(\rB\x02\x18\x01\x12\x16\n\x05parts\x18\x06 \x01(\rB\x02\x18\x01H\x01\x88\x01\x01\x12$\n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12.\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x02\x88\x01\x01\x12L\n\x06status\x18\t \x01(\x0e\x32\x38.cln.RenepaystatusPaystatus.RenepaystatusPaystatusStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\n \x01(\x0c\x42\x02\x18\x01H\x03\x88\x01\x01\x12\x11\n\x05notes\x18\x0b \x03(\tB\x02\x18\x01\"Q\n\x1cRenepaystatusPaystatusStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x13\n\x11_payment_preimageB\x08\n\x06_partsB\x13\n\x11_amount_sent_msatB\x0e\n\x0c_destination\"\xfe\x02\n\x0eRenepayRequest\x12\x15\n\tinvstring\x18\x01 \x01(\tB\x02\x18\x01\x12)\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12$\n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x01\x88\x01\x01\x12\x19\n\x08maxdelay\x18\x04 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1a\n\tretry_for\x18\x05 \x01(\rB\x02\x18\x01H\x03\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x06 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x16\n\x05label\x18\x07 \x01(\tB\x02\x18\x01H\x05\x88\x01\x01\x12\x1f\n\x0e\x64\x65v_use_shadow\x18\x08 \x01(\x08\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x13\n\x07\x65xclude\x18\t \x03(\tB\x02\x18\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0b\n\t_maxdelayB\x0c\n\n_retry_forB\x0e\n\x0c_descriptionB\x08\n\x06_labelB\x11\n\x0f_dev_use_shadow\"\xdd\x03\n\x0fRenepayResponse\x12\x1c\n\x10payment_preimage\x18\x01 \x01(\x0c\x42\x02\x18\x01\x12\x18\n\x0cpayment_hash\x18\x02 \x01(\x0c\x42\x02\x18\x01\x12\x16\n\ncreated_at\x18\x03 \x01(\x01\x42\x02\x18\x01\x12\x11\n\x05parts\x18\x04 \x01(\rB\x02\x18\x01\x12$\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12)\n\x10\x61mount_sent_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01\x12\x36\n\x06status\x18\x07 \x01(\x0e\x32\".cln.RenepayResponse.RenepayStatusB\x02\x18\x01\x12\x1c\n\x0b\x64\x65stination\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x00\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\t \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\n \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x18\n\x07groupid\x18\x0b \x01(\x04\x42\x02\x18\x01H\x03\x88\x01\x01\"B\n\rRenepayStatus\x12\x10\n\x08\x43OMPLETE\x10\x00\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x01\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x02\x1a\x02\x08\x01\x42\x0e\n\x0c_destinationB\t\n\x07_bolt11B\t\n\x07_bolt12B\n\n\x08_groupid\"l\n\x14ReserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x16\n\texclusive\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x14\n\x07reserve\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x0c\n\n_exclusiveB\n\n\x08_reserve\"M\n\x15ReserveinputsResponse\x12\x34\n\x0creservations\x18\x01 \x03(\x0b\x32\x1e.cln.ReserveinputsReservations\"z\n\x19ReserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x19\n\x11reserved_to_block\x18\x05 \x01(\r\"4\n\x14SendcustommsgRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"\'\n\x15SendcustommsgResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\"\xb0\x01\n\x12SendinvoiceRequest\x12\x0e\n\x06invreq\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x14\n\x07timeout\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08quantity\x18\x05 \x01(\x04H\x02\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\n\n\x08_timeoutB\x0b\n\t_quantity\"\xb8\x04\n\x13SendinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.SendinvoiceResponse.SendinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x15\n\rcreated_index\x18\x08 \x01(\x04\x12\x1a\n\rupdated_index\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x16\n\tpay_index\x18\n \x01(\x04H\x03\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x14\n\x07paid_at\x18\x0c \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\"6\n\x11SendinvoiceStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\x0e\n\x0c_amount_msatB\t\n\x07_bolt12B\x10\n\x0e_updated_indexB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\xaa\x02\n\x11SetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07\x66\x65\x65\x62\x61se\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x66\x65\x65ppm\x18\x03 \x01(\rH\x01\x88\x01\x01\x12!\n\x07htlcmin\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12!\n\x07htlcmax\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x19\n\x0c\x65nforcedelay\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fignorefeelimits\x18\x07 \x01(\x08H\x05\x88\x01\x01\x42\n\n\x08_feebaseB\t\n\x07_feeppmB\n\n\x08_htlcminB\n\n\x08_htlcmaxB\x0f\n\r_enforcedelayB\x12\n\x10_ignorefeelimits\"?\n\x12SetchannelResponse\x12)\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x17.cln.SetchannelChannels\"\xaf\x03\n\x12SetchannelChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\x12*\n\x15minimum_htlc_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x17warning_htlcmin_too_low\x18\x07 \x01(\tH\x01\x88\x01\x01\x12*\n\x15maximum_htlc_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x18warning_htlcmax_too_high\x18\t \x01(\tH\x02\x88\x01\x01\x12\x19\n\x11ignore_fee_limits\x18\n \x01(\x08\x42\x13\n\x11_short_channel_idB\x1a\n\x18_warning_htlcmin_too_lowB\x1b\n\x19_warning_htlcmax_too_high\"b\n\x10SetconfigRequest\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x10\n\x03val\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttransient\x18\x03 \x01(\x08H\x01\x88\x01\x01\x42\x06\n\x04_valB\x0c\n\n_transient\"9\n\x11SetconfigResponse\x12$\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x14.cln.SetconfigConfig\"\xda\x02\n\x0fSetconfigConfig\x12\x0e\n\x06\x63onfig\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0f\n\x07\x64ynamic\x18\x04 \x01(\x08\x12\x10\n\x03set\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x16\n\tvalue_str\x18\x06 \x01(\tH\x03\x88\x01\x01\x12$\n\nvalue_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x16\n\tvalue_int\x18\x08 \x01(\x12H\x05\x88\x01\x01\x12\x17\n\nvalue_bool\x18\t \x01(\x08H\x06\x88\x01\x01\x12\x0f\n\x07sources\x18\n \x03(\t\x12\x12\n\nvalues_str\x18\x0b \x03(\tB\t\n\x07_sourceB\t\n\x07_pluginB\x06\n\x04_setB\x0c\n\n_value_strB\r\n\x0b_value_msatB\x0c\n\n_value_intB\r\n\x0b_value_bool\"6\n\x15SetpsbtversionRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\r\"&\n\x16SetpsbtversionResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"\'\n\x12SigninvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\"%\n\x13SigninvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"%\n\x12SignmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\"F\n\x13SignmessageResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\r\n\x05recid\x18\x02 \x01(\x0c\x12\r\n\x05zbase\x18\x03 \x01(\t\"\xc8\x01\n\x11SpliceInitRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x17\n\x0frelative_amount\x18\x02 \x01(\x12\x12\x18\n\x0binitialpsbt\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x65\x65rate_per_kw\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x05 \x01(\x08H\x02\x88\x01\x01\x42\x0e\n\x0c_initialpsbtB\x11\n\x0f_feerate_per_kwB\x10\n\x0e_force_feerate\"\"\n\x12SpliceInitResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\"_\n\x13SpliceSignedRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\x12\x17\n\nsign_first\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_sign_first\"^\n\x14SpliceSignedResponse\x12\n\n\x02tx\x18\x01 \x01(\x0c\x12\x0c\n\x04txid\x18\x02 \x01(\x0c\x12\x13\n\x06outnum\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x0c\n\x04psbt\x18\x04 \x01(\tB\t\n\x07_outnum\"7\n\x13SpliceUpdateRequest\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x0c\n\x04psbt\x18\x02 \x01(\t\"y\n\x14SpliceUpdateResponse\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x1b\n\x13\x63ommitments_secured\x18\x02 \x01(\x08\x12\x1f\n\x12signatures_secured\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\x15\n\x13_signatures_secured\"2\n\x0fSpliceinRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\"b\n\x10SpliceinResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\x8b\x01\n\x10SpliceoutRequest\x12\x0f\n\x07\x63hannel\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\t\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x04 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_destinationB\x10\n\x0e_force_feerate\"c\n\x11SpliceoutResponse\x12\x11\n\x04psbt\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\tH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"\xc6\x01\n\x10\x44\x65vspliceRequest\x12\x16\n\x0escript_or_json\x18\x01 \x01(\t\x12\x13\n\x06\x64ryrun\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12\x1a\n\rforce_feerate\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tdebug_log\x18\x04 \x01(\x08H\x02\x88\x01\x01\x12\x17\n\ndev_wetrun\x18\x05 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_dryrunB\x10\n\x0e_force_feerateB\x0c\n\n_debug_logB\r\n\x0b_dev_wetrun\"\x80\x01\n\x11\x44\x65vspliceResponse\x12\x0e\n\x06\x64ryrun\x18\x01 \x03(\t\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x0b\n\x03log\x18\x05 \x03(\tB\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"H\n\x16UnreserveinputsRequest\x12\x0c\n\x04psbt\x18\x01 \x01(\t\x12\x14\n\x07reserve\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_reserve\"Q\n\x17UnreserveinputsResponse\x12\x36\n\x0creservations\x18\x01 \x03(\x0b\x32 .cln.UnreserveinputsReservations\"\x97\x01\n\x1bUnreserveinputsReservations\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0c\n\x04vout\x18\x02 \x01(\r\x12\x14\n\x0cwas_reserved\x18\x03 \x01(\x08\x12\x10\n\x08reserved\x18\x04 \x01(\x08\x12\x1e\n\x11reserved_to_block\x18\x05 \x01(\rH\x00\x88\x01\x01\x42\x14\n\x12_reserved_to_block\"n\n\x14UpgradewalletRequest\x12\"\n\x07\x66\x65\x65rate\x18\x01 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x17\n\nreservedok\x18\x02 \x01(\x08H\x01\x88\x01\x01\x42\n\n\x08_feerateB\r\n\x0b_reservedok\"~\n\x15UpgradewalletResponse\x12\x15\n\rupgraded_outs\x18\x01 \x01(\x04\x12\x11\n\x04psbt\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x02tx\x18\x03 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\x04 \x01(\x0cH\x02\x88\x01\x01\x42\x07\n\x05_psbtB\x05\n\x03_txB\x07\n\x05_txid\"O\n\x16WaitblockheightRequest\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\x12\x14\n\x07timeout\x18\x02 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\".\n\x17WaitblockheightResponse\x12\x13\n\x0b\x62lockheight\x18\x01 \x01(\r\"\xb9\x02\n\x0bWaitRequest\x12\x31\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitSubsystem\x12\x31\n\tindexname\x18\x02 \x01(\x0e\x32\x1e.cln.WaitRequest.WaitIndexname\x12\x11\n\tnextvalue\x18\x03 \x01(\x04\"6\n\rWaitIndexname\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\x12\x0b\n\x07\x44\x45LETED\x10\x02\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\"\xf4\x05\n\x0cWaitResponse\x12\x32\n\tsubsystem\x18\x01 \x01(\x0e\x32\x1f.cln.WaitResponse.WaitSubsystem\x12\x14\n\x07\x63reated\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x07updated\x18\x03 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07\x64\x65leted\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12*\n\x07\x64\x65tails\x18\x05 \x01(\x0b\x32\x10.cln.WaitDetailsB\x02\x18\x01H\x03\x88\x01\x01\x12(\n\x08\x66orwards\x18\x06 \x01(\x0b\x32\x11.cln.WaitForwardsH\x04\x88\x01\x01\x12(\n\x08invoices\x18\x07 \x01(\x0b\x32\x11.cln.WaitInvoicesH\x05\x88\x01\x01\x12(\n\x08sendpays\x18\x08 \x01(\x0b\x32\x11.cln.WaitSendpaysH\x06\x88\x01\x01\x12\"\n\x05htlcs\x18\t \x01(\x0b\x32\x0e.cln.WaitHtlcsH\x07\x88\x01\x01\x12,\n\nchainmoves\x18\n \x01(\x0b\x32\x13.cln.WaitChainmovesH\x08\x88\x01\x01\x12\x30\n\x0c\x63hannelmoves\x18\x0b \x01(\x0b\x32\x15.cln.WaitChannelmovesH\t\x88\x01\x01\x12\x32\n\rnetworkevents\x18\x0c \x01(\x0b\x32\x16.cln.WaitNetworkeventsH\n\x88\x01\x01\"y\n\rWaitSubsystem\x12\x0c\n\x08INVOICES\x10\x00\x12\x0c\n\x08\x46ORWARDS\x10\x01\x12\x0c\n\x08SENDPAYS\x10\x02\x12\t\n\x05HTLCS\x10\x03\x12\x0e\n\nCHAINMOVES\x10\x04\x12\x10\n\x0c\x43HANNELMOVES\x10\x05\x12\x11\n\rNETWORKEVENTS\x10\x06\x42\n\n\x08_createdB\n\n\x08_updatedB\n\n\x08_deletedB\n\n\x08_detailsB\x0b\n\t_forwardsB\x0b\n\t_invoicesB\x0b\n\t_sendpaysB\x08\n\x06_htlcsB\r\n\x0b_chainmovesB\x0f\n\r_channelmovesB\x10\n\x0e_networkevents\"d\n\x0eWaitChainmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"f\n\x10WaitChannelmoves\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\xd0\x05\n\x0bWaitDetails\x12;\n\x06status\x18\x01 \x01(\x0e\x32\".cln.WaitDetails.WaitDetailsStatusB\x02\x18\x01H\x00\x88\x01\x01\x12\x16\n\x05label\x18\x02 \x01(\tB\x02\x18\x01H\x01\x88\x01\x01\x12\x1c\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x02\x18\x01H\x02\x88\x01\x01\x12\x17\n\x06\x62olt11\x18\x04 \x01(\tB\x02\x18\x01H\x03\x88\x01\x01\x12\x17\n\x06\x62olt12\x18\x05 \x01(\tB\x02\x18\x01H\x04\x88\x01\x01\x12\x17\n\x06partid\x18\x06 \x01(\x04\x42\x02\x18\x01H\x05\x88\x01\x01\x12\x18\n\x07groupid\x18\x07 \x01(\x04\x42\x02\x18\x01H\x06\x88\x01\x01\x12\x1d\n\x0cpayment_hash\x18\x08 \x01(\x0c\x42\x02\x18\x01H\x07\x88\x01\x01\x12\x1b\n\nin_channel\x18\t \x01(\tB\x02\x18\x01H\x08\x88\x01\x01\x12\x1b\n\nin_htlc_id\x18\n \x01(\x04\x42\x02\x18\x01H\t\x88\x01\x01\x12%\n\x07in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\n\x88\x01\x01\x12\x1c\n\x0bout_channel\x18\x0c \x01(\tB\x02\x18\x01H\x0b\x88\x01\x01\"\xad\x01\n\x11WaitDetailsStatus\x12\x0e\n\x06UNPAID\x10\x00\x1a\x02\x08\x01\x12\x0c\n\x04PAID\x10\x01\x1a\x02\x08\x01\x12\x0f\n\x07\x45XPIRED\x10\x02\x1a\x02\x08\x01\x12\x0f\n\x07PENDING\x10\x03\x1a\x02\x08\x01\x12\x0e\n\x06\x46\x41ILED\x10\x04\x1a\x02\x08\x01\x12\x10\n\x08\x43OMPLETE\x10\x05\x1a\x02\x08\x01\x12\x0f\n\x07OFFERED\x10\x06\x1a\x02\x08\x01\x12\x0f\n\x07SETTLED\x10\x07\x1a\x02\x08\x01\x12\x14\n\x0cLOCAL_FAILED\x10\x08\x1a\x02\x08\x01\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12B\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hashB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\xcb\x02\n\x0cWaitForwards\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitForwards.WaitForwardsStatusH\x00\x88\x01\x01\x12\x17\n\nin_channel\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nin_htlc_id\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12!\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x04\x88\x01\x01\"L\n\x12WaitForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x12\x10\n\x0cLOCAL_FAILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\r\n\x0b_in_htlc_idB\n\n\x08_in_msatB\x0e\n\x0c_out_channel\"\x8c\x03\n\tWaitHtlcs\x12\"\n\x05state\x18\x01 \x01(\x0e\x32\x0e.cln.HtlcStateH\x00\x88\x01\x01\x12\x14\n\x07htlc_id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x63ltv_expiry\x18\x04 \x01(\rH\x03\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x39\n\tdirection\x18\x06 \x01(\x0e\x32!.cln.WaitHtlcs.WaitHtlcsDirectionH\x05\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x06\x88\x01\x01\"%\n\x12WaitHtlcsDirection\x12\x07\n\x03OUT\x10\x00\x12\x06\n\x02IN\x10\x01\x42\x08\n\x06_stateB\n\n\x08_htlc_idB\x13\n\x11_short_channel_idB\x0e\n\x0c_cltv_expiryB\x0e\n\x0c_amount_msatB\x0c\n\n_directionB\x0f\n\r_payment_hash\"\x95\x02\n\x0cWaitInvoices\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitInvoices.WaitInvoicesStatusH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x05 \x01(\tH\x04\x88\x01\x01\"7\n\x12WaitInvoicesStatus\x12\n\n\x06UNPAID\x10\x00\x12\x08\n\x04PAID\x10\x01\x12\x0b\n\x07\x45XPIRED\x10\x02\x42\t\n\x07_statusB\x08\n\x06_labelB\x0e\n\x0c_descriptionB\t\n\x07_bolt11B\t\n\x07_bolt12\"\x89\x02\n\x11WaitNetworkevents\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x44\n\titem_type\x18\x02 \x01(\x0e\x32,.cln.WaitNetworkevents.WaitNetworkeventsTypeH\x01\x88\x01\x01\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\"P\n\x15WaitNetworkeventsType\x12\x0b\n\x07\x43ONNECT\x10\x00\x12\x10\n\x0c\x43ONNECT_FAIL\x10\x01\x12\x08\n\x04PING\x10\x02\x12\x0e\n\nDISCONNECT\x10\x03\x42\x10\n\x0e_created_indexB\x0c\n\n_item_typeB\n\n\x08_peer_id\"\xff\x01\n\x0cWaitSendpays\x12\x39\n\x06status\x18\x01 \x01(\x0e\x32$.cln.WaitSendpays.WaitSendpaysStatusH\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x04 \x01(\x0cH\x03\x88\x01\x01\";\n\x12WaitSendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\t\n\x07_statusB\t\n\x07_partidB\n\n\x08_groupidB\x0f\n\r_payment_hash\"4\n\x12ListconfigsRequest\x12\x13\n\x06\x63onfig\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_config\"P\n\x13ListconfigsResponse\x12-\n\x07\x63onfigs\x18\x01 \x01(\x0b\x32\x17.cln.ListconfigsConfigsH\x00\x88\x01\x01\x42\n\n\x08_configs\"\xe9/\n\x12ListconfigsConfigs\x12.\n\x04\x63onf\x18\x01 \x01(\x0b\x32\x1b.cln.ListconfigsConfigsConfH\x00\x88\x01\x01\x12\x38\n\tdeveloper\x18\x02 \x01(\x0b\x32 .cln.ListconfigsConfigsDeveloperH\x01\x88\x01\x01\x12?\n\rclear_plugins\x18\x03 \x01(\x0b\x32#.cln.ListconfigsConfigsClearpluginsH\x02\x88\x01\x01\x12;\n\x0b\x64isable_mpp\x18\x04 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablemppH\x03\x88\x01\x01\x12\x34\n\x07mainnet\x18\x05 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsMainnetH\x04\x88\x01\x01\x12\x34\n\x07regtest\x18\x06 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRegtestH\x05\x88\x01\x01\x12\x32\n\x06signet\x18\x07 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsSignetH\x06\x88\x01\x01\x12\x34\n\x07testnet\x18\x08 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsTestnetH\x07\x88\x01\x01\x12\x45\n\x10important_plugin\x18\t \x01(\x0b\x32&.cln.ListconfigsConfigsImportantpluginH\x08\x88\x01\x01\x12\x32\n\x06plugin\x18\n \x01(\x0b\x32\x1d.cln.ListconfigsConfigsPluginH\t\x88\x01\x01\x12\x39\n\nplugin_dir\x18\x0b \x01(\x0b\x32 .cln.ListconfigsConfigsPlugindirH\n\x88\x01\x01\x12?\n\rlightning_dir\x18\x0c \x01(\x0b\x32#.cln.ListconfigsConfigsLightningdirH\x0b\x88\x01\x01\x12\x34\n\x07network\x18\r \x01(\x0b\x32\x1e.cln.ListconfigsConfigsNetworkH\x0c\x88\x01\x01\x12N\n\x15\x61llow_deprecated_apis\x18\x0e \x01(\x0b\x32*.cln.ListconfigsConfigsAllowdeprecatedapisH\r\x88\x01\x01\x12\x35\n\x08rpc_file\x18\x0f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsRpcfileH\x0e\x88\x01\x01\x12\x41\n\x0e\x64isable_plugin\x18\x10 \x01(\x0b\x32$.cln.ListconfigsConfigsDisablepluginH\x0f\x88\x01\x01\x12\x44\n\x10\x61lways_use_proxy\x18\x11 \x01(\x0b\x32%.cln.ListconfigsConfigsAlwaysuseproxyH\x10\x88\x01\x01\x12\x32\n\x06\x64\x61\x65mon\x18\x12 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsDaemonH\x11\x88\x01\x01\x12\x32\n\x06wallet\x18\x13 \x01(\x0b\x32\x1d.cln.ListconfigsConfigsWalletH\x12\x88\x01\x01\x12\x41\n\x0elarge_channels\x18\x14 \x01(\x0b\x32$.cln.ListconfigsConfigsLargechannelsH\x13\x88\x01\x01\x12P\n\x16\x65xperimental_dual_fund\x18\x15 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentaldualfundH\x14\x88\x01\x01\x12S\n\x15\x65xperimental_splicing\x18\x16 \x01(\x0b\x32+.cln.ListconfigsConfigsExperimentalsplicingB\x02\x18\x01H\x15\x88\x01\x01\x12i\n#experimental_shutdown_wrong_funding\x18\x19 \x01(\x0b\x32\x37.cln.ListconfigsConfigsExperimentalshutdownwrongfundingH\x16\x88\x01\x01\x12V\n\x19\x65xperimental_peer_storage\x18\x1a \x01(\x0b\x32..cln.ListconfigsConfigsExperimentalpeerstorageH\x17\x88\x01\x01\x12M\n\x14\x65xperimental_anchors\x18\x1b \x01(\x0b\x32*.cln.ListconfigsConfigsExperimentalanchorsH\x18\x88\x01\x01\x12\x45\n\x10\x64\x61tabase_upgrade\x18\x1c \x01(\x0b\x32&.cln.ListconfigsConfigsDatabaseupgradeH\x19\x88\x01\x01\x12,\n\x03rgb\x18\x1d \x01(\x0b\x32\x1a.cln.ListconfigsConfigsRgbH\x1a\x88\x01\x01\x12\x30\n\x05\x61lias\x18\x1e \x01(\x0b\x32\x1c.cln.ListconfigsConfigsAliasH\x1b\x88\x01\x01\x12\x35\n\x08pid_file\x18\x1f \x01(\x0b\x32\x1e.cln.ListconfigsConfigsPidfileH\x1c\x88\x01\x01\x12\x46\n\x11ignore_fee_limits\x18 \x01(\x0b\x32&.cln.ListconfigsConfigsIgnorefeelimitsH\x1d\x88\x01\x01\x12\x45\n\x10watchtime_blocks\x18! \x01(\x0b\x32&.cln.ListconfigsConfigsWatchtimeblocksH\x1e\x88\x01\x01\x12\x45\n\x10\x66unding_confirms\x18# \x01(\x0b\x32&.cln.ListconfigsConfigsFundingconfirmsH\x1f\x88\x01\x01\x12\x39\n\ncltv_delta\x18$ \x01(\x0b\x32 .cln.ListconfigsConfigsCltvdeltaH \x88\x01\x01\x12\x39\n\ncltv_final\x18% \x01(\x0b\x32 .cln.ListconfigsConfigsCltvfinalH!\x88\x01\x01\x12;\n\x0b\x63ommit_time\x18& \x01(\x0b\x32!.cln.ListconfigsConfigsCommittimeH\"\x88\x01\x01\x12\x35\n\x08\x66\x65\x65_base\x18\' \x01(\x0b\x32\x1e.cln.ListconfigsConfigsFeebaseH#\x88\x01\x01\x12\x32\n\x06rescan\x18( \x01(\x0b\x32\x1d.cln.ListconfigsConfigsRescanH$\x88\x01\x01\x12\x42\n\x0f\x66\x65\x65_per_satoshi\x18) \x01(\x0b\x32$.cln.ListconfigsConfigsFeepersatoshiH%\x88\x01\x01\x12L\n\x14max_concurrent_htlcs\x18* \x01(\x0b\x32).cln.ListconfigsConfigsMaxconcurrenthtlcsH&\x88\x01\x01\x12\x46\n\x11htlc_minimum_msat\x18+ \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcminimummsatH\'\x88\x01\x01\x12\x46\n\x11htlc_maximum_msat\x18, \x01(\x0b\x32&.cln.ListconfigsConfigsHtlcmaximummsatH(\x88\x01\x01\x12X\n\x1bmax_dust_htlc_exposure_msat\x18- \x01(\x0b\x32..cln.ListconfigsConfigsMaxdusthtlcexposuremsatH)\x88\x01\x01\x12\x44\n\x10min_capacity_sat\x18. \x01(\x0b\x32%.cln.ListconfigsConfigsMincapacitysatH*\x88\x01\x01\x12.\n\x04\x61\x64\x64r\x18/ \x01(\x0b\x32\x1b.cln.ListconfigsConfigsAddrH+\x88\x01\x01\x12?\n\rannounce_addr\x18\x30 \x01(\x0b\x32#.cln.ListconfigsConfigsAnnounceaddrH,\x88\x01\x01\x12\x37\n\tbind_addr\x18\x31 \x01(\x0b\x32\x1f.cln.ListconfigsConfigsBindaddrH-\x88\x01\x01\x12\x34\n\x07offline\x18\x32 \x01(\x0b\x32\x1e.cln.ListconfigsConfigsOfflineH.\x88\x01\x01\x12:\n\nautolisten\x18\x33 \x01(\x0b\x32!.cln.ListconfigsConfigsAutolistenH/\x88\x01\x01\x12\x30\n\x05proxy\x18\x34 \x01(\x0b\x32\x1c.cln.ListconfigsConfigsProxyH0\x88\x01\x01\x12;\n\x0b\x64isable_dns\x18\x35 \x01(\x0b\x32!.cln.ListconfigsConfigsDisablednsH1\x88\x01\x01\x12T\n\x18\x61nnounce_addr_discovered\x18\x36 \x01(\x0b\x32-.cln.ListconfigsConfigsAnnounceaddrdiscoveredH2\x88\x01\x01\x12]\n\x1d\x61nnounce_addr_discovered_port\x18\x37 \x01(\x0b\x32\x31.cln.ListconfigsConfigsAnnounceaddrdiscoveredportH3\x88\x01\x01\x12?\n\rencrypted_hsm\x18\x38 \x01(\x0b\x32#.cln.ListconfigsConfigsEncryptedhsmH4\x88\x01\x01\x12>\n\rrpc_file_mode\x18\x39 \x01(\x0b\x32\".cln.ListconfigsConfigsRpcfilemodeH5\x88\x01\x01\x12\x37\n\tlog_level\x18: \x01(\x0b\x32\x1f.cln.ListconfigsConfigsLoglevelH6\x88\x01\x01\x12\x39\n\nlog_prefix\x18; \x01(\x0b\x32 .cln.ListconfigsConfigsLogprefixH7\x88\x01\x01\x12\x35\n\x08log_file\x18< \x01(\x0b\x32\x1e.cln.ListconfigsConfigsLogfileH8\x88\x01\x01\x12\x41\n\x0elog_timestamps\x18= \x01(\x0b\x32$.cln.ListconfigsConfigsLogtimestampsH9\x88\x01\x01\x12\x41\n\x0e\x66orce_feerates\x18> \x01(\x0b\x32$.cln.ListconfigsConfigsForcefeeratesH:\x88\x01\x01\x12\x38\n\tsubdaemon\x18? \x01(\x0b\x32 .cln.ListconfigsConfigsSubdaemonH;\x88\x01\x01\x12Q\n\x16\x66\x65tchinvoice_noconnect\x18@ \x01(\x0b\x32,.cln.ListconfigsConfigsFetchinvoicenoconnectH<\x88\x01\x01\x12L\n\x14tor_service_password\x18\x42 \x01(\x0b\x32).cln.ListconfigsConfigsTorservicepasswordH=\x88\x01\x01\x12\x46\n\x11\x61nnounce_addr_dns\x18\x43 \x01(\x0b\x32&.cln.ListconfigsConfigsAnnounceaddrdnsH>\x88\x01\x01\x12T\n\x18require_confirmed_inputs\x18\x44 \x01(\x0b\x32-.cln.ListconfigsConfigsRequireconfirmedinputsH?\x88\x01\x01\x12\x39\n\ncommit_fee\x18\x45 \x01(\x0b\x32 .cln.ListconfigsConfigsCommitfeeH@\x88\x01\x01\x12N\n\x15\x63ommit_feerate_offset\x18\x46 \x01(\x0b\x32*.cln.ListconfigsConfigsCommitfeerateoffsetHA\x88\x01\x01\x12T\n\x18\x61utoconnect_seeker_peers\x18G \x01(\x0b\x32-.cln.ListconfigsConfigsAutoconnectseekerpeersHB\x88\x01\x01\x12R\n\x17\x63urrencyrate_add_source\x18J \x01(\x0b\x32,.cln.ListconfigsConfigsCurrencyrateaddsourceHC\x88\x01\x01\x12Z\n\x1b\x63urrencyrate_disable_source\x18K \x01(\x0b\x32\x30.cln.ListconfigsConfigsCurrencyratedisablesourceHD\x88\x01\x01\x12K\n\x13independent_secrets\x18L \x01(\x0b\x32).cln.ListconfigsConfigsIndependentsecretsHE\x88\x01\x01\x12R\n\x17max_independent_secrets\x18M \x01(\x0b\x32,.cln.ListconfigsConfigsMaxindependentsecretsHF\x88\x01\x01\x42\x07\n\x05_confB\x0c\n\n_developerB\x10\n\x0e_clear_pluginsB\x0e\n\x0c_disable_mppB\n\n\x08_mainnetB\n\n\x08_regtestB\t\n\x07_signetB\n\n\x08_testnetB\x13\n\x11_important_pluginB\t\n\x07_pluginB\r\n\x0b_plugin_dirB\x10\n\x0e_lightning_dirB\n\n\x08_networkB\x18\n\x16_allow_deprecated_apisB\x0b\n\t_rpc_fileB\x11\n\x0f_disable_pluginB\x13\n\x11_always_use_proxyB\t\n\x07_daemonB\t\n\x07_walletB\x11\n\x0f_large_channelsB\x19\n\x17_experimental_dual_fundB\x18\n\x16_experimental_splicingB&\n$_experimental_shutdown_wrong_fundingB\x1c\n\x1a_experimental_peer_storageB\x17\n\x15_experimental_anchorsB\x13\n\x11_database_upgradeB\x06\n\x04_rgbB\x08\n\x06_aliasB\x0b\n\t_pid_fileB\x14\n\x12_ignore_fee_limitsB\x13\n\x11_watchtime_blocksB\x13\n\x11_funding_confirmsB\r\n\x0b_cltv_deltaB\r\n\x0b_cltv_finalB\x0e\n\x0c_commit_timeB\x0b\n\t_fee_baseB\t\n\x07_rescanB\x12\n\x10_fee_per_satoshiB\x17\n\x15_max_concurrent_htlcsB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x1e\n\x1c_max_dust_htlc_exposure_msatB\x13\n\x11_min_capacity_satB\x07\n\x05_addrB\x10\n\x0e_announce_addrB\x0c\n\n_bind_addrB\n\n\x08_offlineB\r\n\x0b_autolistenB\x08\n\x06_proxyB\x0e\n\x0c_disable_dnsB\x1b\n\x19_announce_addr_discoveredB \n\x1e_announce_addr_discovered_portB\x10\n\x0e_encrypted_hsmB\x10\n\x0e_rpc_file_modeB\x0c\n\n_log_levelB\r\n\x0b_log_prefixB\x0b\n\t_log_fileB\x11\n\x0f_log_timestampsB\x11\n\x0f_force_feeratesB\x0c\n\n_subdaemonB\x19\n\x17_fetchinvoice_noconnectB\x17\n\x15_tor_service_passwordB\x14\n\x12_announce_addr_dnsB\x1b\n\x19_require_confirmed_inputsB\r\n\x0b_commit_feeB\x18\n\x16_commit_feerate_offsetB\x1b\n\x19_autoconnect_seeker_peersB\x1a\n\x18_currencyrate_add_sourceB\x1e\n\x1c_currencyrate_disable_sourceB\x16\n\x14_independent_secretsB\x1a\n\x18_max_independent_secrets\"=\n\x16ListconfigsConfigsAddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsAlias\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"K\n%ListconfigsConfigsAllowdeprecatedapis\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n ListconfigsConfigsAlwaysuseproxy\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1eListconfigsConfigsAnnounceaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"\x80\x02\n(ListconfigsConfigsAnnounceaddrdiscovered\x12q\n\tvalue_str\x18\x01 \x01(\x0e\x32^.cln.ListconfigsConfigsAnnounceaddrdiscovered.ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n0ListconfigsConfigsAnnounceaddrdiscoveredValueStr\x12\x08\n\x04TRUE\x10\x00\x12\t\n\x05\x46\x41LSE\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\"Q\n,ListconfigsConfigsAnnounceaddrdiscoveredport\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsAnnounceaddrdns\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n(ListconfigsConfigsAutoconnectseekerpeers\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1cListconfigsConfigsAutolisten\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1aListconfigsConfigsBindaddr\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsClearplugins\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvdelta\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCltvfinal\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsCommitfee\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\"J\n%ListconfigsConfigsCommitfeerateoffset\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"A\n\x1cListconfigsConfigsCommittime\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\xa2\x01\n\x16ListconfigsConfigsConf\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12H\n\x06source\x18\x02 \x01(\x0e\x32\x38.cln.ListconfigsConfigsConf.ListconfigsConfigsConfSource\"+\n\x1cListconfigsConfigsConfSource\x12\x0b\n\x07\x43MDLINE\x10\x00\"n\n\'ListconfigsConfigsCurrencyrateaddsource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"r\n+ListconfigsConfigsCurrencyratedisablesource\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"7\n\x18ListconfigsConfigsDaemon\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsDatabaseupgrade\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x1bListconfigsConfigsDeveloper\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\";\n\x1cListconfigsConfigsDisabledns\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"[\n\x1cListconfigsConfigsDisablempp\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"F\n\x1fListconfigsConfigsDisableplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"=\n\x1eListconfigsConfigsEncryptedhsm\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n%ListconfigsConfigsExperimentalanchors\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n&ListconfigsConfigsExperimentaldualfund\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n)ListconfigsConfigsExperimentalpeerstorage\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"Q\n2ListconfigsConfigsExperimentalshutdownwrongfunding\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"M\n&ListconfigsConfigsExperimentalsplicing\x12\x0f\n\x03set\x18\x01 \x01(\x08\x42\x02\x18\x01\x12\x12\n\x06source\x18\x02 \x01(\tB\x02\x18\x01\">\n\x19ListconfigsConfigsFeebase\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"D\n\x1fListconfigsConfigsFeepersatoshi\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"f\n\'ListconfigsConfigsFetchinvoicenoconnect\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x13\n\x06plugin\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_plugin\"D\n\x1fListconfigsConfigsForcefeerates\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsFundingconfirms\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcmaximummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"T\n!ListconfigsConfigsHtlcminimummsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"G\n!ListconfigsConfigsIgnorefeelimits\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"H\n!ListconfigsConfigsImportantplugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"C\n$ListconfigsConfigsIndependentsecrets\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x1fListconfigsConfigsLargechannels\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"C\n\x1eListconfigsConfigsLightningdir\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x19ListconfigsConfigsLogfile\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"?\n\x1aListconfigsConfigsLoglevel\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"@\n\x1bListconfigsConfigsLogprefix\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"E\n\x1fListconfigsConfigsLogtimestamps\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsMainnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsMaxconcurrenthtlcs\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\\\n)ListconfigsConfigsMaxdusthtlcexposuremsat\x12\x1f\n\nvalue_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06source\x18\x02 \x01(\t\"L\n\'ListconfigsConfigsMaxindependentsecrets\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x11\n\tvalue_int\x18\x02 \x01(\x04\"g\n ListconfigsConfigsMincapacitysat\x12\x11\n\tvalue_int\x18\x01 \x01(\x04\x12\x0e\n\x06source\x18\x02 \x01(\t\x12\x14\n\x07\x64ynamic\x18\x03 \x01(\x08H\x00\x88\x01\x01\x42\n\n\x08_dynamic\">\n\x19ListconfigsConfigsNetwork\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsOffline\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsPidfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"?\n\x18ListconfigsConfigsPlugin\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"B\n\x1bListconfigsConfigsPlugindir\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"<\n\x17ListconfigsConfigsProxy\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"8\n\x19ListconfigsConfigsRegtest\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"N\n(ListconfigsConfigsRequireconfirmedinputs\x12\x12\n\nvalue_bool\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsRescan\x12\x11\n\tvalue_int\x18\x01 \x01(\x12\x12\x0e\n\x06source\x18\x02 \x01(\t\":\n\x15ListconfigsConfigsRgb\x12\x11\n\tvalue_str\x18\x01 \x01(\x0c\x12\x0e\n\x06source\x18\x02 \x01(\t\">\n\x19ListconfigsConfigsRpcfile\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1dListconfigsConfigsRpcfilemode\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"7\n\x18ListconfigsConfigsSignet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"B\n\x1bListconfigsConfigsSubdaemon\x12\x12\n\nvalues_str\x18\x01 \x03(\t\x12\x0f\n\x07sources\x18\x02 \x03(\t\"8\n\x19ListconfigsConfigsTestnet\x12\x0b\n\x03set\x18\x01 \x01(\x08\x12\x0e\n\x06source\x18\x02 \x01(\t\"I\n$ListconfigsConfigsTorservicepassword\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"=\n\x18ListconfigsConfigsWallet\x12\x11\n\tvalue_str\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\t\"F\n!ListconfigsConfigsWatchtimeblocks\x12\x11\n\tvalue_int\x18\x01 \x01(\r\x12\x0e\n\x06source\x18\x02 \x01(\t\"\r\n\x0bStopRequest\"a\n\x0cStopResponse\x12,\n\x06result\x18\x01 \x01(\x0e\x32\x1c.cln.StopResponse.StopResult\"#\n\nStopResult\x12\x15\n\x11SHUTDOWN_COMPLETE\x10\x00\"/\n\x0bHelpRequest\x12\x14\n\x07\x63ommand\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\n\n\x08_command\"\x95\x01\n\x0cHelpResponse\x12\x1b\n\x04help\x18\x01 \x03(\x0b\x32\r.cln.HelpHelp\x12:\n\x0b\x66ormat_hint\x18\x02 \x01(\x0e\x32 .cln.HelpResponse.HelpFormathintH\x00\x88\x01\x01\"\x1c\n\x0eHelpFormathint\x12\n\n\x06SIMPLE\x10\x00\x42\x0e\n\x0c_format_hint\"\x1b\n\x08HelpHelp\x12\x0f\n\x07\x63ommand\x18\x01 \x01(\t\"g\n\x18PreapprovekeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\x1b\n\x19PreapprovekeysendResponse\"*\n\x18PreapproveinvoiceRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"\x1b\n\x19PreapproveinvoiceResponse\"\x15\n\x13StaticbackupRequest\"#\n\x14StaticbackupResponse\x12\x0b\n\x03scb\x18\x01 \x03(\x0c\"d\n\x16\x42kprchannelsapyRequest\x12\x17\n\nstart_time\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x17\x42kprchannelsapyResponse\x12\x35\n\x0c\x63hannels_apy\x18\x01 \x03(\x0b\x32\x1f.cln.BkprchannelsapyChannelsApy\"\xf9\x06\n\x1a\x42kprchannelsapyChannelsApy\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12$\n\x0frouted_out_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0erouted_in_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12(\n\x13lease_fee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12*\n\x15lease_fee_earned_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x0fpushed_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x0epushed_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x16our_start_balance_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12/\n\x1a\x63hannel_start_balance_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\rfees_out_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x0c\x66\x65\x65s_in_msat\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x17\n\x0futilization_out\x18\x0c \x01(\t\x12$\n\x17utilization_out_initial\x18\r \x01(\tH\x01\x88\x01\x01\x12\x16\n\x0eutilization_in\x18\x0e \x01(\t\x12#\n\x16utilization_in_initial\x18\x0f \x01(\tH\x02\x88\x01\x01\x12\x0f\n\x07\x61py_out\x18\x10 \x01(\t\x12\x1c\n\x0f\x61py_out_initial\x18\x11 \x01(\tH\x03\x88\x01\x01\x12\x0e\n\x06\x61py_in\x18\x12 \x01(\t\x12\x1b\n\x0e\x61py_in_initial\x18\x13 \x01(\tH\x04\x88\x01\x01\x12\x11\n\tapy_total\x18\x14 \x01(\t\x12\x1e\n\x11\x61py_total_initial\x18\x15 \x01(\tH\x05\x88\x01\x01\x12\x16\n\tapy_lease\x18\x16 \x01(\tH\x06\x88\x01\x01\x42\x0f\n\r_fees_in_msatB\x1a\n\x18_utilization_out_initialB\x19\n\x17_utilization_in_initialB\x12\n\x10_apy_out_initialB\x11\n\x0f_apy_in_initialB\x14\n\x12_apy_total_initialB\x0c\n\n_apy_lease\"\xd2\x01\n\x18\x42kprdumpincomecsvRequest\x12\x12\n\ncsv_format\x18\x01 \x01(\t\x12\x15\n\x08\x63sv_file\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x1d\n\x10\x63onsolidate_fees\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\x04H\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\x04H\x03\x88\x01\x01\x42\x0b\n\t_csv_fileB\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"\xd4\x01\n\x19\x42kprdumpincomecsvResponse\x12\x10\n\x08\x63sv_file\x18\x01 \x01(\t\x12M\n\ncsv_format\x18\x02 \x01(\x0e\x32\x39.cln.BkprdumpincomecsvResponse.BkprdumpincomecsvCsvFormat\"V\n\x1a\x42kprdumpincomecsvCsvFormat\x12\x0f\n\x0b\x43OINTRACKER\x10\x00\x12\n\n\x06KOINLY\x10\x01\x12\x0b\n\x07HARMONY\x10\x02\x12\x0e\n\nQUICKBOOKS\x10\x03\"%\n\x12\x42kprinspectRequest\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\"7\n\x13\x42kprinspectResponse\x12 \n\x03txs\x18\x01 \x03(\x0b\x32\x13.cln.BkprinspectTxs\"\x9a\x01\n\x0e\x42kprinspectTxs\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x18\n\x0b\x62lockheight\x18\x02 \x01(\rH\x00\x88\x01\x01\x12#\n\x0e\x66\x65\x65s_paid_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x07outputs\x18\x04 \x03(\x0b\x32\x1a.cln.BkprinspectTxsOutputsB\x0e\n\x0c_blockheight\"\xbc\x03\n\x15\x42kprinspectTxsOutputs\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0e\n\x06outnum\x18\x02 \x01(\r\x12&\n\x11output_value_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x04 \x01(\t\x12%\n\x0b\x63redit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12$\n\ndebit_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12 \n\x13originating_account\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x17\n\noutput_tag\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x16\n\tspend_tag\x18\t \x01(\tH\x04\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x05\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x42\x0e\n\x0c_credit_msatB\r\n\x0b_debit_msatB\x16\n\x14_originating_accountB\r\n\x0b_output_tagB\x0c\n\n_spend_tagB\x10\n\x0e_spending_txidB\r\n\x0b_payment_id\"h\n\x1c\x42kprlistaccounteventsRequest\x12\x14\n\x07\x61\x63\x63ount\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\npayment_id\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_accountB\r\n\x0b_payment_id\"Q\n\x1d\x42kprlistaccounteventsResponse\x12\x30\n\x06\x65vents\x18\x01 \x03(\x0b\x32 .cln.BkprlistaccounteventsEvents\"\xcd\x05\n\x1b\x42kprlistaccounteventsEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12S\n\titem_type\x18\x02 \x01(\x0e\x32@.cln.BkprlistaccounteventsEvents.BkprlistaccounteventsEventsType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\t \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\n \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0b \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\x0c \x01(\x0cH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\r \x01(\tH\x05\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x07\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x08\x88\x01\x01\x12\x19\n\x0c\x63urrencyrate\x18\x11 \x01(\x01H\t\x88\x01\x01\"J\n\x1f\x42kprlistaccounteventsEventsType\x12\x0f\n\x0bONCHAIN_FEE\x10\x00\x12\t\n\x05\x43HAIN\x10\x01\x12\x0b\n\x07\x43HANNEL\x10\x02\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0e\n\x0c_descriptionB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_idB\x0f\n\r_currencyrate\"\x19\n\x17\x42kprlistbalancesRequest\"K\n\x18\x42kprlistbalancesResponse\x12/\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x1d.cln.BkprlistbalancesAccounts\"\xc6\x02\n\x18\x42kprlistbalancesAccounts\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x37\n\x08\x62\x61lances\x18\x02 \x03(\x0b\x32%.cln.BkprlistbalancesAccountsBalances\x12\x14\n\x07peer_id\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x16\n\twe_opened\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x1b\n\x0e\x61\x63\x63ount_closed\x18\x05 \x01(\x08H\x02\x88\x01\x01\x12\x1d\n\x10\x61\x63\x63ount_resolved\x18\x06 \x01(\x08H\x03\x88\x01\x01\x12\x1e\n\x11resolved_at_block\x18\x07 \x01(\rH\x04\x88\x01\x01\x42\n\n\x08_peer_idB\x0c\n\n_we_openedB\x11\n\x0f_account_closedB\x13\n\x11_account_resolvedB\x14\n\x12_resolved_at_block\"X\n BkprlistbalancesAccountsBalances\x12!\n\x0c\x62\x61lance_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x02 \x01(\t\"\x97\x01\n\x15\x42kprlistincomeRequest\x12\x1d\n\x10\x63onsolidate_fees\x18\x01 \x01(\x08H\x00\x88\x01\x01\x12\x17\n\nstart_time\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\x13\n\x11_consolidate_feesB\r\n\x0b_start_timeB\x0b\n\t_end_time\"P\n\x16\x42kprlistincomeResponse\x12\x36\n\rincome_events\x18\x01 \x03(\x0b\x32\x1f.cln.BkprlistincomeIncomeEvents\"\xb4\x02\n\x1a\x42kprlistincomeIncomeEvents\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x0b\n\x03tag\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x05 \x01(\t\x12\x11\n\ttimestamp\x18\x06 \x01(\r\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08outpoint\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04txid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\n \x01(\x0cH\x03\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_outpointB\x07\n\x05_txidB\r\n\x0b_payment_id\"P\n%BkpreditdescriptionbypaymentidRequest\x12\x12\n\npayment_id\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"e\n&BkpreditdescriptionbypaymentidResponse\x12;\n\x07updated\x18\x01 \x03(\x0b\x32*.cln.BkpreditdescriptionbypaymentidUpdated\"\xa3\x05\n%BkpreditdescriptionbypaymentidUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12g\n\titem_type\x18\x02 \x01(\x0e\x32T.cln.BkpreditdescriptionbypaymentidUpdated.BkpreditdescriptionbypaymentidUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"C\n)BkpreditdescriptionbypaymentidUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"M\n$BkpreditdescriptionbyoutpointRequest\x12\x10\n\x08outpoint\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\"c\n%BkpreditdescriptionbyoutpointResponse\x12:\n\x07updated\x18\x01 \x03(\x0b\x32).cln.BkpreditdescriptionbyoutpointUpdated\"\x9f\x05\n$BkpreditdescriptionbyoutpointUpdated\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\x12\x65\n\titem_type\x18\x02 \x01(\x0e\x32R.cln.BkpreditdescriptionbyoutpointUpdated.BkpreditdescriptionbyoutpointUpdatedType\x12\x0b\n\x03tag\x18\x03 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08\x63urrency\x18\x06 \x01(\t\x12\x11\n\ttimestamp\x18\x07 \x01(\r\x12\x13\n\x0b\x64\x65scription\x18\x08 \x01(\t\x12\x15\n\x08outpoint\x18\t \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\n \x01(\rH\x01\x88\x01\x01\x12\x13\n\x06origin\x18\x0b \x01(\tH\x02\x88\x01\x01\x12\x17\n\npayment_id\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12\x11\n\x04txid\x18\r \x01(\x0cH\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x19\n\x0cis_rebalance\x18\x0f \x01(\x08H\x06\x88\x01\x01\x12\x14\n\x07part_id\x18\x10 \x01(\rH\x07\x88\x01\x01\"B\n(BkpreditdescriptionbyoutpointUpdatedType\x12\t\n\x05\x43HAIN\x10\x00\x12\x0b\n\x07\x43HANNEL\x10\x01\x42\x0b\n\t_outpointB\x0e\n\x0c_blockheightB\t\n\x07_originB\r\n\x0b_payment_idB\x07\n\x05_txidB\x0c\n\n_fees_msatB\x0f\n\r_is_rebalanceB\n\n\x08_part_id\"\xb0\x01\n\x11\x42kprreportRequest\x12\x13\n\x06\x66ormat\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x0f\n\x07headers\x18\x02 \x03(\t\x12\x13\n\x06\x65scape\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nstart_time\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08\x65nd_time\x18\x05 \x01(\rH\x03\x88\x01\x01\x42\t\n\x07_formatB\t\n\x07_escapeB\r\n\x0b_start_timeB\x0b\n\t_end_time\"$\n\x12\x42kprreportResponse\x12\x0e\n\x06report\x18\x01 \x03(\t\"n\n\x14\x42lacklistruneRequest\x12\x12\n\x05start\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x10\n\x03\x65nd\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x13\n\x06relist\x18\x03 \x01(\x08H\x02\x88\x01\x01\x42\x08\n\x06_startB\x06\n\x04_endB\t\n\x07_relist\"G\n\x15\x42lacklistruneResponse\x12.\n\tblacklist\x18\x01 \x03(\x0b\x32\x1b.cln.BlacklistruneBlacklist\"4\n\x16\x42lacklistruneBlacklist\x12\r\n\x05start\x18\x01 \x01(\x04\x12\x0b\n\x03\x65nd\x18\x02 \x01(\x04\"p\n\x10\x43heckruneRequest\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x13\n\x06nodeid\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x0e\n\x06params\x18\x04 \x03(\tB\t\n\x07_nodeidB\t\n\x07_method\"\"\n\x11\x43heckruneResponse\x12\r\n\x05valid\x18\x01 \x01(\x08\"E\n\x11\x43reateruneRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x0crestrictions\x18\x02 \x03(\tB\x07\n\x05_rune\"{\n\x12\x43reateruneResponse\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12&\n\x19warning_unrestricted_rune\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x1c\n\x1a_warning_unrestricted_rune\".\n\x10ShowrunesRequest\x12\x11\n\x04rune\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_rune\"7\n\x11ShowrunesResponse\x12\"\n\x05runes\x18\x01 \x03(\x0b\x32\x13.cln.ShowrunesRunes\"\x9d\x02\n\x0eShowrunesRunes\x12\x0c\n\x04rune\x18\x01 \x01(\t\x12\x11\n\tunique_id\x18\x02 \x01(\t\x12\x35\n\x0crestrictions\x18\x03 \x03(\x0b\x32\x1f.cln.ShowrunesRunesRestrictions\x12\x1f\n\x17restrictions_as_english\x18\x04 \x01(\t\x12\x13\n\x06stored\x18\x05 \x01(\x08H\x00\x88\x01\x01\x12\x18\n\x0b\x62lacklisted\x18\x06 \x01(\x08H\x01\x88\x01\x01\x12\x16\n\tlast_used\x18\x07 \x01(\x01H\x02\x88\x01\x01\x12\x15\n\x08our_rune\x18\x08 \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_storedB\x0e\n\x0c_blacklistedB\x0c\n\n_last_usedB\x0b\n\t_our_rune\"p\n\x1aShowrunesRunesRestrictions\x12\x41\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32+.cln.ShowrunesRunesRestrictionsAlternatives\x12\x0f\n\x07\x65nglish\x18\x02 \x01(\t\"n\n&ShowrunesRunesRestrictionsAlternatives\x12\x11\n\tfieldname\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\x12\x11\n\tcondition\x18\x03 \x01(\t\x12\x0f\n\x07\x65nglish\x18\x04 \x01(\t\"r\n\x17\x41skreneunreserveRequest\x12\'\n\x04path\x18\x01 \x03(\x0b\x32\x19.cln.AskreneunreservePath\x12\x1b\n\x0e\x64\x65v_remove_all\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\x11\n\x0f_dev_remove_all\"\x1a\n\x18\x41skreneunreserveResponse\"t\n\x14\x41skreneunreservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"8\n\x18\x41skrenelistlayersRequest\x12\x12\n\x05layer\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"I\n\x19\x41skrenelistlayersResponse\x12,\n\x06layers\x18\x01 \x03(\x0b\x32\x1c.cln.AskrenelistlayersLayers\"\xaa\x03\n\x17\x41skrenelistlayersLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x16\n\x0e\x64isabled_nodes\x18\x02 \x03(\x0c\x12\x45\n\x10\x63reated_channels\x18\x03 \x03(\x0b\x32+.cln.AskrenelistlayersLayersCreatedChannels\x12<\n\x0b\x63onstraints\x18\x04 \x03(\x0b\x32\'.cln.AskrenelistlayersLayersConstraints\x12\x12\n\npersistent\x18\x05 \x01(\x08\x12\x19\n\x11\x64isabled_channels\x18\x06 \x03(\t\x12\x43\n\x0f\x63hannel_updates\x18\x07 \x03(\x0b\x32*.cln.AskrenelistlayersLayersChannelUpdates\x12\x32\n\x06\x62iases\x18\x08 \x03(\x0b\x32\".cln.AskrenelistlayersLayersBiases\x12;\n\x0bnode_biases\x18\t \x03(\x0b\x32&.cln.AskrenelistlayersLayersNodeBiases\"\x9b\x01\n\x1d\x41skrenelistlayersLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa8\x03\n%AskrenelistlayersLayersChannelUpdates\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x14\n\x07\x65nabled\x18\x02 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x07 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\xda\x01\n\"AskrenelistlayersLayersConstraints\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x05 \x01(\t\x12\x16\n\ttimestamp\x18\x06 \x01(\x04H\x02\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msatB\x0c\n\n_timestamp\"\x8b\x01\n&AskrenelistlayersLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x91\x01\n!AskrenelistlayersLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"R\n\x19\x41skrenecreatelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x17\n\npersistent\x18\x02 \x01(\x08H\x00\x88\x01\x01\x42\r\n\x0b_persistent\"K\n\x1a\x41skrenecreatelayerResponse\x12-\n\x06layers\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenecreatelayerLayers\"\xb0\x03\n\x18\x41skrenecreatelayerLayers\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x12\n\npersistent\x18\x02 \x01(\x08\x12\x16\n\x0e\x64isabled_nodes\x18\x03 \x03(\x0c\x12\x19\n\x11\x64isabled_channels\x18\x04 \x03(\t\x12\x46\n\x10\x63reated_channels\x18\x05 \x03(\x0b\x32,.cln.AskrenecreatelayerLayersCreatedChannels\x12\x44\n\x0f\x63hannel_updates\x18\x06 \x03(\x0b\x32+.cln.AskrenecreatelayerLayersChannelUpdates\x12=\n\x0b\x63onstraints\x18\x07 \x03(\x0b\x32(.cln.AskrenecreatelayerLayersConstraints\x12\x33\n\x06\x62iases\x18\x08 \x03(\x0b\x32#.cln.AskrenecreatelayerLayersBiases\x12<\n\x0bnode_biases\x18\t \x03(\x0b\x32\'.cln.AskrenecreatelayerLayersNodeBiases\"\x9c\x01\n\x1e\x41skrenecreatelayerLayersBiases\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\x0c\n\x04\x62ias\x18\x02 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x04 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xd1\x02\n&AskrenecreatelayerLayersChannelUpdates\x12+\n\x11htlc_minimum_msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x12\n\x05\x64\x65lay\x18\x05 \x01(\rH\x04\x88\x01\x01\x42\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x08\n\x06_delay\"\xc4\x01\n#AskrenecreatelayerLayersConstraints\x12\x18\n\x10short_channel_id\x18\x01 \x01(\t\x12\x11\n\tdirection\x18\x02 \x01(\r\x12&\n\x0cmaximum_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8c\x01\n\'AskrenecreatelayerLayersCreatedChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\"\n\rcapacity_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\"\x92\x01\n\"AskrenecreatelayerLayersNodeBiases\x12\x0c\n\x04node\x18\x01 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x02 \x01(\x12\x12\x10\n\x08out_bias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x42\x0e\n\x0c_description\"*\n\x19\x41skreneremovelayerRequest\x12\r\n\x05layer\x18\x01 \x01(\t\"\x1c\n\x1a\x41skreneremovelayerResponse\"P\n!AskreneremovechannelupdateRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\"$\n\"AskreneremovechannelupdateResponse\">\n\x15\x41skrenereserveRequest\x12%\n\x04path\x18\x01 \x03(\x0b\x32\x17.cln.AskrenereservePath\"\x18\n\x16\x41skrenereserveResponse\"r\n\x12\x41skrenereservePath\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1c\n\x14short_channel_id_dir\x18\x04 \x01(\t\x12\x12\n\x05layer\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_layer\"2\n\x11\x41skreneageRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06\x63utoff\x18\x02 \x01(\x04\"8\n\x12\x41skreneageResponse\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x13\n\x0bnum_removed\x18\x02 \x01(\x04\"\xe7\x01\n\x10GetroutesRequest\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12 \n\x0bmaxfee_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\nfinal_cltv\x18\x07 \x01(\r\x12\x15\n\x08maxdelay\x18\x08 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08maxparts\x18\t \x01(\rH\x01\x88\x01\x01\x42\x0b\n\t_maxdelayB\x0b\n\t_maxparts\"R\n\x11GetroutesResponse\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12$\n\x06routes\x18\x02 \x03(\x0b\x32\x14.cln.GetroutesRoutes\"\x88\x01\n\x0fGetroutesRoutes\x12\x17\n\x0fprobability_ppm\x18\x01 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x04path\x18\x03 \x03(\x0b\x32\x18.cln.GetroutesRoutesPath\x12\x12\n\nfinal_cltv\x18\x04 \x01(\r\"\xd4\x03\n\x13GetroutesRoutesPath\x12)\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountB\x02\x18\x01H\x00\x88\x01\x01\x12\x1d\n\x0cnext_node_id\x18\x04 \x01(\x0c\x42\x02\x18\x01H\x01\x88\x01\x01\x12\x16\n\x05\x64\x65lay\x18\x05 \x01(\rB\x02\x18\x01H\x02\x88\x01\x01\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12(\n\x0e\x61mount_in_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12)\n\x0f\x61mount_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x17\n\nnode_id_in\x18\t \x01(\x0cH\x05\x88\x01\x01\x12\x18\n\x0bnode_id_out\x18\n \x01(\x0cH\x06\x88\x01\x01\x12\x14\n\x07\x63ltv_in\x18\x0b \x01(\rH\x07\x88\x01\x01\x12\x15\n\x08\x63ltv_out\x18\x0c \x01(\rH\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x0f\n\r_next_node_idB\x08\n\x06_delayB\x11\n\x0f_amount_in_msatB\x12\n\x10_amount_out_msatB\r\n\x0b_node_id_inB\x0e\n\x0c_node_id_outB\n\n\x08_cltv_inB\x0b\n\t_cltv_out\"8\n\x19\x41skrenedisablenodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\"\x1c\n\x1a\x41skrenedisablenodeResponse\"\x8a\x02\n\x1b\x41skreneinformchannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x06 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12K\n\x06inform\x18\x08 \x01(\x0e\x32;.cln.AskreneinformchannelRequest.AskreneinformchannelInform\"O\n\x1a\x41skreneinformchannelInform\x12\x0f\n\x0b\x43ONSTRAINED\x10\x00\x12\x11\n\rUNCONSTRAINED\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\"Y\n\x1c\x41skreneinformchannelResponse\x12\x39\n\x0b\x63onstraints\x18\x02 \x03(\x0b\x32$.cln.AskreneinformchannelConstraints\"\xd3\x01\n\x1f\x41skreneinformchannelConstraints\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12\r\n\x05layer\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\x04\x12&\n\x0cmaximum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12&\n\x0cminimum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x42\x0f\n\r_maximum_msatB\x0f\n\r_minimum_msat\"\x8f\x01\n\x1b\x41skrenecreatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0e\n\x06source\x18\x02 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x03 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x04 \x01(\t\x12\"\n\rcapacity_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"\x1e\n\x1c\x41skrenecreatechannelResponse\"\xad\x03\n\x1b\x41skreneupdatechannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x14\n\x07\x65nabled\x18\x03 \x01(\x08H\x00\x88\x01\x01\x12+\n\x11htlc_minimum_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12+\n\x11htlc_maximum_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x1e\n\x11\x63ltv_expiry_delta\x18\x08 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_enabledB\x14\n\x12_htlc_minimum_msatB\x14\n\x12_htlc_maximum_msatB\x10\n\x0e_fee_base_msatB\x1e\n\x1c_fee_proportional_millionthsB\x14\n\x12_cltv_expiry_delta\"\x1e\n\x1c\x41skreneupdatechannelResponse\"\xa4\x01\n\x19\x41skrenebiaschannelRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x05 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"K\n\x1a\x41skrenebiaschannelResponse\x12-\n\x06\x62iases\x18\x01 \x03(\x0b\x32\x1d.cln.AskrenebiaschannelBiases\"\xa5\x01\n\x18\x41skrenebiaschannelBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x1c\n\x14short_channel_id_dir\x18\x02 \x01(\t\x12\x0c\n\x04\x62ias\x18\x03 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x04 \x01(\tH\x00\x88\x01\x01\x12\x16\n\ttimestamp\x18\x05 \x01(\x04H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0c\n\n_timestamp\"\xa4\x01\n\x16\x41skrenebiasnodeRequest\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x11\n\tdirection\x18\x03 \x01(\t\x12\x0c\n\x04\x62ias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08relative\x18\x06 \x01(\x08H\x01\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x0b\n\t_relative\"N\n\x17\x41skrenebiasnodeResponse\x12\x33\n\x0bnode_biases\x18\x01 \x03(\x0b\x32\x1e.cln.AskrenebiasnodeNodeBiases\"\x98\x01\n\x19\x41skrenebiasnodeNodeBiases\x12\r\n\x05layer\x18\x01 \x01(\t\x12\x0c\n\x04node\x18\x02 \x01(\x0c\x12\x0f\n\x07in_bias\x18\x03 \x01(\x12\x12\x10\n\x08out_bias\x18\x04 \x01(\x12\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x06 \x01(\x04\x42\x0e\n\x0c_description\" \n\x1e\x41skrenelistreservationsRequest\"a\n\x1f\x41skrenelistreservationsResponse\x12>\n\x0creservations\x18\x01 \x03(\x0b\x32(.cln.AskrenelistreservationsReservations\"\x91\x01\n#AskrenelistreservationsReservations\x12\x1c\n\x14short_channel_id_dir\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x16\n\x0e\x61ge_in_seconds\x18\x03 \x01(\x04\x12\x12\n\ncommand_id\x18\x04 \x01(\t\"\xf5\x02\n\x19InjectpaymentonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x13\n\x0b\x63ltv_expiry\x18\x04 \x01(\r\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x0f\n\x07groupid\x18\x06 \x01(\x04\x12\x12\n\x05label\x18\x07 \x01(\tH\x00\x88\x01\x01\x12\x16\n\tinvstring\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\t \x01(\x0cH\x02\x88\x01\x01\x12*\n\x10\x64\x65stination_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x0b \x01(\x0cH\x04\x88\x01\x01\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x10\n\x0e_localinvreqidB\x13\n\x11_destination_msatB\x0e\n\x0c_destination\"w\n\x1aInjectpaymentonionResponse\x12\x12\n\ncreated_at\x18\x01 \x01(\x04\x12\x14\n\x0c\x63ompleted_at\x18\x02 \x01(\x04\x12\x15\n\rcreated_index\x18\x03 \x01(\x04\x12\x18\n\x10payment_preimage\x18\x04 \x01(\x0c\">\n\x19InjectonionmessageRequest\x12\x10\n\x08path_key\x18\x01 \x01(\x0c\x12\x0f\n\x07message\x18\x02 \x01(\x0c\"\x1c\n\x1aInjectonionmessageResponse\"\xbb\x03\n\x0bXpayRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x02\x88\x01\x01\x12&\n\x0cpartial_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x17\n\npayer_note\x18\x08 \x01(\tH\x05\x88\x01\x01\x12\x12\n\x05label\x18\t \x01(\tH\x06\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\n \x01(\x0cH\x07\x88\x01\x01\x12\x1b\n\x0e\x64\x65v_use_shadow\x18\x0b \x01(\x08H\x08\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0f\n\r_partial_msatB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_labelB\x10\n\x0e_localinvreqidB\x11\n\x0f_dev_use_shadow\"\xa1\x01\n\x0cXpayResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"=\n\x19SignmessagewithkeyRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"`\n\x1aSignmessagewithkeyResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x0e\n\x06pubkey\x18\x02 \x01(\x0c\x12\x11\n\tsignature\x18\x03 \x01(\x0c\x12\x0e\n\x06\x62\x61se64\x18\x04 \x01(\t\"\xcd\x01\n\x17ListchannelmovesRequest\x12\x46\n\x05index\x18\x01 \x01(\x0e\x32\x32.cln.ListchannelmovesRequest.ListchannelmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"$\n\x15ListchannelmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"S\n\x18ListchannelmovesResponse\x12\x37\n\x0c\x63hannelmoves\x18\x01 \x03(\x0b\x32!.cln.ListchannelmovesChannelmoves\"\xa9\x04\n\x1cListchannelmovesChannelmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12]\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32H.cln.ListchannelmovesChannelmoves.ListchannelmovesChannelmovesPrimaryTag\x12\x19\n\x0cpayment_hash\x18\x07 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x07part_id\x18\x08 \x01(\x04H\x01\x88\x01\x01\x12\x15\n\x08group_id\x18\t \x01(\x04H\x02\x88\x01\x01\x12\x1e\n\tfees_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\"\x96\x01\n&ListchannelmovesChannelmovesPrimaryTag\x12\x0b\n\x07INVOICE\x10\x00\x12\n\n\x06ROUTED\x10\x01\x12\n\n\x06PUSHED\x10\x02\x12\r\n\tLEASE_FEE\x10\x03\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x04\x12\x0f\n\x0bPENALTY_ADJ\x10\x05\x12\x11\n\rJOURNAL_ENTRY\x10\x06\x42\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_id\"\xc5\x01\n\x15ListchainmovesRequest\x12\x42\n\x05index\x18\x01 \x01(\x0e\x32..cln.ListchainmovesRequest.ListchainmovesIndexH\x00\x88\x01\x01\x12\x12\n\x05start\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05limit\x18\x03 \x01(\rH\x02\x88\x01\x01\"\"\n\x13ListchainmovesIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"K\n\x16ListchainmovesResponse\x12\x31\n\nchainmoves\x18\x01 \x03(\x0b\x32\x1d.cln.ListchainmovesChainmoves\"\xd4\x06\n\x18ListchainmovesChainmoves\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\x05 \x01(\x04\x12U\n\x0bprimary_tag\x18\x06 \x01(\x0e\x32@.cln.ListchainmovesChainmoves.ListchainmovesChainmovesPrimaryTag\x12\x14\n\x07peer_id\x18\x08 \x01(\x0cH\x00\x88\x01\x01\x12 \n\x13originating_account\x18\t \x01(\tH\x01\x88\x01\x01\x12\x1a\n\rspending_txid\x18\n \x01(\x0cH\x02\x88\x01\x01\x12\x1b\n\x04utxo\x18\x0b \x01(\x0b\x32\r.cln.Outpoint\x12\x19\n\x0cpayment_hash\x18\x0c \x01(\x0cH\x03\x88\x01\x01\x12 \n\x0boutput_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12\x19\n\x0coutput_count\x18\x0e \x01(\rH\x04\x88\x01\x01\x12\x13\n\x0b\x62lockheight\x18\x0f \x01(\r\x12\x12\n\nextra_tags\x18\x10 \x03(\t\"\x95\x02\n\"ListchainmovesChainmovesPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x42\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x10\n\x0e_spending_txidB\x0f\n\r_payment_hashB\x0f\n\r_output_count\"\xe9\x01\n\x18ListnetworkeventsRequest\x12\x0f\n\x02id\x18\x01 \x01(\tH\x00\x88\x01\x01\x12H\n\x05index\x18\x02 \x01(\x0e\x32\x34.cln.ListnetworkeventsRequest.ListnetworkeventsIndexH\x01\x88\x01\x01\x12\x12\n\x05start\x18\x03 \x01(\x04H\x02\x88\x01\x01\x12\x12\n\x05limit\x18\x04 \x01(\rH\x03\x88\x01\x01\"%\n\x16ListnetworkeventsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x42\x05\n\x03_idB\x08\n\x06_indexB\x08\n\x06_startB\x08\n\x06_limit\"W\n\x19ListnetworkeventsResponse\x12:\n\rnetworkevents\x18\x01 \x03(\x0b\x32#.cln.ListnetworkeventsNetworkevents\"\xf2\x01\n\x1eListnetworkeventsNetworkevents\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\x11\n\ttimestamp\x18\x02 \x01(\x04\x12\x0f\n\x07peer_id\x18\x03 \x01(\x0c\x12\x11\n\titem_type\x18\x04 \x01(\t\x12\x13\n\x06reason\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rduration_nsec\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x1e\n\x11\x63onnect_attempted\x18\x07 \x01(\x08H\x02\x88\x01\x01\x42\t\n\x07_reasonB\x10\n\x0e_duration_nsecB\x14\n\x12_connect_attempted\"/\n\x16\x44\x65lnetworkeventRequest\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\"\x19\n\x17\x44\x65lnetworkeventResponse\"\xf6\x01\n\x1a\x43lnrestregisterpathRequest\x12\x0c\n\x04path\x18\x01 \x01(\t\x12\x12\n\nrpc_method\x18\x02 \x01(\t\x12H\n\x11rune_restrictions\x18\x03 \x01(\x0b\x32(.cln.ClnrestregisterpathRuneRestrictionsH\x00\x88\x01\x01\x12\x1a\n\rrune_required\x18\x04 \x01(\x08H\x01\x88\x01\x01\x12\x18\n\x0bhttp_method\x18\x05 \x01(\tH\x02\x88\x01\x01\x42\x14\n\x12_rune_restrictionsB\x10\n\x0e_rune_requiredB\x0e\n\x0c_http_method\"\x1d\n\x1b\x43lnrestregisterpathResponse\"\xda\x01\n#ClnrestregisterpathRuneRestrictions\x12\x13\n\x06nodeid\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06method\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x44\n\x06params\x18\x03 \x03(\x0b\x32\x34.cln.ClnrestregisterpathRuneRestrictions.ParamsEntry\x1a-\n\x0bParamsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\t\n\x07_nodeidB\t\n\x07_method\",\n\x18ListcurrencyratesRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\"W\n\x19ListcurrencyratesResponse\x12:\n\rcurrencyrates\x18\x01 \x03(\x0b\x32#.cln.ListcurrencyratesCurrencyrates\"@\n\x1eListcurrencyratesCurrencyrates\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x01\":\n\x16\x43urrencyconvertRequest\x12\x0e\n\x06\x61mount\x18\x01 \x01(\x01\x12\x10\n\x08\x63urrency\x18\x02 \x01(\t\"4\n\x17\x43urrencyconvertResponse\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\"G\n\x13\x43urrencyrateRequest\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\x12\x13\n\x06source\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\t\n\x07_source\"$\n\x14\x43urrencyrateResponse\x12\x0c\n\x04rate\x18\x01 \x01(\x01\"\x95\x02\n\x11SendamountRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x06maxfee\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x0e\n\x06layers\x18\x04 \x03(\t\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x01\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x17\n\npayer_note\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x12\n\x05label\x18\x08 \x01(\tH\x04\x88\x01\x01\x42\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\r\n\x0b_payer_noteB\x08\n\x06_label\"\xa7\x01\n\x12SendamountResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"e\n\x12\x43reateproofRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\x12\x11\n\x04note\x18\x02 \x01(\tH\x00\x88\x01\x01\x12 \n\x07include\x18\x03 \x03(\x0b\x32\x0f.cln.ProofFieldB\x07\n\x05_note\"=\n\x13\x43reateproofResponse\x12&\n\x06proofs\x18\x01 \x03(\x0b\x32\x16.cln.CreateproofProofs\"\xb6\x01\n\x11\x43reateproofProofs\x12\x0e\n\x06\x62olt12\x18\x01 \x01(\t\x12.\n\x15offer_fields_included\x18\x02 \x03(\x0b\x32\x0f.cln.ProofField\x12/\n\x16invreq_fields_included\x18\x03 \x03(\x0b\x32\x0f.cln.ProofField\x12\x30\n\x17invoice_fields_included\x18\x04 \x03(\x0b\x32\x0f.cln.ProofField\"\xd7\x02\n\x0fXkeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12 \n\x06maxfee\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x0e\n\x06layers\x18\x05 \x03(\t\x12\x16\n\tretry_for\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x07 \x01(\rH\x03\x88\x01\x01\x12\x36\n\textratlvs\x18\x08 \x03(\x0b\x32#.cln.XkeysendRequest.ExtratlvsEntry\x1a\x30\n\x0e\x45xtratlvsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x08\n\x06_labelB\t\n\x07_maxfeeB\x0c\n\n_retry_forB\x0b\n\t_maxdelay\"\xa5\x01\n\x10XkeysendResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x14\n\x0c\x66\x61iled_parts\x18\x02 \x01(\x04\x12\x18\n\x10successful_parts\x18\x03 \x01(\x04\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\"3\n\x0fGracefulRequest\x12\x14\n\x07timeout\x18\x01 \x01(\rH\x00\x88\x01\x01\x42\n\n\x08_timeout\"H\n\x10GracefulResponse\x12\x1d\n\x15pending_htlc_expiries\x18\x01 \x03(\r\x12\x15\n\rpending_peers\x18\x02 \x03(\x0c\"\x1e\n\x1cStreamBalanceSnapshotRequest\"\x86\x01\n\x1b\x42\x61lanceSnapshotNotification\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x13\n\x0b\x62lockheight\x18\x02 \x01(\r\x12\x11\n\ttimestamp\x18\x03 \x01(\r\x12.\n\x08\x61\x63\x63ounts\x18\x04 \x03(\x0b\x32\x1c.cln.BalanceSnapshotAccounts\"c\n\x17\x42\x61lanceSnapshotAccounts\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12!\n\x0c\x62\x61lance_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\tcoin_type\x18\x03 \x01(\t\"\x19\n\x17StreamBlockAddedRequest\"6\n\x16\x42lockAddedNotification\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0e\n\x06height\x18\x02 \x01(\r\" \n\x1eStreamChannelOpenFailedRequest\"3\n\x1d\x43hannelOpenFailedNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\"\x1c\n\x1aStreamChannelOpenedRequest\"w\n\x19\x43hannelOpenedNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12!\n\x0c\x66unding_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x03 \x01(\x0c\x12\x15\n\rchannel_ready\x18\x04 \x01(\x08\"\"\n StreamChannelStateChangedRequest\"\xc1\x03\n\x1f\x43hannelStateChangedNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x11\n\ttimestamp\x18\x04 \x01(\t\x12)\n\told_state\x18\x05 \x01(\x0e\x32\x11.cln.ChannelStateH\x01\x88\x01\x01\x12$\n\tnew_state\x18\x06 \x01(\x0e\x32\x11.cln.ChannelState\x12L\n\x05\x63\x61use\x18\x07 \x01(\x0e\x32=.cln.ChannelStateChangedNotification.ChannelStateChangedCause\x12\x14\n\x07message\x18\x08 \x01(\tH\x02\x88\x01\x01\"c\n\x18\x43hannelStateChangedCause\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05LOCAL\x10\x01\x12\x08\n\x04USER\x10\x02\x12\n\n\x06REMOTE\x10\x03\x12\x0c\n\x08PROTOCOL\x10\x04\x12\x0b\n\x07ONCHAIN\x10\x05\x42\x13\n\x11_short_channel_idB\x0c\n\n_old_stateB\n\n\x08_message\"\x16\n\x14StreamConnectRequest\"\xbe\x01\n\x17PeerConnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x44\n\tdirection\x18\x02 \x01(\x0e\x32\x31.cln.PeerConnectNotification.PeerConnectDirection\x12(\n\x07\x61\x64\x64ress\x18\x03 \x01(\x0b\x32\x17.cln.PeerConnectAddress\"\'\n\x14PeerConnectDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\"\x9a\x02\n\x12PeerConnectAddress\x12\x41\n\titem_type\x18\x01 \x01(\x0e\x32..cln.PeerConnectAddress.PeerConnectAddressType\x12\x13\n\x06socket\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x61\x64\x64ress\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x11\n\x04port\x18\x04 \x01(\rH\x02\x88\x01\x01\"c\n\x16PeerConnectAddressType\x12\x10\n\x0cLOCAL_SOCKET\x10\x00\x12\x08\n\x04IPV4\x10\x01\x12\x08\n\x04IPV6\x10\x02\x12\t\n\x05TORV2\x10\x03\x12\t\n\x05TORV3\x10\x04\x12\r\n\tWEBSOCKET\x10\x05\x42\t\n\x07_socketB\n\n\x08_addressB\x07\n\x05_port\"\x1b\n\x19StreamCoinMovementRequest\"\xaf\x0b\n\x18\x43oinMovementNotification\x12\x0f\n\x07version\x18\x01 \x01(\r\x12\x11\n\tcoin_type\x18\x02 \x01(\t\x12\x0f\n\x07node_id\x18\x03 \x01(\x0c\x12\x41\n\titem_type\x18\x04 \x01(\x0e\x32..cln.CoinMovementNotification.CoinMovementType\x12\x1a\n\rcreated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x12\n\naccount_id\x18\x06 \x01(\t\x12 \n\x0b\x63redit_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\x1f\n\ndebit_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x11\n\ttimestamp\x18\t \x01(\x04\x12\x10\n\x04tags\x18\n \x03(\tB\x02\x18\x01\x12N\n\x0bprimary_tag\x18\x0b \x01(\x0e\x32\x34.cln.CoinMovementNotification.CoinMovementPrimaryTagH\x01\x88\x01\x01\x12\x12\n\nextra_tags\x18\x0c \x03(\t\x12\x19\n\x0cpayment_hash\x18\r \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07part_id\x18\x0e \x01(\x04H\x03\x88\x01\x01\x12\x15\n\x08group_id\x18\x0f \x01(\x04H\x04\x88\x01\x01\x12#\n\tfees_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12 \n\x04utxo\x18\x11 \x01(\x0b\x32\r.cln.OutpointH\x06\x88\x01\x01\x12\x14\n\x07peer_id\x18\x12 \x01(\x0cH\x07\x88\x01\x01\x12 \n\x13originating_account\x18\x13 \x01(\tH\x08\x88\x01\x01\x12\x15\n\x04txid\x18\x14 \x01(\x0c\x42\x02\x18\x01H\t\x88\x01\x01\x12\x1a\n\rspending_txid\x18\x15 \x01(\x0cH\n\x88\x01\x01\x12\x1a\n\tutxo_txid\x18\x16 \x01(\x0c\x42\x02\x18\x01H\x0b\x88\x01\x01\x12\x15\n\x04vout\x18\x17 \x01(\rB\x02\x18\x01H\x0c\x88\x01\x01\x12%\n\x0boutput_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12\x19\n\x0coutput_count\x18\x19 \x01(\rH\x0e\x88\x01\x01\x12\x18\n\x0b\x62lockheight\x18\x1a \x01(\rH\x0f\x88\x01\x01\"\xf7\x02\n\x16\x43oinMovementPrimaryTag\x12\x0b\n\x07\x44\x45POSIT\x10\x00\x12\x0e\n\nWITHDRAWAL\x10\x01\x12\x0b\n\x07PENALTY\x10\x02\x12\x10\n\x0c\x43HANNEL_OPEN\x10\x03\x12\x11\n\rCHANNEL_CLOSE\x10\x04\x12\x11\n\rDELAYED_TO_US\x10\x05\x12\x0b\n\x07HTLC_TX\x10\x06\x12\x10\n\x0cHTLC_TIMEOUT\x10\x07\x12\x10\n\x0cHTLC_FULFILL\x10\x08\x12\r\n\tTO_WALLET\x10\t\x12\n\n\x06\x41NCHOR\x10\n\x12\x0b\n\x07TO_THEM\x10\x0b\x12\r\n\tPENALIZED\x10\x0c\x12\n\n\x06STOLEN\x10\r\x12\x0b\n\x07IGNORED\x10\x0e\x12\x0c\n\x08TO_MINER\x10\x0f\x12\x0b\n\x07INVOICE\x10\x10\x12\n\n\x06ROUTED\x10\x11\x12\n\n\x06PUSHED\x10\x12\x12\r\n\tLEASE_FEE\x10\x13\x12\x14\n\x10\x43HANNEL_PROPOSED\x10\x14\x12\x0f\n\x0bPENALTY_ADJ\x10\x15\x12\x11\n\rJOURNAL_ENTRY\x10\x16\"2\n\x10\x43oinMovementType\x12\x0f\n\x0b\x43HANNEL_MVT\x10\x00\x12\r\n\tCHAIN_MVT\x10\x01\x42\x10\n\x0e_created_indexB\x0e\n\x0c_primary_tagB\x0f\n\r_payment_hashB\n\n\x08_part_idB\x0b\n\t_group_idB\x0c\n\n_fees_msatB\x07\n\x05_utxoB\n\n\x08_peer_idB\x16\n\x14_originating_accountB\x07\n\x05_txidB\x10\n\x0e_spending_txidB\x0c\n\n_utxo_txidB\x07\n\x05_voutB\x0e\n\x0c_output_msatB\x0f\n\r_output_countB\x0e\n\x0c_blockheight\"\x18\n\x16StreamCustomMsgRequest\"9\n\x15\x43ustomMsgNotification\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\" \n\x1eStreamDeprecatedOneshotRequest\"6\n\x1d\x44\x65precatedOneshotNotification\x12\x15\n\rdeprecated_ok\x18\x01 \x01(\x08\"\x19\n\x17StreamDisconnectRequest\"$\n\x16\x44isconnectNotification\x12\n\n\x02id\x18\x01 \x01(\x0c\"\x1b\n\x19StreamForwardEventRequest\"\x88\x05\n\x18\x46orwardEventNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x12\n\nin_channel\x18\x02 \x01(\t\x12\x18\n\x0bout_channel\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1c\n\x07in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\"\n\x08out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12@\n\x06status\x18\x07 \x01(\x0e\x32\x30.cln.ForwardEventNotification.ForwardEventStatus\x12\x15\n\x08\x66\x61ilcode\x18\x08 \x01(\rH\x03\x88\x01\x01\x12\x17\n\nfailreason\x18\t \x01(\tH\x04\x88\x01\x01\x12\x43\n\x05style\x18\n \x01(\x0e\x32/.cln.ForwardEventNotification.ForwardEventStyleH\x05\x88\x01\x01\x12\x15\n\rreceived_time\x18\x0b \x01(\x01\x12\x1a\n\rresolved_time\x18\x0c \x01(\x01H\x06\x88\x01\x01\"L\n\x12\x46orwardEventStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"(\n\x11\x46orwardEventStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0b\n\t_out_msatB\x0b\n\t_fee_msatB\x0b\n\t_failcodeB\r\n\x0b_failreasonB\x08\n\x06_styleB\x10\n\x0e_resolved_time\"\x1e\n\x1cStreamInvoiceCreationRequest\"g\n\x1bInvoiceCreationNotification\x12\x1e\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12\r\n\x05label\x18\x03 \x01(\tB\x07\n\x05_msat\"\x1d\n\x1bStreamInvoicePaymentRequest\"\x8b\x01\n\x1aInvoicePaymentNotification\x12\x19\n\x04msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12$\n\x08outpoint\x18\x03 \x01(\x0b\x32\r.cln.OutpointH\x00\x88\x01\x01\x12\r\n\x05label\x18\x04 \x01(\tB\x0b\n\t_outpoint\"\x12\n\x10StreamLogRequest\"\xca\x01\n\x0fLogNotification\x12,\n\x05level\x18\x01 \x01(\x0e\x32\x1d.cln.LogNotification.LogLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"K\n\x08LogLevel\x12\x06\n\x02IO\x10\x00\x12\t\n\x05TRACE\x10\x01\x12\t\n\x05\x44\x45\x42UG\x10\x02\x12\x08\n\x04INFO\x10\x03\x12\x0b\n\x07UNUSUAL\x10\x04\x12\n\n\x06\x42ROKEN\x10\x05\"&\n$StreamOnionMessageForwardFailRequest\"\xef\x01\n#OnionMessageForwardFailNotification\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x10\n\x08incoming\x18\x02 \x01(\x0c\x12\x10\n\x08path_key\x18\x03 \x01(\x0c\x12\x15\n\x08outgoing\x18\x04 \x01(\x0cH\x00\x88\x01\x01\x12\x19\n\x0cnext_node_id\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12&\n\x19next_short_channel_id_dir\x18\x06 \x01(\tH\x02\x88\x01\x01\x42\x0b\n\t_outgoingB\x0f\n\r_next_node_idB\x1c\n\x1a_next_short_channel_id_dir\"\"\n StreamOpenChannelPeerSigsRequest\"J\n\x1fOpenChannelPeerSigsNotification\x12\x12\n\nchannel_id\x18\x01 \x01(\x0c\x12\x13\n\x0bsigned_psbt\x18\x02 \x01(\t\"\x1c\n\x1aStreamPluginStartedRequest\"V\n\x19PluginStartedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1c\n\x1aStreamPluginStoppedRequest\"V\n\x19PluginStoppedNotification\x12\x13\n\x0bplugin_name\x18\x01 \x01(\t\x12\x13\n\x0bplugin_path\x18\x02 \x01(\t\x12\x0f\n\x07methods\x18\x03 \x03(\t\"\x1d\n\x1bStreamSendPayFailureRequest\"b\n\x1aSendPayFailureNotification\x12\x0c\n\x04\x63ode\x18\x01 \x01(\x12\x12\x0f\n\x07message\x18\x02 \x01(\t\x12%\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x17.cln.SendpayFailureData\"\xc1\t\n\x12SendpayFailureData\x12\x1a\n\rcreated_index\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x03\x88\x01\x01\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x05\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x06\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x17\n\ncreated_at\x18\n \x01(\x04H\t\x88\x01\x01\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\n\x88\x01\x01\x12\x45\n\x06status\x18\x0c \x01(\x0e\x32\x30.cln.SendpayFailureData.SendpayFailureDataStatusH\x0b\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x0c\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\r\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x0e\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x0f\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\x10\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\x11\x88\x01\x01\x12\x17\n\nonionreply\x18\x13 \x01(\x0cH\x12\x88\x01\x01\x12\x19\n\x0c\x65rring_index\x18\x14 \x01(\rH\x13\x88\x01\x01\x12\x15\n\x08\x66\x61ilcode\x18\x15 \x01(\rH\x14\x88\x01\x01\x12\x19\n\x0c\x66\x61ilcodename\x18\x16 \x01(\tH\x15\x88\x01\x01\x12\x18\n\x0b\x65rring_node\x18\x17 \x01(\x0cH\x16\x88\x01\x01\x12\x1b\n\x0e\x65rring_channel\x18\x18 \x01(\tH\x17\x88\x01\x01\x12\x1d\n\x10\x65rring_direction\x18\x19 \x01(\rH\x18\x88\x01\x01\x12\x18\n\x0braw_message\x18\x1a \x01(\x0cH\x19\x88\x01\x01\"A\n\x18SendpayFailureDataStatus\x12\n\n\x06\x46\x41ILED\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x10\n\x0e_created_indexB\x05\n\x03_idB\x0f\n\r_payment_hashB\n\n\x08_groupidB\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_created_atB\x0f\n\r_completed_atB\t\n\x07_statusB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronionB\r\n\x0b_onionreplyB\x0f\n\r_erring_indexB\x0b\n\t_failcodeB\x0f\n\r_failcodenameB\x0e\n\x0c_erring_nodeB\x11\n\x0f_erring_channelB\x13\n\x11_erring_directionB\x0e\n\x0c_raw_message\"\x1d\n\x1bStreamSendPaySuccessRequest\"\xcc\x05\n\x1aSendPaySuccessNotification\x12\x15\n\rcreated_index\x18\x01 \x01(\x04\x12\n\n\x02id\x18\x02 \x01(\x04\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x1a\n\rupdated_index\x18\x05 \x01(\x04H\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x06 \x01(\x04H\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x07 \x01(\x0cH\x02\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\ncreated_at\x18\n \x01(\x04\x12\x19\n\x0c\x63ompleted_at\x18\x0b \x01(\x04H\x04\x88\x01\x01\x12\x44\n\x06status\x18\x0c \x01(\x0e\x32\x34.cln.SendPaySuccessNotification.SendpaySuccessStatus\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x05\x88\x01\x01\x12\x12\n\x05label\x18\x0e \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0f \x01(\tH\x07\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x10 \x01(\tH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x11 \x01(\tH\t\x88\x01\x01\x12\x17\n\nerroronion\x18\x12 \x01(\x0cH\n\x88\x01\x01\"$\n\x14SendpaySuccessStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\x10\n\x0e_updated_indexB\t\n\x07_partidB\x0e\n\x0c_destinationB\x0e\n\x0c_amount_msatB\x0f\n\r_completed_atB\x13\n\x11_payment_preimageB\x08\n\x06_labelB\t\n\x07_bolt11B\t\n\x07_bolt12B\x0e\n\x0c_descriptionB\r\n\x0b_erroronion\"\x17\n\x15StreamShutdownRequest\"\x16\n\x14ShutdownNotification\"\x16\n\x14StreamWarningRequest\"\xae\x01\n\x13WarningNotification\x12\x34\n\x05level\x18\x01 \x01(\x0e\x32%.cln.WarningNotification.WarningLevel\x12\x0c\n\x04time\x18\x02 \x01(\t\x12\x11\n\ttimestamp\x18\x03 \x01(\t\x12\x0e\n\x06source\x18\x04 \x01(\t\x12\x0b\n\x03log\x18\x05 \x01(\t\"#\n\x0cWarningLevel\x12\x08\n\x04WARN\x10\x00\x12\t\n\x05\x45RROR\x10\x01\"\x19\n\x17StreamPayPartEndRequest\"\xf1\x03\n\x16PayPartEndNotification\x12<\n\x06status\x18\x01 \x01(\x0e\x32,.cln.PayPartEndNotification.PayPartEndStatus\x12\x10\n\x08\x64uration\x18\x02 \x01(\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x0f\n\x07groupid\x18\x04 \x01(\x04\x12\x0e\n\x06partid\x18\x05 \x01(\x04\x12\x17\n\nfailed_msg\x18\x06 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66\x61iled_node_id\x18\x07 \x01(\x0cH\x01\x88\x01\x01\x12$\n\x17\x66\x61iled_short_channel_id\x18\x08 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10\x66\x61iled_direction\x18\t \x01(\rH\x03\x88\x01\x01\x12\x17\n\nerror_code\x18\n \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rerror_message\x18\x0b \x01(\tH\x05\x88\x01\x01\",\n\x10PayPartEndStatus\x12\x0b\n\x07SUCCESS\x10\x00\x12\x0b\n\x07\x46\x41ILURE\x10\x01\x42\r\n\x0b_failed_msgB\x11\n\x0f_failed_node_idB\x1a\n\x18_failed_short_channel_idB\x13\n\x11_failed_directionB\r\n\x0b_error_codeB\x10\n\x0e_error_message\"\x1b\n\x19StreamPayPartStartRequest\"\xc2\x01\n\x18PayPartStartNotification\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x0e\n\x06partid\x18\x03 \x01(\x04\x12\'\n\x12total_payment_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12!\n\x0c\x61ttempt_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x04hops\x18\x06 \x03(\x0b\x32\x15.cln.PayPartStartHops\"\x9f\x01\n\x10PayPartStartHops\x12\x11\n\tnext_node\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\r\x12$\n\x0f\x63hannel_in_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x63hannel_out_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount2\xbah\n\x04Node\x12\x36\n\x07Getinfo\x12\x13.cln.GetinfoRequest\x1a\x14.cln.GetinfoResponse\"\x00\x12<\n\tListPeers\x12\x15.cln.ListpeersRequest\x1a\x16.cln.ListpeersResponse\"\x00\x12<\n\tListFunds\x12\x15.cln.ListfundsRequest\x1a\x16.cln.ListfundsResponse\"\x00\x12\x36\n\x07SendPay\x12\x13.cln.SendpayRequest\x1a\x14.cln.SendpayResponse\"\x00\x12\x45\n\x0cListChannels\x12\x18.cln.ListchannelsRequest\x1a\x19.cln.ListchannelsResponse\"\x00\x12<\n\tAddGossip\x12\x15.cln.AddgossipRequest\x1a\x16.cln.AddgossipResponse\"\x00\x12H\n\rAddPsbtOutput\x12\x19.cln.AddpsbtoutputRequest\x1a\x1a.cln.AddpsbtoutputResponse\"\x00\x12H\n\rAutoCleanOnce\x12\x19.cln.AutocleanonceRequest\x1a\x1a.cln.AutocleanonceResponse\"\x00\x12N\n\x0f\x41utoCleanStatus\x12\x1b.cln.AutocleanstatusRequest\x1a\x1c.cln.AutocleanstatusResponse\"\x00\x12\x45\n\x0c\x43heckMessage\x12\x18.cln.CheckmessageRequest\x1a\x19.cln.CheckmessageResponse\"\x00\x12\x30\n\x05\x43lose\x12\x11.cln.CloseRequest\x1a\x12.cln.CloseResponse\"\x00\x12:\n\x0b\x43onnectPeer\x12\x13.cln.ConnectRequest\x1a\x14.cln.ConnectResponse\"\x00\x12H\n\rCreateInvoice\x12\x19.cln.CreateinvoiceRequest\x1a\x1a.cln.CreateinvoiceResponse\"\x00\x12<\n\tDatastore\x12\x15.cln.DatastoreRequest\x1a\x16.cln.DatastoreResponse\"\x00\x12K\n\x0e\x44\x61tastoreUsage\x12\x1a.cln.DatastoreusageRequest\x1a\x1b.cln.DatastoreusageResponse\"\x00\x12\x42\n\x0b\x43reateOnion\x12\x17.cln.CreateonionRequest\x1a\x18.cln.CreateonionResponse\"\x00\x12\x45\n\x0c\x44\x65lDatastore\x12\x18.cln.DeldatastoreRequest\x1a\x19.cln.DeldatastoreResponse\"\x00\x12?\n\nDelInvoice\x12\x16.cln.DelinvoiceRequest\x1a\x17.cln.DelinvoiceResponse\"\x00\x12Q\n\x10\x44\x65vForgetChannel\x12\x1c.cln.DevforgetchannelRequest\x1a\x1d.cln.DevforgetchannelResponse\"\x00\x12Q\n\x10\x45mergencyRecover\x12\x1c.cln.EmergencyrecoverRequest\x1a\x1d.cln.EmergencyrecoverResponse\"\x00\x12\x66\n\x17GetEmergencyRecoverData\x12#.cln.GetemergencyrecoverdataRequest\x1a$.cln.GetemergencyrecoverdataResponse\"\x00\x12\x45\n\x0c\x45xposeSecret\x12\x18.cln.ExposesecretRequest\x1a\x19.cln.ExposesecretResponse\"\x00\x12\x36\n\x07Recover\x12\x13.cln.RecoverRequest\x1a\x14.cln.RecoverResponse\"\x00\x12K\n\x0eRecoverChannel\x12\x1a.cln.RecoverchannelRequest\x1a\x1b.cln.RecoverchannelResponse\"\x00\x12\x36\n\x07Invoice\x12\x13.cln.InvoiceRequest\x1a\x14.cln.InvoiceResponse\"\x00\x12Q\n\x14\x43reateInvoiceRequest\x12\x1a.cln.InvoicerequestRequest\x1a\x1b.cln.InvoicerequestResponse\"\x00\x12`\n\x15\x44isableInvoiceRequest\x12!.cln.DisableinvoicerequestRequest\x1a\".cln.DisableinvoicerequestResponse\"\x00\x12Z\n\x13ListInvoiceRequests\x12\x1f.cln.ListinvoicerequestsRequest\x1a .cln.ListinvoicerequestsResponse\"\x00\x12H\n\rListDatastore\x12\x19.cln.ListdatastoreRequest\x1a\x1a.cln.ListdatastoreResponse\"\x00\x12\x45\n\x0cListInvoices\x12\x18.cln.ListinvoicesRequest\x1a\x19.cln.ListinvoicesResponse\"\x00\x12<\n\tSendOnion\x12\x15.cln.SendonionRequest\x1a\x16.cln.SendonionResponse\"\x00\x12\x45\n\x0cListSendPays\x12\x18.cln.ListsendpaysRequest\x1a\x19.cln.ListsendpaysResponse\"\x00\x12Q\n\x10ListTransactions\x12\x1c.cln.ListtransactionsRequest\x1a\x1d.cln.ListtransactionsResponse\"\x00\x12?\n\nMakeSecret\x12\x16.cln.MakesecretRequest\x1a\x17.cln.MakesecretResponse\"\x00\x12*\n\x03Pay\x12\x0f.cln.PayRequest\x1a\x10.cln.PayResponse\"\x00\x12<\n\tListNodes\x12\x15.cln.ListnodesRequest\x1a\x16.cln.ListnodesResponse\"\x00\x12K\n\x0eWaitAnyInvoice\x12\x1a.cln.WaitanyinvoiceRequest\x1a\x1b.cln.WaitanyinvoiceResponse\"\x00\x12\x42\n\x0bWaitInvoice\x12\x17.cln.WaitinvoiceRequest\x1a\x18.cln.WaitinvoiceResponse\"\x00\x12\x42\n\x0bWaitSendPay\x12\x17.cln.WaitsendpayRequest\x1a\x18.cln.WaitsendpayResponse\"\x00\x12\x36\n\x07NewAddr\x12\x13.cln.NewaddrRequest\x1a\x14.cln.NewaddrResponse\"\x00\x12\x39\n\x08Withdraw\x12\x14.cln.WithdrawRequest\x1a\x15.cln.WithdrawResponse\"\x00\x12\x36\n\x07KeySend\x12\x13.cln.KeysendRequest\x1a\x14.cln.KeysendResponse\"\x00\x12\x39\n\x08\x46undPsbt\x12\x14.cln.FundpsbtRequest\x1a\x15.cln.FundpsbtResponse\"\x00\x12\x39\n\x08SendPsbt\x12\x14.cln.SendpsbtRequest\x1a\x15.cln.SendpsbtResponse\"\x00\x12\x39\n\x08SignPsbt\x12\x14.cln.SignpsbtRequest\x1a\x15.cln.SignpsbtResponse\"\x00\x12\x39\n\x08UtxoPsbt\x12\x14.cln.UtxopsbtRequest\x1a\x15.cln.UtxopsbtResponse\"\x00\x12<\n\tTxDiscard\x12\x15.cln.TxdiscardRequest\x1a\x16.cln.TxdiscardResponse\"\x00\x12<\n\tTxPrepare\x12\x15.cln.TxprepareRequest\x1a\x16.cln.TxprepareResponse\"\x00\x12\x33\n\x06TxSend\x12\x12.cln.TxsendRequest\x1a\x13.cln.TxsendResponse\"\x00\x12Q\n\x10ListPeerChannels\x12\x1c.cln.ListpeerchannelsRequest\x1a\x1d.cln.ListpeerchannelsResponse\"\x00\x12W\n\x12ListClosedChannels\x12\x1e.cln.ListclosedchannelsRequest\x1a\x1f.cln.ListclosedchannelsResponse\"\x00\x12\x33\n\x06\x44\x65\x63ode\x12\x12.cln.DecodeRequest\x1a\x13.cln.DecodeResponse\"\x00\x12\x33\n\x06\x44\x65lPay\x12\x12.cln.DelpayRequest\x1a\x13.cln.DelpayResponse\"\x00\x12?\n\nDelForward\x12\x16.cln.DelforwardRequest\x1a\x17.cln.DelforwardResponse\"\x00\x12\x45\n\x0c\x44isableOffer\x12\x18.cln.DisableofferRequest\x1a\x19.cln.DisableofferResponse\"\x00\x12\x42\n\x0b\x45nableOffer\x12\x17.cln.EnableofferRequest\x1a\x18.cln.EnableofferResponse\"\x00\x12?\n\nDisconnect\x12\x16.cln.DisconnectRequest\x1a\x17.cln.DisconnectResponse\"\x00\x12\x39\n\x08\x46\x65\x65rates\x12\x14.cln.FeeratesRequest\x1a\x15.cln.FeeratesResponse\"\x00\x12\x42\n\x0b\x46\x65tchBip353\x12\x17.cln.Fetchbip353Request\x1a\x18.cln.Fetchbip353Response\"\x00\x12\x45\n\x0c\x46\x65tchInvoice\x12\x18.cln.FetchinvoiceRequest\x1a\x19.cln.FetchinvoiceResponse\"\x00\x12\x63\n\x16\x43\x61ncelRecurringInvoice\x12\".cln.CancelrecurringinvoiceRequest\x1a#.cln.CancelrecurringinvoiceResponse\"\x00\x12T\n\x11\x46undChannelCancel\x12\x1d.cln.FundchannelCancelRequest\x1a\x1e.cln.FundchannelCancelResponse\"\x00\x12Z\n\x13\x46undChannelComplete\x12\x1f.cln.FundchannelCompleteRequest\x1a .cln.FundchannelCompleteResponse\"\x00\x12\x42\n\x0b\x46undChannel\x12\x17.cln.FundchannelRequest\x1a\x18.cln.FundchannelResponse\"\x00\x12Q\n\x10\x46undChannelStart\x12\x1c.cln.FundchannelStartRequest\x1a\x1d.cln.FundchannelStartResponse\"\x00\x12\x33\n\x06GetLog\x12\x12.cln.GetlogRequest\x1a\x13.cln.GetlogResponse\"\x00\x12\x45\n\x0c\x46underUpdate\x12\x18.cln.FunderupdateRequest\x1a\x19.cln.FunderupdateResponse\"\x00\x12\x39\n\x08GetRoute\x12\x14.cln.GetrouteRequest\x1a\x15.cln.GetrouteResponse\"\x00\x12H\n\rListAddresses\x12\x19.cln.ListaddressesRequest\x1a\x1a.cln.ListaddressesResponse\"\x00\x12\x45\n\x0cListForwards\x12\x18.cln.ListforwardsRequest\x1a\x19.cln.ListforwardsResponse\"\x00\x12?\n\nListOffers\x12\x16.cln.ListoffersRequest\x1a\x17.cln.ListoffersResponse\"\x00\x12\x39\n\x08ListPays\x12\x14.cln.ListpaysRequest\x1a\x15.cln.ListpaysResponse\"\x00\x12<\n\tListHtlcs\x12\x15.cln.ListhtlcsRequest\x1a\x16.cln.ListhtlcsResponse\"\x00\x12Q\n\x10MultiFundChannel\x12\x1c.cln.MultifundchannelRequest\x1a\x1d.cln.MultifundchannelResponse\"\x00\x12H\n\rMultiWithdraw\x12\x19.cln.MultiwithdrawRequest\x1a\x1a.cln.MultiwithdrawResponse\"\x00\x12\x30\n\x05Offer\x12\x11.cln.OfferRequest\x1a\x12.cln.OfferResponse\"\x00\x12Q\n\x10OpenChannelAbort\x12\x1c.cln.OpenchannelAbortRequest\x1a\x1d.cln.OpenchannelAbortResponse\"\x00\x12N\n\x0fOpenChannelBump\x12\x1b.cln.OpenchannelBumpRequest\x1a\x1c.cln.OpenchannelBumpResponse\"\x00\x12N\n\x0fOpenChannelInit\x12\x1b.cln.OpenchannelInitRequest\x1a\x1c.cln.OpenchannelInitResponse\"\x00\x12T\n\x11OpenChannelSigned\x12\x1d.cln.OpenchannelSignedRequest\x1a\x1e.cln.OpenchannelSignedResponse\"\x00\x12T\n\x11OpenChannelUpdate\x12\x1d.cln.OpenchannelUpdateRequest\x1a\x1e.cln.OpenchannelUpdateResponse\"\x00\x12-\n\x04Ping\x12\x10.cln.PingRequest\x1a\x11.cln.PingResponse\"\x00\x12\x33\n\x06Plugin\x12\x12.cln.PluginRequest\x1a\x13.cln.PluginResponse\"\x00\x12H\n\rRenePayStatus\x12\x19.cln.RenepaystatusRequest\x1a\x1a.cln.RenepaystatusResponse\"\x00\x12\x36\n\x07RenePay\x12\x13.cln.RenepayRequest\x1a\x14.cln.RenepayResponse\"\x00\x12H\n\rReserveInputs\x12\x19.cln.ReserveinputsRequest\x1a\x1a.cln.ReserveinputsResponse\"\x00\x12H\n\rSendCustomMsg\x12\x19.cln.SendcustommsgRequest\x1a\x1a.cln.SendcustommsgResponse\"\x00\x12\x42\n\x0bSendInvoice\x12\x17.cln.SendinvoiceRequest\x1a\x18.cln.SendinvoiceResponse\"\x00\x12?\n\nSetChannel\x12\x16.cln.SetchannelRequest\x1a\x17.cln.SetchannelResponse\"\x00\x12<\n\tSetConfig\x12\x15.cln.SetconfigRequest\x1a\x16.cln.SetconfigResponse\"\x00\x12K\n\x0eSetPsbtVersion\x12\x1a.cln.SetpsbtversionRequest\x1a\x1b.cln.SetpsbtversionResponse\"\x00\x12\x42\n\x0bSignInvoice\x12\x17.cln.SigninvoiceRequest\x1a\x18.cln.SigninvoiceResponse\"\x00\x12\x42\n\x0bSignMessage\x12\x17.cln.SignmessageRequest\x1a\x18.cln.SignmessageResponse\"\x00\x12?\n\nSpliceInit\x12\x16.cln.SpliceInitRequest\x1a\x17.cln.SpliceInitResponse\"\x00\x12\x45\n\x0cSpliceSigned\x12\x18.cln.SpliceSignedRequest\x1a\x19.cln.SpliceSignedResponse\"\x00\x12\x45\n\x0cSpliceUpdate\x12\x18.cln.SpliceUpdateRequest\x1a\x19.cln.SpliceUpdateResponse\"\x00\x12\x39\n\x08SpliceIn\x12\x14.cln.SpliceinRequest\x1a\x15.cln.SpliceinResponse\"\x00\x12<\n\tSpliceOut\x12\x15.cln.SpliceoutRequest\x1a\x16.cln.SpliceoutResponse\"\x00\x12<\n\tDevSplice\x12\x15.cln.DevspliceRequest\x1a\x16.cln.DevspliceResponse\"\x00\x12N\n\x0fUnreserveInputs\x12\x1b.cln.UnreserveinputsRequest\x1a\x1c.cln.UnreserveinputsResponse\"\x00\x12H\n\rUpgradeWallet\x12\x19.cln.UpgradewalletRequest\x1a\x1a.cln.UpgradewalletResponse\"\x00\x12N\n\x0fWaitBlockHeight\x12\x1b.cln.WaitblockheightRequest\x1a\x1c.cln.WaitblockheightResponse\"\x00\x12-\n\x04Wait\x12\x10.cln.WaitRequest\x1a\x11.cln.WaitResponse\"\x00\x12\x42\n\x0bListConfigs\x12\x17.cln.ListconfigsRequest\x1a\x18.cln.ListconfigsResponse\"\x00\x12-\n\x04Stop\x12\x10.cln.StopRequest\x1a\x11.cln.StopResponse\"\x00\x12-\n\x04Help\x12\x10.cln.HelpRequest\x1a\x11.cln.HelpResponse\"\x00\x12T\n\x11PreApproveKeysend\x12\x1d.cln.PreapprovekeysendRequest\x1a\x1e.cln.PreapprovekeysendResponse\"\x00\x12T\n\x11PreApproveInvoice\x12\x1d.cln.PreapproveinvoiceRequest\x1a\x1e.cln.PreapproveinvoiceResponse\"\x00\x12\x45\n\x0cStaticBackup\x12\x18.cln.StaticbackupRequest\x1a\x19.cln.StaticbackupResponse\"\x00\x12N\n\x0f\x42kprChannelsApy\x12\x1b.cln.BkprchannelsapyRequest\x1a\x1c.cln.BkprchannelsapyResponse\"\x00\x12T\n\x11\x42kprDumpIncomeCsv\x12\x1d.cln.BkprdumpincomecsvRequest\x1a\x1e.cln.BkprdumpincomecsvResponse\"\x00\x12\x42\n\x0b\x42kprInspect\x12\x17.cln.BkprinspectRequest\x1a\x18.cln.BkprinspectResponse\"\x00\x12`\n\x15\x42kprListAccountEvents\x12!.cln.BkprlistaccounteventsRequest\x1a\".cln.BkprlistaccounteventsResponse\"\x00\x12Q\n\x10\x42kprListBalances\x12\x1c.cln.BkprlistbalancesRequest\x1a\x1d.cln.BkprlistbalancesResponse\"\x00\x12K\n\x0e\x42kprListIncome\x12\x1a.cln.BkprlistincomeRequest\x1a\x1b.cln.BkprlistincomeResponse\"\x00\x12{\n\x1e\x42kprEditDescriptionByPaymentId\x12*.cln.BkpreditdescriptionbypaymentidRequest\x1a+.cln.BkpreditdescriptionbypaymentidResponse\"\x00\x12x\n\x1d\x42kprEditDescriptionByOutpoint\x12).cln.BkpreditdescriptionbyoutpointRequest\x1a*.cln.BkpreditdescriptionbyoutpointResponse\"\x00\x12?\n\nBkprReport\x12\x16.cln.BkprreportRequest\x1a\x17.cln.BkprreportResponse\"\x00\x12H\n\rBlacklistRune\x12\x19.cln.BlacklistruneRequest\x1a\x1a.cln.BlacklistruneResponse\"\x00\x12<\n\tCheckRune\x12\x15.cln.CheckruneRequest\x1a\x16.cln.CheckruneResponse\"\x00\x12?\n\nCreateRune\x12\x16.cln.CreateruneRequest\x1a\x17.cln.CreateruneResponse\"\x00\x12<\n\tShowRunes\x12\x15.cln.ShowrunesRequest\x1a\x16.cln.ShowrunesResponse\"\x00\x12Q\n\x10\x41skReneUnreserve\x12\x1c.cln.AskreneunreserveRequest\x1a\x1d.cln.AskreneunreserveResponse\"\x00\x12T\n\x11\x41skReneListLayers\x12\x1d.cln.AskrenelistlayersRequest\x1a\x1e.cln.AskrenelistlayersResponse\"\x00\x12W\n\x12\x41skReneCreateLayer\x12\x1e.cln.AskrenecreatelayerRequest\x1a\x1f.cln.AskrenecreatelayerResponse\"\x00\x12W\n\x12\x41skReneRemoveLayer\x12\x1e.cln.AskreneremovelayerRequest\x1a\x1f.cln.AskreneremovelayerResponse\"\x00\x12o\n\x1a\x41skReneRemoveChannelUpdate\x12&.cln.AskreneremovechannelupdateRequest\x1a\'.cln.AskreneremovechannelupdateResponse\"\x00\x12K\n\x0e\x41skReneReserve\x12\x1a.cln.AskrenereserveRequest\x1a\x1b.cln.AskrenereserveResponse\"\x00\x12?\n\nAskReneAge\x12\x16.cln.AskreneageRequest\x1a\x17.cln.AskreneageResponse\"\x00\x12<\n\tGetRoutes\x12\x15.cln.GetroutesRequest\x1a\x16.cln.GetroutesResponse\"\x00\x12W\n\x12\x41skReneDisableNode\x12\x1e.cln.AskrenedisablenodeRequest\x1a\x1f.cln.AskrenedisablenodeResponse\"\x00\x12]\n\x14\x41skReneInformChannel\x12 .cln.AskreneinformchannelRequest\x1a!.cln.AskreneinformchannelResponse\"\x00\x12]\n\x14\x41skReneCreateChannel\x12 .cln.AskrenecreatechannelRequest\x1a!.cln.AskrenecreatechannelResponse\"\x00\x12]\n\x14\x41skReneUpdateChannel\x12 .cln.AskreneupdatechannelRequest\x1a!.cln.AskreneupdatechannelResponse\"\x00\x12W\n\x12\x41skReneBiasChannel\x12\x1e.cln.AskrenebiaschannelRequest\x1a\x1f.cln.AskrenebiaschannelResponse\"\x00\x12N\n\x0f\x41skreneBiasNode\x12\x1b.cln.AskrenebiasnodeRequest\x1a\x1c.cln.AskrenebiasnodeResponse\"\x00\x12\x66\n\x17\x41skReneListReservations\x12#.cln.AskrenelistreservationsRequest\x1a$.cln.AskrenelistreservationsResponse\"\x00\x12W\n\x12InjectPaymentOnion\x12\x1e.cln.InjectpaymentonionRequest\x1a\x1f.cln.InjectpaymentonionResponse\"\x00\x12W\n\x12InjectOnionMessage\x12\x1e.cln.InjectonionmessageRequest\x1a\x1f.cln.InjectonionmessageResponse\"\x00\x12-\n\x04Xpay\x12\x10.cln.XpayRequest\x1a\x11.cln.XpayResponse\"\x00\x12W\n\x12SignMessageWithKey\x12\x1e.cln.SignmessagewithkeyRequest\x1a\x1f.cln.SignmessagewithkeyResponse\"\x00\x12Q\n\x10ListChannelMoves\x12\x1c.cln.ListchannelmovesRequest\x1a\x1d.cln.ListchannelmovesResponse\"\x00\x12K\n\x0eListChainMoves\x12\x1a.cln.ListchainmovesRequest\x1a\x1b.cln.ListchainmovesResponse\"\x00\x12T\n\x11ListNetworkEvents\x12\x1d.cln.ListnetworkeventsRequest\x1a\x1e.cln.ListnetworkeventsResponse\"\x00\x12N\n\x0f\x44\x65lNetworkEvent\x12\x1b.cln.DelnetworkeventRequest\x1a\x1c.cln.DelnetworkeventResponse\"\x00\x12Z\n\x13\x43lnrestRegisterPath\x12\x1f.cln.ClnrestregisterpathRequest\x1a .cln.ClnrestregisterpathResponse\"\x00\x12T\n\x11ListCurrencyRates\x12\x1d.cln.ListcurrencyratesRequest\x1a\x1e.cln.ListcurrencyratesResponse\"\x00\x12N\n\x0f\x43urrencyConvert\x12\x1b.cln.CurrencyconvertRequest\x1a\x1c.cln.CurrencyconvertResponse\"\x00\x12\x45\n\x0c\x43urrencyRate\x12\x18.cln.CurrencyrateRequest\x1a\x19.cln.CurrencyrateResponse\"\x00\x12?\n\nSendAmount\x12\x16.cln.SendamountRequest\x1a\x17.cln.SendamountResponse\"\x00\x12\x42\n\x0b\x43reateProof\x12\x17.cln.CreateproofRequest\x1a\x18.cln.CreateproofResponse\"\x00\x12\x39\n\x08Xkeysend\x12\x14.cln.XkeysendRequest\x1a\x15.cln.XkeysendResponse\"\x00\x12\x39\n\x08Graceful\x12\x14.cln.GracefulRequest\x1a\x15.cln.GracefulResponse\"\x00\x12\x63\n\x18SubscribeBalanceSnapshot\x12!.cln.StreamBalanceSnapshotRequest\x1a .cln.BalanceSnapshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeBlockAdded\x12\x1c.cln.StreamBlockAddedRequest\x1a\x1b.cln.BlockAddedNotification\"\x00\x30\x01\x12i\n\x1aSubscribeChannelOpenFailed\x12#.cln.StreamChannelOpenFailedRequest\x1a\".cln.ChannelOpenFailedNotification\"\x00\x30\x01\x12]\n\x16SubscribeChannelOpened\x12\x1f.cln.StreamChannelOpenedRequest\x1a\x1e.cln.ChannelOpenedNotification\"\x00\x30\x01\x12o\n\x1cSubscribeChannelStateChanged\x12%.cln.StreamChannelStateChangedRequest\x1a$.cln.ChannelStateChangedNotification\"\x00\x30\x01\x12O\n\x10SubscribeConnect\x12\x19.cln.StreamConnectRequest\x1a\x1c.cln.PeerConnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeCoinMovement\x12\x1e.cln.StreamCoinMovementRequest\x1a\x1d.cln.CoinMovementNotification\"\x00\x30\x01\x12Q\n\x12SubscribeCustomMsg\x12\x1b.cln.StreamCustomMsgRequest\x1a\x1a.cln.CustomMsgNotification\"\x00\x30\x01\x12i\n\x1aSubscribeDeprecatedOneshot\x12#.cln.StreamDeprecatedOneshotRequest\x1a\".cln.DeprecatedOneshotNotification\"\x00\x30\x01\x12T\n\x13SubscribeDisconnect\x12\x1c.cln.StreamDisconnectRequest\x1a\x1b.cln.DisconnectNotification\"\x00\x30\x01\x12Z\n\x15SubscribeForwardEvent\x12\x1e.cln.StreamForwardEventRequest\x1a\x1d.cln.ForwardEventNotification\"\x00\x30\x01\x12\x63\n\x18SubscribeInvoiceCreation\x12!.cln.StreamInvoiceCreationRequest\x1a .cln.InvoiceCreationNotification\"\x00\x30\x01\x12`\n\x17SubscribeInvoicePayment\x12 .cln.StreamInvoicePaymentRequest\x1a\x1f.cln.InvoicePaymentNotification\"\x00\x30\x01\x12?\n\x0cSubscribeLog\x12\x15.cln.StreamLogRequest\x1a\x14.cln.LogNotification\"\x00\x30\x01\x12{\n SubscribeOnionMessageForwardFail\x12).cln.StreamOnionMessageForwardFailRequest\x1a(.cln.OnionMessageForwardFailNotification\"\x00\x30\x01\x12o\n\x1cSubscribeOpenChannelPeerSigs\x12%.cln.StreamOpenChannelPeerSigsRequest\x1a$.cln.OpenChannelPeerSigsNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStarted\x12\x1f.cln.StreamPluginStartedRequest\x1a\x1e.cln.PluginStartedNotification\"\x00\x30\x01\x12]\n\x16SubscribePluginStopped\x12\x1f.cln.StreamPluginStoppedRequest\x1a\x1e.cln.PluginStoppedNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPayFailure\x12 .cln.StreamSendPayFailureRequest\x1a\x1f.cln.SendPayFailureNotification\"\x00\x30\x01\x12`\n\x17SubscribeSendPaySuccess\x12 .cln.StreamSendPaySuccessRequest\x1a\x1f.cln.SendPaySuccessNotification\"\x00\x30\x01\x12N\n\x11SubscribeShutdown\x12\x1a.cln.StreamShutdownRequest\x1a\x19.cln.ShutdownNotification\"\x00\x30\x01\x12K\n\x10SubscribeWarning\x12\x19.cln.StreamWarningRequest\x1a\x18.cln.WarningNotification\"\x00\x30\x01\x12T\n\x13SubscribePayPartEnd\x12\x1c.cln.StreamPayPartEndRequest\x1a\x1b.cln.PayPartEndNotification\"\x00\x30\x01\x12Z\n\x15SubscribePayPartStart\x12\x1e.cln.StreamPayPartStartRequest\x1a\x1d.cln.PayPartStartNotification\"\x00\x30\x01\x62\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -1077,583 +1077,585 @@ _globals['_LISTCONFIGSRESPONSE']._serialized_start=72128 _globals['_LISTCONFIGSRESPONSE']._serialized_end=72208 _globals['_LISTCONFIGSCONFIGS']._serialized_start=72211 - _globals['_LISTCONFIGSCONFIGS']._serialized_end=78220 - _globals['_LISTCONFIGSCONFIGSADDR']._serialized_start=78222 - _globals['_LISTCONFIGSCONFIGSADDR']._serialized_end=78283 - _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_start=78285 - _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_end=78345 - _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_start=78347 - _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_end=78422 - _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_start=78424 - _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_end=78494 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_start=78496 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_end=78565 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_start=78568 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_end=78824 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_start=78743 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_end=78824 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_start=78826 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_end=78907 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_start=78909 - _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_end=78980 - _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_start=78982 - _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_end=79059 - _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_start=79061 - _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_end=79127 - _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_start=79129 - _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_end=79194 - _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_start=79196 - _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_end=79257 - _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_start=79259 - _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_end=79323 - _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_start=79325 - _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_end=79389 - _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_start=79391 - _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_end=79455 - _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_start=79457 - _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_end=79531 - _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_start=79533 - _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_end=79598 - _globals['_LISTCONFIGSCONFIGSCONF']._serialized_start=79601 - _globals['_LISTCONFIGSCONFIGSCONF']._serialized_end=79763 - _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_start=79720 - _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_end=79763 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_start=79765 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_end=79875 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_start=79877 - _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_end=79991 - _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_start=79993 - _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_end=80048 - _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_start=80050 - _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_end=80121 - _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_start=80123 - _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_end=80181 - _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_start=80183 - _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_end=80242 - _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_start=80244 - _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_end=80335 - _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_start=80337 - _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_end=80407 - _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_start=80409 - _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_end=80470 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_start=80472 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_end=80540 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_start=80542 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_end=80611 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_start=80613 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_end=80685 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_start=80687 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_end=80768 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_start=80770 - _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_end=80847 - _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_start=80849 - _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_end=80911 - _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_start=80913 - _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_end=80981 - _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_start=80983 - _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_end=81085 - _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_start=81087 - _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_end=81155 - _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_start=81157 - _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_end=81227 - _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_start=81229 - _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_end=81313 - _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_start=81315 - _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_end=81399 - _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_start=81401 - _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_end=81472 - _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_start=81474 - _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_end=81546 - _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_start=81548 - _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_end=81615 - _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_start=81617 - _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_end=81679 - _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_start=81681 - _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_end=81748 - _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_start=81750 - _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_end=81814 - _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_start=81816 - _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_end=81879 - _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_start=81881 - _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_end=81945 - _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_start=81947 - _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_end=82016 - _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_start=82018 - _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_end=82074 - _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_start=82076 - _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_end=82149 - _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_start=82151 - _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_end=82243 - _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_start=82245 - _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_end=82348 - _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_start=82350 - _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_end=82412 - _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_start=82414 - _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_end=82470 - _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_start=82472 - _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_end=82534 - _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_start=82536 - _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_end=82599 - _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_start=82601 - _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_end=82667 - _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_start=82669 - _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_end=82729 - _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_start=82731 - _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_end=82787 - _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_start=82789 - _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_end=82867 - _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_start=82869 - _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_end=82930 - _globals['_LISTCONFIGSCONFIGSRGB']._serialized_start=82932 - _globals['_LISTCONFIGSCONFIGSRGB']._serialized_end=82990 - _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_start=82992 - _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_end=83054 - _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_start=83056 - _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_end=83122 - _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_start=83124 - _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_end=83179 - _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_start=83181 - _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_end=83247 - _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_start=83249 - _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_end=83305 - _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_start=83307 - _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_end=83380 - _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_start=83382 - _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_end=83443 - _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_start=83445 - _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_end=83515 - _globals['_STOPREQUEST']._serialized_start=83517 - _globals['_STOPREQUEST']._serialized_end=83530 - _globals['_STOPRESPONSE']._serialized_start=83532 - _globals['_STOPRESPONSE']._serialized_end=83629 - _globals['_STOPRESPONSE_STOPRESULT']._serialized_start=83594 - _globals['_STOPRESPONSE_STOPRESULT']._serialized_end=83629 - _globals['_HELPREQUEST']._serialized_start=83631 - _globals['_HELPREQUEST']._serialized_end=83678 - _globals['_HELPRESPONSE']._serialized_start=83681 - _globals['_HELPRESPONSE']._serialized_end=83830 - _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_start=83786 - _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_end=83814 - _globals['_HELPHELP']._serialized_start=83832 - _globals['_HELPHELP']._serialized_end=83859 - _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_start=83861 - _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_end=83964 - _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_start=83966 - _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_end=83993 - _globals['_PREAPPROVEINVOICEREQUEST']._serialized_start=83995 - _globals['_PREAPPROVEINVOICEREQUEST']._serialized_end=84037 - _globals['_PREAPPROVEINVOICERESPONSE']._serialized_start=84039 - _globals['_PREAPPROVEINVOICERESPONSE']._serialized_end=84066 - _globals['_STATICBACKUPREQUEST']._serialized_start=84068 - _globals['_STATICBACKUPREQUEST']._serialized_end=84089 - _globals['_STATICBACKUPRESPONSE']._serialized_start=84091 - _globals['_STATICBACKUPRESPONSE']._serialized_end=84126 - _globals['_BKPRCHANNELSAPYREQUEST']._serialized_start=84128 - _globals['_BKPRCHANNELSAPYREQUEST']._serialized_end=84228 - _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_start=84230 - _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_end=84310 - _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_start=84313 - _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_end=85202 - _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_start=85205 - _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_end=85415 - _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_start=85418 - _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_end=85630 - _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_start=85544 - _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_end=85630 - _globals['_BKPRINSPECTREQUEST']._serialized_start=85632 - _globals['_BKPRINSPECTREQUEST']._serialized_end=85669 - _globals['_BKPRINSPECTRESPONSE']._serialized_start=85671 - _globals['_BKPRINSPECTRESPONSE']._serialized_end=85726 - _globals['_BKPRINSPECTTXS']._serialized_start=85729 - _globals['_BKPRINSPECTTXS']._serialized_end=85883 - _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_start=85886 - _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_end=86330 - _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_start=86332 - _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_end=86436 - _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_start=86438 - _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_end=86519 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_start=86522 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_end=87239 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_start=87025 - _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_end=87099 - _globals['_BKPRLISTBALANCESREQUEST']._serialized_start=87241 - _globals['_BKPRLISTBALANCESREQUEST']._serialized_end=87266 - _globals['_BKPRLISTBALANCESRESPONSE']._serialized_start=87268 - _globals['_BKPRLISTBALANCESRESPONSE']._serialized_end=87343 - _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_start=87346 - _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_end=87672 - _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_start=87674 - _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_end=87762 - _globals['_BKPRLISTINCOMEREQUEST']._serialized_start=87765 - _globals['_BKPRLISTINCOMEREQUEST']._serialized_end=87916 - _globals['_BKPRLISTINCOMERESPONSE']._serialized_start=87918 - _globals['_BKPRLISTINCOMERESPONSE']._serialized_end=87998 - _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_start=88001 - _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_end=88309 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_start=88311 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_end=88391 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_start=88393 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_end=88494 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_start=88497 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_end=89172 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_start=88998 - _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_end=89065 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_start=89174 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_end=89251 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_start=89253 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_end=89352 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_start=89355 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_end=90026 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_start=89853 - _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_end=89919 - _globals['_BKPRREPORTREQUEST']._serialized_start=90029 - _globals['_BKPRREPORTREQUEST']._serialized_end=90205 - _globals['_BKPRREPORTRESPONSE']._serialized_start=90207 - _globals['_BKPRREPORTRESPONSE']._serialized_end=90243 - _globals['_BLACKLISTRUNEREQUEST']._serialized_start=90245 - _globals['_BLACKLISTRUNEREQUEST']._serialized_end=90355 - _globals['_BLACKLISTRUNERESPONSE']._serialized_start=90357 - _globals['_BLACKLISTRUNERESPONSE']._serialized_end=90428 - _globals['_BLACKLISTRUNEBLACKLIST']._serialized_start=90430 - _globals['_BLACKLISTRUNEBLACKLIST']._serialized_end=90482 - _globals['_CHECKRUNEREQUEST']._serialized_start=90484 - _globals['_CHECKRUNEREQUEST']._serialized_end=90596 - _globals['_CHECKRUNERESPONSE']._serialized_start=90598 - _globals['_CHECKRUNERESPONSE']._serialized_end=90632 - _globals['_CREATERUNEREQUEST']._serialized_start=90634 - _globals['_CREATERUNEREQUEST']._serialized_end=90703 - _globals['_CREATERUNERESPONSE']._serialized_start=90705 - _globals['_CREATERUNERESPONSE']._serialized_end=90828 - _globals['_SHOWRUNESREQUEST']._serialized_start=90830 - _globals['_SHOWRUNESREQUEST']._serialized_end=90876 - _globals['_SHOWRUNESRESPONSE']._serialized_start=90878 - _globals['_SHOWRUNESRESPONSE']._serialized_end=90933 - _globals['_SHOWRUNESRUNES']._serialized_start=90936 - _globals['_SHOWRUNESRUNES']._serialized_end=91221 - _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_start=91223 - _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_end=91335 - _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_start=91337 - _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_end=91447 - _globals['_ASKRENEUNRESERVEREQUEST']._serialized_start=91449 - _globals['_ASKRENEUNRESERVEREQUEST']._serialized_end=91563 - _globals['_ASKRENEUNRESERVERESPONSE']._serialized_start=91565 - _globals['_ASKRENEUNRESERVERESPONSE']._serialized_end=91591 - _globals['_ASKRENEUNRESERVEPATH']._serialized_start=91593 - _globals['_ASKRENEUNRESERVEPATH']._serialized_end=91709 - _globals['_ASKRENELISTLAYERSREQUEST']._serialized_start=91711 - _globals['_ASKRENELISTLAYERSREQUEST']._serialized_end=91767 - _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_start=91769 - _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_end=91842 - _globals['_ASKRENELISTLAYERSLAYERS']._serialized_start=91845 - _globals['_ASKRENELISTLAYERSLAYERS']._serialized_end=92271 - _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_start=92274 - _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_end=92429 - _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_start=92432 - _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_end=92856 - _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_start=92859 - _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_end=93077 - _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_start=93080 - _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_end=93219 - _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_start=93222 - _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_end=93367 - _globals['_ASKRENECREATELAYERREQUEST']._serialized_start=93369 - _globals['_ASKRENECREATELAYERREQUEST']._serialized_end=93451 - _globals['_ASKRENECREATELAYERRESPONSE']._serialized_start=93453 - _globals['_ASKRENECREATELAYERRESPONSE']._serialized_end=93528 - _globals['_ASKRENECREATELAYERLAYERS']._serialized_start=93531 - _globals['_ASKRENECREATELAYERLAYERS']._serialized_end=93963 - _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_start=93966 - _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_end=94122 - _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_start=94125 - _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_end=94462 - _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_start=94465 - _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_end=94661 - _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_start=94664 - _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_end=94804 - _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_start=94807 - _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_end=94953 - _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_start=94955 - _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_end=94997 - _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_start=94999 - _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_end=95027 - _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_start=95029 - _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_end=95109 - _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_start=95111 - _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_end=95147 - _globals['_ASKRENERESERVEREQUEST']._serialized_start=95149 - _globals['_ASKRENERESERVEREQUEST']._serialized_end=95211 - _globals['_ASKRENERESERVERESPONSE']._serialized_start=95213 - _globals['_ASKRENERESERVERESPONSE']._serialized_end=95237 - _globals['_ASKRENERESERVEPATH']._serialized_start=95239 - _globals['_ASKRENERESERVEPATH']._serialized_end=95353 - _globals['_ASKRENEAGEREQUEST']._serialized_start=95355 - _globals['_ASKRENEAGEREQUEST']._serialized_end=95405 - _globals['_ASKRENEAGERESPONSE']._serialized_start=95407 - _globals['_ASKRENEAGERESPONSE']._serialized_end=95463 - _globals['_GETROUTESREQUEST']._serialized_start=95466 - _globals['_GETROUTESREQUEST']._serialized_end=95697 - _globals['_GETROUTESRESPONSE']._serialized_start=95699 - _globals['_GETROUTESRESPONSE']._serialized_end=95781 - _globals['_GETROUTESROUTES']._serialized_start=95784 - _globals['_GETROUTESROUTES']._serialized_end=95920 - _globals['_GETROUTESROUTESPATH']._serialized_start=95923 - _globals['_GETROUTESROUTESPATH']._serialized_end=96391 - _globals['_ASKRENEDISABLENODEREQUEST']._serialized_start=96393 - _globals['_ASKRENEDISABLENODEREQUEST']._serialized_end=96449 - _globals['_ASKRENEDISABLENODERESPONSE']._serialized_start=96451 - _globals['_ASKRENEDISABLENODERESPONSE']._serialized_end=96479 - _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_start=96482 - _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_end=96748 - _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_start=96669 - _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_end=96748 - _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_start=96750 - _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_end=96839 - _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_start=96842 - _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_end=97053 - _globals['_ASKRENECREATECHANNELREQUEST']._serialized_start=97056 - _globals['_ASKRENECREATECHANNELREQUEST']._serialized_end=97199 - _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_start=97201 - _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_end=97231 - _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_start=97234 - _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_end=97663 - _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_start=97665 - _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_end=97695 - _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_start=97698 - _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_end=97862 - _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_start=97864 - _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_end=97939 - _globals['_ASKRENEBIASCHANNELBIASES']._serialized_start=97942 - _globals['_ASKRENEBIASCHANNELBIASES']._serialized_end=98107 - _globals['_ASKRENEBIASNODEREQUEST']._serialized_start=98110 - _globals['_ASKRENEBIASNODEREQUEST']._serialized_end=98274 - _globals['_ASKRENEBIASNODERESPONSE']._serialized_start=98276 - _globals['_ASKRENEBIASNODERESPONSE']._serialized_end=98354 - _globals['_ASKRENEBIASNODENODEBIASES']._serialized_start=98357 - _globals['_ASKRENEBIASNODENODEBIASES']._serialized_end=98509 - _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_start=98511 - _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_end=98543 - _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_start=98545 - _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_end=98642 - _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_start=98645 - _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_end=98790 - _globals['_INJECTPAYMENTONIONREQUEST']._serialized_start=98793 - _globals['_INJECTPAYMENTONIONREQUEST']._serialized_end=99166 - _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_start=99168 - _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_end=99287 - _globals['_INJECTONIONMESSAGEREQUEST']._serialized_start=99289 - _globals['_INJECTONIONMESSAGEREQUEST']._serialized_end=99351 - _globals['_INJECTONIONMESSAGERESPONSE']._serialized_start=99353 - _globals['_INJECTONIONMESSAGERESPONSE']._serialized_end=99381 - _globals['_XPAYREQUEST']._serialized_start=99384 - _globals['_XPAYREQUEST']._serialized_end=99827 - _globals['_XPAYRESPONSE']._serialized_start=99830 - _globals['_XPAYRESPONSE']._serialized_end=99991 - _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_start=99993 - _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_end=100054 - _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_start=100056 - _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_end=100152 - _globals['_LISTCHANNELMOVESREQUEST']._serialized_start=100155 - _globals['_LISTCHANNELMOVESREQUEST']._serialized_end=100360 - _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_start=100294 - _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_end=100330 - _globals['_LISTCHANNELMOVESRESPONSE']._serialized_start=100362 - _globals['_LISTCHANNELMOVESRESPONSE']._serialized_end=100445 - _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_start=100448 - _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_end=101001 - _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_start=100809 - _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_end=100959 - _globals['_LISTCHAINMOVESREQUEST']._serialized_start=101004 - _globals['_LISTCHAINMOVESREQUEST']._serialized_end=101201 - _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_start=101137 - _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_end=101171 - _globals['_LISTCHAINMOVESRESPONSE']._serialized_start=101203 - _globals['_LISTCHAINMOVESRESPONSE']._serialized_end=101278 - _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_start=101281 - _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_end=102133 - _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_start=101768 - _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_end=102045 - _globals['_LISTNETWORKEVENTSREQUEST']._serialized_start=102136 - _globals['_LISTNETWORKEVENTSREQUEST']._serialized_end=102369 - _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_start=102295 - _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_end=102332 - _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_start=102371 - _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_end=102458 - _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_start=102461 - _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_end=102703 - _globals['_DELNETWORKEVENTREQUEST']._serialized_start=102705 - _globals['_DELNETWORKEVENTREQUEST']._serialized_end=102752 - _globals['_DELNETWORKEVENTRESPONSE']._serialized_start=102754 - _globals['_DELNETWORKEVENTRESPONSE']._serialized_end=102779 - _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_start=102782 - _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_end=103028 - _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_start=103030 - _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_end=103059 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_start=103062 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_end=103280 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_start=103213 - _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_end=103258 - _globals['_LISTCURRENCYRATESREQUEST']._serialized_start=103282 - _globals['_LISTCURRENCYRATESREQUEST']._serialized_end=103326 - _globals['_LISTCURRENCYRATESRESPONSE']._serialized_start=103328 - _globals['_LISTCURRENCYRATESRESPONSE']._serialized_end=103415 - _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_start=103417 - _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_end=103481 - _globals['_CURRENCYCONVERTREQUEST']._serialized_start=103483 - _globals['_CURRENCYCONVERTREQUEST']._serialized_end=103541 - _globals['_CURRENCYCONVERTRESPONSE']._serialized_start=103543 - _globals['_CURRENCYCONVERTRESPONSE']._serialized_end=103595 - _globals['_CURRENCYRATEREQUEST']._serialized_start=103597 - _globals['_CURRENCYRATEREQUEST']._serialized_end=103668 - _globals['_CURRENCYRATERESPONSE']._serialized_start=103670 - _globals['_CURRENCYRATERESPONSE']._serialized_end=103706 - _globals['_SENDAMOUNTREQUEST']._serialized_start=103709 - _globals['_SENDAMOUNTREQUEST']._serialized_end=103986 - _globals['_SENDAMOUNTRESPONSE']._serialized_start=103989 - _globals['_SENDAMOUNTRESPONSE']._serialized_end=104156 - _globals['_CREATEPROOFREQUEST']._serialized_start=104158 - _globals['_CREATEPROOFREQUEST']._serialized_end=104259 - _globals['_CREATEPROOFRESPONSE']._serialized_start=104261 - _globals['_CREATEPROOFRESPONSE']._serialized_end=104322 - _globals['_CREATEPROOFPROOFS']._serialized_start=104325 - _globals['_CREATEPROOFPROOFS']._serialized_end=104507 - _globals['_XKEYSENDREQUEST']._serialized_start=104510 - _globals['_XKEYSENDREQUEST']._serialized_end=104853 - _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_start=104757 - _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_end=104805 - _globals['_XKEYSENDRESPONSE']._serialized_start=104856 - _globals['_XKEYSENDRESPONSE']._serialized_end=105021 - _globals['_GRACEFULREQUEST']._serialized_start=105023 - _globals['_GRACEFULREQUEST']._serialized_end=105074 - _globals['_GRACEFULRESPONSE']._serialized_start=105076 - _globals['_GRACEFULRESPONSE']._serialized_end=105148 - _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_start=105150 - _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_end=105180 - _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_start=105183 - _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_end=105317 - _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_start=105319 - _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_end=105418 - _globals['_STREAMBLOCKADDEDREQUEST']._serialized_start=105420 - _globals['_STREAMBLOCKADDEDREQUEST']._serialized_end=105445 - _globals['_BLOCKADDEDNOTIFICATION']._serialized_start=105447 - _globals['_BLOCKADDEDNOTIFICATION']._serialized_end=105501 - _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_start=105503 - _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_end=105535 - _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_start=105537 - _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_end=105588 - _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_start=105590 - _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_end=105618 - _globals['_CHANNELOPENEDNOTIFICATION']._serialized_start=105620 - _globals['_CHANNELOPENEDNOTIFICATION']._serialized_end=105739 - _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_start=105741 - _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_end=105775 - _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_start=105778 - _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_end=106227 - _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_start=106081 - _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_end=106180 - _globals['_STREAMCONNECTREQUEST']._serialized_start=106229 - _globals['_STREAMCONNECTREQUEST']._serialized_end=106251 - _globals['_PEERCONNECTNOTIFICATION']._serialized_start=106254 - _globals['_PEERCONNECTNOTIFICATION']._serialized_end=106444 - _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_start=106405 - _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_end=106444 - _globals['_PEERCONNECTADDRESS']._serialized_start=106447 - _globals['_PEERCONNECTADDRESS']._serialized_end=106729 - _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_start=106598 - _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_end=106697 - _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_start=106731 - _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_end=106758 - _globals['_COINMOVEMENTNOTIFICATION']._serialized_start=106761 - _globals['_COINMOVEMENTNOTIFICATION']._serialized_end=108216 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_start=107555 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_end=107930 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_start=107932 - _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_end=107982 - _globals['_STREAMCUSTOMMSGREQUEST']._serialized_start=108218 - _globals['_STREAMCUSTOMMSGREQUEST']._serialized_end=108242 - _globals['_CUSTOMMSGNOTIFICATION']._serialized_start=108244 - _globals['_CUSTOMMSGNOTIFICATION']._serialized_end=108301 - _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_start=108303 - _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_end=108335 - _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_start=108337 - _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_end=108391 - _globals['_STREAMDISCONNECTREQUEST']._serialized_start=108393 - _globals['_STREAMDISCONNECTREQUEST']._serialized_end=108418 - _globals['_DISCONNECTNOTIFICATION']._serialized_start=108420 - _globals['_DISCONNECTNOTIFICATION']._serialized_end=108456 - _globals['_STREAMFORWARDEVENTREQUEST']._serialized_start=108458 - _globals['_STREAMFORWARDEVENTREQUEST']._serialized_end=108485 - _globals['_FORWARDEVENTNOTIFICATION']._serialized_start=108488 - _globals['_FORWARDEVENTNOTIFICATION']._serialized_end=109136 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_start=108920 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_end=108996 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_start=108998 - _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_end=109038 - _globals['_STREAMINVOICECREATIONREQUEST']._serialized_start=109138 - _globals['_STREAMINVOICECREATIONREQUEST']._serialized_end=109168 - _globals['_INVOICECREATIONNOTIFICATION']._serialized_start=109170 - _globals['_INVOICECREATIONNOTIFICATION']._serialized_end=109273 - _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_start=109275 - _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_end=109304 - _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_start=109307 - _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_end=109446 - _globals['_STREAMLOGREQUEST']._serialized_start=109448 - _globals['_STREAMLOGREQUEST']._serialized_end=109466 - _globals['_LOGNOTIFICATION']._serialized_start=109469 - _globals['_LOGNOTIFICATION']._serialized_end=109671 - _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_start=109596 - _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_end=109671 - _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_start=109673 - _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_end=109711 - _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_start=109714 - _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_end=109953 - _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_start=109955 - _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_end=109989 - _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_start=109991 - _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_end=110065 - _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_start=110067 - _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_end=110095 - _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_start=110097 - _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_end=110183 - _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_start=110185 - _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_end=110213 - _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_start=110215 - _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_end=110301 - _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_start=110303 - _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_end=110332 - _globals['_SENDPAYFAILURENOTIFICATION']._serialized_start=110334 - _globals['_SENDPAYFAILURENOTIFICATION']._serialized_end=110432 - _globals['_SENDPAYFAILUREDATA']._serialized_start=110435 - _globals['_SENDPAYFAILUREDATA']._serialized_end=111652 - _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_start=111190 - _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_end=111255 - _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_start=111654 - _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_end=111683 - _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_start=111686 - _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_end=112402 - _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_start=112204 - _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_end=112240 - _globals['_STREAMSHUTDOWNREQUEST']._serialized_start=112404 - _globals['_STREAMSHUTDOWNREQUEST']._serialized_end=112427 - _globals['_SHUTDOWNNOTIFICATION']._serialized_start=112429 - _globals['_SHUTDOWNNOTIFICATION']._serialized_end=112451 - _globals['_STREAMWARNINGREQUEST']._serialized_start=112453 - _globals['_STREAMWARNINGREQUEST']._serialized_end=112475 - _globals['_WARNINGNOTIFICATION']._serialized_start=112478 - _globals['_WARNINGNOTIFICATION']._serialized_end=112652 - _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_start=112617 - _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_end=112652 - _globals['_STREAMPAYPARTENDREQUEST']._serialized_start=112654 - _globals['_STREAMPAYPARTENDREQUEST']._serialized_end=112679 - _globals['_PAYPARTENDNOTIFICATION']._serialized_start=112682 - _globals['_PAYPARTENDNOTIFICATION']._serialized_end=113179 - _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_start=113019 - _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_end=113063 - _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_start=113181 - _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_end=113208 - _globals['_PAYPARTSTARTNOTIFICATION']._serialized_start=113211 - _globals['_PAYPARTSTARTNOTIFICATION']._serialized_end=113405 - _globals['_PAYPARTSTARTHOPS']._serialized_start=113408 - _globals['_PAYPARTSTARTHOPS']._serialized_end=113567 - _globals['_NODE']._serialized_start=113570 - _globals['_NODE']._serialized_end=126940 + _globals['_LISTCONFIGSCONFIGS']._serialized_end=78332 + _globals['_LISTCONFIGSCONFIGSADDR']._serialized_start=78334 + _globals['_LISTCONFIGSCONFIGSADDR']._serialized_end=78395 + _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_start=78397 + _globals['_LISTCONFIGSCONFIGSALIAS']._serialized_end=78457 + _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_start=78459 + _globals['_LISTCONFIGSCONFIGSALLOWDEPRECATEDAPIS']._serialized_end=78534 + _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_start=78536 + _globals['_LISTCONFIGSCONFIGSALWAYSUSEPROXY']._serialized_end=78606 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_start=78608 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDR']._serialized_end=78677 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_start=78680 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED']._serialized_end=78936 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_start=78855 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVERED_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDVALUESTR']._serialized_end=78936 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_start=78938 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDISCOVEREDPORT']._serialized_end=79019 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_start=79021 + _globals['_LISTCONFIGSCONFIGSANNOUNCEADDRDNS']._serialized_end=79092 + _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_start=79094 + _globals['_LISTCONFIGSCONFIGSAUTOCONNECTSEEKERPEERS']._serialized_end=79171 + _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_start=79173 + _globals['_LISTCONFIGSCONFIGSAUTOLISTEN']._serialized_end=79239 + _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_start=79241 + _globals['_LISTCONFIGSCONFIGSBINDADDR']._serialized_end=79306 + _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_start=79308 + _globals['_LISTCONFIGSCONFIGSCLEARPLUGINS']._serialized_end=79369 + _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_start=79371 + _globals['_LISTCONFIGSCONFIGSCLTVDELTA']._serialized_end=79435 + _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_start=79437 + _globals['_LISTCONFIGSCONFIGSCLTVFINAL']._serialized_end=79501 + _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_start=79503 + _globals['_LISTCONFIGSCONFIGSCOMMITFEE']._serialized_end=79567 + _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_start=79569 + _globals['_LISTCONFIGSCONFIGSCOMMITFEERATEOFFSET']._serialized_end=79643 + _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_start=79645 + _globals['_LISTCONFIGSCONFIGSCOMMITTIME']._serialized_end=79710 + _globals['_LISTCONFIGSCONFIGSCONF']._serialized_start=79713 + _globals['_LISTCONFIGSCONFIGSCONF']._serialized_end=79875 + _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_start=79832 + _globals['_LISTCONFIGSCONFIGSCONF_LISTCONFIGSCONFIGSCONFSOURCE']._serialized_end=79875 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_start=79877 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEADDSOURCE']._serialized_end=79987 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_start=79989 + _globals['_LISTCONFIGSCONFIGSCURRENCYRATEDISABLESOURCE']._serialized_end=80103 + _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_start=80105 + _globals['_LISTCONFIGSCONFIGSDAEMON']._serialized_end=80160 + _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_start=80162 + _globals['_LISTCONFIGSCONFIGSDATABASEUPGRADE']._serialized_end=80233 + _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_start=80235 + _globals['_LISTCONFIGSCONFIGSDEVELOPER']._serialized_end=80293 + _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_start=80295 + _globals['_LISTCONFIGSCONFIGSDISABLEDNS']._serialized_end=80354 + _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_start=80356 + _globals['_LISTCONFIGSCONFIGSDISABLEMPP']._serialized_end=80447 + _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_start=80449 + _globals['_LISTCONFIGSCONFIGSDISABLEPLUGIN']._serialized_end=80519 + _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_start=80521 + _globals['_LISTCONFIGSCONFIGSENCRYPTEDHSM']._serialized_end=80582 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_start=80584 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALANCHORS']._serialized_end=80652 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_start=80654 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALDUALFUND']._serialized_end=80723 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_start=80725 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALPEERSTORAGE']._serialized_end=80797 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_start=80799 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSHUTDOWNWRONGFUNDING']._serialized_end=80880 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_start=80882 + _globals['_LISTCONFIGSCONFIGSEXPERIMENTALSPLICING']._serialized_end=80959 + _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_start=80961 + _globals['_LISTCONFIGSCONFIGSFEEBASE']._serialized_end=81023 + _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_start=81025 + _globals['_LISTCONFIGSCONFIGSFEEPERSATOSHI']._serialized_end=81093 + _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_start=81095 + _globals['_LISTCONFIGSCONFIGSFETCHINVOICENOCONNECT']._serialized_end=81197 + _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_start=81199 + _globals['_LISTCONFIGSCONFIGSFORCEFEERATES']._serialized_end=81267 + _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_start=81269 + _globals['_LISTCONFIGSCONFIGSFUNDINGCONFIRMS']._serialized_end=81339 + _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_start=81341 + _globals['_LISTCONFIGSCONFIGSHTLCMAXIMUMMSAT']._serialized_end=81425 + _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_start=81427 + _globals['_LISTCONFIGSCONFIGSHTLCMINIMUMMSAT']._serialized_end=81511 + _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_start=81513 + _globals['_LISTCONFIGSCONFIGSIGNOREFEELIMITS']._serialized_end=81584 + _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_start=81586 + _globals['_LISTCONFIGSCONFIGSIMPORTANTPLUGIN']._serialized_end=81658 + _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_start=81660 + _globals['_LISTCONFIGSCONFIGSINDEPENDENTSECRETS']._serialized_end=81727 + _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_start=81729 + _globals['_LISTCONFIGSCONFIGSLARGECHANNELS']._serialized_end=81791 + _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_start=81793 + _globals['_LISTCONFIGSCONFIGSLIGHTNINGDIR']._serialized_end=81860 + _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_start=81862 + _globals['_LISTCONFIGSCONFIGSLOGFILE']._serialized_end=81926 + _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_start=81928 + _globals['_LISTCONFIGSCONFIGSLOGLEVEL']._serialized_end=81991 + _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_start=81993 + _globals['_LISTCONFIGSCONFIGSLOGPREFIX']._serialized_end=82057 + _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_start=82059 + _globals['_LISTCONFIGSCONFIGSLOGTIMESTAMPS']._serialized_end=82128 + _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_start=82130 + _globals['_LISTCONFIGSCONFIGSMAINNET']._serialized_end=82186 + _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_start=82188 + _globals['_LISTCONFIGSCONFIGSMAXCONCURRENTHTLCS']._serialized_end=82261 + _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_start=82263 + _globals['_LISTCONFIGSCONFIGSMAXDUSTHTLCEXPOSUREMSAT']._serialized_end=82355 + _globals['_LISTCONFIGSCONFIGSMAXINDEPENDENTSECRETS']._serialized_start=82357 + _globals['_LISTCONFIGSCONFIGSMAXINDEPENDENTSECRETS']._serialized_end=82433 + _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_start=82435 + _globals['_LISTCONFIGSCONFIGSMINCAPACITYSAT']._serialized_end=82538 + _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_start=82540 + _globals['_LISTCONFIGSCONFIGSNETWORK']._serialized_end=82602 + _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_start=82604 + _globals['_LISTCONFIGSCONFIGSOFFLINE']._serialized_end=82660 + _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_start=82662 + _globals['_LISTCONFIGSCONFIGSPIDFILE']._serialized_end=82724 + _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_start=82726 + _globals['_LISTCONFIGSCONFIGSPLUGIN']._serialized_end=82789 + _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_start=82791 + _globals['_LISTCONFIGSCONFIGSPLUGINDIR']._serialized_end=82857 + _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_start=82859 + _globals['_LISTCONFIGSCONFIGSPROXY']._serialized_end=82919 + _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_start=82921 + _globals['_LISTCONFIGSCONFIGSREGTEST']._serialized_end=82977 + _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_start=82979 + _globals['_LISTCONFIGSCONFIGSREQUIRECONFIRMEDINPUTS']._serialized_end=83057 + _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_start=83059 + _globals['_LISTCONFIGSCONFIGSRESCAN']._serialized_end=83120 + _globals['_LISTCONFIGSCONFIGSRGB']._serialized_start=83122 + _globals['_LISTCONFIGSCONFIGSRGB']._serialized_end=83180 + _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_start=83182 + _globals['_LISTCONFIGSCONFIGSRPCFILE']._serialized_end=83244 + _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_start=83246 + _globals['_LISTCONFIGSCONFIGSRPCFILEMODE']._serialized_end=83312 + _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_start=83314 + _globals['_LISTCONFIGSCONFIGSSIGNET']._serialized_end=83369 + _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_start=83371 + _globals['_LISTCONFIGSCONFIGSSUBDAEMON']._serialized_end=83437 + _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_start=83439 + _globals['_LISTCONFIGSCONFIGSTESTNET']._serialized_end=83495 + _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_start=83497 + _globals['_LISTCONFIGSCONFIGSTORSERVICEPASSWORD']._serialized_end=83570 + _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_start=83572 + _globals['_LISTCONFIGSCONFIGSWALLET']._serialized_end=83633 + _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_start=83635 + _globals['_LISTCONFIGSCONFIGSWATCHTIMEBLOCKS']._serialized_end=83705 + _globals['_STOPREQUEST']._serialized_start=83707 + _globals['_STOPREQUEST']._serialized_end=83720 + _globals['_STOPRESPONSE']._serialized_start=83722 + _globals['_STOPRESPONSE']._serialized_end=83819 + _globals['_STOPRESPONSE_STOPRESULT']._serialized_start=83784 + _globals['_STOPRESPONSE_STOPRESULT']._serialized_end=83819 + _globals['_HELPREQUEST']._serialized_start=83821 + _globals['_HELPREQUEST']._serialized_end=83868 + _globals['_HELPRESPONSE']._serialized_start=83871 + _globals['_HELPRESPONSE']._serialized_end=84020 + _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_start=83976 + _globals['_HELPRESPONSE_HELPFORMATHINT']._serialized_end=84004 + _globals['_HELPHELP']._serialized_start=84022 + _globals['_HELPHELP']._serialized_end=84049 + _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_start=84051 + _globals['_PREAPPROVEKEYSENDREQUEST']._serialized_end=84154 + _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_start=84156 + _globals['_PREAPPROVEKEYSENDRESPONSE']._serialized_end=84183 + _globals['_PREAPPROVEINVOICEREQUEST']._serialized_start=84185 + _globals['_PREAPPROVEINVOICEREQUEST']._serialized_end=84227 + _globals['_PREAPPROVEINVOICERESPONSE']._serialized_start=84229 + _globals['_PREAPPROVEINVOICERESPONSE']._serialized_end=84256 + _globals['_STATICBACKUPREQUEST']._serialized_start=84258 + _globals['_STATICBACKUPREQUEST']._serialized_end=84279 + _globals['_STATICBACKUPRESPONSE']._serialized_start=84281 + _globals['_STATICBACKUPRESPONSE']._serialized_end=84316 + _globals['_BKPRCHANNELSAPYREQUEST']._serialized_start=84318 + _globals['_BKPRCHANNELSAPYREQUEST']._serialized_end=84418 + _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_start=84420 + _globals['_BKPRCHANNELSAPYRESPONSE']._serialized_end=84500 + _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_start=84503 + _globals['_BKPRCHANNELSAPYCHANNELSAPY']._serialized_end=85392 + _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_start=85395 + _globals['_BKPRDUMPINCOMECSVREQUEST']._serialized_end=85605 + _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_start=85608 + _globals['_BKPRDUMPINCOMECSVRESPONSE']._serialized_end=85820 + _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_start=85734 + _globals['_BKPRDUMPINCOMECSVRESPONSE_BKPRDUMPINCOMECSVCSVFORMAT']._serialized_end=85820 + _globals['_BKPRINSPECTREQUEST']._serialized_start=85822 + _globals['_BKPRINSPECTREQUEST']._serialized_end=85859 + _globals['_BKPRINSPECTRESPONSE']._serialized_start=85861 + _globals['_BKPRINSPECTRESPONSE']._serialized_end=85916 + _globals['_BKPRINSPECTTXS']._serialized_start=85919 + _globals['_BKPRINSPECTTXS']._serialized_end=86073 + _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_start=86076 + _globals['_BKPRINSPECTTXSOUTPUTS']._serialized_end=86520 + _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_start=86522 + _globals['_BKPRLISTACCOUNTEVENTSREQUEST']._serialized_end=86626 + _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_start=86628 + _globals['_BKPRLISTACCOUNTEVENTSRESPONSE']._serialized_end=86709 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_start=86712 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS']._serialized_end=87429 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_start=87215 + _globals['_BKPRLISTACCOUNTEVENTSEVENTS_BKPRLISTACCOUNTEVENTSEVENTSTYPE']._serialized_end=87289 + _globals['_BKPRLISTBALANCESREQUEST']._serialized_start=87431 + _globals['_BKPRLISTBALANCESREQUEST']._serialized_end=87456 + _globals['_BKPRLISTBALANCESRESPONSE']._serialized_start=87458 + _globals['_BKPRLISTBALANCESRESPONSE']._serialized_end=87533 + _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_start=87536 + _globals['_BKPRLISTBALANCESACCOUNTS']._serialized_end=87862 + _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_start=87864 + _globals['_BKPRLISTBALANCESACCOUNTSBALANCES']._serialized_end=87952 + _globals['_BKPRLISTINCOMEREQUEST']._serialized_start=87955 + _globals['_BKPRLISTINCOMEREQUEST']._serialized_end=88106 + _globals['_BKPRLISTINCOMERESPONSE']._serialized_start=88108 + _globals['_BKPRLISTINCOMERESPONSE']._serialized_end=88188 + _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_start=88191 + _globals['_BKPRLISTINCOMEINCOMEEVENTS']._serialized_end=88499 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_start=88501 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDREQUEST']._serialized_end=88581 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_start=88583 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDRESPONSE']._serialized_end=88684 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_start=88687 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED']._serialized_end=89362 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_start=89188 + _globals['_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATED_BKPREDITDESCRIPTIONBYPAYMENTIDUPDATEDTYPE']._serialized_end=89255 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_start=89364 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTREQUEST']._serialized_end=89441 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_start=89443 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTRESPONSE']._serialized_end=89542 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_start=89545 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED']._serialized_end=90216 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_start=90043 + _globals['_BKPREDITDESCRIPTIONBYOUTPOINTUPDATED_BKPREDITDESCRIPTIONBYOUTPOINTUPDATEDTYPE']._serialized_end=90109 + _globals['_BKPRREPORTREQUEST']._serialized_start=90219 + _globals['_BKPRREPORTREQUEST']._serialized_end=90395 + _globals['_BKPRREPORTRESPONSE']._serialized_start=90397 + _globals['_BKPRREPORTRESPONSE']._serialized_end=90433 + _globals['_BLACKLISTRUNEREQUEST']._serialized_start=90435 + _globals['_BLACKLISTRUNEREQUEST']._serialized_end=90545 + _globals['_BLACKLISTRUNERESPONSE']._serialized_start=90547 + _globals['_BLACKLISTRUNERESPONSE']._serialized_end=90618 + _globals['_BLACKLISTRUNEBLACKLIST']._serialized_start=90620 + _globals['_BLACKLISTRUNEBLACKLIST']._serialized_end=90672 + _globals['_CHECKRUNEREQUEST']._serialized_start=90674 + _globals['_CHECKRUNEREQUEST']._serialized_end=90786 + _globals['_CHECKRUNERESPONSE']._serialized_start=90788 + _globals['_CHECKRUNERESPONSE']._serialized_end=90822 + _globals['_CREATERUNEREQUEST']._serialized_start=90824 + _globals['_CREATERUNEREQUEST']._serialized_end=90893 + _globals['_CREATERUNERESPONSE']._serialized_start=90895 + _globals['_CREATERUNERESPONSE']._serialized_end=91018 + _globals['_SHOWRUNESREQUEST']._serialized_start=91020 + _globals['_SHOWRUNESREQUEST']._serialized_end=91066 + _globals['_SHOWRUNESRESPONSE']._serialized_start=91068 + _globals['_SHOWRUNESRESPONSE']._serialized_end=91123 + _globals['_SHOWRUNESRUNES']._serialized_start=91126 + _globals['_SHOWRUNESRUNES']._serialized_end=91411 + _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_start=91413 + _globals['_SHOWRUNESRUNESRESTRICTIONS']._serialized_end=91525 + _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_start=91527 + _globals['_SHOWRUNESRUNESRESTRICTIONSALTERNATIVES']._serialized_end=91637 + _globals['_ASKRENEUNRESERVEREQUEST']._serialized_start=91639 + _globals['_ASKRENEUNRESERVEREQUEST']._serialized_end=91753 + _globals['_ASKRENEUNRESERVERESPONSE']._serialized_start=91755 + _globals['_ASKRENEUNRESERVERESPONSE']._serialized_end=91781 + _globals['_ASKRENEUNRESERVEPATH']._serialized_start=91783 + _globals['_ASKRENEUNRESERVEPATH']._serialized_end=91899 + _globals['_ASKRENELISTLAYERSREQUEST']._serialized_start=91901 + _globals['_ASKRENELISTLAYERSREQUEST']._serialized_end=91957 + _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_start=91959 + _globals['_ASKRENELISTLAYERSRESPONSE']._serialized_end=92032 + _globals['_ASKRENELISTLAYERSLAYERS']._serialized_start=92035 + _globals['_ASKRENELISTLAYERSLAYERS']._serialized_end=92461 + _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_start=92464 + _globals['_ASKRENELISTLAYERSLAYERSBIASES']._serialized_end=92619 + _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_start=92622 + _globals['_ASKRENELISTLAYERSLAYERSCHANNELUPDATES']._serialized_end=93046 + _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_start=93049 + _globals['_ASKRENELISTLAYERSLAYERSCONSTRAINTS']._serialized_end=93267 + _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_start=93270 + _globals['_ASKRENELISTLAYERSLAYERSCREATEDCHANNELS']._serialized_end=93409 + _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_start=93412 + _globals['_ASKRENELISTLAYERSLAYERSNODEBIASES']._serialized_end=93557 + _globals['_ASKRENECREATELAYERREQUEST']._serialized_start=93559 + _globals['_ASKRENECREATELAYERREQUEST']._serialized_end=93641 + _globals['_ASKRENECREATELAYERRESPONSE']._serialized_start=93643 + _globals['_ASKRENECREATELAYERRESPONSE']._serialized_end=93718 + _globals['_ASKRENECREATELAYERLAYERS']._serialized_start=93721 + _globals['_ASKRENECREATELAYERLAYERS']._serialized_end=94153 + _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_start=94156 + _globals['_ASKRENECREATELAYERLAYERSBIASES']._serialized_end=94312 + _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_start=94315 + _globals['_ASKRENECREATELAYERLAYERSCHANNELUPDATES']._serialized_end=94652 + _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_start=94655 + _globals['_ASKRENECREATELAYERLAYERSCONSTRAINTS']._serialized_end=94851 + _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_start=94854 + _globals['_ASKRENECREATELAYERLAYERSCREATEDCHANNELS']._serialized_end=94994 + _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_start=94997 + _globals['_ASKRENECREATELAYERLAYERSNODEBIASES']._serialized_end=95143 + _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_start=95145 + _globals['_ASKRENEREMOVELAYERREQUEST']._serialized_end=95187 + _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_start=95189 + _globals['_ASKRENEREMOVELAYERRESPONSE']._serialized_end=95217 + _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_start=95219 + _globals['_ASKRENEREMOVECHANNELUPDATEREQUEST']._serialized_end=95299 + _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_start=95301 + _globals['_ASKRENEREMOVECHANNELUPDATERESPONSE']._serialized_end=95337 + _globals['_ASKRENERESERVEREQUEST']._serialized_start=95339 + _globals['_ASKRENERESERVEREQUEST']._serialized_end=95401 + _globals['_ASKRENERESERVERESPONSE']._serialized_start=95403 + _globals['_ASKRENERESERVERESPONSE']._serialized_end=95427 + _globals['_ASKRENERESERVEPATH']._serialized_start=95429 + _globals['_ASKRENERESERVEPATH']._serialized_end=95543 + _globals['_ASKRENEAGEREQUEST']._serialized_start=95545 + _globals['_ASKRENEAGEREQUEST']._serialized_end=95595 + _globals['_ASKRENEAGERESPONSE']._serialized_start=95597 + _globals['_ASKRENEAGERESPONSE']._serialized_end=95653 + _globals['_GETROUTESREQUEST']._serialized_start=95656 + _globals['_GETROUTESREQUEST']._serialized_end=95887 + _globals['_GETROUTESRESPONSE']._serialized_start=95889 + _globals['_GETROUTESRESPONSE']._serialized_end=95971 + _globals['_GETROUTESROUTES']._serialized_start=95974 + _globals['_GETROUTESROUTES']._serialized_end=96110 + _globals['_GETROUTESROUTESPATH']._serialized_start=96113 + _globals['_GETROUTESROUTESPATH']._serialized_end=96581 + _globals['_ASKRENEDISABLENODEREQUEST']._serialized_start=96583 + _globals['_ASKRENEDISABLENODEREQUEST']._serialized_end=96639 + _globals['_ASKRENEDISABLENODERESPONSE']._serialized_start=96641 + _globals['_ASKRENEDISABLENODERESPONSE']._serialized_end=96669 + _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_start=96672 + _globals['_ASKRENEINFORMCHANNELREQUEST']._serialized_end=96938 + _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_start=96859 + _globals['_ASKRENEINFORMCHANNELREQUEST_ASKRENEINFORMCHANNELINFORM']._serialized_end=96938 + _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_start=96940 + _globals['_ASKRENEINFORMCHANNELRESPONSE']._serialized_end=97029 + _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_start=97032 + _globals['_ASKRENEINFORMCHANNELCONSTRAINTS']._serialized_end=97243 + _globals['_ASKRENECREATECHANNELREQUEST']._serialized_start=97246 + _globals['_ASKRENECREATECHANNELREQUEST']._serialized_end=97389 + _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_start=97391 + _globals['_ASKRENECREATECHANNELRESPONSE']._serialized_end=97421 + _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_start=97424 + _globals['_ASKRENEUPDATECHANNELREQUEST']._serialized_end=97853 + _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_start=97855 + _globals['_ASKRENEUPDATECHANNELRESPONSE']._serialized_end=97885 + _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_start=97888 + _globals['_ASKRENEBIASCHANNELREQUEST']._serialized_end=98052 + _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_start=98054 + _globals['_ASKRENEBIASCHANNELRESPONSE']._serialized_end=98129 + _globals['_ASKRENEBIASCHANNELBIASES']._serialized_start=98132 + _globals['_ASKRENEBIASCHANNELBIASES']._serialized_end=98297 + _globals['_ASKRENEBIASNODEREQUEST']._serialized_start=98300 + _globals['_ASKRENEBIASNODEREQUEST']._serialized_end=98464 + _globals['_ASKRENEBIASNODERESPONSE']._serialized_start=98466 + _globals['_ASKRENEBIASNODERESPONSE']._serialized_end=98544 + _globals['_ASKRENEBIASNODENODEBIASES']._serialized_start=98547 + _globals['_ASKRENEBIASNODENODEBIASES']._serialized_end=98699 + _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_start=98701 + _globals['_ASKRENELISTRESERVATIONSREQUEST']._serialized_end=98733 + _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_start=98735 + _globals['_ASKRENELISTRESERVATIONSRESPONSE']._serialized_end=98832 + _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_start=98835 + _globals['_ASKRENELISTRESERVATIONSRESERVATIONS']._serialized_end=98980 + _globals['_INJECTPAYMENTONIONREQUEST']._serialized_start=98983 + _globals['_INJECTPAYMENTONIONREQUEST']._serialized_end=99356 + _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_start=99358 + _globals['_INJECTPAYMENTONIONRESPONSE']._serialized_end=99477 + _globals['_INJECTONIONMESSAGEREQUEST']._serialized_start=99479 + _globals['_INJECTONIONMESSAGEREQUEST']._serialized_end=99541 + _globals['_INJECTONIONMESSAGERESPONSE']._serialized_start=99543 + _globals['_INJECTONIONMESSAGERESPONSE']._serialized_end=99571 + _globals['_XPAYREQUEST']._serialized_start=99574 + _globals['_XPAYREQUEST']._serialized_end=100017 + _globals['_XPAYRESPONSE']._serialized_start=100020 + _globals['_XPAYRESPONSE']._serialized_end=100181 + _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_start=100183 + _globals['_SIGNMESSAGEWITHKEYREQUEST']._serialized_end=100244 + _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_start=100246 + _globals['_SIGNMESSAGEWITHKEYRESPONSE']._serialized_end=100342 + _globals['_LISTCHANNELMOVESREQUEST']._serialized_start=100345 + _globals['_LISTCHANNELMOVESREQUEST']._serialized_end=100550 + _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_start=100484 + _globals['_LISTCHANNELMOVESREQUEST_LISTCHANNELMOVESINDEX']._serialized_end=100520 + _globals['_LISTCHANNELMOVESRESPONSE']._serialized_start=100552 + _globals['_LISTCHANNELMOVESRESPONSE']._serialized_end=100635 + _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_start=100638 + _globals['_LISTCHANNELMOVESCHANNELMOVES']._serialized_end=101191 + _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_start=100999 + _globals['_LISTCHANNELMOVESCHANNELMOVES_LISTCHANNELMOVESCHANNELMOVESPRIMARYTAG']._serialized_end=101149 + _globals['_LISTCHAINMOVESREQUEST']._serialized_start=101194 + _globals['_LISTCHAINMOVESREQUEST']._serialized_end=101391 + _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_start=101327 + _globals['_LISTCHAINMOVESREQUEST_LISTCHAINMOVESINDEX']._serialized_end=101361 + _globals['_LISTCHAINMOVESRESPONSE']._serialized_start=101393 + _globals['_LISTCHAINMOVESRESPONSE']._serialized_end=101468 + _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_start=101471 + _globals['_LISTCHAINMOVESCHAINMOVES']._serialized_end=102323 + _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_start=101958 + _globals['_LISTCHAINMOVESCHAINMOVES_LISTCHAINMOVESCHAINMOVESPRIMARYTAG']._serialized_end=102235 + _globals['_LISTNETWORKEVENTSREQUEST']._serialized_start=102326 + _globals['_LISTNETWORKEVENTSREQUEST']._serialized_end=102559 + _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_start=102485 + _globals['_LISTNETWORKEVENTSREQUEST_LISTNETWORKEVENTSINDEX']._serialized_end=102522 + _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_start=102561 + _globals['_LISTNETWORKEVENTSRESPONSE']._serialized_end=102648 + _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_start=102651 + _globals['_LISTNETWORKEVENTSNETWORKEVENTS']._serialized_end=102893 + _globals['_DELNETWORKEVENTREQUEST']._serialized_start=102895 + _globals['_DELNETWORKEVENTREQUEST']._serialized_end=102942 + _globals['_DELNETWORKEVENTRESPONSE']._serialized_start=102944 + _globals['_DELNETWORKEVENTRESPONSE']._serialized_end=102969 + _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_start=102972 + _globals['_CLNRESTREGISTERPATHREQUEST']._serialized_end=103218 + _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_start=103220 + _globals['_CLNRESTREGISTERPATHRESPONSE']._serialized_end=103249 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_start=103252 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS']._serialized_end=103470 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_start=103403 + _globals['_CLNRESTREGISTERPATHRUNERESTRICTIONS_PARAMSENTRY']._serialized_end=103448 + _globals['_LISTCURRENCYRATESREQUEST']._serialized_start=103472 + _globals['_LISTCURRENCYRATESREQUEST']._serialized_end=103516 + _globals['_LISTCURRENCYRATESRESPONSE']._serialized_start=103518 + _globals['_LISTCURRENCYRATESRESPONSE']._serialized_end=103605 + _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_start=103607 + _globals['_LISTCURRENCYRATESCURRENCYRATES']._serialized_end=103671 + _globals['_CURRENCYCONVERTREQUEST']._serialized_start=103673 + _globals['_CURRENCYCONVERTREQUEST']._serialized_end=103731 + _globals['_CURRENCYCONVERTRESPONSE']._serialized_start=103733 + _globals['_CURRENCYCONVERTRESPONSE']._serialized_end=103785 + _globals['_CURRENCYRATEREQUEST']._serialized_start=103787 + _globals['_CURRENCYRATEREQUEST']._serialized_end=103858 + _globals['_CURRENCYRATERESPONSE']._serialized_start=103860 + _globals['_CURRENCYRATERESPONSE']._serialized_end=103896 + _globals['_SENDAMOUNTREQUEST']._serialized_start=103899 + _globals['_SENDAMOUNTREQUEST']._serialized_end=104176 + _globals['_SENDAMOUNTRESPONSE']._serialized_start=104179 + _globals['_SENDAMOUNTRESPONSE']._serialized_end=104346 + _globals['_CREATEPROOFREQUEST']._serialized_start=104348 + _globals['_CREATEPROOFREQUEST']._serialized_end=104449 + _globals['_CREATEPROOFRESPONSE']._serialized_start=104451 + _globals['_CREATEPROOFRESPONSE']._serialized_end=104512 + _globals['_CREATEPROOFPROOFS']._serialized_start=104515 + _globals['_CREATEPROOFPROOFS']._serialized_end=104697 + _globals['_XKEYSENDREQUEST']._serialized_start=104700 + _globals['_XKEYSENDREQUEST']._serialized_end=105043 + _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_start=104947 + _globals['_XKEYSENDREQUEST_EXTRATLVSENTRY']._serialized_end=104995 + _globals['_XKEYSENDRESPONSE']._serialized_start=105046 + _globals['_XKEYSENDRESPONSE']._serialized_end=105211 + _globals['_GRACEFULREQUEST']._serialized_start=105213 + _globals['_GRACEFULREQUEST']._serialized_end=105264 + _globals['_GRACEFULRESPONSE']._serialized_start=105266 + _globals['_GRACEFULRESPONSE']._serialized_end=105338 + _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_start=105340 + _globals['_STREAMBALANCESNAPSHOTREQUEST']._serialized_end=105370 + _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_start=105373 + _globals['_BALANCESNAPSHOTNOTIFICATION']._serialized_end=105507 + _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_start=105509 + _globals['_BALANCESNAPSHOTACCOUNTS']._serialized_end=105608 + _globals['_STREAMBLOCKADDEDREQUEST']._serialized_start=105610 + _globals['_STREAMBLOCKADDEDREQUEST']._serialized_end=105635 + _globals['_BLOCKADDEDNOTIFICATION']._serialized_start=105637 + _globals['_BLOCKADDEDNOTIFICATION']._serialized_end=105691 + _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_start=105693 + _globals['_STREAMCHANNELOPENFAILEDREQUEST']._serialized_end=105725 + _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_start=105727 + _globals['_CHANNELOPENFAILEDNOTIFICATION']._serialized_end=105778 + _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_start=105780 + _globals['_STREAMCHANNELOPENEDREQUEST']._serialized_end=105808 + _globals['_CHANNELOPENEDNOTIFICATION']._serialized_start=105810 + _globals['_CHANNELOPENEDNOTIFICATION']._serialized_end=105929 + _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_start=105931 + _globals['_STREAMCHANNELSTATECHANGEDREQUEST']._serialized_end=105965 + _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_start=105968 + _globals['_CHANNELSTATECHANGEDNOTIFICATION']._serialized_end=106417 + _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_start=106271 + _globals['_CHANNELSTATECHANGEDNOTIFICATION_CHANNELSTATECHANGEDCAUSE']._serialized_end=106370 + _globals['_STREAMCONNECTREQUEST']._serialized_start=106419 + _globals['_STREAMCONNECTREQUEST']._serialized_end=106441 + _globals['_PEERCONNECTNOTIFICATION']._serialized_start=106444 + _globals['_PEERCONNECTNOTIFICATION']._serialized_end=106634 + _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_start=106595 + _globals['_PEERCONNECTNOTIFICATION_PEERCONNECTDIRECTION']._serialized_end=106634 + _globals['_PEERCONNECTADDRESS']._serialized_start=106637 + _globals['_PEERCONNECTADDRESS']._serialized_end=106919 + _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_start=106788 + _globals['_PEERCONNECTADDRESS_PEERCONNECTADDRESSTYPE']._serialized_end=106887 + _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_start=106921 + _globals['_STREAMCOINMOVEMENTREQUEST']._serialized_end=106948 + _globals['_COINMOVEMENTNOTIFICATION']._serialized_start=106951 + _globals['_COINMOVEMENTNOTIFICATION']._serialized_end=108406 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_start=107745 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTPRIMARYTAG']._serialized_end=108120 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_start=108122 + _globals['_COINMOVEMENTNOTIFICATION_COINMOVEMENTTYPE']._serialized_end=108172 + _globals['_STREAMCUSTOMMSGREQUEST']._serialized_start=108408 + _globals['_STREAMCUSTOMMSGREQUEST']._serialized_end=108432 + _globals['_CUSTOMMSGNOTIFICATION']._serialized_start=108434 + _globals['_CUSTOMMSGNOTIFICATION']._serialized_end=108491 + _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_start=108493 + _globals['_STREAMDEPRECATEDONESHOTREQUEST']._serialized_end=108525 + _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_start=108527 + _globals['_DEPRECATEDONESHOTNOTIFICATION']._serialized_end=108581 + _globals['_STREAMDISCONNECTREQUEST']._serialized_start=108583 + _globals['_STREAMDISCONNECTREQUEST']._serialized_end=108608 + _globals['_DISCONNECTNOTIFICATION']._serialized_start=108610 + _globals['_DISCONNECTNOTIFICATION']._serialized_end=108646 + _globals['_STREAMFORWARDEVENTREQUEST']._serialized_start=108648 + _globals['_STREAMFORWARDEVENTREQUEST']._serialized_end=108675 + _globals['_FORWARDEVENTNOTIFICATION']._serialized_start=108678 + _globals['_FORWARDEVENTNOTIFICATION']._serialized_end=109326 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_start=109110 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTATUS']._serialized_end=109186 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_start=109188 + _globals['_FORWARDEVENTNOTIFICATION_FORWARDEVENTSTYLE']._serialized_end=109228 + _globals['_STREAMINVOICECREATIONREQUEST']._serialized_start=109328 + _globals['_STREAMINVOICECREATIONREQUEST']._serialized_end=109358 + _globals['_INVOICECREATIONNOTIFICATION']._serialized_start=109360 + _globals['_INVOICECREATIONNOTIFICATION']._serialized_end=109463 + _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_start=109465 + _globals['_STREAMINVOICEPAYMENTREQUEST']._serialized_end=109494 + _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_start=109497 + _globals['_INVOICEPAYMENTNOTIFICATION']._serialized_end=109636 + _globals['_STREAMLOGREQUEST']._serialized_start=109638 + _globals['_STREAMLOGREQUEST']._serialized_end=109656 + _globals['_LOGNOTIFICATION']._serialized_start=109659 + _globals['_LOGNOTIFICATION']._serialized_end=109861 + _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_start=109786 + _globals['_LOGNOTIFICATION_LOGLEVEL']._serialized_end=109861 + _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_start=109863 + _globals['_STREAMONIONMESSAGEFORWARDFAILREQUEST']._serialized_end=109901 + _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_start=109904 + _globals['_ONIONMESSAGEFORWARDFAILNOTIFICATION']._serialized_end=110143 + _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_start=110145 + _globals['_STREAMOPENCHANNELPEERSIGSREQUEST']._serialized_end=110179 + _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_start=110181 + _globals['_OPENCHANNELPEERSIGSNOTIFICATION']._serialized_end=110255 + _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_start=110257 + _globals['_STREAMPLUGINSTARTEDREQUEST']._serialized_end=110285 + _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_start=110287 + _globals['_PLUGINSTARTEDNOTIFICATION']._serialized_end=110373 + _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_start=110375 + _globals['_STREAMPLUGINSTOPPEDREQUEST']._serialized_end=110403 + _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_start=110405 + _globals['_PLUGINSTOPPEDNOTIFICATION']._serialized_end=110491 + _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_start=110493 + _globals['_STREAMSENDPAYFAILUREREQUEST']._serialized_end=110522 + _globals['_SENDPAYFAILURENOTIFICATION']._serialized_start=110524 + _globals['_SENDPAYFAILURENOTIFICATION']._serialized_end=110622 + _globals['_SENDPAYFAILUREDATA']._serialized_start=110625 + _globals['_SENDPAYFAILUREDATA']._serialized_end=111842 + _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_start=111380 + _globals['_SENDPAYFAILUREDATA_SENDPAYFAILUREDATASTATUS']._serialized_end=111445 + _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_start=111844 + _globals['_STREAMSENDPAYSUCCESSREQUEST']._serialized_end=111873 + _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_start=111876 + _globals['_SENDPAYSUCCESSNOTIFICATION']._serialized_end=112592 + _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_start=112394 + _globals['_SENDPAYSUCCESSNOTIFICATION_SENDPAYSUCCESSSTATUS']._serialized_end=112430 + _globals['_STREAMSHUTDOWNREQUEST']._serialized_start=112594 + _globals['_STREAMSHUTDOWNREQUEST']._serialized_end=112617 + _globals['_SHUTDOWNNOTIFICATION']._serialized_start=112619 + _globals['_SHUTDOWNNOTIFICATION']._serialized_end=112641 + _globals['_STREAMWARNINGREQUEST']._serialized_start=112643 + _globals['_STREAMWARNINGREQUEST']._serialized_end=112665 + _globals['_WARNINGNOTIFICATION']._serialized_start=112668 + _globals['_WARNINGNOTIFICATION']._serialized_end=112842 + _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_start=112807 + _globals['_WARNINGNOTIFICATION_WARNINGLEVEL']._serialized_end=112842 + _globals['_STREAMPAYPARTENDREQUEST']._serialized_start=112844 + _globals['_STREAMPAYPARTENDREQUEST']._serialized_end=112869 + _globals['_PAYPARTENDNOTIFICATION']._serialized_start=112872 + _globals['_PAYPARTENDNOTIFICATION']._serialized_end=113369 + _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_start=113209 + _globals['_PAYPARTENDNOTIFICATION_PAYPARTENDSTATUS']._serialized_end=113253 + _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_start=113371 + _globals['_STREAMPAYPARTSTARTREQUEST']._serialized_end=113398 + _globals['_PAYPARTSTARTNOTIFICATION']._serialized_start=113401 + _globals['_PAYPARTSTARTNOTIFICATION']._serialized_end=113595 + _globals['_PAYPARTSTARTHOPS']._serialized_start=113598 + _globals['_PAYPARTSTARTHOPS']._serialized_end=113757 + _globals['_NODE']._serialized_start=113760 + _globals['_NODE']._serialized_end=127130 # @@protoc_insertion_point(module_scope) diff --git a/contrib/pyln-testing/pyln/testing/grpc2py.py b/contrib/pyln-testing/pyln/testing/grpc2py.py index aa8a556bafc3..b9a9107acc61 100644 --- a/contrib/pyln-testing/pyln/testing/grpc2py.py +++ b/contrib/pyln-testing/pyln/testing/grpc2py.py @@ -2576,6 +2576,13 @@ def listconfigs_configs_max_dust_htlc_exposure_msat2py(m): }) +def listconfigs_configs_max_independent_secrets2py(m): + return remove_default({ + "source": m.source, # PrimitiveField in generate_composite + "value_int": m.value_int, # PrimitiveField in generate_composite + }) + + def listconfigs_configs_min_capacity_sat2py(m): return remove_default({ "dynamic": m.dynamic, # PrimitiveField in generate_composite diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md index 9030ecd19218..a149179b6284 100644 --- a/doc/independent-secrets.md +++ b/doc/independent-secrets.md @@ -62,6 +62,24 @@ independent-secrets Without it, new channels keep requiring shachain secrets. A channel opened with the add-on keeps it for its whole life, even if the option is later removed. +## How many secrets a channel may store + +``` +max-independent-secrets=1000000 +``` + +Each update of such a channel adds a secret, and nothing else bounds them while +the channel is open. So once a channel stores this many of the peer's secrets +one by one (32 MB of secrets at the default, about 60 MB in sqlite3), +lightningd starts a mutual close of it, as `close` would, after logging a +warning at 90%. After `shutdown` the peer only needs as many more as it takes +to settle the HTLCs in flight. A peer can still keep a closing channel updating +(with `update_fee`), so once it has made us store 10% more than the limit (at +least one more), lightningd closes the channel unilaterally. If the limit is +lowered below what a channel already stores, the close starts at its next +update. A channel the peer leased from us is closed at its first update after +the lease expires. 0 means no limit. + ## Limits - **Static channel backups** carry the peer's shachain, and not the secrets in diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md index 0d2c11cbc764..885e9fdc54a6 100644 --- a/doc/lightningd-config.5.md +++ b/doc/lightningd-config.5.md @@ -487,6 +487,21 @@ lessen the odds of a disconnect due to feerate disagreement (default 5). Number of HTLCs one channel can handle concurrently in each direction. Should be between 1 and 483 (default 30). +* **max-independent-secrets**=*INTEGER* + + On a channel with `option_independent_secrets` (see **independent-secrets**), +close the channel once we store this many of the peer's per-commitment secrets +one by one, because they don't fit a shachain: each update adds one, so this +bounds what one channel costs (about 60 bytes each in sqlite3, 32 of them the +secret). We log a warning at 90%, and at the limit start a mutual close, as +`close` would; after that the peer only needs as many more as it takes to +settle the HTLCs in flight. A peer can still keep a closing channel updating +(with `update_fee`), so once we store 10% more than the limit (at least one +more) we close the channel unilaterally. If the limit is lowered below what a +channel already stores, the close starts at its next update. A channel the +peer leased from us is closed at its first update after the lease expires. 0 +means no limit (default 1000000). (Added in v26.06.9-blake2b.8). + * **max-dust-htlc-exposure-msat**=*MILLISATOSHI* Option which limits the total amount of sats to be allowed as dust on a channel. diff --git a/doc/schemas/listconfigs.json b/doc/schemas/listconfigs.json index ef320ad8d4e0..f69d9d4f3cf7 100644 --- a/doc/schemas/listconfigs.json +++ b/doc/schemas/listconfigs.json @@ -934,6 +934,29 @@ } } }, + "max-independent-secrets": { + "added": "v26.06.9-blake2b.8", + "type": "object", + "additionalProperties": false, + "required": [ + "value_int", + "source" + ], + "properties": { + "value_int": { + "type": "u64", + "description": [ + "Field from config or cmdline, or default." + ] + }, + "source": { + "type": "string", + "description": [ + "Source of configuration setting." + ] + } + } + }, "max-concurrent-htlcs": { "type": "object", "additionalProperties": false, @@ -2123,6 +2146,10 @@ "set": false, "source": "default" }, + "max-independent-secrets": { + "value_int": 1000000, + "source": "default" + }, "max-concurrent-htlcs": { "value_int": 483, "source": "default" diff --git a/lightningd/channel.c b/lightningd/channel.c index 1e8b945c55f2..9b8defed8d06 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -490,6 +490,9 @@ struct channel *new_unsaved_channel(struct peer *peer, shachain_init(&channel->their_shachain.chain); channel->their_secrets_in_db = false; channel->their_secrets_received = 0; + channel->independent_secrets_warned = false; + channel->independent_secrets_lease_logged = false; + channel->independent_secrets_close_tried = false; memset(&channel->their_last_secret, 0, sizeof(channel->their_last_secret)); @@ -658,6 +661,9 @@ struct channel *new_channel(struct peer *peer, u64 dbid, * shachain (option_independent_secrets). */ channel->their_secrets_in_db = false; channel->their_secrets_received = 0; + channel->independent_secrets_warned = false; + channel->independent_secrets_lease_logged = false; + channel->independent_secrets_close_tried = false; memset(&channel->their_last_secret, 0, sizeof(channel->their_last_secret)); channel->state = state; diff --git a/lightningd/channel.h b/lightningd/channel.h index 9cbece8cfd4c..d02b409e19cd 100644 --- a/lightningd/channel.h +++ b/lightningd/channel.h @@ -172,6 +172,9 @@ struct channel { bool their_secrets_in_db; u64 their_secrets_received; struct secret their_last_secret; + /* What we have done about max_independent_secrets (not saved). */ + bool independent_secrets_warned, independent_secrets_lease_logged; + bool independent_secrets_close_tried; /* What's happening. */ enum channel_state state; diff --git a/lightningd/closing_control.c b/lightningd/closing_control.c index 529672f35be9..19eed3f6d586 100644 --- a/lightningd/closing_control.c +++ b/lightningd/closing_control.c @@ -1038,6 +1038,73 @@ discard_unopened: { } } +bool channel_start_mutual_close(struct channel *channel, const char *why) +{ + struct lightningd *ld = channel->peer->ld; + struct ext_key final_ext_key; + u32 final_key_idx; + const u8 *script = channel->shutdown_scriptpubkey[LOCAL]; + bool anysegwit; + + /* Revocations come from channeld, so it is the owner, if any. */ + if (channel->state != CHANNELD_NORMAL + && channel->state != CHANNELD_AWAITING_SPLICE + && channel->state != CHANNELD_AWAITING_LOCKIN) + return false; + + assert(channel->final_key_idx <= UINT32_MAX); + final_key_idx = channel->final_key_idx; + if (bip32_key_from_parent(ld->bip32_base, final_key_idx, + BIP32_FLAG_KEY_PUBLIC, + &final_ext_key) != WALLY_OK) { + log_broken(channel->log, "Could not derive final_ext_key"); + return false; + } + + /* As json_close, don't send a script the peer won't accept. Our + * default P2TR address can become P2WPKH, as `close` with a + * destination would allow; a script promised upfront can't. */ + anysegwit = !chainparams->is_elements + && feature_negotiated(ld->our_features, + channel->peer->their_features, + OPT_SHUTDOWN_ANYSEGWIT); + if (!valid_shutdown_scriptpubkey(script, anysegwit, false, false)) { + if (!tal_arr_eq(script, p2tr_for_keyidx(tmpctx, ld, + final_key_idx))) { + log_broken(channel->log, + "Can't close: the peer won't accept our" + " shutdown script %s", + tal_hex(tmpctx, script)); + return false; + } + script = p2wpkh_for_keyidx(tmpctx, ld, final_key_idx); + } + + /* As json_close's defaults. */ + channel->closing_fee_negotiation_step = 50; + channel->closing_fee_negotiation_step_unit + = CLOSING_FEE_NEGOTIATION_STEP_UNIT_PERCENTAGE; + + channel_set_state(channel, channel->state, CHANNELD_SHUTTING_DOWN, + REASON_LOCAL, why); + if (script != channel->shutdown_scriptpubkey[LOCAL]) { + tal_free(channel->shutdown_scriptpubkey[LOCAL]); + channel->shutdown_scriptpubkey[LOCAL] + = tal_dup_talarr(channel, u8, script); + } + /* If channeld isn't running, it sends shutdown when it starts in + * this state. */ + if (channel->owner && streq(channel->owner->name, "channeld")) + subd_send_msg(channel->owner, + take(towire_channeld_send_shutdown(NULL, + &final_key_idx, + &final_ext_key, + channel->shutdown_scriptpubkey[LOCAL], + NULL))); + wallet_channel_save(ld->wallet, channel); + return true; +} + static const struct json_command close_command = { "close", json_close, diff --git a/lightningd/closing_control.h b/lightningd/closing_control.h index ffc649b3fa2c..a90e0cb9e814 100644 --- a/lightningd/closing_control.h +++ b/lightningd/closing_control.h @@ -29,4 +29,9 @@ void resolve_close_command(struct lightningd *ld, struct channel *channel, void peer_start_closingd(struct channel *channel, struct peer_fd *peer_fd); +/* Start a mutual close of a channel run by channeld (normal, awaiting lock-in + * or awaiting a splice), as `close` would with no options (but without a + * command, so no unilateral timeout). False if it can't start one. */ +bool channel_start_mutual_close(struct channel *channel, const char *why); + #endif /* LIGHTNING_LIGHTNINGD_CLOSING_CONTROL_H */ diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index 09fcfb0c9ec5..8ac035400d62 100644 --- a/lightningd/lightningd.c +++ b/lightningd/lightningd.c @@ -161,6 +161,8 @@ static struct lightningd *new_lightningd(const tal_t *ctx) ld->dev_hsmd_fail_preapprove = false; ld->dev_hsmd_warn_on_overgrind = false; ld->dev_hsmd_independent_secrets_sender = false; + /* 32MB of secrets, about 60MB in the db. */ + ld->max_independent_secrets = 1000000; ld->dev_handshake_no_reply = false; ld->dev_strict_forwarding = false; ld->dev_limit_connections_inflight = false; diff --git a/lightningd/lightningd.h b/lightningd/lightningd.h index da5f1ac1dddf..3e524c2f3745 100644 --- a/lightningd/lightningd.h +++ b/lightningd/lightningd.h @@ -419,6 +419,10 @@ struct lightningd { * exercise a peer's option_independent_secrets. */ bool dev_hsmd_independent_secrets_sender; + /* On an option_independent_secrets channel, how many of the peer's + * secrets we store one by one before we close it (0: no limit). */ + u64 max_independent_secrets; + /* Tell connectd not to talk after handshake */ bool dev_handshake_no_reply; diff --git a/lightningd/options.c b/lightningd/options.c index 15eae99d34ae..9e9b672444b0 100644 --- a/lightningd/options.c +++ b/lightningd/options.c @@ -1646,6 +1646,12 @@ static void register_opts(struct lightningd *ld) clnopt_witharg("--max-concurrent-htlcs", OPT_SHOWINT, opt_set_u32, opt_show_u32, &ld->config.max_concurrent_htlcs, "Number of HTLCs one channel can handle concurrently. Should be between 1 and 483"); + clnopt_witharg("--max-independent-secrets", OPT_SHOWINT, + opt_set_u64, opt_show_u64, + &ld->max_independent_secrets, + "On a channel with option_independent_secrets, close it" + " once we store this many of the peer's per-commitment" + " secrets one by one (0 for no limit)"); clnopt_witharg("--max-dust-htlc-exposure-msat", OPT_SHOWMSATS, opt_set_msat, opt_show_msat, &ld->config.max_dust_htlc_exposure_msat, diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index f85cedf7a4c7..63d8cfc7dafd 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -2678,6 +2679,78 @@ REGISTER_PLUGIN_HOOK(commitment_revocation, commitment_revocation_hook_serialize, struct commitment_revocation_payload *); +/* On an option_independent_secrets channel the peer's secrets which don't + * fit a shachain cost us about 60 bytes each, and there is no end to them + * while the channel is open. So we warn at 90% of max_independent_secrets + * and start a mutual close when it is reached: after `shutdown` the peer + * only needs as many more as it takes to settle the HTLCs in flight. But a + * peer can keep a closing channel updating (update_fee needs no HTLCs), so + * once it has made us store another 10% we close the channel unilaterally. */ +static void check_independent_secrets_cap(struct channel *channel) +{ + struct lightningd *ld = channel->peer->ld; + u64 max = ld->max_independent_secrets; + u64 stored = channel_their_stored_secrets(channel); + u64 slack = max / 10 ? max / 10 : 1; + + if (max == 0 || stored == 0) + return; + + if (stored < max) { + if (stored >= max - max / 10 + && !channel->independent_secrets_warned) { + log_unusual(channel->log, + "Stored %"PRIu64" of the peer's" + " per-commitment secrets: at" + " max-independent-secrets=%"PRIu64 + " we will close the channel", + stored, max); + channel->independent_secrets_warned = true; + } + return; + } + + /* Like `close`, we keep a lease we sold. */ + if (channel->opener != LOCAL + && get_block_height(ld->topology) < channel->lease_expiry) { + if (!channel->independent_secrets_lease_logged) { + log_unusual(channel->log, + "Reached max-independent-secrets=%"PRIu64 + ", but the peer leased this channel until" + " block %u: closing after that", + max, channel->lease_expiry); + channel->independent_secrets_lease_logged = true; + } + return; + } + + /* Once: if it can't start, the backstop below still applies. */ + if (!channel->independent_secrets_close_tried) { + channel->independent_secrets_close_tried = true; + if (channel_start_mutual_close(channel, + "Reached max-independent-secrets")) { + log_unusual(channel->log, + "Stored %"PRIu64" of the peer's" + " per-commitment secrets," + " max-independent-secrets=%"PRIu64 + ": closing the channel", + stored, max); + return; + } + } + + if (stored - max >= slack) { + log_unusual(channel->log, + "Stored %"PRIu64" of the peer's per-commitment" + " secrets, max-independent-secrets=%"PRIu64 + ", and the channel still isn't closed:" + " closing it unilaterally", + stored, max); + channel_fail_permanent(channel, REASON_LOCAL, + "Stored too many per-commitment secrets"); + } +} + void peer_got_revoke(struct channel *channel, const u8 *msg) { u64 revokenum; @@ -2840,6 +2913,10 @@ void peer_got_revoke(struct channel *channel, const u8 *msg) badonions[i] ? badonions[i] : fromwire_peektype(failmsgs[i])); } + + if (channel->their_secrets_in_db) + check_independent_secrets_cap(channel); + wallet_channel_save(ld->wallet, channel); if (penalty_tx == NULL) diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index d617335448bc..1c380f6e6c74 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -249,6 +249,69 @@ def test_independent_secrets_need_the_feature(node_factory, executor): wait_for(lambda: only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'AWAITING_UNILATERAL') +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_cap(node_factory, bitcoind): + """Once a channel stores max-independent-secrets of the peer's secrets, + we start a mutual close, after a warning at 90%. A payment from l1 + revokes two of its commitments, and l2 stores those from commitment 1 on, + so after n payments it stores 2n - 1.""" + l1, l2 = node_factory.line_graph(2, opts=[SENDER, + {**ON, 'max-independent-secrets': 20}]) + assert l2.rpc.listconfigs()['configs']['max-independent-secrets']['value_int'] == 20 + assert l1.rpc.listconfigs()['configs']['max-independent-secrets']['value_int'] == 1000000 + + for _ in range(10): + l1.pay(l2, 10_000_000) + settle(l1, l2) + assert reported_stored(l2, l1) == 19 + # Once, at 18. + l2.daemon.wait_for_log(r'Stored 18 of the peer.s per-commitment secrets:' + r' at max-independent-secrets=20 we will close the channel') + assert not l2.daemon.is_in_log(r'Stored 19 of the peer.s per-commitment secrets:') + assert only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_NORMAL' + + # The 20th starts the close, and the payment in flight still completes: + # settling it stores one more, within the 10% we allow for that. + l1.pay(l2, 10_000_000) + l2.daemon.wait_for_logs([r'Stored 20 of the peer.s per-commitment secrets,' + r' max-independent-secrets=20: closing the channel', + r'State changed from CHANNELD_NORMAL to CHANNELD_SHUTTING_DOWN']) + bitcoind.generate_block(1, wait_for_mempool=1) + for n in (l1, l2): + wait_for(lambda: only_one(n.rpc.listpeerchannels()['channels'])['state'] == 'ONCHAIN') + closed = only_one(l2.rpc.listpeerchannels()['channels']) + assert closed['independent_secrets_stored'] == 21 + assert 'Reached max-independent-secrets' in [s['message'] for s in closed['state_changes']] + assert not l2.daemon.is_in_log('closing it unilaterally') + + +def test_independent_secrets_cap_unilateral(node_factory, bitcoind, executor): + """A peer which keeps a closing channel updating has it closed + unilaterally once we store 10% more than max-independent-secrets (at + least one more). With a cap of 10, settling the payment in flight when + the close starts is already one too many.""" + l1, l2 = node_factory.line_graph(2, opts=[{**SENDER, 'may_reconnect': True}, + {**ON, 'max-independent-secrets': 10, + 'may_reconnect': True}]) + for _ in range(5): + l1.pay(l2, 10_000_000) + settle(l1, l2) + assert reported_stored(l2, l1) == 9 + + # It never settles cleanly: the channel closes with it on. + inv = l2.rpc.invoice(10_000_000, 'last', 'last')['bolt11'] + executor.submit(l1.rpc.xpay, inv) + l2.daemon.wait_for_logs([r'Stored 10 of the peer.s per-commitment secrets,' + r' max-independent-secrets=10: closing the channel', + r'Stored 11 of the peer.s per-commitment secrets,' + r' max-independent-secrets=10, and the channel still' + r" isn't closed: closing it unilaterally"]) + l2.wait_for_channel_onchain(l1.info['id']) + closed = only_one(l2.rpc.listpeerchannels()['channels']) + assert 'Stored too many per-commitment secrets' in [s['message'] for s in closed['state_changes']] + + def test_independent_secrets_refused_options(node_factory): """--independent-secrets can't be used with an external signer, which checks the peer's secrets against a shachain, and the dev sender needs it, From cc970d99618d82b13e24101b7eef1cf11a0ab000 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Sun, 18 Oct 2026 11:13:25 +0200 Subject: [PATCH 12/28] lightningd: apply the cap's backstop during a lease, and time out its close Three fixes to max-independent-secrets, from review: - A channel the peer leased from us skipped the backstop as well as the mutual close, so until the lease expired a peer could make us store its secrets without limit. We still don't start a mutual close before the lease expires, but the 10% backstop now applies: our funds stay locked until then however the channel closes. - The mutual close started at the cap had no timeout, so a peer could leave it unfinished for ever. After 48 hours, as `close` waits by default, we now close unilaterally. The timer isn't saved, so at startup it is armed again for a channel that is closing and over the cap. --dev-independent-secrets-close-timeout shortens it for tests. - The 10% now counts from where we first saw the channel at or over the cap, so a cap lowered below what a channel already stores starts a mutual close at its next update instead of failing the channel at the one after. Also point the docs and comments at lightning-blake2b/bolts#17, where the spec now lives, instead of the draft bLIP. --- README.md | 2 +- common/features.h | 5 +- doc/independent-secrets.md | 11 ++- doc/lightningd-config.5.md | 9 ++- lightningd/channel.c | 4 ++ lightningd/channel.h | 6 ++ lightningd/lightningd.c | 3 + lightningd/lightningd.h | 3 + lightningd/options.c | 6 ++ lightningd/peer_htlcs.c | 98 ++++++++++++++++++++++----- lightningd/peer_htlcs.h | 4 ++ tests/test_independent_secrets.py | 108 ++++++++++++++++++++++++++++++ 12 files changed, 233 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index c109c5107d25..62dba72238f4 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ This is an unofficial version of [Core Lightning](https://github.com/ElementsPro The required feature bit means you **cannot cooperatively close a channel opened before activation** with a counterparty that has not upgraded. -The feature bits are the ones proposed for BOLT 9: 512 for `option_blake2b` and 514 for `option_unified_sigs`. `option_independent_secrets` uses 266, from a draft bLIP. A stored channel type using the earlier bit 70 is moved to 514 on upgrade. +The feature bits are the ones proposed for BOLT 9: 512 for `option_blake2b` and 514 for `option_unified_sigs`. `option_independent_secrets` uses 266, from [lightning-blake2b/bolts#17](https://github.com/lightning-blake2b/bolts/pull/17). A stored channel type using the earlier bit 70 is moved to 514 on upgrade. Fund channels only from coins received past activation. A channel funded from a coin received before activation has a funding transaction a node that has not upgraded also accepts, which reopens the exposure unified signing exists to close. diff --git a/common/features.h b/common/features.h index c78834dd8c45..7b48ed8ccffb 100644 --- a/common/features.h +++ b/common/features.h @@ -161,8 +161,9 @@ struct feature_set *feature_set_dup(const tal_t *ctx, #define OPT_BLAKE2B 512 /* Provisional signing capability; persisted as a channel type modifier. */ #define OPT_UNIFIED_SIGS 514 -/* From a draft bLIP: the peer's per-commitment secrets need not come from - * a shachain, so we keep every one. A channel type modifier. */ +/* From lightning-blake2b/bolts#17: the peer's per-commitment secrets need + * not come from a shachain, so we keep every one. A channel type + * modifier. */ #define OPT_INDEPENDENT_SECRETS 266 #endif /* LIGHTNING_COMMON_FEATURES_H */ diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md index a149179b6284..b08886952fa1 100644 --- a/doc/independent-secrets.md +++ b/doc/independent-secrets.md @@ -1,7 +1,8 @@ # Independent per-commitment secrets This version of Core Lightning supports `option_independent_secrets` (feature -bits 266/267, proposed in a draft bLIP). On a +bits 266/267, proposed in +[lightning-blake2b/bolts#17](https://github.com/lightning-blake2b/bolts/pull/17)). On a channel with it, the node accepts per-commitment secrets from its peer that do not come from a shachain, and keeps each one it needs to punish a breach. @@ -77,8 +78,12 @@ to settle the HTLCs in flight. A peer can still keep a closing channel updating (with `update_fee`), so once it has made us store 10% more than the limit (at least one more), lightningd closes the channel unilaterally. If the limit is lowered below what a channel already stores, the close starts at its next -update. A channel the peer leased from us is closed at its first update after -the lease expires. 0 means no limit. +update, and the 10% counts from there. If the mutual close hasn't finished +within 48 hours, lightningd closes the channel unilaterally, as `close` does +by default. A channel the peer leased from us is closed at its first update +after the lease expires, or unilaterally before then once the peer has made us +store 10% more than the limit: our funds stay locked until the lease expires +either way. 0 means no limit. ## Limits diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md index 885e9fdc54a6..a8b74512eed5 100644 --- a/doc/lightningd-config.5.md +++ b/doc/lightningd-config.5.md @@ -498,9 +498,12 @@ secret). We log a warning at 90%, and at the limit start a mutual close, as settle the HTLCs in flight. A peer can still keep a closing channel updating (with `update_fee`), so once we store 10% more than the limit (at least one more) we close the channel unilaterally. If the limit is lowered below what a -channel already stores, the close starts at its next update. A channel the -peer leased from us is closed at its first update after the lease expires. 0 -means no limit (default 1000000). (Added in v26.06.9-blake2b.8). +channel already stores, the close starts at its next update, and the 10% counts +from there. If the mutual close hasn't finished within 48 hours, we close the +channel unilaterally, as `close` does by default. A channel the peer leased +from us is closed at its first update after the lease expires, or unilaterally +before then once the peer has made us store 10% more than the limit. 0 means +no limit (default 1000000). (Added in v26.06.9-blake2b.8). * **max-dust-htlc-exposure-msat**=*MILLISATOSHI* diff --git a/lightningd/channel.c b/lightningd/channel.c index 9b8defed8d06..9d2369594dbb 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -493,6 +493,8 @@ struct channel *new_unsaved_channel(struct peer *peer, channel->independent_secrets_warned = false; channel->independent_secrets_lease_logged = false; channel->independent_secrets_close_tried = false; + channel->independent_secrets_over_at = 0; + channel->independent_secrets_close_timer = NULL; memset(&channel->their_last_secret, 0, sizeof(channel->their_last_secret)); @@ -664,6 +666,8 @@ struct channel *new_channel(struct peer *peer, u64 dbid, channel->independent_secrets_warned = false; channel->independent_secrets_lease_logged = false; channel->independent_secrets_close_tried = false; + channel->independent_secrets_over_at = 0; + channel->independent_secrets_close_timer = NULL; memset(&channel->their_last_secret, 0, sizeof(channel->their_last_secret)); channel->state = state; diff --git a/lightningd/channel.h b/lightningd/channel.h index d02b409e19cd..8de2dd2ea5c3 100644 --- a/lightningd/channel.h +++ b/lightningd/channel.h @@ -175,6 +175,12 @@ struct channel { /* What we have done about max_independent_secrets (not saved). */ bool independent_secrets_warned, independent_secrets_lease_logged; bool independent_secrets_close_tried; + /* The count when we first saw it at or over the cap (0 if not yet), + * from which the backstop counts. */ + u64 independent_secrets_over_at; + /* Fails the channel if the mutual close we started at the cap + * doesn't finish in time. */ + struct oneshot *independent_secrets_close_timer; /* What's happening. */ enum channel_state state; diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index 8ac035400d62..e63e080133b2 100644 --- a/lightningd/lightningd.c +++ b/lightningd/lightningd.c @@ -163,6 +163,8 @@ static struct lightningd *new_lightningd(const tal_t *ctx) ld->dev_hsmd_independent_secrets_sender = false; /* 32MB of secrets, about 60MB in the db. */ ld->max_independent_secrets = 1000000; + /* As long as `close` waits by default. */ + ld->dev_independent_secrets_close_timeout = 48 * 60 * 60; ld->dev_handshake_no_reply = false; ld->dev_strict_forwarding = false; ld->dev_limit_connections_inflight = false; @@ -1444,6 +1446,7 @@ int main(int argc, char *argv[]) &num_channels)); check_dev_independent_secrets_sender(ld, num_channels); check_independent_secrets_channels(ld); + independent_secrets_arm_close_timers(ld); db_commit_transaction(ld->wallet->db); /*~ Now we have channels, try to ensure we have enough file descriptors diff --git a/lightningd/lightningd.h b/lightningd/lightningd.h index 3e524c2f3745..3bbf1687f057 100644 --- a/lightningd/lightningd.h +++ b/lightningd/lightningd.h @@ -422,6 +422,9 @@ struct lightningd { /* On an option_independent_secrets channel, how many of the peer's * secrets we store one by one before we close it (0: no limit). */ u64 max_independent_secrets; + /* How long the mutual close we start at that limit may take before + * we close the channel unilaterally, in seconds. */ + u32 dev_independent_secrets_close_timeout; /* Tell connectd not to talk after handshake */ bool dev_handshake_no_reply; diff --git a/lightningd/options.c b/lightningd/options.c index 9e9b672444b0..7008e40f3351 100644 --- a/lightningd/options.c +++ b/lightningd/options.c @@ -1009,6 +1009,12 @@ static void dev_register_opts(struct lightningd *ld) "Generate our per-commitment secrets without a shachain," " which only a peer with option_independent_secrets" " accepts"); + clnopt_witharg("--dev-independent-secrets-close-timeout", OPT_DEV|OPT_SHOWINT, + opt_set_u32, opt_show_u32, + &ld->dev_independent_secrets_close_timeout, + "Seconds the mutual close started at" + " max-independent-secrets may take before we close the" + " channel unilaterally"); clnopt_witharg("--dev-save-plugin-io", OPT_DEV, opt_set_charp, opt_show_charp, &ld->plugins->dev_save_io, diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 63d8cfc7dafd..8ac12732f8d5 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -2679,13 +2679,68 @@ REGISTER_PLUGIN_HOOK(commitment_revocation, commitment_revocation_hook_serialize, struct commitment_revocation_payload *); +/* The mutual close we started at max_independent_secrets hasn't finished: + * a peer could leave it there for ever, so we close unilaterally, as `close` + * does when its timeout runs out. */ +static void independent_secrets_close_timeout(struct channel *channel) +{ + channel->independent_secrets_close_timer = NULL; + if (channel->state != CHANNELD_SHUTTING_DOWN + && channel->state != CLOSINGD_SIGEXCHANGE) + return; + + log_unusual(channel->log, + "The mutual close started at max-independent-secrets" + " hasn't finished in %u seconds: closing the channel" + " unilaterally", + channel->peer->ld->dev_independent_secrets_close_timeout); + channel_fail_permanent(channel, REASON_LOCAL, + "Mutual close at max-independent-secrets timed out"); +} + +static void arm_independent_secrets_close_timer(struct channel *channel) +{ + struct lightningd *ld = channel->peer->ld; + + tal_free(channel->independent_secrets_close_timer); + channel->independent_secrets_close_timer + = new_reltimer(ld->timers, channel, + time_from_sec(ld->dev_independent_secrets_close_timeout), + independent_secrets_close_timeout, channel); +} + +void independent_secrets_arm_close_timers(struct lightningd *ld) +{ + struct peer *peer; + struct peer_node_id_map_iter it; + struct channel *channel; + + if (ld->max_independent_secrets == 0) + return; + for (peer = peer_node_id_map_first(ld->peers, &it); + peer; + peer = peer_node_id_map_next(ld->peers, &it)) { + list_for_each(&peer->channels, channel, list) { + /* Closing, and over the limit: most likely our own + * close, so it gets the same time to finish. The + * timer is not saved, so it restarts with us. */ + if ((channel->state == CHANNELD_SHUTTING_DOWN + || channel->state == CLOSINGD_SIGEXCHANGE) + && channel_their_stored_secrets(channel) + >= ld->max_independent_secrets) + arm_independent_secrets_close_timer(channel); + } + } +} + /* On an option_independent_secrets channel the peer's secrets which don't * fit a shachain cost us about 60 bytes each, and there is no end to them * while the channel is open. So we warn at 90% of max_independent_secrets * and start a mutual close when it is reached: after `shutdown` the peer - * only needs as many more as it takes to settle the HTLCs in flight. But a - * peer can keep a closing channel updating (update_fee needs no HTLCs), so - * once it has made us store another 10% we close the channel unilaterally. */ + * only needs as many more as it takes to settle the HTLCs in flight, and if + * the close hasn't finished in time we close unilaterally. A peer can also + * keep a closing channel updating (update_fee needs no HTLCs), so once it + * has made us store another 10% we close the channel unilaterally too. */ static void check_independent_secrets_cap(struct channel *channel) { struct lightningd *ld = channel->peer->ld; @@ -2710,22 +2765,30 @@ static void check_independent_secrets_cap(struct channel *channel) return; } - /* Like `close`, we keep a lease we sold. */ + /* The backstop counts from where we first saw it over the limit, so + * a lowered limit starts a mutual close rather than failing the + * channel at the next update. */ + if (channel->independent_secrets_over_at == 0) + channel->independent_secrets_over_at = stored; + + /* Like `close`, we don't close a lease we sold before it expires. + * The backstop below still applies: our funds stay locked until then + * however the channel closes. */ if (channel->opener != LOCAL && get_block_height(ld->topology) < channel->lease_expiry) { if (!channel->independent_secrets_lease_logged) { log_unusual(channel->log, "Reached max-independent-secrets=%"PRIu64 ", but the peer leased this channel until" - " block %u: closing after that", - max, channel->lease_expiry); + " block %u: closing after that, or" + " unilaterally if it has us store another" + " %"PRIu64" first", + max, channel->lease_expiry, slack); channel->independent_secrets_lease_logged = true; } - return; - } - - /* Once: if it can't start, the backstop below still applies. */ - if (!channel->independent_secrets_close_tried) { + } else if (!channel->independent_secrets_close_tried) { + /* Once: if it can't start, the backstop below still + * applies. */ channel->independent_secrets_close_tried = true; if (channel_start_mutual_close(channel, "Reached max-independent-secrets")) { @@ -2735,11 +2798,12 @@ static void check_independent_secrets_cap(struct channel *channel) " max-independent-secrets=%"PRIu64 ": closing the channel", stored, max); + arm_independent_secrets_close_timer(channel); return; } } - if (stored - max >= slack) { + if (stored - channel->independent_secrets_over_at >= slack) { log_unusual(channel->log, "Stored %"PRIu64" of the peer's per-commitment" " secrets, max-independent-secrets=%"PRIu64 @@ -2839,12 +2903,12 @@ void peer_got_revoke(struct channel *channel, const u8 *msg) * - MAY send a `warning` and close the connection, or send an * `error` and fail the channel. */ - /* bLIP-independent-secrets: + /* lightning-blake2b/bolts#17, BOLT 2: * * - if `option_independent_secrets` applies to the channel: * - MUST NOT fail the channel or close the connection because the * `per_commitment_secret` is not related to earlier secrets as - * described in [BOLT #3](https://github.com/lightning/bolts/blob/master/03-transactions.md#per-commitment-secret-requirements). + * described in [BOLT #3](03-transactions.md#per-commitment-secret-requirements). */ if (!channel_has(channel, OPT_INDEPENDENT_SECRETS)) { channel_fail_permanent(channel, @@ -2855,9 +2919,9 @@ void peer_got_revoke(struct channel *channel, const u8 *msg) return; } - /* bLIP-independent-secrets: - * - MAY store per-commitment secrets in the compact - * representation in [Efficient Per-commitment Secret Storage](https://github.com/lightning/bolts/blob/master/03-transactions.md#efficient-per-commitment-secret-storage), + /* lightning-blake2b/bolts#17, BOLT 3: + * - MAY store per-commitment secrets in the compact representation of + * [Efficient Per-commitment Secret Storage](#efficient-per-commitment-secret-storage), * for as long as each one it receives can be inserted into it: * - otherwise, MUST store that secret, and every later one, * individually, together with the number of the commitment diff --git a/lightningd/peer_htlcs.h b/lightningd/peer_htlcs.h index a9c73e47dcb1..7ae59d0137f9 100644 --- a/lightningd/peer_htlcs.h +++ b/lightningd/peer_htlcs.h @@ -23,6 +23,10 @@ void peer_sending_commitsig(struct channel *channel, const u8 *msg); void peer_got_commitsig(struct channel *channel, const u8 *msg); void peer_got_revoke(struct channel *channel, const u8 *msg); +/* At startup: fail any option_independent_secrets channel whose mutual close + * at max-independent-secrets doesn't finish in time. */ +void independent_secrets_arm_close_timers(struct lightningd *ld); + void update_per_commit_point(struct channel *channel, const struct pubkey *per_commitment_point); diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 1c380f6e6c74..ec619e57622c 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -538,3 +538,111 @@ def no_new_blocks(req): assert not l1.daemon.is_in_log('cannot get') l2.daemon.rpcproxy.mock_rpc('getblockhash', None) + + +def test_independent_secrets_cap_lowered(node_factory, bitcoind): + """A limit lowered below what a channel already stores starts a mutual + close at the channel's next update, and the 10% we allow before closing + unilaterally counts from there, so the payment in flight still settles.""" + l1, l2 = node_factory.line_graph(2, opts=[{**SENDER, 'may_reconnect': True}, + {**ON, 'may_reconnect': True}]) + for _ in range(15): + l1.pay(l2, 10_000_000) + settle(l1, l2) + assert reported_stored(l2, l1) == 29 + + l2.stop() + l2.daemon.opts['max-independent-secrets'] = 20 + l2.start() + for n, peer in ((l1, l2), (l2, l1)): + wait_for(lambda: only_one(n.rpc.listpeerchannels(peer.info['id'])['channels'])['peer_connected']) + wait_for(lambda: only_one(n.rpc.listpeerchannels(peer.info['id'])['channels'])['state'] == 'CHANNELD_NORMAL') + + # 30 starts the close, and settling the payment stores 31: within the + # slack of 2, counted from 30 rather than from 20. + l1.pay(l2, 10_000_000) + l2.daemon.wait_for_logs([r'Stored 30 of the peer.s per-commitment secrets,' + r' max-independent-secrets=20: closing the channel', + r'State changed from CHANNELD_NORMAL to CHANNELD_SHUTTING_DOWN']) + bitcoind.generate_block(1, wait_for_mempool=1) + for n in (l1, l2): + wait_for(lambda: only_one(n.rpc.listpeerchannels()['channels'])['state'] == 'ONCHAIN') + assert only_one(l2.rpc.listpeerchannels()['channels'])['independent_secrets_stored'] == 31 + assert not l2.daemon.is_in_log('closing it unilaterally') + + +def test_independent_secrets_cap_close_timeout(node_factory, executor): + """If the mutual close started at the limit doesn't finish in time, we + close the channel unilaterally, as `close` does. Here the peer + disconnects rather than answer our shutdown, and doesn't come back.""" + l1, l2 = node_factory.line_graph(2, opts=[{**SENDER, 'may_reconnect': True, + 'dev-no-reconnect': None, + 'disconnect': ['-WIRE_SHUTDOWN']}, + {**ON, 'max-independent-secrets': 20, + 'dev-independent-secrets-close-timeout': 10, + 'may_reconnect': True, + 'dev-no-reconnect': None}]) + for _ in range(10): + l1.pay(l2, 10_000_000) + settle(l1, l2) + assert reported_stored(l2, l1) == 19 + + # It never settles: the peer is gone. + executor.submit(l1.pay, l2, 10_000_000) + l2.daemon.wait_for_logs([r'Stored 20 of the peer.s per-commitment secrets,' + r' max-independent-secrets=20: closing the channel', + r'The mutual close started at max-independent-secrets' + r" hasn't finished in 10 seconds: closing the channel" + r' unilaterally']) + l2.wait_for_channel_onchain(l1.info['id']) + closed = only_one(l2.rpc.listpeerchannels()['channels']) + assert 'Mutual close at max-independent-secrets timed out' in [s['message'] for s in closed['state_changes']] + + +@pytest.mark.openchannel('v2') +def test_independent_secrets_cap_lease(node_factory, bitcoind, executor): + """We don't start a mutual close of a channel the peer leased from us + before the lease expires, but the backstop still applies: once the peer + has made us store 10% more than the limit, we close unilaterally.""" + lease = {'funder-policy': 'match', 'funder-policy-mod': 100, + 'lease-fee-base-sat': '100sat', 'lease-fee-basis': 100, + 'may_reconnect': True} + l1, l2 = node_factory.get_nodes(2, opts=[{**SENDER, **lease}, + {**ON, **lease, 'max-independent-secrets': 10}]) + amount = 500000 + l1.fundwallet(20000000) + l2.fundwallet(20000000) + l1.rpc.connect(l2.info['id'], 'localhost', l2.port) + rates = l1.rpc.dev_queryrates(l2.info['id'], amount, amount) + # l1 leases a channel from l2. + l1.rpc.fundchannel(l2.info['id'], amount, request_amt=amount, + feerate='2000perkw', compact_lease=rates['compact_lease']) + bitcoind.generate_block(6) + for n, peer in ((l1, l2), (l2, l1)): + wait_for(lambda: only_one(n.rpc.listpeerchannels(peer.info['id'])['channels'])['state'] == 'CHANNELD_NORMAL') + assert has_independent_secrets(l2, l1) + + # On this dual-funded channel, l2 stores 2n of l1's secrets after n + # payments. + for _ in range(4): + l1.pay(l2, 10_000_000) + settle(l1, l2) + assert reported_stored(l2, l1) == 8 + + # 10 reaches the limit, but the lease holds off the close. + l1.pay(l2, 10_000_000) + settle(l1, l2) + l2.daemon.wait_for_log(r'Reached max-independent-secrets=10, but the peer' + r' leased this channel until block [0-9]+: closing' + r' after that, or unilaterally if it has us store' + r' another 1 first') + assert reported_stored(l2, l1) == 10 + assert only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_NORMAL' + + # With a limit of 10 the slack is 1, so the next one closes it. + executor.submit(l1.pay, l2, 10_000_000) + l2.daemon.wait_for_log(r'Stored 11 of the peer.s per-commitment secrets,' + r' max-independent-secrets=10, and the channel still' + r" isn't closed: closing it unilaterally") + assert not l2.daemon.is_in_log(r'max-independent-secrets=10: closing the channel') + l2.wait_for_channel_onchain(l1.info['id']) From ea4b4c64c7a25e42bdd95939f6e8b76df1d379b0 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Sun, 18 Oct 2026 16:20:06 +0200 Subject: [PATCH 13/28] lightningd: keep the cap's backstop and close timeout across a restart From review: a restart reset the 10% backstop and the 48-hour timeout of the mutual close started at max-independent-secrets, and at startup the timeout was armed for any closing channel over the cap, including a close we didn't start. - How many secrets the channel stored when we started the close is now saved, in a new channels column, and the backstop counts from there. Without such a close it counts from the cap itself, so nothing resets on a restart. - At startup the timeout is armed only for a close we started, with whatever is left of its time since the channel moved to CHANNELD_SHUTTING_DOWN, as its state changes record. --- doc/independent-secrets.md | 9 ++-- doc/lightningd-config.5.md | 2 +- lightningd/channel.c | 4 +- lightningd/channel.h | 7 ++-- lightningd/peer_htlcs.c | 68 +++++++++++++++++++++---------- tests/test_independent_secrets.py | 58 ++++++++++++++++++++++++++ tests/test_splicing.py | 10 +++-- wallet/migrations.c | 5 +++ wallet/wallet.c | 37 ++++++++++++++++- wallet/wallet.h | 9 ++++ 10 files changed, 173 insertions(+), 36 deletions(-) diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md index b08886952fa1..4ec9d3099c18 100644 --- a/doc/independent-secrets.md +++ b/doc/independent-secrets.md @@ -80,10 +80,11 @@ least one more), lightningd closes the channel unilaterally. If the limit is lowered below what a channel already stores, the close starts at its next update, and the 10% counts from there. If the mutual close hasn't finished within 48 hours, lightningd closes the channel unilaterally, as `close` does -by default. A channel the peer leased from us is closed at its first update -after the lease expires, or unilaterally before then once the peer has made us -store 10% more than the limit: our funds stay locked until the lease expires -either way. 0 means no limit. +by default. A restart resets neither the 10% nor the 48 hours. A channel the +peer leased from us is closed at its first update after the lease expires, or +unilaterally before then once the peer has made us store 10% more than the +limit: our funds stay locked until the lease expires either way. 0 means no +limit. ## Limits diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md index a8b74512eed5..4079b9937cad 100644 --- a/doc/lightningd-config.5.md +++ b/doc/lightningd-config.5.md @@ -500,7 +500,7 @@ settle the HTLCs in flight. A peer can still keep a closing channel updating more) we close the channel unilaterally. If the limit is lowered below what a channel already stores, the close starts at its next update, and the 10% counts from there. If the mutual close hasn't finished within 48 hours, we close the -channel unilaterally, as `close` does by default. A channel the peer leased +channel unilaterally, as `close` does by default. A restart resets neither. A channel the peer leased from us is closed at its first update after the lease expires, or unilaterally before then once the peer has made us store 10% more than the limit. 0 means no limit (default 1000000). (Added in v26.06.9-blake2b.8). diff --git a/lightningd/channel.c b/lightningd/channel.c index 9d2369594dbb..07f9ab378af4 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -493,7 +493,7 @@ struct channel *new_unsaved_channel(struct peer *peer, channel->independent_secrets_warned = false; channel->independent_secrets_lease_logged = false; channel->independent_secrets_close_tried = false; - channel->independent_secrets_over_at = 0; + channel->independent_secrets_close_at = 0; channel->independent_secrets_close_timer = NULL; memset(&channel->their_last_secret, 0, sizeof(channel->their_last_secret)); @@ -666,7 +666,7 @@ struct channel *new_channel(struct peer *peer, u64 dbid, channel->independent_secrets_warned = false; channel->independent_secrets_lease_logged = false; channel->independent_secrets_close_tried = false; - channel->independent_secrets_over_at = 0; + channel->independent_secrets_close_at = 0; channel->independent_secrets_close_timer = NULL; memset(&channel->their_last_secret, 0, sizeof(channel->their_last_secret)); diff --git a/lightningd/channel.h b/lightningd/channel.h index 8de2dd2ea5c3..24efddf18fe9 100644 --- a/lightningd/channel.h +++ b/lightningd/channel.h @@ -175,9 +175,10 @@ struct channel { /* What we have done about max_independent_secrets (not saved). */ bool independent_secrets_warned, independent_secrets_lease_logged; bool independent_secrets_close_tried; - /* The count when we first saw it at or over the cap (0 if not yet), - * from which the backstop counts. */ - u64 independent_secrets_over_at; + /* How many we stored when we started a mutual close at the cap (0 + * if we haven't): the backstop counts from there. Saved in the db, + * so a restart doesn't reset it. */ + u64 independent_secrets_close_at; /* Fails the channel if the mutual close we started at the cap * doesn't finish in time. */ struct oneshot *independent_secrets_close_timer; diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 8ac12732f8d5..9a06ac5f8a49 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -2698,14 +2699,14 @@ static void independent_secrets_close_timeout(struct channel *channel) "Mutual close at max-independent-secrets timed out"); } -static void arm_independent_secrets_close_timer(struct channel *channel) +static void arm_independent_secrets_close_timer(struct channel *channel, + u64 seconds) { struct lightningd *ld = channel->peer->ld; tal_free(channel->independent_secrets_close_timer); channel->independent_secrets_close_timer - = new_reltimer(ld->timers, channel, - time_from_sec(ld->dev_independent_secrets_close_timeout), + = new_reltimer(ld->timers, channel, time_from_sec(seconds), independent_secrets_close_timeout, channel); } @@ -2715,20 +2716,40 @@ void independent_secrets_arm_close_timers(struct lightningd *ld) struct peer_node_id_map_iter it; struct channel *channel; - if (ld->max_independent_secrets == 0) - return; for (peer = peer_node_id_map_first(ld->peers, &it); peer; peer = peer_node_id_map_next(ld->peers, &it)) { list_for_each(&peer->channels, channel, list) { - /* Closing, and over the limit: most likely our own - * close, so it gets the same time to finish. The - * timer is not saved, so it restarts with us. */ - if ((channel->state == CHANNELD_SHUTTING_DOWN - || channel->state == CLOSINGD_SIGEXCHANGE) - && channel_their_stored_secrets(channel) - >= ld->max_independent_secrets) - arm_independent_secrets_close_timer(channel); + u64 timeout = ld->dev_independent_secrets_close_timeout; + u64 elapsed = 0, left; + + /* Only a close we started at the cap, which is + * still under way. */ + if (channel->independent_secrets_close_at == 0 + || (channel->state != CHANNELD_SHUTTING_DOWN + && channel->state != CLOSINGD_SIGEXCHANGE)) + continue; + + /* It has whatever is left of its time since it + * started: when the channel last moved to + * CHANNELD_SHUTTING_DOWN. */ + for (size_t i = tal_count(channel->state_changes); i > 0; i--) { + const struct channel_state_change *c + = channel->state_changes[i - 1]; + if (c->new_state != CHANNELD_SHUTTING_DOWN) + continue; + elapsed = time_to_sec(time_between(clock_time(), + c->timestamp)); + break; + } + left = elapsed < timeout ? timeout - elapsed : 1; + channel->independent_secrets_close_tried = true; + log_info(channel->log, + "The mutual close started at" + " max-independent-secrets has %"PRIu64 + " seconds left", + left); + arm_independent_secrets_close_timer(channel, left); } } } @@ -2765,12 +2786,6 @@ static void check_independent_secrets_cap(struct channel *channel) return; } - /* The backstop counts from where we first saw it over the limit, so - * a lowered limit starts a mutual close rather than failing the - * channel at the next update. */ - if (channel->independent_secrets_over_at == 0) - channel->independent_secrets_over_at = stored; - /* Like `close`, we don't close a lease we sold before it expires. * The backstop below still applies: our funds stay locked until then * however the channel closes. */ @@ -2792,18 +2807,29 @@ static void check_independent_secrets_cap(struct channel *channel) channel->independent_secrets_close_tried = true; if (channel_start_mutual_close(channel, "Reached max-independent-secrets")) { + /* The backstop counts from here, so a lowered limit + * starts a mutual close rather than failing the + * channel at the next update. Saved, as is when the + * close started (in its state changes), so a restart + * resets neither. */ + channel->independent_secrets_close_at = stored; + wallet_independent_secrets_close_at_set(ld->wallet, + channel->dbid, + stored); log_unusual(channel->log, "Stored %"PRIu64" of the peer's" " per-commitment secrets," " max-independent-secrets=%"PRIu64 ": closing the channel", stored, max); - arm_independent_secrets_close_timer(channel); + arm_independent_secrets_close_timer(channel, + ld->dev_independent_secrets_close_timeout); return; } } - if (stored - channel->independent_secrets_over_at >= slack) { + if (stored - (channel->independent_secrets_close_at + ? channel->independent_secrets_close_at : max) >= slack) { log_unusual(channel->log, "Stored %"PRIu64" of the peer's per-commitment" " secrets, max-independent-secrets=%"PRIu64 diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index ec619e57622c..1934a594f853 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -18,6 +18,8 @@ ) import pytest +import re +import time pytestmark = pytest.mark.skipif(TEST_NETWORK != 'regtest', @@ -646,3 +648,59 @@ def test_independent_secrets_cap_lease(node_factory, bitcoind, executor): r" isn't closed: closing it unilaterally") assert not l2.daemon.is_in_log(r'max-independent-secrets=10: closing the channel') l2.wait_for_channel_onchain(l1.info['id']) + + +def test_independent_secrets_cap_close_restart(node_factory, executor): + """A restart resets neither the backstop nor the timeout of the mutual + close we started at the limit: we save how many we stored when it + started, and when it started is in the channel's state changes.""" + l1, l2 = node_factory.line_graph(2, opts=[{**SENDER, 'may_reconnect': True, + 'dev-no-reconnect': None, + 'disconnect': ['-WIRE_SHUTDOWN']}, + {**ON, 'max-independent-secrets': 20, + 'dev-independent-secrets-close-timeout': 30, + 'may_reconnect': True, + 'dev-no-reconnect': None}]) + for _ in range(10): + l1.pay(l2, 10_000_000) + settle(l1, l2) + executor.submit(l1.pay, l2, 10_000_000) + l2.daemon.wait_for_log(r'Stored 20 of the peer.s per-commitment secrets,' + r' max-independent-secrets=20: closing the channel') + assert only_one(l2.db_query('SELECT independent_secrets_close_at FROM channels'))['independent_secrets_close_at'] == 20 + + time.sleep(10) + l2.restart() + # Logged while starting up, before the log search begins. + line = l2.daemon.is_in_log(r'The mutual close started at max-independent-secrets' + r' has [0-9]+ seconds left') + assert int(re.search(r'has ([0-9]+) seconds left', line).group(1)) <= 20 + l2.daemon.wait_for_log(r"hasn't finished in 30 seconds: closing the channel unilaterally") + l2.wait_for_channel_onchain(l1.info['id']) + + +def test_independent_secrets_cap_not_our_close(node_factory, executor): + """Only a close we started at the limit is timed out by it. Here the + user closes the channel with no timeout while the peer is away, and the + limit is lowered below what the channel stores before a restart: the + close keeps waiting.""" + l1, l2 = node_factory.line_graph(2, opts=[{**SENDER, 'may_reconnect': True}, + {**ON, 'may_reconnect': True, + 'dev-no-reconnect': None, + 'dev-independent-secrets-close-timeout': 5}]) + for _ in range(5): + l1.pay(l2, 10_000_000) + settle(l1, l2) + assert reported_stored(l2, l1) == 9 + + l1.stop() + executor.submit(l2.rpc.close, l1.info['id'], 0) + wait_for(lambda: only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_SHUTTING_DOWN') + + l2.stop() + l2.daemon.opts['max-independent-secrets'] = 5 + l2.start() + time.sleep(10) + assert only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_SHUTTING_DOWN' + assert not l2.daemon.is_in_log('seconds left') + assert not l2.daemon.is_in_log('closing the channel unilaterally') diff --git a/tests/test_splicing.py b/tests/test_splicing.py index 422a0c7987cf..5ed295a71e30 100644 --- a/tests/test_splicing.py +++ b/tests/test_splicing.py @@ -97,9 +97,10 @@ def test_splice_stored_feerate_repaired_on_upgrade(node_factory, bitcoind, # They are plain idempotent UPDATEs, so re-running them is safe. The # count has to reach back past both of them, so it grows whenever a # migration is appended after them, and what those create has to go - # first: here, option_independent_secrets' table. + # first: here, option_independent_secrets' table and column. l1.db_manip("DROP TABLE channel_revocation_secrets") - l1.db_manip("UPDATE version SET version = version - 5") + l1.db_manip("ALTER TABLE channels DROP COLUMN independent_secrets_close_at") + l1.db_manip("UPDATE version SET version = version - 6") l1.daemon.opts['database-upgrade'] = 'true' l1.start() @@ -1540,9 +1541,10 @@ def test_splice_sent_sigs_marked_on_upgrade(node_factory, bitcoind, executor): " FROM channel_funding_inflights;")) assert row['i_am_initiator'] == 1 and row['i_sent_sigs'] == 0 # Migrations appended after it go first: option_independent_secrets' - # table. + # table and column. l1.db_manip("DROP TABLE channel_revocation_secrets") - l1.db_manip("UPDATE version SET version = version - 2") + l1.db_manip("ALTER TABLE channels DROP COLUMN independent_secrets_close_at") + l1.db_manip("UPDATE version SET version = version - 3") l1.daemon.opts['database-upgrade'] = 'true' # l2 forgets the splice, so it answers l1's next_funding with tx_abort. diff --git a/wallet/migrations.c b/wallet/migrations.c index c240fb34cdc6..0d60ee51fef3 100644 --- a/wallet/migrations.c +++ b/wallet/migrations.c @@ -1188,6 +1188,11 @@ static const struct db_migration dbmigrations[] = { ")"), NULL, /* Make sure no open channel uses it, then drop the table. */ NULL, revert_channel_revocation_secrets}, + /* How many of the peer's secrets an option_independent_secrets channel + * stored when we started a mutual close at max-independent-secrets, so + * the backstop counts from there across a restart. */ + {SQL("ALTER TABLE channels ADD independent_secrets_close_at BIGINT DEFAULT 0;"), NULL, + SQL("ALTER TABLE channels DROP COLUMN independent_secrets_close_at"), NULL}, }; const struct db_migration *get_db_migrations(size_t *num) diff --git a/wallet/wallet.c b/wallet/wallet.c index 7e3b0fbe57ec..a223eb7df685 100644 --- a/wallet/wallet.c +++ b/wallet/wallet.c @@ -1290,6 +1290,38 @@ static bool wallet_shachain_load(struct wallet *wallet, u64 id, return true; } +void wallet_independent_secrets_close_at_set(struct wallet *w, + u64 channel_dbid, + u64 close_at) +{ + struct db_stmt *stmt; + + stmt = db_prepare_v2(w->db, + SQL("UPDATE channels" + " SET independent_secrets_close_at = ?" + " WHERE id = ?;")); + db_bind_u64(stmt, close_at); + db_bind_u64(stmt, channel_dbid); + db_exec_prepared_v2(take(stmt)); +} + +static u64 wallet_independent_secrets_close_at(struct wallet *w, + u64 channel_dbid) +{ + struct db_stmt *stmt; + u64 close_at = 0; + + stmt = db_prepare_v2(w->db, + SQL("SELECT independent_secrets_close_at" + " FROM channels WHERE id = ?;")); + db_bind_u64(stmt, channel_dbid); + db_query_prepared(stmt); + if (db_step(stmt)) + close_at = db_col_u64(stmt, "independent_secrets_close_at"); + tal_free(stmt); + return close_at; +} + void wallet_revocation_secret_add(struct wallet *w, u64 channel_dbid, u64 commitnum, @@ -2280,11 +2312,14 @@ static struct channel *wallet_stmt2channel(struct wallet *w, struct db_stmt *stm return NULL; } - if (channel_has(chan, OPT_INDEPENDENT_SECRETS)) + if (channel_has(chan, OPT_INDEPENDENT_SECRETS)) { chan->their_secrets_in_db = wallet_revocation_secrets_latest(w, chan->dbid, &chan->their_secrets_received, &chan->their_last_secret); + chan->independent_secrets_close_at + = wallet_independent_secrets_close_at(w, chan->dbid); + } return chan; } diff --git a/wallet/wallet.h b/wallet/wallet.h index 2019f017d923..8f1ca0856e01 100644 --- a/wallet/wallet.h +++ b/wallet/wallet.h @@ -651,6 +651,15 @@ void wallet_revocation_secret_add(struct wallet *w, u64 commitnum, const struct secret *secret); +/** + * wallet_independent_secrets_close_at_set -- save how many of the peer's + * secrets an option_independent_secrets channel stored when we started a + * mutual close at max-independent-secrets. + */ +void wallet_independent_secrets_close_at_set(struct wallet *w, + u64 channel_dbid, + u64 close_at); + /** * wallet_revocation_secret_get -- look up the per-commitment secret for a * revoked commitment of the peer's on an option_independent_secrets channel. From 3b6970060501cca6b468eb1d04bd0fdaccc4cfd2 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Wed, 21 Oct 2026 17:00:04 +0200 Subject: [PATCH 14/28] connectd: refuse a peer that sets option_independent_secrets' even bit in init The spec (lightning-blake2b/bolts#17) now says a receiver of bit 266 in init MUST close the connection: the even bit is only valid in channel_type. A node without --independent-secrets already did, since the bit was unknown to it, but one that offers the option knows the bit and kept the peer. Lightning Fork refuses such a peer either way, so the two now match. --- connectd/connectd.c | 26 ++++++++++++++++++++++++++ tests/test_independent_secrets.py | 25 +++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/connectd/connectd.c b/connectd/connectd.c index baab35c86fa0..1fe2a94097ec 100644 --- a/connectd/connectd.c +++ b/connectd/connectd.c @@ -350,6 +350,32 @@ struct io_plan *peer_connected(struct io_conn *conn, return io_write_wire(conn, take(msg), io_close_cb, NULL); } + /* lightning-blake2b/bolts#17, BOLT 3: + * + * A node receiving `init`: + * - if bit 266 is set: + * - MUST close the connection. + * + * We know the bit when we offer the option, so the check above lets + * it through. */ + if (feature_is_set(their_features, OPT_INDEPENDENT_SECRETS)) { + if (taken(their_features)) + tal_free(their_features); + + /* We were going to send a reconnect message, but not now! */ + if (oldpeer) + send_disconnected(daemon, id, prev_connectd_counter, + prev_connect_start); + status_peer_unusual(id, "Feature %u is only valid in" + " channel_type", OPT_INDEPENDENT_SECRETS); + msg = towire_warningfmt(NULL, NULL, + "Feature %u is only valid in" + " channel_type", + OPT_INDEPENDENT_SECRETS); + msg = cryptomsg_encrypt_msg(NULL, cs, take(msg)); + return io_write_wire(conn, take(msg), io_close_cb, NULL); + } + if (!feature_check_depends(their_features, &depender, &missing)) { if (taken(their_features)) tal_free(their_features); diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 1934a594f853..989ff23a5d51 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -704,3 +704,28 @@ def test_independent_secrets_cap_not_our_close(node_factory, executor): assert only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_SHUTTING_DOWN' assert not l2.daemon.is_in_log('seconds left') assert not l2.daemon.is_in_log('closing the channel unilaterally') + + +@pytest.mark.parametrize("offered", [True, False]) +def test_independent_secrets_even_bit_in_init(node_factory, offered): + """lightning-blake2b/bolts#17, BOLT 3: a receiver of bit 266 in init MUST + close the connection, whether or not it offers the option (when it + does, it knows the bit, so the generic check would let it through).""" + l1, l2 = node_factory.get_nodes(2, opts=[ + ON if offered else {}, + {'dev-force-features': '+266', 'may_fail': True}, + ]) + + with pytest.raises(RpcError): + l2.rpc.connect(l1.info['id'], 'localhost', l1.port) + + if offered: + l1.daemon.wait_for_log('Feature 266 is only valid in channel_type') + else: + l1.daemon.wait_for_log('Unsupported feature 266') + assert l1.rpc.listpeers(l2.info['id'])['peers'] == [] + + # A peer setting only the odd bit connects. + l3 = node_factory.get_node(options=ON) + l3.rpc.connect(l1.info['id'], 'localhost', l1.port) + wait_for(lambda: only_one(l1.rpc.listpeers(l3.info['id'])['peers'])['connected']) From 57c11b9afed63a4a50b7ba3b701d54649e63b83d Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Wed, 21 Oct 2026 19:04:08 +0200 Subject: [PATCH 15/28] lightningd: hold the cap's mutual close until a pending splice locks channel_start_mutual_close() accepted CHANNELD_AWAITING_SPLICE, so reaching max-independent-secrets while a splice was pending sent shutdown before the splice locked, which BOLT 2 doesn't allow. close does the same today, but here nobody asked for a close. It now refuses a channel with a pending splice, and the cap logs that it will close once the splice locks; handle_peer_splice_locked() starts the close then. The 10% backstop still bounds what we store meanwhile. --- lightningd/channel.c | 2 + lightningd/channel.h | 1 + lightningd/channel_control.c | 5 +++ lightningd/closing_control.c | 7 +++- lightningd/peer_htlcs.c | 18 ++++++++- lightningd/peer_htlcs.h | 4 ++ tests/test_independent_secrets.py | 62 +++++++++++++++++++++++++++++++ 7 files changed, 96 insertions(+), 3 deletions(-) diff --git a/lightningd/channel.c b/lightningd/channel.c index 07f9ab378af4..07ef183069bc 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -492,6 +492,7 @@ struct channel *new_unsaved_channel(struct peer *peer, channel->their_secrets_received = 0; channel->independent_secrets_warned = false; channel->independent_secrets_lease_logged = false; + channel->independent_secrets_splice_logged = false; channel->independent_secrets_close_tried = false; channel->independent_secrets_close_at = 0; channel->independent_secrets_close_timer = NULL; @@ -665,6 +666,7 @@ struct channel *new_channel(struct peer *peer, u64 dbid, channel->their_secrets_received = 0; channel->independent_secrets_warned = false; channel->independent_secrets_lease_logged = false; + channel->independent_secrets_splice_logged = false; channel->independent_secrets_close_tried = false; channel->independent_secrets_close_at = 0; channel->independent_secrets_close_timer = NULL; diff --git a/lightningd/channel.h b/lightningd/channel.h index 24efddf18fe9..6daa729a856c 100644 --- a/lightningd/channel.h +++ b/lightningd/channel.h @@ -174,6 +174,7 @@ struct channel { struct secret their_last_secret; /* What we have done about max_independent_secrets (not saved). */ bool independent_secrets_warned, independent_secrets_lease_logged; + bool independent_secrets_splice_logged; bool independent_secrets_close_tried; /* How many we stored when we started a mutual close at the cap (0 * if we haven't): the backstop counts from there. Saved in the db, diff --git a/lightningd/channel_control.c b/lightningd/channel_control.c index c172ca41afbf..1dda04c40d0c 100644 --- a/lightningd/channel_control.c +++ b/lightningd/channel_control.c @@ -1324,6 +1324,11 @@ static void handle_peer_splice_locked(struct channel *channel, const u8 *msg) channel_watch_inflight_outs(channel->peer->ld, channel); lockin_complete(channel, CHANNELD_AWAITING_SPLICE); + + /* If max-independent-secrets was reached while the splice was + * pending, the mutual close we held back can start now. */ + if (channel_type_has(channel->type, OPT_INDEPENDENT_SECRETS)) + check_independent_secrets_cap(channel); } /* We were informed by channeld that channel is ready (reached mindepth) */ diff --git a/lightningd/closing_control.c b/lightningd/closing_control.c index 19eed3f6d586..b10c1ee1be08 100644 --- a/lightningd/closing_control.c +++ b/lightningd/closing_control.c @@ -1046,11 +1046,14 @@ bool channel_start_mutual_close(struct channel *channel, const char *why) const u8 *script = channel->shutdown_scriptpubkey[LOCAL]; bool anysegwit; - /* Revocations come from channeld, so it is the owner, if any. */ + /* Revocations come from channeld, so it is the owner, if any. Not + * while a splice is pending: BOLT 2 doesn't allow `shutdown` then, + * and the caller waits for it to lock. */ if (channel->state != CHANNELD_NORMAL - && channel->state != CHANNELD_AWAITING_SPLICE && channel->state != CHANNELD_AWAITING_LOCKIN) return false; + if (!list_empty(&channel->inflights)) + return false; assert(channel->final_key_idx <= UINT32_MAX); final_key_idx = channel->final_key_idx; diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 9a06ac5f8a49..399c465f9eb2 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -2762,7 +2762,7 @@ void independent_secrets_arm_close_timers(struct lightningd *ld) * the close hasn't finished in time we close unilaterally. A peer can also * keep a closing channel updating (update_fee needs no HTLCs), so once it * has made us store another 10% we close the channel unilaterally too. */ -static void check_independent_secrets_cap(struct channel *channel) +void check_independent_secrets_cap(struct channel *channel) { struct lightningd *ld = channel->peer->ld; u64 max = ld->max_independent_secrets; @@ -2801,6 +2801,22 @@ static void check_independent_secrets_cap(struct channel *channel) max, channel->lease_expiry, slack); channel->independent_secrets_lease_logged = true; } + } else if (channel->state == CHANNELD_AWAITING_SPLICE + || !list_empty(&channel->inflights)) { + /* BOLT 2 doesn't allow `shutdown` while a splice is pending, + * so we start the close once it locks (see + * handle_peer_splice_locked). Nobody asked us to close, so we + * don't try to cut the splice short for it; the backstop below + * still bounds what we store meanwhile. */ + if (!channel->independent_secrets_splice_logged) { + log_unusual(channel->log, + "Reached max-independent-secrets=%"PRIu64 + ", but a splice is pending: closing once it" + " locks, or unilaterally if the peer has us" + " store another %"PRIu64" first", + max, slack); + channel->independent_secrets_splice_logged = true; + } } else if (!channel->independent_secrets_close_tried) { /* Once: if it can't start, the backstop below still * applies. */ diff --git a/lightningd/peer_htlcs.h b/lightningd/peer_htlcs.h index 7ae59d0137f9..611fafff170a 100644 --- a/lightningd/peer_htlcs.h +++ b/lightningd/peer_htlcs.h @@ -27,6 +27,10 @@ void peer_got_revoke(struct channel *channel, const u8 *msg); * at max-independent-secrets doesn't finish in time. */ void independent_secrets_arm_close_timers(struct lightningd *ld); +/* At max-independent-secrets, starts the mutual close (once a pending + * splice has locked), or closes unilaterally if the peer has gone on. */ +void check_independent_secrets_cap(struct channel *channel); + void update_per_commit_point(struct channel *channel, const struct pubkey *per_commitment_point); diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 989ff23a5d51..c0caae05497c 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -729,3 +729,65 @@ def test_independent_secrets_even_bit_in_init(node_factory, offered): l3 = node_factory.get_node(options=ON) l3.rpc.connect(l1.info['id'], 'localhost', l1.port) wait_for(lambda: only_one(l1.rpc.listpeers(l3.info['id'])['peers'])['connected']) + + +def pay_direct(src, dst, amt): + """Like LightningNode.pay, but also while a splice is pending, when the + channel is in CHANNELD_AWAITING_SPLICE rather than CHANNELD_NORMAL.""" + label = 'direct-{}'.format(time.time()) + inv = dst.rpc.invoice(amt, label, label) + scid = only_one(src.rpc.listpeerchannels(dst.info['id'])['channels'])['short_channel_id'] + route = [{'amount_msat': amt, 'id': dst.info['id'], 'delay': 5, 'channel': scid}] + src.rpc.sendpay(route, inv['payment_hash'], payment_secret=inv['payment_secret']) + src.rpc.waitsendpay(inv['payment_hash']) + + +def splice_in(l1, l2, amount=100000): + """l1 splices amount into its channel with l2, leaving the splice + pending: its transaction is in the mempool, unconfirmed.""" + chan_id = l1.get_channel_id(l2) + funds = l1.rpc.fundpsbt("111722sat", 0, 0, excess_as_change=True) + result = l1.rpc.splice_init(chan_id, amount, funds['psbt']) + result = l1.rpc.splice_update(chan_id, result['psbt']) + result = l1.rpc.splice_update(chan_id, result['psbt']) + assert result['commitments_secured'] is True + result = l1.rpc.signpsbt(result['psbt']) + result = l1.rpc.splice_signed(chan_id, result['signed_psbt']) + for n in (l1, l2): + n.daemon.wait_for_log(r'CHANNELD_NORMAL to CHANNELD_AWAITING_SPLICE') + return result['txid'] + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_cap_during_splice(node_factory, bitcoind): + """Reaching max-independent-secrets while a splice is pending doesn't + send shutdown, which BOLT 2 doesn't allow then: the mutual close starts + once the splice locks.""" + l1, l2 = node_factory.line_graph(2, fundamount=1000000, + wait_for_announce=True, + opts=[{**ON, 'max-independent-secrets': 20}, + SENDER]) + splice_txid = splice_in(l1, l2) + + # Each payment has l2 revoke a commitment or two. + while (reported_stored(l1, l2) or 0) < 20: + pay_direct(l1, l2, 10_000_000) + settle(l1, l2) + # Within the backstop's 10% (2 here). + assert reported_stored(l1, l2) < 22 + + l1.daemon.wait_for_log('Reached max-independent-secrets=20, but a splice' + ' is pending') + chan = only_one(l1.rpc.listpeerchannels(l2.info['id'])['channels']) + assert chan['state'] == 'CHANNELD_AWAITING_SPLICE' + assert not l1.daemon.is_in_log('closing the channel') + + bitcoind.generate_block(6, wait_for_mempool=splice_txid) + l1.daemon.wait_for_log(r'CHANNELD_AWAITING_SPLICE to CHANNELD_NORMAL') + l1.daemon.wait_for_logs([r'CHANNELD_NORMAL to CHANNELD_SHUTTING_DOWN', + r'max-independent-secrets=20: closing the channel']) + l1.daemon.wait_for_log(r'to CLOSINGD_COMPLETE') + bitcoind.generate_block(1, wait_for_mempool=1) + l1.daemon.wait_for_log(r'to ONCHAIN') + assert not l1.daemon.is_in_log('closing it unilaterally') From 0f0b2cae72acefb43ab61fd8475eea3524a0bde1 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Wed, 21 Oct 2026 19:04:09 +0200 Subject: [PATCH 16/28] pytest: punish a breach on a splice's funding with stored secrets The peer's secrets are stored by commitment number, and one secret revokes that number on every funding output, so a revoked commitment on a splice's funding output is punished like any other. Test it with a cheater that sends independent secrets: its revoked commitment on the new funding, broadcast while the splice is pending (spending the splice transaction), and after the splice locked. --- tests/test_independent_secrets.py | 50 +++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index c0caae05497c..7049629c411e 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -758,6 +758,56 @@ def splice_in(l1, l2, amount=100000): return result['txid'] +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +@pytest.mark.parametrize("locked", [False, True]) +def test_independent_secrets_penalty_spliced(node_factory, bitcoind, locked): + """A revoked commitment on a splice's funding output is punished with + the secret we stored for its number: one secret revokes that number on + every funding output. Either while the splice is pending (the cheater + broadcasts its commitment on the new funding, spending the splice + transaction) or after it locked.""" + l1, l2 = node_factory.line_graph(2, fundamount=1000000, + wait_for_announce=True, + opts=[{**CHEATER_OPTS, **SENDER}, ON]) + assert has_independent_secrets(l2, l1) + l1.pay(l2, 100_000_000) + settle(l1, l2) + + splice_txid = splice_in(l1, l2) + if locked: + bitcoind.generate_block(6, wait_for_mempool=splice_txid) + for n in (l1, l2): + n.daemon.wait_for_log(r'CHANNELD_AWAITING_SPLICE to CHANNELD_NORMAL') + l1.pay(l2, 10_000_000) + settle(l1, l2) + old_tx = l1.rpc.dev_sign_last_tx(l2.info['id'])['tx'] + else: + pay_direct(l1, l2, 10_000_000) + settle(l1, l2) + # Its commitment on the splice's funding output. + old_tx = only_one(l1.rpc.dev_sign_last_tx(l2.info['id'])['inflights'])['tx'] + old_num = their_revocations(l2, l1) + + # Revoke it, and some after it. + for _ in range(3): + pay_direct(l1, l2, 50_000_000) + pay_direct(l2, l1, 10_000_000) + settle(l1, l2) + assert old_num in stored_secrets(l2) + revocations = their_revocations(l2, l1) + + bitcoind.rpc.sendrawtransaction(old_tx) + bitcoind.generate_block(1, wait_for_mempool=bitcoind.rpc.decoderawtransaction(old_tx)['txid']) + l2.daemon.wait_for_log(' to ONCHAIN') + wait_for(lambda: l2.daemon.is_in_log(f'commitnum = {old_num}, revocations_received = {revocations}')) + ((_, txid, blocks),) = l2.wait_for_onchaind_txs( + ('OUR_PENALTY_TX', 'THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM')) + assert blocks == 0 + bitcoind.generate_block(1, wait_for_mempool=txid) + l2.daemon.wait_for_log(r'Resolved THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM by our proposal OUR_PENALTY_TX') + + @pytest.mark.openchannel('v1') @pytest.mark.openchannel('v2') def test_independent_secrets_cap_during_splice(node_factory, bitcoind): From cfbdb727a4c9fe6a6325bdb5f890dbeb0bcc07aa Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Thu, 22 Oct 2026 14:10:31 +0200 Subject: [PATCH 17/28] lightningd: start the cap's close when a pending splice is aborted If max-independent-secrets is reached while a splice is pending, the mutual close waits for the splice to lock. If the splice is aborted instead, nothing checked the cap again until the next revocation. Check it once channeld restarts after the abort. --- lightningd/channel_control.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lightningd/channel_control.c b/lightningd/channel_control.c index 1dda04c40d0c..2f9d8cc2e80b 100644 --- a/lightningd/channel_control.c +++ b/lightningd/channel_control.c @@ -405,6 +405,11 @@ static void handle_splice_abort(struct lightningd *ld, if (peer_start_channeld(channel, pfd, NULL, false)) { connectd_connect_subd(peer, &channel->cid, other_fd); + /* If max-independent-secrets was reached while the splice was + * pending, its close waited for the splice; with the splice + * gone it can start now, rather than at the next + * revocation. */ + check_independent_secrets_cap(channel); } else { log_info(channel->log, "peer_start_channeld failed"); close(other_fd); From 46ac29e2e8f7f16fc878166875ba4502621fbbea Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Thu, 22 Oct 2026 14:10:45 +0200 Subject: [PATCH 18/28] lightningd: warn about a max-independent-secrets below 1,000,000 BOLT 3 now says a receiver's limit SHOULD NOT be below 1,000,000: the peer can't learn it, and with a small one the 10% backstop comes down to a single secret, so an honest peer could be closed unilaterally. Say so at startup rather than refusing, since the tests rely on small limits. --- lightningd/lightningd.c | 15 +++++++++++++++ tests/test_independent_secrets.py | 6 ++++++ 2 files changed, 21 insertions(+) diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index e63e080133b2..eaa418649140 100644 --- a/lightningd/lightningd.c +++ b/lightningd/lightningd.c @@ -1190,6 +1190,21 @@ static void setup_fd_limit(struct lightningd *ld, size_t num_channels) * itself, against a shachain, so we refuse to offer it with one. */ static void check_independent_secrets(struct lightningd *ld) { + /* BOLT 3 says a limit SHOULD NOT be below 1,000,000: the peer can't + * learn it, so an honest one could meet a smaller one, and with it a + * backstop of a few secrets. */ + if (ld->max_independent_secrets != 0 + && ld->max_independent_secrets < 1000000) + log_unusual(ld->log, + "max-independent-secrets=%"PRIu64" is below" + " 1,000,000, the lowest limit BOLT 3 recommends: an" + " honest peer may reach it, and have its channel" + " closed unilaterally once it has us store another" + " %"PRIu64, + ld->max_independent_secrets, + ld->max_independent_secrets / 10 + ? ld->max_independent_secrets / 10 : 1); + if (!feature_offered(ld->our_features->bits[INIT_FEATURE], OPT_INDEPENDENT_SECRETS)) { /* Only such a peer accepts the secrets it makes. */ diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 7049629c411e..575ec8bb7b3a 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -262,6 +262,12 @@ def test_independent_secrets_cap(node_factory, bitcoind): {**ON, 'max-independent-secrets': 20}]) assert l2.rpc.listconfigs()['configs']['max-independent-secrets']['value_int'] == 20 assert l1.rpc.listconfigs()['configs']['max-independent-secrets']['value_int'] == 1000000 + # Below what BOLT 3 recommends, so we say so at startup. + assert l2.daemon.is_in_log(r'max-independent-secrets=20 is below 1,000,000,' + r' the lowest limit BOLT 3 recommends: an honest peer' + r' may reach it, and have its channel closed' + r' unilaterally once it has us store another 2') + assert not l1.daemon.is_in_log(r'is below 1,000,000') for _ in range(10): l1.pay(l2, 10_000_000) From 9cfa1658dafb74f92f64d125655b4bf0db66f09f Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Thu, 22 Oct 2026 14:11:03 +0200 Subject: [PATCH 19/28] lightningd: keep the dev sender to channels with the add-on BOLT 3: a node whose per-commitment secrets don't come from the seed MUST include option_independent_secrets in the channel_type it proposes, and MUST NOT accept a channel without it. With --dev-independent-secrets-sender, fundchannel_start and openchannel_init now refuse a type without it, and so do both opening hooks' offers. --dev-independent-secrets-any-channel lifts that, for the test that shows such a channel failing at the second revocation. --- lightningd/channel.c | 16 ++++++++++++++++ lightningd/channel.h | 5 +++++ lightningd/dual_open_control.c | 14 ++++++++++++++ lightningd/lightningd.c | 1 + lightningd/lightningd.h | 2 ++ lightningd/opening_control.c | 17 ++++++++++++++++ lightningd/options.c | 6 ++++++ tests/test_independent_secrets.py | 32 +++++++++++++++++++++++++++++-- 8 files changed, 91 insertions(+), 2 deletions(-) diff --git a/lightningd/channel.c b/lightningd/channel.c index 07ef183069bc..b516f66dbbef 100644 --- a/lightningd/channel.c +++ b/lightningd/channel.c @@ -282,6 +282,22 @@ struct channel_type *desired_channel_type(const tal_t *ctx, return type; } +/* The fork's BOLT 3 (lightning-blake2b/bolts#17) says that a node whose + * per-commitment secrets don't come from the seed MUST include + * option_independent_secrets in the channel_type it proposes, and MUST NOT + * accept a channel whose channel_type doesn't include it. */ +const char *dev_independent_secrets_refused(const struct lightningd *ld, + const struct channel_type *ctype) +{ + if (!ld->dev_hsmd_independent_secrets_sender + || ld->dev_independent_secrets_any_channel + || feature_offered(ctype->features, OPT_INDEPENDENT_SECRETS)) + return NULL; + return "With --dev-independent-secrets-sender our per-commitment" + " secrets don't come from a shachain, so a channel needs" + " option_independent_secrets"; +} + u64 channel_their_revocations(const struct channel *channel) { if (channel->their_secrets_in_db) diff --git a/lightningd/channel.h b/lightningd/channel.h index 6daa729a856c..10d1181ff624 100644 --- a/lightningd/channel.h +++ b/lightningd/channel.h @@ -1043,4 +1043,9 @@ struct channel_type *desired_channel_type(const tal_t *ctx, const struct feature_set *our_features, const u8 *their_features); +/* Why --dev-independent-secrets-sender won't open or accept a channel of this + * type, or NULL if it will. */ +const char *dev_independent_secrets_refused(const struct lightningd *ld, + const struct channel_type *ctype); + #endif /* LIGHTNING_LIGHTNINGD_CHANNEL_H */ diff --git a/lightningd/dual_open_control.c b/lightningd/dual_open_control.c index b426ec070054..c88ad0941f58 100644 --- a/lightningd/dual_open_control.c +++ b/lightningd/dual_open_control.c @@ -2249,6 +2249,7 @@ static void accepter_got_offer(struct subd *dualopend, const u8 *msg) { struct openchannel2_payload *payload; + const char *err; if (channel->open_attempt) { subd_send_msg(dualopend, @@ -2289,6 +2290,14 @@ static void accepter_got_offer(struct subd *dualopend, return; } + err = dev_independent_secrets_refused(dualopend->ld, + payload->channel_type); + if (err) { + subd_send_msg(dualopend, take(towire_dualopend_fail(NULL, err))); + tal_free(payload); + return; + } + /* Don't allow opening if we don't know any fees; even if * ignore-feerates is set. */ if (unknown_feerates(dualopend->ld->topology)) { @@ -3443,6 +3452,7 @@ static struct command_result *json_openchannel_init(struct command *cmd, struct peer *peer; struct amount_sat psbt_val; struct command_result *res; + const char *err; info->cmd = cmd; if (!param_check(cmd, buffer, params, @@ -3532,6 +3542,10 @@ static struct command_result *json_openchannel_init(struct command *cmd, "channel_type not supported"); } + err = dev_independent_secrets_refused(cmd->ld, info->ctype); + if (err) + return command_fail(cmd, JSONRPC2_INVALID_PARAMS, "%s", err); + /* BOLT #2: * - if both nodes advertised `option_support_large_channel`: * - MAY set `funding_satoshis` greater than or equal to 2^24 satoshi. diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index eaa418649140..d354051634a1 100644 --- a/lightningd/lightningd.c +++ b/lightningd/lightningd.c @@ -161,6 +161,7 @@ static struct lightningd *new_lightningd(const tal_t *ctx) ld->dev_hsmd_fail_preapprove = false; ld->dev_hsmd_warn_on_overgrind = false; ld->dev_hsmd_independent_secrets_sender = false; + ld->dev_independent_secrets_any_channel = false; /* 32MB of secrets, about 60MB in the db. */ ld->max_independent_secrets = 1000000; /* As long as `close` waits by default. */ diff --git a/lightningd/lightningd.h b/lightningd/lightningd.h index 3bbf1687f057..ec4326e06427 100644 --- a/lightningd/lightningd.h +++ b/lightningd/lightningd.h @@ -418,6 +418,8 @@ struct lightningd { /* Generate our per-commitment secrets without a shachain, to * exercise a peer's option_independent_secrets. */ bool dev_hsmd_independent_secrets_sender; + /* ...even on channels without the add-on, to show they fail. */ + bool dev_independent_secrets_any_channel; /* On an option_independent_secrets channel, how many of the peer's * secrets we store one by one before we close it (0: no limit). */ diff --git a/lightningd/opening_control.c b/lightningd/opening_control.c index 570158077ba7..17c8f44d0216 100644 --- a/lightningd/opening_control.c +++ b/lightningd/opening_control.c @@ -868,6 +868,7 @@ static void opening_got_offer(struct subd *openingd, struct uncommitted_channel *uc) { struct openchannel_hook_payload *payload; + const char *errmsg; payload = tal(openingd, struct openchannel_hook_payload); payload->openingd = openingd; @@ -893,6 +894,17 @@ static void opening_got_offer(struct subd *openingd, return; } + errmsg = dev_independent_secrets_refused(openingd->ld, + payload->channel_type); + if (errmsg) { + subd_send_msg(openingd, + take(towire_openingd_got_offer_reply(NULL, errmsg, + NULL, NULL, + NULL, 0))); + tal_free(payload); + return; + } + /* Don't allow opening if we don't know any fees; even if * ignore-feerates is set. */ if (unknown_feerates(openingd->ld->topology)) { @@ -1301,6 +1313,7 @@ static struct command_result *json_fundchannel_start(struct command *cmd, u32 *upfront_shutdown_script_wallet_index; struct channel_id tmp_channel_id; struct channel_type *ctype; + const char *err; fc->cmd = cmd; fc->cancels = tal_arr(fc, struct command *, 0); @@ -1460,6 +1473,10 @@ static struct command_result *json_fundchannel_start(struct command *cmd, OPT_INDEPENDENT_SECRETS)) channel_type_set_independent_secrets(fc->channel_type); + err = dev_independent_secrets_refused(cmd->ld, fc->channel_type); + if (err) + return command_fail(cmd, JSONRPC2_INVALID_PARAMS, "%s", err); + fc->push = push_msat ? *push_msat : AMOUNT_MSAT(0); fc->channel_flags = OUR_CHANNEL_FLAGS; if (!*announce_channel) { diff --git a/lightningd/options.c b/lightningd/options.c index 7008e40f3351..d570a5b4df0d 100644 --- a/lightningd/options.c +++ b/lightningd/options.c @@ -1009,6 +1009,12 @@ static void dev_register_opts(struct lightningd *ld) "Generate our per-commitment secrets without a shachain," " which only a peer with option_independent_secrets" " accepts"); + clnopt_noarg("--dev-independent-secrets-any-channel", OPT_DEV, + opt_set_bool, + &ld->dev_independent_secrets_any_channel, + "With --dev-independent-secrets-sender, also open and" + " accept channels without option_independent_secrets," + " which fail at our second revocation"); clnopt_witharg("--dev-independent-secrets-close-timeout", OPT_DEV|OPT_SHOWINT, opt_set_u32, opt_show_u32, &ld->dev_independent_secrets_close_timeout, diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 575ec8bb7b3a..524038026f4d 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -239,8 +239,10 @@ def test_independent_secrets_kept_without_the_option(node_factory, bitcoind): def test_independent_secrets_need_the_feature(node_factory, executor): """A sender whose secrets don't form a shachain fails a channel without option_independent_secrets: that is what the feature is for, and it shows - the other tests really do give the receiver unrelated secrets.""" - l1, l2 = node_factory.line_graph(2, opts=[SENDER, {}]) + the other tests really do give the receiver unrelated secrets. The dev + sender only opens such a channel with --dev-independent-secrets-any-channel + (see test_independent_secrets_sender_needs_the_add_on).""" + l1, l2 = node_factory.line_graph(2, opts=[{**SENDER, 'dev-independent-secrets-any-channel': None}, {}]) assert not has_independent_secrets(l2, l1) # Any first secret starts a shachain, but the second has to derive it. @@ -251,6 +253,32 @@ def test_independent_secrets_need_the_feature(node_factory, executor): wait_for(lambda: only_one(l2.rpc.listpeerchannels()['channels'])['state'] == 'AWAITING_UNILATERAL') +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_sender_needs_the_add_on(node_factory): + """BOLT 3: a node whose secrets don't come from the seed MUST include + option_independent_secrets in the channel_type it proposes, and MUST NOT + accept a channel without it. The dev sender keeps to that, both ways.""" + l1, l2, l3 = node_factory.get_nodes(3, opts=[SENDER, {}, ON]) + for n in (l2, l3): + l1.fundwallet(10**7) + n.fundwallet(10**7) + l1.rpc.connect(n.info['id'], 'localhost', n.port) + + # It doesn't open a channel the peer can't give the add-on. + with pytest.raises(RpcError, match=r"a channel needs option_independent_secrets"): + l1.rpc.fundchannel(l2.info['id'], 10**6) + + # Nor accept one without it. + with pytest.raises(RpcError): + l2.rpc.fundchannel(l1.info['id'], 10**6) + l1.daemon.wait_for_log(r"a channel needs option_independent_secrets") + + # With a peer that has it, the add-on joins, so it opens. + l1.rpc.fundchannel(l3.info['id'], 10**6) + assert has_independent_secrets(l1, l3) + + @pytest.mark.openchannel('v1') @pytest.mark.openchannel('v2') def test_independent_secrets_cap(node_factory, bitcoind): From 64319e89d14ce17747e1bdffe508989ba524cc81 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Thu, 22 Oct 2026 14:11:03 +0200 Subject: [PATCH 20/28] pytest: check the spliced penalty's funding output and amount The breached commitment spends the splice transaction, while the splice is pending and after it locked, and the penalty takes the cheater's to_local: its balance, less what it pays for the commitment as opener. --- tests/test_independent_secrets.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 524038026f4d..af75b3391a27 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -822,6 +822,14 @@ def test_independent_secrets_penalty_spliced(node_factory, bitcoind, locked): # Its commitment on the splice's funding output. old_tx = only_one(l1.rpc.dev_sign_last_tx(l2.info['id'])['inflights'])['tx'] old_num = their_revocations(l2, l1) + # The cheater's balance in that commitment: while the splice is pending, + # listpeerchannels still counts the old funding, without the splice-in. + cheater_sat = int(only_one(l1.rpc.listpeerchannels(l2.info['id'])['channels'])['to_us_msat']) // 1000 + if not locked: + cheater_sat += 100000 + # Either way it is a commitment on the splice's funding output. + decoded = bitcoind.rpc.decoderawtransaction(old_tx) + assert only_one(decoded['vin'])['txid'] == splice_txid # Revoke it, and some after it. for _ in range(3): @@ -838,6 +846,17 @@ def test_independent_secrets_penalty_spliced(node_factory, bitcoind, locked): ((_, txid, blocks),) = l2.wait_for_onchaind_txs( ('OUR_PENALTY_TX', 'THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM')) assert blocks == 0 + + # The penalty takes the cheater's to_local: its balance, less what it + # pays for the commitment as opener (the fee and the anchors). + penalty = bitcoind.rpc.getrawtransaction(txid, True) + spent = only_one(penalty['vin']) + assert spent['txid'] == decoded['txid'] + to_local_sat = round(decoded['vout'][spent['vout']]['value'] * 10**8) + assert cheater_sat - 10_000 < to_local_sat <= cheater_sat + swept_sat = sum(round(o['value'] * 10**8) for o in penalty['vout']) + assert to_local_sat - 10_000 < swept_sat < to_local_sat + bitcoind.generate_block(1, wait_for_mempool=txid) l2.daemon.wait_for_log(r'Resolved THEIR_REVOKED_UNILATERAL/DELAYED_CHEAT_OUTPUT_TO_THEM by our proposal OUR_PENALTY_TX') From b0eec30f357c9f15d4d9b345f4ce19e3d5c146c3 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Thu, 22 Oct 2026 14:11:04 +0200 Subject: [PATCH 21/28] doc: the cap's backstop and splices, 266 in init, and the next release The 10% backstop can close a channel unilaterally without a mutual close having been tried (during a lease, while a splice is pending, or after the 48 hours); the close waits for a pending splice to lock; a peer that sets 266 in init is refused; a limit below 1,000,000 is logged. v26.06.9-blake2b.8 was tagged without this, so the options and the new field are added in the next release, .9. --- .msggen.json | 14 +++++++------- contrib/msggen/msggen/schema.json | 6 +++--- doc/independent-secrets.md | 25 ++++++++++++++++++++----- doc/lightningd-config.5.md | 9 ++++++--- doc/schemas/listconfigs.json | 4 ++-- doc/schemas/listpeerchannels.json | 2 +- 6 files changed, 39 insertions(+), 21 deletions(-) diff --git a/.msggen.json b/.msggen.json index b8b7f81bd118..5dbf7d3f4b26 100644 --- a/.msggen.json +++ b/.msggen.json @@ -10299,15 +10299,15 @@ "deprecated": null }, "ListConfigs.configs.independent-secrets": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "deprecated": null }, "ListConfigs.configs.independent-secrets.set": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "deprecated": null }, "ListConfigs.configs.independent-secrets.source": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "deprecated": null }, "ListConfigs.configs.large-channels": { @@ -10419,15 +10419,15 @@ "deprecated": null }, "ListConfigs.configs.max-independent-secrets": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "deprecated": null }, "ListConfigs.configs.max-independent-secrets.source": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "deprecated": null }, "ListConfigs.configs.max-independent-secrets.value_int": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "deprecated": null }, "ListConfigs.configs.max-locktime-blocks": { @@ -11807,7 +11807,7 @@ "deprecated": null }, "ListPeerChannels.channels[].independent_secrets_stored": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "deprecated": null }, "ListPeerChannels.channels[].inflight[]": { diff --git a/contrib/msggen/msggen/schema.json b/contrib/msggen/msggen/schema.json index b9b714779784..45f874e78a2c 100644 --- a/contrib/msggen/msggen/schema.json +++ b/contrib/msggen/msggen/schema.json @@ -20217,7 +20217,7 @@ } }, "independent-secrets": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "type": "object", "additionalProperties": false, "required": [ @@ -20645,7 +20645,7 @@ } }, "max-independent-secrets": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "type": "object", "additionalProperties": false, "required": [ @@ -25061,7 +25061,7 @@ }, "independent_secrets_stored": { "type": "u64", - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "description": [ "Only for a channel with *independent_secrets/even* in its channel_type: how many of the peer's per-commitment secrets we store one by one in the database, because they don't fit a shachain (0 while they all do)." ] diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md index 4ec9d3099c18..44c8b706854e 100644 --- a/doc/independent-secrets.md +++ b/doc/independent-secrets.md @@ -41,6 +41,8 @@ generates its own: they still come from its shachain. `channel_reestablish` needs. - **Checks.** A secret must be a valid private key that generates the point of the commitment it revokes. It doesn't have to be related to earlier secrets. +- **The even bit, 266,** is only valid in `channel_type`. A peer that sets it in + `init` is refused, whether or not this node offers the add-on. - **Breaches.** When the funding output is spent, lightningd works out which commitment the transaction is from its locktime and sequence. If it is a commitment of the peer's which they revoked, and its secret is in the @@ -83,8 +85,18 @@ within 48 hours, lightningd closes the channel unilaterally, as `close` does by default. A restart resets neither the 10% nor the 48 hours. A channel the peer leased from us is closed at its first update after the lease expires, or unilaterally before then once the peer has made us store 10% more than the -limit: our funds stay locked until the lease expires either way. 0 means no -limit. +limit: our funds stay locked until the lease expires either way. A channel +with a pending splice is closed once the splice locks, since BOLT 2 doesn't +allow `shutdown` before then, or straight away if the splice is aborted; the +10% applies meanwhile, and is all that bounds a splice which never confirms. +So the 10% can close a channel unilaterally without a mutual close having been +tried: during a lease, while a splice is pending, or after the 48 hours. 0 +means no limit. + +The peer can't learn the limit, so BOLT 3 recommends one of at least 1,000,000, +which an ordinary channel never reaches. Below that lightningd logs a warning +at startup: with a small limit the 10% comes down to a single secret, and an +honest peer could have its channel closed unilaterally. ## Limits @@ -116,9 +128,12 @@ secret(n) = HMAC-SHA256(shaseed, "independent-per-commitment-secret" || The counter starts at 0 and only goes up in the negligible case that the result is not a valid private key. This is the same function as Lightning Fork's dev option, and like the shachain it needs nothing but the seed, so a restarted -node produces the same secrets. It applies to every channel the node has, so -only a peer with `option_independent_secrets` accepts them: any other fails the -channel at the second revocation. For the same reason lightningd won't start +node produces the same secrets. It applies to every channel the node has, and +only a peer with `option_independent_secrets` accepts such secrets: any other +fails the channel at the second revocation. So, as BOLT 3 requires of a node +whose secrets don't come from the seed, the node then only opens and accepts +channels with the add-on; `--dev-independent-secrets-any-channel` lifts that, +to show such a channel failing. For the same reason lightningd won't start with the option changed while any channel is open or still being resolved, since that channel's secrets, and the keys for our own unilateral close, would change under it. It is not available outside developer mode: a single signer diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md index 4079b9937cad..28b3102e4cac 100644 --- a/doc/lightningd-config.5.md +++ b/doc/lightningd-config.5.md @@ -458,7 +458,7 @@ with `--subdaemon`), which expects the peer's secrets to come from a shachain. Channels already open keep the channel type they opened with, so lightningd also refuses an external signer while one with the add-on is open or being resolved, with or without this option. Not available on Liquid. (Added in -v26.06.9-blake2b.8). +v26.06.9-blake2b.9). * (deprecated in v23.05) **max-locktime-blocks**=*BLOCKS* @@ -502,8 +502,11 @@ channel already stores, the close starts at its next update, and the 10% counts from there. If the mutual close hasn't finished within 48 hours, we close the channel unilaterally, as `close` does by default. A restart resets neither. A channel the peer leased from us is closed at its first update after the lease expires, or unilaterally -before then once the peer has made us store 10% more than the limit. 0 means -no limit (default 1000000). (Added in v26.06.9-blake2b.8). +before then once the peer has made us store 10% more than the limit. A channel +with a pending splice is closed once the splice locks, or straight away if it +is aborted, with the 10% applying meanwhile. BOLT 3 recommends a limit of at +least 1,000,000, since the peer can't learn it: below that we log a warning at +startup. 0 means no limit (default 1000000). (Added in v26.06.9-blake2b.9). * **max-dust-htlc-exposure-msat**=*MILLISATOSHI* diff --git a/doc/schemas/listconfigs.json b/doc/schemas/listconfigs.json index f69d9d4f3cf7..f042c691d8d5 100644 --- a/doc/schemas/listconfigs.json +++ b/doc/schemas/listconfigs.json @@ -507,7 +507,7 @@ } }, "independent-secrets": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "type": "object", "additionalProperties": false, "required": [ @@ -935,7 +935,7 @@ } }, "max-independent-secrets": { - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "type": "object", "additionalProperties": false, "required": [ diff --git a/doc/schemas/listpeerchannels.json b/doc/schemas/listpeerchannels.json index 0d075596ef51..f7d663c66d2a 100644 --- a/doc/schemas/listpeerchannels.json +++ b/doc/schemas/listpeerchannels.json @@ -156,7 +156,7 @@ }, "independent_secrets_stored": { "type": "u64", - "added": "v26.06.9-blake2b.8", + "added": "v26.06.9-blake2b.9", "description": [ "Only for a channel with *independent_secrets/even* in its channel_type: how many of the peer's per-commitment secrets we store one by one in the database, because they don't fit a shachain (0 while they all do)." ] From 4585d5363de03f261221f53fdff5b94fb34ab425 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Thu, 22 Oct 2026 19:34:09 +0200 Subject: [PATCH 22/28] lightningd: check the cap last, since its backstop can free the channel At the backstop, check_independent_secrets_cap() fails the channel. On a channel whose funding we withheld, drop_to_chain() then forgets it, which frees it, yet peer_got_revoke() went on to save it and to fill the commitment_revocation hook's payload from it: a use-after-free, which valgrind reports and which can crash lightningd or write the forgotten channel back. Check the cap after everything else instead. The new test opens a withheld zeroconf channel with a peer using the dev sender and a cap of 10, and settles a payment past the backstop: the channel is forgotten, stays forgotten across a restart, and valgrind reports nothing. Under valgrind it fails without this change. --- lightningd/peer_htlcs.c | 26 +++++++++--------- lightningd/peer_htlcs.h | 4 ++- tests/test_independent_secrets.py | 45 +++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+), 14 deletions(-) diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 399c465f9eb2..7433f669de8c 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -3020,22 +3020,22 @@ void peer_got_revoke(struct channel *channel, const u8 *msg) : fromwire_peektype(failmsgs[i])); } - if (channel->their_secrets_in_db) - check_independent_secrets_cap(channel); - wallet_channel_save(ld->wallet, channel); - if (penalty_tx == NULL) - return; + if (penalty_tx) { + payload = tal(tmpctx, struct commitment_revocation_payload); + payload->commitment_txid = pbase->txid; + payload->penalty_tx = tal_steal(payload, penalty_tx); + payload->wallet = ld->wallet; + payload->channel_dbid = channel->dbid; + payload->commitnum = pbase->commitment_num; + payload->channel_id = channel->cid; + plugin_hook_call_commitment_revocation(ld, NULL, payload); + } - payload = tal(tmpctx, struct commitment_revocation_payload); - payload->commitment_txid = pbase->txid; - payload->penalty_tx = tal_steal(payload, penalty_tx); - payload->wallet = ld->wallet; - payload->channel_dbid = channel->dbid; - payload->commitnum = pbase->commitment_num; - payload->channel_id = channel->cid; - plugin_hook_call_commitment_revocation(ld, NULL, payload); + /* Last, since it can free the channel: see the header. */ + if (channel->their_secrets_in_db) + check_independent_secrets_cap(channel); } diff --git a/lightningd/peer_htlcs.h b/lightningd/peer_htlcs.h index 611fafff170a..2ec75b3337e3 100644 --- a/lightningd/peer_htlcs.h +++ b/lightningd/peer_htlcs.h @@ -28,7 +28,9 @@ void peer_got_revoke(struct channel *channel, const u8 *msg); void independent_secrets_arm_close_timers(struct lightningd *ld); /* At max-independent-secrets, starts the mutual close (once a pending - * splice has locked), or closes unilaterally if the peer has gone on. */ + * splice has locked), or closes unilaterally if the peer has gone on. + * Closing unilaterally forgets a channel whose funding we withheld, which + * frees it, so a caller must not touch the channel afterwards. */ void check_independent_secrets_cap(struct channel *channel); void update_per_commit_point(struct channel *channel, diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index af75b3391a27..c2843bb660c4 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -17,6 +17,7 @@ expected_peer_features ) +from pathlib import Path import pytest import re import time @@ -348,6 +349,50 @@ def test_independent_secrets_cap_unilateral(node_factory, bitcoind, executor): assert 'Stored too many per-commitment secrets' in [s['message'] for s in closed['state_changes']] +def test_independent_secrets_cap_withheld(node_factory, bitcoind, executor): + """The backstop on a channel whose funding we withheld: failing it + forgets the channel outright (there is nothing to broadcast), so nothing + may touch it afterwards. It stays forgotten across a restart.""" + plugin_path = Path(__file__).parent / "plugins" / "zeroconf-selective.py" + l1, l2 = node_factory.get_nodes(2, opts=[{**ON, 'max-independent-secrets': 10, + 'may_reconnect': True}, + {**SENDER, 'plugin': str(plugin_path), + 'zeroconf_allow': 'any', + 'may_reconnect': True}]) + l1.fundwallet(10**7) + l1.connect(l2) + amount = 1000000 + funding_addr = l1.rpc.fundchannel_start(l2.info['id'], f"{amount}sat", mindepth=0)['funding_address'] + psbt = l1.rpc.fundpsbt(amount, "1000perkw", 1000, excess_as_change=True)['psbt'] + psbt = l1.rpc.addpsbtoutput(amount, psbt, destination=funding_addr)['psbt'] + assert l1.rpc.fundchannel_complete(l2.info['id'], psbt, withhold=True)['commitments_secured'] + assert only_one(l1.rpc.listpeerchannels()['channels'])['funding']['withheld'] is True + assert has_independent_secrets(l1, l2) + wait_for(lambda: 'remote' in only_one(l1.rpc.listpeerchannels()['channels'])['updates']) + + # A payment has l2 revoke two commitments, and l1 stores those from + # commitment 1 on. + for i in range(5): + l1.rpc.xpay(l2.rpc.invoice(10_000_000, f'w{i}', f'w{i}')['bolt11']) + settle(l1, l2) + assert reported_stored(l1, l2) == 9 + + # The 10th starts the close, and settling the payment in flight is one + # too many: the channel is failed, and as it was withheld, forgotten. + inv = l2.rpc.invoice(10_000_000, 'last', 'last')['bolt11'] + executor.submit(l1.rpc.xpay, inv) + l1.daemon.wait_for_logs([r'Stored 10 of the peer.s per-commitment secrets,' + r' max-independent-secrets=10: closing the channel', + r"and the channel still isn't closed: closing it unilaterally", + r'Withheld channel: not sending a close transaction']) + wait_for(lambda: l1.rpc.listpeerchannels()['channels'] == []) + assert bitcoind.rpc.getrawmempool() == [] + + # Nothing wrote the forgotten channel back. + l1.restart() + assert l1.rpc.listpeerchannels()['channels'] == [] + + def test_independent_secrets_refused_options(node_factory): """--independent-secrets can't be used with an external signer, which checks the peer's secrets against a shachain, and the dev sender needs it, From ed0d1367130ebc727e61d97a54c6fd2199069985 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Thu, 22 Oct 2026 20:23:52 +0200 Subject: [PATCH 23/28] lightningd: give the cap's close time after a restart, and keep a lowered cap's slack Two problems from a security review of the cap: - After a restart, the timeout of the mutual close we started was re-armed with 1 second if lightningd had been down for longer than the whole timeout, or if the clock had gone back (time_between() of a later timestamp). Timers already run during startup, before connectd, so the channel was closed unilaterally before the peer could reconnect. Now a clock that has gone back counts as no time, and the peer gets a tenth of the timeout, up to 10 minutes (so 10 minutes by default). Whether the close is ours now comes from its state change, so independent_secrets_close_at can be used for the backstop alone. - When the limit was lowered below what a channel stores and we couldn't start a mutual close (a lease we sold, a pending splice, a close someone else started, or one that couldn't start), the backstop counted from the new limit and failed the channel at its next update. It now counts from where the channel first reached the limit, saved likewise, or from the limit if that was raised since. The docs also say that update_fee can only keep a closing channel updating while HTLCs remain. New tests: a restart after the timeout ran out, one with the clock gone back, and a limit lowered while a splice is pending. All three fail without this change. The splice tests' payment helper now times out rather than hanging when its channel closes. --- doc/independent-secrets.md | 17 ++++--- doc/lightningd-config.5.md | 12 +++-- lightningd/peer_htlcs.c | 65 ++++++++++++++++++------- tests/test_independent_secrets.py | 79 ++++++++++++++++++++++++++++++- 4 files changed, 143 insertions(+), 30 deletions(-) diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md index 44c8b706854e..9684b8d99c8f 100644 --- a/doc/independent-secrets.md +++ b/doc/independent-secrets.md @@ -77,13 +77,16 @@ one by one (32 MB of secrets at the default, about 60 MB in sqlite3), lightningd starts a mutual close of it, as `close` would, after logging a warning at 90%. After `shutdown` the peer only needs as many more as it takes to settle the HTLCs in flight. A peer can still keep a closing channel updating -(with `update_fee`), so once it has made us store 10% more than the limit (at -least one more), lightningd closes the channel unilaterally. If the limit is -lowered below what a channel already stores, the close starts at its next -update, and the 10% counts from there. If the mutual close hasn't finished -within 48 hours, lightningd closes the channel unilaterally, as `close` does -by default. A restart resets neither the 10% nor the 48 hours. A channel the -peer leased from us is closed at its first update after the lease expires, or +while HTLCs remain (with `update_fee`), so once it has made us store 10% more +than the limit (at least one more), lightningd closes the channel +unilaterally. If the limit is lowered below what a channel already stores, the +10% counts from where the channel is at its next update, and the close starts +then if it can. If the mutual close hasn't finished within 48 hours, +lightningd closes the channel unilaterally, as `close` does by default. A +restart resets neither the 10% nor the 48 hours, but after one the peer gets +at least 10 minutes to finish the close, however long lightningd was down, and +a clock that has gone back counts as no time having passed. A channel the peer +leased from us is closed at its first update after the lease expires, or unilaterally before then once the peer has made us store 10% more than the limit: our funds stay locked until the lease expires either way. A channel with a pending splice is closed once the splice locks, since BOLT 2 doesn't diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md index 28b3102e4cac..5d7690c52902 100644 --- a/doc/lightningd-config.5.md +++ b/doc/lightningd-config.5.md @@ -496,11 +496,13 @@ bounds what one channel costs (about 60 bytes each in sqlite3, 32 of them the secret). We log a warning at 90%, and at the limit start a mutual close, as `close` would; after that the peer only needs as many more as it takes to settle the HTLCs in flight. A peer can still keep a closing channel updating -(with `update_fee`), so once we store 10% more than the limit (at least one -more) we close the channel unilaterally. If the limit is lowered below what a -channel already stores, the close starts at its next update, and the 10% counts -from there. If the mutual close hasn't finished within 48 hours, we close the -channel unilaterally, as `close` does by default. A restart resets neither. A channel the peer leased +while HTLCs remain (with `update_fee`), so once we store 10% more than the +limit (at least one more) we close the channel unilaterally. If the limit is +lowered below what a channel already stores, the 10% counts from where the +channel is at its next update, and the close starts then if it can. If the +mutual close hasn't finished within 48 hours, we close the channel +unilaterally, as `close` does by default. A restart resets neither, but gives +the peer at least 10 minutes to finish the close. A channel the peer leased from us is closed at its first update after the lease expires, or unilaterally before then once the peer has made us store 10% more than the limit. A channel with a pending splice is closed once the splice locks, or straight away if it diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 7433f669de8c..7bf8592a497f 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -2680,6 +2680,11 @@ REGISTER_PLUGIN_HOOK(commitment_revocation, commitment_revocation_hook_serialize, struct commitment_revocation_payload *); +/* Why we start the mutual close at max_independent_secrets: its state change + * says the close was ours, which is what a restart re-arms the timeout for. */ +static const char independent_secrets_close_reason[] + = "Reached max-independent-secrets"; + /* The mutual close we started at max_independent_secrets hasn't finished: * a peer could leave it there for ever, so we close unilaterally, as `close` * does when its timeout runs out. */ @@ -2721,28 +2726,45 @@ void independent_secrets_arm_close_timers(struct lightningd *ld) peer = peer_node_id_map_next(ld->peers, &it)) { list_for_each(&peer->channels, channel, list) { u64 timeout = ld->dev_independent_secrets_close_timeout; + /* A peer gets at least this long to reconnect and + * finish the close after we start: we may have been + * down for longer than the whole timeout. */ + u64 grace = timeout / 10 < 600 ? timeout / 10 : 600; u64 elapsed = 0, left; + const struct channel_state_change *started = NULL; - /* Only a close we started at the cap, which is - * still under way. */ - if (channel->independent_secrets_close_at == 0 - || (channel->state != CHANNELD_SHUTTING_DOWN - && channel->state != CLOSINGD_SIGEXCHANGE)) + /* Only a close which is still under way... */ + if (channel->state != CHANNELD_SHUTTING_DOWN + && channel->state != CLOSINGD_SIGEXCHANGE) continue; - /* It has whatever is left of its time since it - * started: when the channel last moved to - * CHANNELD_SHUTTING_DOWN. */ + /* ...and which we started at the cap: the channel + * last moved to CHANNELD_SHUTTING_DOWN for it. */ for (size_t i = tal_count(channel->state_changes); i > 0; i--) { const struct channel_state_change *c = channel->state_changes[i - 1]; - if (c->new_state != CHANNELD_SHUTTING_DOWN) - continue; - elapsed = time_to_sec(time_between(clock_time(), - c->timestamp)); - break; + if (c->new_state == CHANNELD_SHUTTING_DOWN) { + started = c; + break; + } } - left = elapsed < timeout ? timeout - elapsed : 1; + if (!started + || started->cause != REASON_LOCAL + || !started->message + || !streq(started->message, + independent_secrets_close_reason)) + continue; + + /* It has whatever is left of its time since then. A + * clock which has gone back counts as no time. */ + if (time_after(clock_time(), started->timestamp)) + elapsed = time_to_sec(time_between(clock_time(), + started->timestamp)); + left = elapsed < timeout ? timeout - elapsed : 0; + if (left < grace) + left = grace; + if (left == 0) + left = 1; channel->independent_secrets_close_tried = true; log_info(channel->log, "The mutual close started at" @@ -2822,7 +2844,7 @@ void check_independent_secrets_cap(struct channel *channel) * applies. */ channel->independent_secrets_close_tried = true; if (channel_start_mutual_close(channel, - "Reached max-independent-secrets")) { + independent_secrets_close_reason)) { /* The backstop counts from here, so a lowered limit * starts a mutual close rather than failing the * channel at the next update. Saved, as is when the @@ -2844,7 +2866,18 @@ void check_independent_secrets_cap(struct channel *channel) } } - if (stored - (channel->independent_secrets_close_at + /* Without a close of ours under way (a lease, a pending splice, a + * close someone else started, or one that couldn't start), the + * backstop counts from where the channel first reached the limit, + * saved likewise: so a limit lowered below what such a channel + * stores doesn't fail it at its next update, and a restart doesn't + * reset the slack. A limit raised since counts from itself. */ + if (channel->independent_secrets_close_at == 0) { + channel->independent_secrets_close_at = stored; + wallet_independent_secrets_close_at_set(ld->wallet, + channel->dbid, stored); + } + if (stored - (channel->independent_secrets_close_at > max ? channel->independent_secrets_close_at : max) >= slack) { log_unusual(channel->log, "Stored %"PRIu64" of the peer's per-commitment" diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index c2843bb660c4..2aa3ce519f13 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -13,7 +13,7 @@ from fixtures import * # noqa: F401,F403 from pyln.client import RpcError from utils import ( - TEST_NETWORK, only_one, wait_for, sync_blockheight, first_scid, + TEST_NETWORK, TIMEOUT, only_one, wait_for, sync_blockheight, first_scid, expected_peer_features ) @@ -758,6 +758,80 @@ def test_independent_secrets_cap_close_restart(node_factory, executor): l2.wait_for_channel_onchain(l1.info['id']) +@pytest.mark.parametrize("how", ["overdue", "clock_back"]) +def test_independent_secrets_cap_close_restart_late(node_factory, executor, how): + """After a restart, the mutual close we started at the limit gets a + tenth of its timeout, up to 10 minutes (so 10 minutes by default), to + finish, even if we were down for longer than the whole timeout, so the + peer can reconnect; + and a clock which has gone back counts as no time having passed.""" + l1, l2 = node_factory.line_graph(2, opts=[{**SENDER, 'may_reconnect': True, + 'dev-no-reconnect': None, + 'disconnect': ['-WIRE_SHUTDOWN']}, + {**ON, 'max-independent-secrets': 20, + 'dev-independent-secrets-close-timeout': 30, + 'may_reconnect': True, + 'dev-no-reconnect': None}]) + for _ in range(10): + l1.pay(l2, 10_000_000) + settle(l1, l2) + executor.submit(l1.pay, l2, 10_000_000) + l2.daemon.wait_for_log(r'Stored 20 of the peer.s per-commitment secrets,' + r' max-independent-secrets=20: closing the channel') + + l2.stop() + if how == "overdue": + time.sleep(32) + expect = 3 + else: + l2.daemon.env['CLN_DEV_SET_TIME'] = str(int(time.time()) - 3600) + expect = 30 + l2.start() + assert l2.daemon.is_in_log(r'The mutual close started at max-independent-secrets' + r' has {} seconds left'.format(expect)) + l2.daemon.wait_for_log(r"hasn't finished in 30 seconds: closing the channel unilaterally") + l2.wait_for_channel_onchain(l1.info['id']) + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_cap_lowered_during_splice(node_factory, bitcoind): + """A limit lowered below what a channel stores while it can't close + mutually (here, a splice is pending) counts the backstop from where the + channel first reached it, rather than failing the channel at its next + update; the mutual close starts once the splice locks.""" + l1, l2 = node_factory.line_graph(2, fundamount=1000000, + wait_for_announce=True, + opts=[{**ON, 'may_reconnect': True}, + {**SENDER, 'may_reconnect': True}]) + while (reported_stored(l1, l2) or 0) < 29: + pay_direct(l1, l2, 10_000_000) + settle(l1, l2) + assert reported_stored(l1, l2) == 29 + + splice_txid = splice_in(l1, l2) + l1.stop() + l1.daemon.opts['max-independent-secrets'] = 20 + l1.start() + wait_for(lambda: only_one(l1.rpc.listpeers()['peers'])['connected']) + wait_for(lambda: only_one(l1.rpc.listpeerchannels()['channels'])['peer_connected']) + + # Two more: the first finds the limit reached, and the slack (2) counts + # from there. + pay_direct(l1, l2, 10_000_000) + settle(l1, l2) + assert reported_stored(l1, l2) == 31 + l1.daemon.wait_for_log('Reached max-independent-secrets=20, but a splice is pending') + assert only_one(l1.rpc.listpeerchannels()['channels'])['state'] == 'CHANNELD_AWAITING_SPLICE' + assert not l1.daemon.is_in_log('closing it unilaterally') + + bitcoind.generate_block(6, wait_for_mempool=splice_txid) + l1.daemon.wait_for_logs([r'CHANNELD_AWAITING_SPLICE to CHANNELD_NORMAL', + r'max-independent-secrets=20: closing the channel']) + l1.daemon.wait_for_log(r'to CLOSINGD_COMPLETE') + assert not l1.daemon.is_in_log('closing it unilaterally') + + def test_independent_secrets_cap_not_our_close(node_factory, executor): """Only a close we started at the limit is timed out by it. Here the user closes the channel with no timeout while the peer is away, and the @@ -818,7 +892,8 @@ def pay_direct(src, dst, amt): scid = only_one(src.rpc.listpeerchannels(dst.info['id'])['channels'])['short_channel_id'] route = [{'amount_msat': amt, 'id': dst.info['id'], 'delay': 5, 'channel': scid}] src.rpc.sendpay(route, inv['payment_hash'], payment_secret=inv['payment_secret']) - src.rpc.waitsendpay(inv['payment_hash']) + # A payment caught in a channel that closes would wait for ever. + src.rpc.waitsendpay(inv['payment_hash'], timeout=TIMEOUT) def splice_in(l1, l2, amount=100000): From 70fba63122abf20eb94bdcbf9cdc90bf124e31f6 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Fri, 23 Oct 2026 03:14:03 +0200 Subject: [PATCH 24/28] lightningd: refuse the dev sender's plain channel before `check` returns With --dev-independent-secrets-sender, fundchannel_start refused a channel type without option_independent_secrets only after its command_check_only(), so `check fundchannel_start` said it would succeed. Derive the type and refuse it first, as openchannel_init already does. The test checks both commands with `check`. --- lightningd/opening_control.c | 7 ++++--- tests/test_independent_secrets.py | 13 ++++++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lightningd/opening_control.c b/lightningd/opening_control.c index 17c8f44d0216..cd0ea25b7ff2 100644 --- a/lightningd/opening_control.c +++ b/lightningd/opening_control.c @@ -1458,9 +1458,6 @@ static struct command_result *json_fundchannel_start(struct command *cmd, } } - if (command_check_only(cmd)) - return command_check_done(cmd); - /* Now we know the peer, we can derive the channel type to ask for */ if (!fc->channel_type) fc->channel_type = desired_channel_type(fc, cmd->ld->our_features, @@ -1477,6 +1474,10 @@ static struct command_result *json_fundchannel_start(struct command *cmd, if (err) return command_fail(cmd, JSONRPC2_INVALID_PARAMS, "%s", err); + /* After the refusal above, so `check` reports it too. */ + if (command_check_only(cmd)) + return command_check_done(cmd); + fc->push = push_msat ? *push_msat : AMOUNT_MSAT(0); fc->channel_flags = OUR_CHANNEL_FLAGS; if (!*announce_channel) { diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 2aa3ce519f13..1a91caed4c26 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -266,7 +266,18 @@ def test_independent_secrets_sender_needs_the_add_on(node_factory): n.fundwallet(10**7) l1.rpc.connect(n.info['id'], 'localhost', n.port) - # It doesn't open a channel the peer can't give the add-on. + # It doesn't open a channel the peer can't give the add-on, and `check` + # of the command that would open it says so too. + if l1.config('experimental-dual-fund'): + psbt = l1.rpc.fundpsbt(10**6, 'normal', 0, reserve=0)['psbt'] + to_check = {'command_to_check': 'openchannel_init', + 'id': l2.info['id'], 'amount': 10**6, + 'initialpsbt': psbt} + else: + to_check = {'command_to_check': 'fundchannel_start', + 'id': l2.info['id'], 'amount': 10**6} + with pytest.raises(RpcError, match=r"a channel needs option_independent_secrets"): + l1.rpc.check(**to_check) with pytest.raises(RpcError, match=r"a channel needs option_independent_secrets"): l1.rpc.fundchannel(l2.info['id'], 10**6) From d67c652da7a22ce14a4a9b0d6d7288c1c32e8fb2 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Fri, 23 Oct 2026 03:21:17 +0200 Subject: [PATCH 25/28] pytest: the cap's close after an aborted splice or RBF attempt handle_splice_abort() checks the cap again, but nothing tested it. A splice aborted with the channel past a limit lowered while we were down now has to start the close without another revocation: the test fails without that check. And an aborted RBF attempt drops only the attempt, so the close waiting at the cap keeps waiting for the splice under it, and starts once that locks. --- tests/test_independent_secrets.py | 72 +++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 1a91caed4c26..3190a80ea149 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -1025,3 +1025,75 @@ def test_independent_secrets_cap_during_splice(node_factory, bitcoind): bitcoind.generate_block(1, wait_for_mempool=1) l1.daemon.wait_for_log(r'to ONCHAIN') assert not l1.daemon.is_in_log('closing it unilaterally') + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_cap_splice_aborted(node_factory, bitcoind): + """An aborted splice has the limit checked again, so a close it held up + starts straight away rather than at the next revocation. Here the limit + was lowered while l1 was down, so nothing has checked it when l1 starts a + splice and aborts it.""" + l1, l2 = node_factory.line_graph(2, fundamount=1000000, + wait_for_announce=True, + opts=[{**ON, 'may_reconnect': True}, + {**SENDER, 'may_reconnect': True}]) + chan_id = l1.get_channel_id(l2) + while (reported_stored(l1, l2) or 0) < 21: + pay_direct(l1, l2, 10_000_000) + settle(l1, l2) + + l1.stop() + l1.daemon.opts['max-independent-secrets'] = 20 + l1.start() + wait_for(lambda: only_one(l1.rpc.listpeerchannels()['channels'])['peer_connected']) + assert not l1.daemon.is_in_log('closing the channel') + + funds = l1.rpc.fundpsbt("111722sat", 0, 0, excess_as_change=True) + l1.rpc.splice_init(chan_id, 100000, funds['psbt']) + l1.rpc.abort_channels([chan_id]) + l1.daemon.wait_for_logs([r'Restarting channeld after tx_abort on CHANNELD_NORMAL', + r'max-independent-secrets=20: closing the channel', + r'CHANNELD_NORMAL to CHANNELD_SHUTTING_DOWN']) + l1.daemon.wait_for_log(r'to CLOSINGD_COMPLETE') + assert not l1.daemon.is_in_log('closing it unilaterally') + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_cap_splice_rbf_aborted(node_factory, bitcoind): + """Aborting an RBF attempt drops only the attempt: the splice it would + have replaced is still pending, so a close waiting at the limit keeps + waiting until that splice locks.""" + l1, l2 = node_factory.line_graph(2, fundamount=1000000, + wait_for_announce=True, + opts=[{**ON, 'max-independent-secrets': 20}, + SENDER]) + chan_id = l1.get_channel_id(l2) + # A second confirmed output, to fund the RBF attempt with. + l1.fundwallet(200000) + splice_txid = splice_in(l1, l2) + while (reported_stored(l1, l2) or 0) < 20: + pay_direct(l1, l2, 10_000_000) + settle(l1, l2) + l1.daemon.wait_for_log('Reached max-independent-secrets=20, but a splice' + ' is pending') + + funds = l1.rpc.fundpsbt("109000sat", 0, 0, excess_as_change=True) + l1.rpc.splice_init(chan_id, 100000, funds['psbt']) + l2.daemon.wait_for_log(r'peer_in WIRE_TX_INIT_RBF') + l1.rpc.abort_channels([chan_id]) + l1.daemon.wait_for_log(r'Restarting channeld after tx_abort on CHANNELD_AWAITING_SPLICE') + l1.rpc.unreserveinputs(funds['psbt']) + + wait_for(lambda: only_one(l1.rpc.listpeerchannels()['channels'])['peer_connected']) + chan = only_one(l1.rpc.listpeerchannels()['channels']) + assert chan['state'] == 'CHANNELD_AWAITING_SPLICE' + assert [i['funding_txid'] for i in chan['inflight']] == [splice_txid] + assert not l1.daemon.is_in_log('closing the channel') + + bitcoind.generate_block(6, wait_for_mempool=splice_txid) + l1.daemon.wait_for_logs([r'CHANNELD_AWAITING_SPLICE to CHANNELD_NORMAL', + r'max-independent-secrets=20: closing the channel']) + l1.daemon.wait_for_log(r'to CLOSINGD_COMPLETE') + assert not l1.daemon.is_in_log('closing it unilaterally') From d4d1391735f2a8ae0fe9f6a666791209a3b6f985 Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Fri, 23 Oct 2026 03:21:43 +0200 Subject: [PATCH 26/28] doc: added in v26.06.9-blake2b.10, and an aborted RBF attempt v26.06.9-blake2b.9 was tagged without option_independent_secrets, so the options and the listpeerchannels field come in the next release. And an aborted RBF attempt leaves the splice it would have replaced pending, so the cap's close keeps waiting for that one: say so, rather than that an aborted splice always starts the close. --- .msggen.json | 14 +++++++------- contrib/msggen/msggen/schema.json | 6 +++--- doc/independent-secrets.md | 6 ++++-- doc/lightningd-config.5.md | 10 ++++++---- doc/schemas/listconfigs.json | 4 ++-- doc/schemas/listpeerchannels.json | 2 +- 6 files changed, 23 insertions(+), 19 deletions(-) diff --git a/.msggen.json b/.msggen.json index 5dbf7d3f4b26..966044e56f22 100644 --- a/.msggen.json +++ b/.msggen.json @@ -10299,15 +10299,15 @@ "deprecated": null }, "ListConfigs.configs.independent-secrets": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "deprecated": null }, "ListConfigs.configs.independent-secrets.set": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "deprecated": null }, "ListConfigs.configs.independent-secrets.source": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "deprecated": null }, "ListConfigs.configs.large-channels": { @@ -10419,15 +10419,15 @@ "deprecated": null }, "ListConfigs.configs.max-independent-secrets": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "deprecated": null }, "ListConfigs.configs.max-independent-secrets.source": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "deprecated": null }, "ListConfigs.configs.max-independent-secrets.value_int": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "deprecated": null }, "ListConfigs.configs.max-locktime-blocks": { @@ -11807,7 +11807,7 @@ "deprecated": null }, "ListPeerChannels.channels[].independent_secrets_stored": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "deprecated": null }, "ListPeerChannels.channels[].inflight[]": { diff --git a/contrib/msggen/msggen/schema.json b/contrib/msggen/msggen/schema.json index 45f874e78a2c..a96f41e57577 100644 --- a/contrib/msggen/msggen/schema.json +++ b/contrib/msggen/msggen/schema.json @@ -20217,7 +20217,7 @@ } }, "independent-secrets": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "type": "object", "additionalProperties": false, "required": [ @@ -20645,7 +20645,7 @@ } }, "max-independent-secrets": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "type": "object", "additionalProperties": false, "required": [ @@ -25061,7 +25061,7 @@ }, "independent_secrets_stored": { "type": "u64", - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "description": [ "Only for a channel with *independent_secrets/even* in its channel_type: how many of the peer's per-commitment secrets we store one by one in the database, because they don't fit a shachain (0 while they all do)." ] diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md index 9684b8d99c8f..58fc3ead06e1 100644 --- a/doc/independent-secrets.md +++ b/doc/independent-secrets.md @@ -90,8 +90,10 @@ leased from us is closed at its first update after the lease expires, or unilaterally before then once the peer has made us store 10% more than the limit: our funds stay locked until the lease expires either way. A channel with a pending splice is closed once the splice locks, since BOLT 2 doesn't -allow `shutdown` before then, or straight away if the splice is aborted; the -10% applies meanwhile, and is all that bounds a splice which never confirms. +allow `shutdown` before then, or straight away if the splice is aborted. An +aborted RBF attempt only drops that attempt, so the close then waits for the +splice it would have replaced. The 10% applies meanwhile, and is all that +bounds a splice which never confirms. So the 10% can close a channel unilaterally without a mutual close having been tried: during a lease, while a splice is pending, or after the 48 hours. 0 means no limit. diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md index 5d7690c52902..b897abd18f3e 100644 --- a/doc/lightningd-config.5.md +++ b/doc/lightningd-config.5.md @@ -458,7 +458,7 @@ with `--subdaemon`), which expects the peer's secrets to come from a shachain. Channels already open keep the channel type they opened with, so lightningd also refuses an external signer while one with the add-on is open or being resolved, with or without this option. Not available on Liquid. (Added in -v26.06.9-blake2b.9). +v26.06.9-blake2b.10). * (deprecated in v23.05) **max-locktime-blocks**=*BLOCKS* @@ -506,9 +506,11 @@ the peer at least 10 minutes to finish the close. A channel the peer leased from us is closed at its first update after the lease expires, or unilaterally before then once the peer has made us store 10% more than the limit. A channel with a pending splice is closed once the splice locks, or straight away if it -is aborted, with the 10% applying meanwhile. BOLT 3 recommends a limit of at -least 1,000,000, since the peer can't learn it: below that we log a warning at -startup. 0 means no limit (default 1000000). (Added in v26.06.9-blake2b.9). +is aborted (an aborted RBF attempt leaves the splice it would have replaced, so +the close waits for that), with the 10% applying meanwhile. BOLT 3 recommends +a limit of at least 1,000,000, since the peer can't learn it: below that we log +a warning at startup. 0 means no limit (default 1000000). (Added in +v26.06.9-blake2b.10). * **max-dust-htlc-exposure-msat**=*MILLISATOSHI* diff --git a/doc/schemas/listconfigs.json b/doc/schemas/listconfigs.json index f042c691d8d5..f20a97733556 100644 --- a/doc/schemas/listconfigs.json +++ b/doc/schemas/listconfigs.json @@ -507,7 +507,7 @@ } }, "independent-secrets": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "type": "object", "additionalProperties": false, "required": [ @@ -935,7 +935,7 @@ } }, "max-independent-secrets": { - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "type": "object", "additionalProperties": false, "required": [ diff --git a/doc/schemas/listpeerchannels.json b/doc/schemas/listpeerchannels.json index f7d663c66d2a..75def7a8759b 100644 --- a/doc/schemas/listpeerchannels.json +++ b/doc/schemas/listpeerchannels.json @@ -156,7 +156,7 @@ }, "independent_secrets_stored": { "type": "u64", - "added": "v26.06.9-blake2b.9", + "added": "v26.06.9-blake2b.10", "description": [ "Only for a channel with *independent_secrets/even* in its channel_type: how many of the peer's per-commitment secrets we store one by one in the database, because they don't fit a shachain (0 while they all do)." ] From d3e988f926d6e2216acae89f737c4c4aef314a8d Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Sat, 24 Oct 2026 20:25:03 +0200 Subject: [PATCH 27/28] lightningd, channeld: refuse a splice once the cap's close is coming peer_got_revoke() started the cap's close after replying to channeld. A peer that sent stfu and splice_init right after the revoke_and_ack that reached max-independent-secrets could have channeld accept the splice before it learned of the shutdown. channeld then held the shutdown while quiescent and sent it once the splice was signed but unlocked, which BOLT 2 forbids; lightningd went from CHANNELD_SHUTTING_DOWN back to CHANNELD_AWAITING_SPLICE, the mutual close spent the old funding output and conflicted with the splice, and the channel stayed in CLOSINGD_COMPLETE until a restart. Now peer_got_revoke() starts the close before it replies, so channeld, which waits for that reply, queues the shutdown request and handles it before anything else from the peer. The backstop, which can free the channel, still runs last. And channeld stops splicing once either side has sent shutdown, or lightningd has asked it to send one: an incoming splice_init or tx_init_rbf gets a warning and the connection is closed, as BOLT 2 asks of a node that has received shutdown (we reestablish with ours); a local splice_init is refused; and a local one still waiting for quiescence is cancelled the same way. test_independent_secrets_cap_refuses_splice has the peer start a splice right after the revocation that reaches the cap: without this change its splice is accepted; with it, the splice is refused and the close completes on the old funding output. --- channeld/channeld.c | 33 +++++++++++++++++++++ doc/independent-secrets.md | 4 ++- lightningd/peer_htlcs.c | 23 +++++++++++++-- tests/test_independent_secrets.py | 49 +++++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+), 3 deletions(-) diff --git a/channeld/channeld.c b/channeld/channeld.c index 9bf708a3279a..678b45925e86 100644 --- a/channeld/channeld.c +++ b/channeld/channeld.c @@ -1000,6 +1000,18 @@ static void maybe_send_shutdown(struct peer *peer) billboard_update(peer); } +/* BOLT 2 doesn't allow `splice_init` after `shutdown`, nor `shutdown` while + * a splice isn't locked. So a channel stops splicing once either side has + * sent `shutdown`, or once lightningd has asked us to send one (which it can + * do by itself, say at max-independent-secrets): otherwise that shutdown + * would have to wait for a splice that may never lock. */ +static bool channel_closing(const struct peer *peer) +{ + return peer->send_shutdown + || peer->shutdown_sent[LOCAL] + || peer->shutdown_sent[REMOTE]; +} + static void send_shutdown_complete(struct peer *peer) { /* Now we can tell master shutdown is complete. */ @@ -4529,6 +4541,13 @@ static void splice_accepter(struct peer *peer, const u8 *inmsg) " a splice while we have one pending. Did you" " mean to send SPLICE_ACK?"); + /* For the splice_init receiver, BOLT 2 says to warn and close the + * connection if it has received `shutdown`. We do the same if we + * are going to send one: we reestablish with it. */ + if (channel_closing(peer)) + peer_failed_warn(peer->pps, &peer->channel_id, + "Splice refused: the channel is closing"); + peer->splicing = splicing_new(peer); ictx = new_interactivetx_context(tmpctx, our_role, @@ -5313,6 +5332,12 @@ static void handle_splice_stfu_success(struct peer *peer) { u8 *msg; struct tlv_tx_init_rbf_tlvs *init_rbf_tlvs; + + /* We were asked to close while we waited for quiescence. We can't + * leave it without the peer, so we reestablish, and close then. */ + if (channel_closing(peer)) + peer_failed_warn(peer->pps, &peer->channel_id, + "Splice cancelled: the channel is closing"); if (!last_inflight(peer)) { msg = towire_splice(tmpctx, &peer->channel_id, @@ -5362,6 +5387,14 @@ static void handle_splice_init(struct peer *peer, const u8 *inmsg) return; } + if (channel_closing(peer)) { + msg = towire_channeld_splice_state_error(NULL, "Can't splice" + " a channel that is" + " closing."); + wire_sync_write(MASTER_FD, take(msg)); + return; + } + peer->splicing = splicing_new(peer); if (!fromwire_channeld_splice_init(peer->splicing, inmsg, diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md index 58fc3ead06e1..76e9cb424ee9 100644 --- a/doc/independent-secrets.md +++ b/doc/independent-secrets.md @@ -93,7 +93,9 @@ with a pending splice is closed once the splice locks, since BOLT 2 doesn't allow `shutdown` before then, or straight away if the splice is aborted. An aborted RBF attempt only drops that attempt, so the close then waits for the splice it would have replaced. The 10% applies meanwhile, and is all that -bounds a splice which never confirms. +bounds a splice which never confirms. Once the close has started, neither side +can start a splice: one the peer proposes is refused, and the connection +closed, before it can delay the `shutdown`. So the 10% can close a channel unilaterally without a mutual close having been tried: during a lease, while a splice is pending, or after the 48 hours. 0 means no limit. diff --git a/lightningd/peer_htlcs.c b/lightningd/peer_htlcs.c index 7bf8592a497f..13e6b2eef2d0 100644 --- a/lightningd/peer_htlcs.c +++ b/lightningd/peer_htlcs.c @@ -2783,8 +2783,11 @@ void independent_secrets_arm_close_timers(struct lightningd *ld) * only needs as many more as it takes to settle the HTLCs in flight, and if * the close hasn't finished in time we close unilaterally. A peer can also * keep a closing channel updating (update_fee needs no HTLCs), so once it - * has made us store another 10% we close the channel unilaterally too. */ -void check_independent_secrets_cap(struct channel *channel) + * has made us store another 10% we close the channel unilaterally too. + * + * Without @backstop, it stops before that last part, so it never frees the + * channel. */ +static void independent_secrets_cap(struct channel *channel, bool backstop) { struct lightningd *ld = channel->peer->ld; u64 max = ld->max_independent_secrets; @@ -2866,6 +2869,9 @@ void check_independent_secrets_cap(struct channel *channel) } } + if (!backstop) + return; + /* Without a close of ours under way (a lease, a pending splice, a * close someone else started, or one that couldn't start), the * backstop counts from where the channel first reached the limit, @@ -2890,6 +2896,11 @@ void check_independent_secrets_cap(struct channel *channel) } } +void check_independent_secrets_cap(struct channel *channel) +{ + independent_secrets_cap(channel, true); +} + void peer_got_revoke(struct channel *channel, const u8 *msg) { u64 revokenum; @@ -3023,6 +3034,14 @@ void peer_got_revoke(struct channel *channel, const u8 *msg) update_per_commit_point(channel, &next_per_commitment_point); + /* If this reaches max-independent-secrets, start the close before we + * reply: channeld, waiting for the reply, keeps the shutdown request + * and handles it before anything else the peer sends, such as an + * `stfu` to start a splice, which it then refuses. The backstop, + * which can free the channel, waits until the end. */ + if (channel->their_secrets_in_db) + independent_secrets_cap(channel, false); + /* BOLT #2: * - MUST respond with a `revoke_and_ack` message. */ diff --git a/tests/test_independent_secrets.py b/tests/test_independent_secrets.py index 3190a80ea149..f35ba254299e 100644 --- a/tests/test_independent_secrets.py +++ b/tests/test_independent_secrets.py @@ -1097,3 +1097,52 @@ def test_independent_secrets_cap_splice_rbf_aborted(node_factory, bitcoind): r'max-independent-secrets=20: closing the channel']) l1.daemon.wait_for_log(r'to CLOSINGD_COMPLETE') assert not l1.daemon.is_in_log('closing it unilaterally') + + +@pytest.mark.openchannel('v1') +@pytest.mark.openchannel('v2') +def test_independent_secrets_cap_refuses_splice(node_factory, bitcoind, executor): + """A peer that starts a splice just as a revocation reaches + max-independent-secrets has it refused: BOLT 2 doesn't allow the + shutdown we're about to send while a splice is unlocked. The close + then completes on the funding we had. (commit-time on l1 holds its + shutdown back, so the peer's stfu comes first.)""" + l1, l2 = node_factory.line_graph(2, fundamount=1000000, + wait_for_announce=True, + opts=[{**ON, 'may_reconnect': True, + 'max-independent-secrets': 11, + 'commit-time': 4000, + 'allow_warning': True}, + {**SENDER, 'may_reconnect': True, + 'allow_warning': True}]) + l2.fundwallet(500000) + while (reported_stored(l1, l2) or 0) < 9: + l1.pay(l2, 10_000_000) + settle(l1, l2) + assert reported_stored(l1, l2) == 9 + + # l2 asks to splice as soon as it has fulfilled this payment, so its + # stfu follows the revoke_and_ack that reaches the limit. + chan_id = l2.get_channel_id(l1) + funds = l2.rpc.fundpsbt("111722sat", 0, 0, excess_as_change=True) + l2.daemon.logs_catchup() + l2.daemon.logsearch_start = len(l2.daemon.logs) + fut = executor.submit(l1.pay, l2, 10_000_000) + l2.daemon.wait_for_log('peer_out WIRE_UPDATE_FULFILL_HTLC') + # The splice_init command doesn't return once the peer disconnects, so + # we don't wait for it. + executor.submit(l2.rpc.splice_init, chan_id, 100000, funds['psbt']) + fut.result(TIMEOUT) + + l1.daemon.wait_for_logs([r'max-independent-secrets=11: closing the channel', + r'Now dealing with deferred WIRE_CHANNELD_SEND_SHUTDOWN', + r'peer_in WIRE_STFU', + r'Splice refused: the channel is closing']) + l2.daemon.wait_for_log(r'Received WARNING .*Splice refused: the channel is closing') + for n in (l1, l2): + n.daemon.wait_for_log(r'to CLOSINGD_COMPLETE') + bitcoind.generate_block(1, wait_for_mempool=1) + l1.daemon.wait_for_log(r'to ONCHAIN') + assert not l1.daemon.is_in_log(r'CHANNELD_SHUTTING_DOWN to CHANNELD_AWAITING_SPLICE') + assert not l1.daemon.is_in_log(r'unexpected value CHANNELD_SHUTTING_DOWN') + assert not l1.daemon.is_in_log('closing it unilaterally') From cbc4c5558a16bf809e36825c2096272f41ae648d Mon Sep 17 00:00:00 2001 From: Dave Lund Date: Sat, 24 Oct 2026 21:15:51 +0200 Subject: [PATCH 28/28] wallet, doc: where the backstop counts from, and the timeout with no limit From Paul's review of commits 22 to 26: - The comment on the independent_secrets_close_at migration still said it records where the channel stood when we started our close. Until then (a lease, a pending splice) it's where the channel first reached max-independent-secrets. - After a restart, the timeout of a close we started at the limit is re-armed even if max-independent-secrets is now 0, as close's own timeout is. The docs say so. --- doc/independent-secrets.md | 4 +++- doc/lightningd-config.5.md | 9 +++++---- wallet/migrations.c | 7 ++++--- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/doc/independent-secrets.md b/doc/independent-secrets.md index 76e9cb424ee9..ceaf7fdb9de1 100644 --- a/doc/independent-secrets.md +++ b/doc/independent-secrets.md @@ -85,7 +85,9 @@ then if it can. If the mutual close hasn't finished within 48 hours, lightningd closes the channel unilaterally, as `close` does by default. A restart resets neither the 10% nor the 48 hours, but after one the peer gets at least 10 minutes to finish the close, however long lightningd was down, and -a clock that has gone back counts as no time having passed. A channel the peer +a clock that has gone back counts as no time having passed. Like `close`'s own +timeout, that of a close already started stays even if the limit is then set +to 0. A channel the peer leased from us is closed at its first update after the lease expires, or unilaterally before then once the peer has made us store 10% more than the limit: our funds stay locked until the lease expires either way. A channel diff --git a/doc/lightningd-config.5.md b/doc/lightningd-config.5.md index b897abd18f3e..e3de0841ee4b 100644 --- a/doc/lightningd-config.5.md +++ b/doc/lightningd-config.5.md @@ -502,10 +502,11 @@ lowered below what a channel already stores, the 10% counts from where the channel is at its next update, and the close starts then if it can. If the mutual close hasn't finished within 48 hours, we close the channel unilaterally, as `close` does by default. A restart resets neither, but gives -the peer at least 10 minutes to finish the close. A channel the peer leased -from us is closed at its first update after the lease expires, or unilaterally -before then once the peer has made us store 10% more than the limit. A channel -with a pending splice is closed once the splice locks, or straight away if it +the peer at least 10 minutes to finish the close; and, like `close`'s own, the +timeout of a close already started stays even if the limit is then set to 0. +A channel the peer leased from us is closed at its first update after the +lease expires, or unilaterally before then once the peer has made us store 10% +more than the limit. A channel with a pending splice is closed once the splice locks, or straight away if it is aborted (an aborted RBF attempt leaves the splice it would have replaced, so the close waits for that), with the 10% applying meanwhile. BOLT 3 recommends a limit of at least 1,000,000, since the peer can't learn it: below that we log diff --git a/wallet/migrations.c b/wallet/migrations.c index 0d60ee51fef3..e602bc028987 100644 --- a/wallet/migrations.c +++ b/wallet/migrations.c @@ -1188,9 +1188,10 @@ static const struct db_migration dbmigrations[] = { ")"), NULL, /* Make sure no open channel uses it, then drop the table. */ NULL, revert_channel_revocation_secrets}, - /* How many of the peer's secrets an option_independent_secrets channel - * stored when we started a mutual close at max-independent-secrets, so - * the backstop counts from there across a restart. */ + /* Where the backstop's 10% counts from on an option_independent_secrets + * channel, kept across a restart: how many of the peer's secrets it + * stored when we started a mutual close at max-independent-secrets, or, + * until then (a lease, a pending splice), when it first reached it. */ {SQL("ALTER TABLE channels ADD independent_secrets_close_at BIGINT DEFAULT 0;"), NULL, SQL("ALTER TABLE channels DROP COLUMN independent_secrets_close_at"), NULL}, };