schemas: remove old deprecations, add missing deprecations/added fields
What changed, and why it matters
This commit is a large, routine cleanup of API metadata in Core Lightning. It marks many old RPC commands and fields as deprecated, removes some long-deprecated fields from generated gRPC/JSON schemas, and fixes version annotations in the code generator. There is no direct evidence of a security vulnerability being patched; the changes are about API lifecycle management and generated bindings.
Treat as a normal maintenance/deprecation commit. Review downstream consumers of the removed or newly-deprecated RPC/gRPC fields to ensure compatibility, but no urgent security action is indicated by the diff itself.
Security signals we found
Large generated-code churn with deprecation annotations
Removal of deprecated fields from public RPC/gRPC schemas
No explicit security fix or vulnerability disclosure in commit message
No changes to cryptographic, authorization, or network parsing logic visible in diff
Evidence from the diff
The commit updates .msggen.json schema metadata to deprecate commands such as pay, keysend, getroute, renepay, renepaystatus, and wait details, and to correct ‘added’ version tags for several fields. It regenerates cln-grpc/proto/node.proto, cln-grpc/src/convert.rs, cln-grpc/src/server.rs, and cln-rpc/src/model.rs to add #[deprecated] attributes, remove old fields (e.g., max_total_htlc_in_msat, offer_node_id, blinding, delayed_to_us, htlc_resolution, experimental-offers, experimental-onion-messages, max-locktime-blocks), and adjust optionality. The generator scripts in contrib/msggen are updated to propagate deprecation into .proto and Rust code. No runtime logic changes that would obviously create or fix an exploit are visible in the supplied diff.
Changed components
cln-grpc/proto/node.protocln-grpc/src/convert.rscln-grpc/src/server.rscln-rpc/src/model.rscontrib/msggen code generatorsdoc/schemas/*.jsonlightningd/notification.clightningd/peer_control.cInspect captured patch +2220 / −2389
diff --git a/.msggen.json b/.msggen.json
index 68753b38..d7b99f7e 100644
--- a/.msggen.json
+++ b/.msggen.json
@@ -6774,7 +6774,7 @@
"deprecated": null
},
"Decode.invreq_recurrence_cancel": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.invreq_recurrence_counter": {
@@ -6942,27 +6942,27 @@
"deprecated": null
},
"Decode.proof_leaf_hashes[]": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.proof_missing_hashes[]": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.proof_note": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.proof_omitted_tlvs[]": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.proof_preimage": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.proof_signature": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.restrictions[]": {
@@ -7070,19 +7070,19 @@
"deprecated": null
},
"Decode.unknown_payer_proof_tlvs[]": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.unknown_payer_proof_tlvs[].length": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.unknown_payer_proof_tlvs[].type": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.unknown_payer_proof_tlvs[].value": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.valid": {
@@ -7130,11 +7130,11 @@
"deprecated": null
},
"Decode.warning_invreq_recurrence_cancel_with_zero_counter": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.warning_invreq_recurrence_cancel_without_counter": {
- "added": "v23.05",
+ "added": "v26.06",
"deprecated": null
},
"Decode.warning_missing_invoice_amount": {
@@ -8398,11 +8398,11 @@
"deprecated": null
},
"GetEmergencyRecoverData.backed_up_channel_ids[]": {
- "added": "v24.11",
+ "added": "v26.06",
"deprecated": null
},
"GetEmergencyRecoverData.can_create_penalty": {
- "added": "v24.11",
+ "added": "v26.06",
"deprecated": null
},
"GetEmergencyRecoverData.filedata": {
@@ -8463,67 +8463,67 @@
},
"GetRoute": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.amount_msat": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.cltv": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.exclude[]": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.fromid": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.fuzzpercent": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.id": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.maxhops": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.riskfactor": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.route[]": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.route[].amount_msat": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.route[].channel": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.route[].delay": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.route[].direction": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.route[].id": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoute.route[].style": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"GetRoutes": {
"added": "v24.08",
@@ -8991,75 +8991,75 @@
},
"KeySend": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.amount_msat": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.amount_sent_msat": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.created_at": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.destination": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.exemptfee": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.extratlvs": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.label": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.maxdelay": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.maxfee": {
"added": "v24.11",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.maxfeepercent": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.parts": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.payment_hash": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.payment_preimage": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.retry_for": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.routehints": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.status": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"KeySend.warning_partial_completion": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"ListAddresses": {
"added": "v24.11",
@@ -9582,55 +9582,55 @@
"deprecated": null
},
"ListConfigs.configs.addr": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.addr.sources[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.addr.values_str[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.alias": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.alias.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.alias.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.allow-deprecated-apis": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.allow-deprecated-apis.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.allow-deprecated-apis.value_bool": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.always-use-proxy": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.always-use-proxy.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.always-use-proxy.value_bool": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.announce-addr": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.announce-addr-discovered": {
@@ -9642,39 +9642,39 @@
"deprecated": null
},
"ListConfigs.configs.announce-addr-discovered-port.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.02",
"deprecated": null
},
"ListConfigs.configs.announce-addr-discovered-port.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.02",
"deprecated": null
},
"ListConfigs.configs.announce-addr-discovered.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.02",
"deprecated": null
},
"ListConfigs.configs.announce-addr-discovered.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.02",
"deprecated": null
},
"ListConfigs.configs.announce-addr-dns": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.announce-addr-dns.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.announce-addr-dns.value_bool": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.announce-addr.sources[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.announce-addr.values_str[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.autoconnect-seeker-peers": {
@@ -9690,111 +9690,111 @@
"deprecated": null
},
"ListConfigs.configs.autolisten": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.autolisten.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.autolisten.value_bool": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.bind-addr": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.bind-addr.sources[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.bind-addr.values_str[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.clear-plugins": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.clear-plugins.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.clear-plugins.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.cltv-delta": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.cltv-delta.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.cltv-delta.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.cltv-final": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.cltv-final.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.cltv-final.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.commit-fee": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.commit-fee.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.commit-fee.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.commit-feerate-offset": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.commit-feerate-offset.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.commit-feerate-offset.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.commit-time": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.commit-time.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.commit-time.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.conf": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.conf.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.conf.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.currencyrate-add-source": {
@@ -9830,27 +9830,27 @@
"deprecated": null
},
"ListConfigs.configs.daemon": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.daemon.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.daemon.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.database-upgrade": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.database-upgrade.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.database-upgrade.value_bool": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.developer": {
@@ -9858,51 +9858,51 @@
"deprecated": null
},
"ListConfigs.configs.developer.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.developer.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-dns": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-dns.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-dns.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-mpp": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-mpp.plugin": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-mpp.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-mpp.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-plugin": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-plugin.sources[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-plugin.values_str[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.disable-source": {
@@ -9922,15 +9922,15 @@
"deprecated": null
},
"ListConfigs.configs.encrypted-hsm": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.encrypted-hsm.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.encrypted-hsm.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.experimental-anchors": {
@@ -9938,23 +9938,23 @@
"deprecated": null
},
"ListConfigs.configs.experimental-anchors.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.experimental-anchors.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.experimental-dual-fund": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.experimental-dual-fund.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.experimental-dual-fund.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.experimental-offers": {
@@ -9986,23 +9986,23 @@
"deprecated": null
},
"ListConfigs.configs.experimental-peer-storage.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.02",
"deprecated": null
},
"ListConfigs.configs.experimental-peer-storage.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.02",
"deprecated": null
},
"ListConfigs.configs.experimental-shutdown-wrong-funding": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.experimental-shutdown-wrong-funding.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.experimental-shutdown-wrong-funding.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.experimental-splicing": {
@@ -10010,39 +10010,39 @@
"deprecated": "v26.04"
},
"ListConfigs.configs.experimental-splicing.set": {
- "added": "pre-v0.10.1",
- "deprecated": null
+ "added": "v23.08",
+ "deprecated": "v26.04"
},
"ListConfigs.configs.experimental-splicing.source": {
- "added": "pre-v0.10.1",
- "deprecated": null
+ "added": "v23.08",
+ "deprecated": "v26.04"
},
"ListConfigs.configs.fee-base": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.fee-base.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.fee-base.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.fee-per-satoshi": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.fee-per-satoshi.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.fee-per-satoshi.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.fetchinvoice-noconnect": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.fetchinvoice-noconnect.plugin": {
@@ -10050,191 +10050,191 @@
"deprecated": null
},
"ListConfigs.configs.fetchinvoice-noconnect.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.fetchinvoice-noconnect.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.force-feerates": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.force-feerates.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.force-feerates.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.funding-confirms": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.funding-confirms.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.funding-confirms.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.htlc-maximum-msat": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.htlc-maximum-msat.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.htlc-maximum-msat.value_msat": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.htlc-minimum-msat": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.htlc-minimum-msat.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.htlc-minimum-msat.value_msat": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.ignore-fee-limits": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.ignore-fee-limits.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.ignore-fee-limits.value_bool": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.important-plugin": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.important-plugin.sources[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.important-plugin.values_str[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.large-channels": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.large-channels.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.large-channels.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.lightning-dir": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.lightning-dir.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.lightning-dir.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-file": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-file.sources[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-file.values_str[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-level": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-level.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-level.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-prefix": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-prefix.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-prefix.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-timestamps": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-timestamps.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.log-timestamps.value_bool": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.mainnet": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.mainnet.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.mainnet.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.max-concurrent-htlcs": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.max-concurrent-htlcs.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.max-concurrent-htlcs.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.max-dust-htlc-exposure-msat": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.max-dust-htlc-exposure-msat.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.max-dust-htlc-exposure-msat.value_msat": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.max-locktime-blocks": {
@@ -10250,235 +10250,235 @@
"deprecated": null
},
"ListConfigs.configs.min-capacity-sat": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.min-capacity-sat.dynamic": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.min-capacity-sat.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.min-capacity-sat.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.network": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.network.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.network.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.offline": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.offline.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.offline.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.pid-file": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.pid-file.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.pid-file.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.plugin": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.plugin-dir": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.plugin-dir.sources[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.plugin-dir.values_str[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.plugin.sources[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.plugin.values_str[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.proxy": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.proxy.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.proxy.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.regtest": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.regtest.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.regtest.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.require-confirmed-inputs": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.require-confirmed-inputs.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.require-confirmed-inputs.value_bool": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rescan": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rescan.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rescan.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rgb": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rgb.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rgb.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rpc-file": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rpc-file-mode": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rpc-file-mode.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rpc-file-mode.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rpc-file.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.rpc-file.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.signet": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.signet.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.signet.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.subdaemon": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.subdaemon.sources[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.subdaemon.values_str[]": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.testnet": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.testnet.set": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.testnet.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.tor-service-password": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.tor-service-password.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.tor-service-password.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.wallet": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.wallet.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.wallet.value_str": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.watchtime-blocks": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.watchtime-blocks.source": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.configs.watchtime-blocks.value_int": {
- "added": "pre-v0.10.1",
+ "added": "v23.08",
"deprecated": null
},
"ListConfigs.daemon": {
@@ -11462,11 +11462,11 @@
"deprecated": null
},
"ListPeerChannels.channels[].channel_type.bits[]": {
- "added": "v23.02",
+ "added": "v23.05",
"deprecated": null
},
"ListPeerChannels.channels[].channel_type.names[]": {
- "added": "v23.02",
+ "added": "v23.05",
"deprecated": null
},
"ListPeerChannels.channels[].close_to": {
@@ -12963,91 +12963,91 @@
},
"Pay": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.amount_msat": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.amount_sent_msat": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.bolt11": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.created_at": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.description": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.destination": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.exclude": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.exemptfee": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.label": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.localinvreqid": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.maxdelay": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.maxfee": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.maxfeepercent": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.partial_msat": {
"added": "v23.05",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.parts": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.payment_hash": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.payment_preimage": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.retry_for": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.riskfactor": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.status": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Pay.warning_partial_completion": {
"added": "pre-v0.10.1",
- "deprecated": null
+ "deprecated": "v26.06"
},
"Ping": {
"added": "pre-v0.10.1",
@@ -13163,139 +13163,139 @@
},
"RenePay": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.amount_msat": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.amount_sent_msat": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.bolt11": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.bolt12": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.created_at": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.description": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.destination": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.dev_use_shadow": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.exclude": {
"added": "v24.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.groupid": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.invstring": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.label": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.maxdelay": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.maxfee": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.parts": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.payment_hash": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.payment_preimage": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.retry_for": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePay.status": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.invstring": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[]": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].amount_msat": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].amount_sent_msat": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].bolt11": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].created_at": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].destination": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].groupid": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].notes[]": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].parts": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].payment_hash": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].payment_preimage": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"RenePayStatus.paystatus[].status": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v26.06"
},
"ReserveInputs": {
"added": "pre-v0.10.1",
@@ -14443,51 +14443,51 @@
},
"Wait.details.bolt11": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.bolt12": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.description": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.groupid": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.in_channel": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.in_htlc_id": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.in_msat": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.label": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.out_channel": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.partid": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.payment_hash": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.details.status": {
"added": "v23.08",
- "deprecated": null
+ "deprecated": "v25.05"
},
"Wait.forwards": {
"added": "v25.05",
@@ -14918,7 +14918,7 @@
"deprecated": null
},
"Xpay.label": {
- "added": "v24.11",
+ "added": "v26.06",
"deprecated": null
},
"Xpay.layers[]": {
@@ -14926,7 +14926,7 @@
"deprecated": null
},
"Xpay.localinvreqid": {
- "added": "v24.11",
+ "added": "v26.06",
"deprecated": null
},
"Xpay.maxdelay": {
@@ -15878,11 +15878,11 @@
"deprecated": null
},
"openchannel.openchannel.channel_type.bits[]": {
- "added": "pre-v0.10.1",
+ "added": "v25.09",
"deprecated": null
},
"openchannel.openchannel.channel_type.names[]": {
- "added": "pre-v0.10.1",
+ "added": "v25.09",
"deprecated": null
},
"openchannel.openchannel.dust_limit_msat": {
@@ -15966,11 +15966,11 @@
"deprecated": null
},
"openchannel2.openchannel2.channel_type.bits[]": {
- "added": "pre-v0.10.1",
+ "added": "v25.09",
"deprecated": null
},
"openchannel2.openchannel2.channel_type.names[]": {
- "added": "pre-v0.10.1",
+ "added": "v25.09",
"deprecated": null
},
"openchannel2.openchannel2.commitment_feerate_per_kw": {
diff --git a/cln-grpc/proto/node.proto b/cln-grpc/proto/node.proto
index d1e3ec92..f5becbe8 100644
--- a/cln-grpc/proto/node.proto
+++ b/cln-grpc/proto/node.proto
@@ -777,7 +777,7 @@ message GetemergencyrecoverdataRequest {
message GetemergencyrecoverdataResponse {
bytes filedata = 1;
- bool can_create_penalty = 2;
+ optional bool can_create_penalty = 2;
repeated bytes backed_up_channel_ids = 3;
}
@@ -1087,37 +1087,37 @@ message MakesecretResponse {
}
message PayRequest {
- string bolt11 = 1;
- optional string label = 3;
- optional double maxfeepercent = 4;
- optional uint32 retry_for = 5;
- optional uint32 maxdelay = 6;
- optional Amount exemptfee = 7;
- optional double riskfactor = 8;
- repeated string exclude = 10;
- optional Amount maxfee = 11;
- optional string description = 12;
- optional Amount amount_msat = 13;
- optional bytes localinvreqid = 14;
- optional Amount partial_msat = 15;
+ string bolt11 = 1 [deprecated = true];
+ optional string label = 3 [deprecated = true];
+ optional double maxfeepercent = 4 [deprecated = true];
+ optional uint32 retry_for = 5 [deprecated = true];
+ optional uint32 maxdelay = 6 [deprecated = true];
+ optional Amount exemptfee = 7 [deprecated = true];
+ optional double riskfactor = 8 [deprecated = true];
+ repeated string exclude = 10 [deprecated = true];
+ optional Amount maxfee = 11 [deprecated = true];
+ optional string description = 12 [deprecated = true];
+ optional Amount amount_msat = 13 [deprecated = true];
+ optional bytes localinvreqid = 14 [deprecated = true];
+ optional Amount partial_msat = 15 [deprecated = true];
}
message PayResponse {
// Pay.status
enum PayStatus {
- COMPLETE = 0;
- PENDING = 1;
- FAILED = 2;
+ COMPLETE = 0 [deprecated = true];
+ PENDING = 1 [deprecated = true];
+ FAILED = 2 [deprecated = true];
}
- bytes payment_preimage = 1;
- optional bytes destination = 2;
- bytes payment_hash = 3;
- double created_at = 4;
- uint32 parts = 5;
- Amount amount_msat = 6;
- Amount amount_sent_msat = 7;
- optional string warning_partial_completion = 8;
- PayStatus status = 9;
+ bytes payment_preimage = 1 [deprecated = true];
+ optional bytes destination = 2 [deprecated = true];
+ bytes payment_hash = 3 [deprecated = true];
+ double created_at = 4 [deprecated = true];
+ uint32 parts = 5 [deprecated = true];
+ Amount amount_msat = 6 [deprecated = true];
+ Amount amount_sent_msat = 7 [deprecated = true];
+ optional string warning_partial_completion = 8 [deprecated = true];
+ PayStatus status = 9 [deprecated = true];
}
message ListnodesRequest {
@@ -1286,32 +1286,32 @@ message WithdrawResponse {
}
message KeysendRequest {
- bytes destination = 1;
- optional string label = 3;
- optional double maxfeepercent = 4;
- optional uint32 retry_for = 5;
- optional uint32 maxdelay = 6;
- optional Amount exemptfee = 7;
- optional RoutehintList routehints = 8;
- optional TlvStream extratlvs = 9;
- Amount amount_msat = 10;
- optional Amount maxfee = 11;
+ bytes destination = 1 [deprecated = true];
+ optional string label = 3 [deprecated = true];
+ optional double maxfeepercent = 4 [deprecated = true];
+ optional uint32 retry_for = 5 [deprecated = true];
+ optional uint32 maxdelay = 6 [deprecated = true];
+ optional Amount exemptfee = 7 [deprecated = true];
+ optional RoutehintList routehints = 8 [deprecated = true];
+ optional TlvStream extratlvs = 9 [deprecated = true];
+ Amount amount_msat = 10 [deprecated = true];
+ optional Amount maxfee = 11 [deprecated = true];
}
message KeysendResponse {
// KeySend.status
enum KeysendStatus {
- COMPLETE = 0;
+ COMPLETE = 0 [deprecated = true];
}
- bytes payment_preimage = 1;
- optional bytes destination = 2;
- bytes payment_hash = 3;
- double created_at = 4;
- uint32 parts = 5;
- Amount amount_msat = 6;
- Amount amount_sent_msat = 7;
- optional string warning_partial_completion = 8;
- KeysendStatus status = 9;
+ bytes payment_preimage = 1 [deprecated = true];
+ optional bytes destination = 2 [deprecated = true];
+ bytes payment_hash = 3 [deprecated = true];
+ double created_at = 4 [deprecated = true];
+ uint32 parts = 5 [deprecated = true];
+ Amount amount_msat = 6 [deprecated = true];
+ Amount amount_sent_msat = 7 [deprecated = true];
+ optional string warning_partial_completion = 8 [deprecated = true];
+ KeysendStatus status = 9 [deprecated = true];
}
message FundpsbtRequest {
@@ -1463,7 +1463,6 @@ message ListpeerchannelsChannels {
optional Amount fee_base_msat = 27;
optional uint32 fee_proportional_millionths = 28;
optional Amount dust_limit_msat = 29;
- optional Amount max_total_htlc_in_msat = 30;
optional Amount their_reserve_msat = 31;
optional Amount our_reserve_msat = 32;
optional Amount spendable_msat = 33;
@@ -1646,8 +1645,6 @@ message DecodeResponse {
optional uint64 offer_absolute_expiry = 14;
optional uint64 offer_quantity_max = 15;
repeated DecodeOfferPaths offer_paths = 16;
- optional bytes offer_node_id = 17;
- optional string warning_missing_offer_node_id = 20;
optional string warning_invalid_offer_description = 21;
optional string warning_missing_offer_description = 22;
optional string warning_invalid_offer_currency = 23;
@@ -1727,7 +1724,6 @@ message DecodeResponse {
message DecodeOfferPaths {
optional bytes first_node_id = 1;
- optional bytes blinding = 2;
optional uint32 first_scid_dir = 4;
optional string first_scid = 5;
optional bytes first_path_key = 6;
@@ -1741,7 +1737,6 @@ message DecodeOfferRecurrencePaywindow {
message DecodeInvreqPaths {
optional uint32 first_scid_dir = 1;
- optional bytes blinding = 2;
optional bytes first_node_id = 3;
optional string first_scid = 4;
repeated DecodeInvreqPathsPath path = 5;
@@ -1917,8 +1912,6 @@ message FeeratesPerkb {
optional uint32 opening = 3;
optional uint32 mutual_close = 4;
optional uint32 unilateral_close = 5;
- optional uint32 delayed_to_us = 6;
- optional uint32 htlc_resolution = 7;
optional uint32 penalty = 8;
repeated FeeratesPerkbEstimates estimates = 9;
uint32 floor = 10;
@@ -1938,8 +1931,6 @@ message FeeratesPerkw {
optional uint32 opening = 3;
optional uint32 mutual_close = 4;
optional uint32 unilateral_close = 5;
- optional uint32 delayed_to_us = 6;
- optional uint32 htlc_resolution = 7;
optional uint32 penalty = 8;
repeated FeeratesPerkwEstimates estimates = 9;
uint32 floor = 10;
@@ -2196,31 +2187,31 @@ message FunderupdateResponse {
}
message GetrouteRequest {
- bytes id = 1;
- uint64 riskfactor = 3;
- optional uint32 cltv = 4;
- optional bytes fromid = 5;
- optional uint32 fuzzpercent = 6;
- repeated string exclude = 7;
- optional uint32 maxhops = 8;
- Amount amount_msat = 9;
+ bytes id = 1 [deprecated = true];
+ uint64 riskfactor = 3 [deprecated = true];
+ optional uint32 cltv = 4 [deprecated = true];
+ optional bytes fromid = 5 [deprecated = true];
+ optional uint32 fuzzpercent = 6 [deprecated = true];
+ repeated string exclude = 7 [deprecated = true];
+ optional uint32 maxhops = 8 [deprecated = true];
+ Amount amount_msat = 9 [deprecated = true];
}
message GetrouteResponse {
- repeated GetrouteRoute route = 1;
+ repeated GetrouteRoute route = 1 [deprecated = true];
}
message GetrouteRoute {
// GetRoute.route[].style
enum GetrouteRouteStyle {
- TLV = 0;
+ TLV = 0 [deprecated = true];
}
- bytes id = 1;
- string channel = 2;
- uint32 direction = 3;
- Amount amount_msat = 4;
- uint32 delay = 5;
- GetrouteRouteStyle style = 6;
+ bytes id = 1 [deprecated = true];
+ string channel = 2 [deprecated = true];
+ uint32 direction = 3 [deprecated = true];
+ Amount amount_msat = 4 [deprecated = true];
+ uint32 delay = 5 [deprecated = true];
+ GetrouteRouteStyle style = 6 [deprecated = true];
}
message ListaddressesRequest {
@@ -2614,63 +2605,63 @@ message PluginPlugins {
}
message RenepaystatusRequest {
- optional string invstring = 1;
+ optional string invstring = 1 [deprecated = true];
}
message RenepaystatusResponse {
- repeated RenepaystatusPaystatus paystatus = 1;
+ repeated RenepaystatusPaystatus paystatus = 1 [deprecated = true];
}
message RenepaystatusPaystatus {
// RenePayStatus.paystatus[].status
enum RenepaystatusPaystatusStatus {
- COMPLETE = 0;
- PENDING = 1;
- FAILED = 2;
+ COMPLETE = 0 [deprecated = true];
+ PENDING = 1 [deprecated = true];
+ FAILED = 2 [deprecated = true];
}
- string bolt11 = 1;
- optional bytes payment_preimage = 2;
- bytes payment_hash = 3;
- double created_at = 4;
- uint32 groupid = 5;
- optional uint32 parts = 6;
- Amount amount_msat = 7;
- optional Amount amount_sent_msat = 8;
- RenepaystatusPaystatusStatus status = 9;
- optional bytes destination = 10;
- repeated string notes = 11;
+ string bolt11 = 1 [deprecated = true];
+ optional bytes payment_preimage = 2 [deprecated = true];
+ bytes payment_hash = 3 [deprecated = true];
+ double created_at = 4 [deprecated = true];
+ uint32 groupid = 5 [deprecated = true];
+ optional uint32 parts = 6 [deprecated = true];
+ Amount amount_msat = 7 [deprecated = true];
+ optional Amount amount_sent_msat = 8 [deprecated = true];
+ RenepaystatusPaystatusStatus status = 9 [deprecated = true];
+ optional bytes destination = 10 [deprecated = true];
+ repeated string notes = 11 [deprecated = true];
}
message RenepayRequest {
- string invstring = 1;
- optional Amount amount_msat = 2;
- optional Amount maxfee = 3;
- optional uint32 maxdelay = 4;
- optional uint32 retry_for = 5;
- optional string description = 6;
- optional string label = 7;
- optional bool dev_use_shadow = 8;
- repeated string exclude = 9;
+ string invstring = 1 [deprecated = true];
+ optional Amount amount_msat = 2 [deprecated = true];
+ optional Amount maxfee = 3 [deprecated = true];
+ optional uint32 maxdelay = 4 [deprecated = true];
+ optional uint32 retry_for = 5 [deprecated = true];
+ optional string description = 6 [deprecated = true];
+ optional string label = 7 [deprecated = true];
+ optional bool dev_use_shadow = 8 [deprecated = true];
+ repeated string exclude = 9 [deprecated = true];
}
message RenepayResponse {
// RenePay.status
enum RenepayStatus {
- COMPLETE = 0;
- PENDING = 1;
- FAILED = 2;
+ COMPLETE = 0 [deprecated = true];
+ PENDING = 1 [deprecated = true];
+ FAILED = 2 [deprecated = true];
}
- bytes payment_preimage = 1;
- bytes payment_hash = 2;
- double created_at = 3;
- uint32 parts = 4;
- Amount amount_msat = 5;
- Amount amount_sent_msat = 6;
- RenepayStatus status = 7;
- optional bytes destination = 8;
- optional string bolt11 = 9;
- optional string bolt12 = 10;
- optional uint64 groupid = 11;
+ bytes payment_preimage = 1 [deprecated = true];
+ bytes payment_hash = 2 [deprecated = true];
+ double created_at = 3 [deprecated = true];
+ uint32 parts = 4 [deprecated = true];
+ Amount amount_msat = 5 [deprecated = true];
+ Amount amount_sent_msat = 6 [deprecated = true];
+ RenepayStatus status = 7 [deprecated = true];
+ optional bytes destination = 8 [deprecated = true];
+ optional string bolt11 = 9 [deprecated = true];
+ optional string bolt12 = 10 [deprecated = true];
+ optional uint64 groupid = 11 [deprecated = true];
}
message ReserveinputsRequest {
@@ -2959,7 +2950,7 @@ message WaitResponse {
optional uint64 created = 2;
optional uint64 updated = 3;
optional uint64 deleted = 4;
- optional WaitDetails details = 5;
+ optional WaitDetails details = 5 [deprecated = true];
optional WaitForwards forwards = 6;
optional WaitInvoices invoices = 7;
optional WaitSendpays sendpays = 8;
@@ -3054,28 +3045,28 @@ message WaitNetworkevents {
message WaitDetails {
// Wait.details.status
enum WaitDetailsStatus {
- UNPAID = 0;
- PAID = 1;
- EXPIRED = 2;
- PENDING = 3;
- FAILED = 4;
- COMPLETE = 5;
- OFFERED = 6;
- SETTLED = 7;
- LOCAL_FAILED = 8;
+ UNPAID = 0 [deprecated = true];
+ PAID = 1 [deprecated = true];
+ EXPIRED = 2 [deprecated = true];
+ PENDING = 3 [deprecated = true];
+ FAILED = 4 [deprecated = true];
+ COMPLETE = 5 [deprecated = true];
+ OFFERED = 6 [deprecated = true];
+ SETTLED = 7 [deprecated = true];
+ LOCAL_FAILED = 8 [deprecated = true];
}
- optional WaitDetailsStatus status = 1;
- optional string label = 2;
- optional string description = 3;
- optional string bolt11 = 4;
- optional string bolt12 = 5;
- optional uint64 partid = 6;
- optional uint64 groupid = 7;
- optional bytes payment_hash = 8;
- optional string in_channel = 9;
- optional uint64 in_htlc_id = 10;
- optional Amount in_msat = 11;
- optional string out_channel = 12;
+ optional WaitDetailsStatus status = 1 [deprecated = true];
+ optional string label = 2 [deprecated = true];
+ optional string description = 3 [deprecated = true];
+ optional string bolt11 = 4 [deprecated = true];
+ optional string bolt12 = 5 [deprecated = true];
+ optional uint64 partid = 6 [deprecated = true];
+ optional uint64 groupid = 7 [deprecated = true];
+ optional bytes payment_hash = 8 [deprecated = true];
+ optional string in_channel = 9 [deprecated = true];
+ optional uint64 in_htlc_id = 10 [deprecated = true];
+ optional Amount in_msat = 11 [deprecated = true];
+ optional string out_channel = 12 [deprecated = true];
}
message ListconfigsRequest {
@@ -3108,9 +3099,7 @@ message ListconfigsConfigs {
optional ListconfigsConfigsWallet wallet = 19;
optional ListconfigsConfigsLargechannels large_channels = 20;
optional ListconfigsConfigsExperimentaldualfund experimental_dual_fund = 21;
- optional ListconfigsConfigsExperimentalsplicing experimental_splicing = 22;
- optional ListconfigsConfigsExperimentalonionmessages experimental_onion_messages = 23;
- optional ListconfigsConfigsExperimentaloffers experimental_offers = 24;
+ optional ListconfigsConfigsExperimentalsplicing experimental_splicing = 22 [deprecated = true];
optional ListconfigsConfigsExperimentalshutdownwrongfunding experimental_shutdown_wrong_funding = 25;
optional ListconfigsConfigsExperimentalpeerstorage experimental_peer_storage = 26;
optional ListconfigsConfigsExperimentalanchors experimental_anchors = 27;
@@ -3120,7 +3109,6 @@ message ListconfigsConfigs {
optional ListconfigsConfigsPidfile pid_file = 31;
optional ListconfigsConfigsIgnorefeelimits ignore_fee_limits = 32;
optional ListconfigsConfigsWatchtimeblocks watchtime_blocks = 33;
- optional ListconfigsConfigsMaxlocktimeblocks max_locktime_blocks = 34;
optional ListconfigsConfigsFundingconfirms funding_confirms = 35;
optional ListconfigsConfigsCltvdelta cltv_delta = 36;
optional ListconfigsConfigsCltvfinal cltv_final = 37;
@@ -3272,18 +3260,8 @@ message ListconfigsConfigsExperimentaldualfund {
}
message ListconfigsConfigsExperimentalsplicing {
- bool set = 1;
- string source = 2;
-}
-
-message ListconfigsConfigsExperimentalonionmessages {
- bool set = 1;
- string source = 2;
-}
-
-message ListconfigsConfigsExperimentaloffers {
- bool set = 1;
- string source = 2;
+ bool set = 1 [deprecated = true];
+ string source = 2 [deprecated = true];
}
message ListconfigsConfigsExperimentalshutdownwrongfunding {
@@ -3331,11 +3309,6 @@ message ListconfigsConfigsWatchtimeblocks {
string source = 2;
}
-message ListconfigsConfigsMaxlocktimeblocks {
- uint32 value_int = 1;
- string source = 2;
-}
-
message ListconfigsConfigsFundingconfirms {
uint32 value_int = 1;
string source = 2;
@@ -4089,9 +4062,9 @@ message GetroutesRoutes {
}
message GetroutesRoutesPath {
- optional Amount amount_msat = 3;
- optional bytes next_node_id = 4;
- optional uint32 delay = 5;
+ optional Amount amount_msat = 3 [deprecated = true];
+ optional bytes next_node_id = 4 [deprecated = true];
+ optional uint32 delay = 5 [deprecated = true];
string short_channel_id_dir = 6;
optional Amount amount_in_msat = 7;
optional Amount amount_out_msat = 8;
@@ -4603,7 +4576,7 @@ message CoinMovementNotification {
Amount credit_msat = 7;
Amount debit_msat = 8;
uint64 timestamp = 9;
- repeated string tags = 10;
+ repeated string tags = 10 [deprecated = true];
optional CoinMovementPrimaryTag primary_tag = 11;
repeated string extra_tags = 12;
optional bytes payment_hash = 13;
@@ -4613,10 +4586,10 @@ message CoinMovementNotification {
optional Outpoint utxo = 17;
optional bytes peer_id = 18;
optional string originating_account = 19;
- optional bytes txid = 20;
+ optional bytes txid = 20 [deprecated = true];
optional bytes spending_txid = 21;
- optional bytes utxo_txid = 22;
- optional uint32 vout = 23;
+ optional bytes utxo_txid = 22 [deprecated = true];
+ optional uint32 vout = 23 [deprecated = true];
optional Amount output_msat = 24;
optional uint32 output_count = 25;
optional uint32 blockheight = 26;
diff --git a/cln-grpc/src/convert.rs b/cln-grpc/src/convert.rs
index 54f8bd5e..957e6da1 100644
--- a/cln-grpc/src/convert.rs
+++ b/cln-grpc/src/convert.rs
@@ -626,8 +626,8 @@ impl From<responses::GetemergencyrecoverdataResponse> for pb::Getemergencyrecove
fn from(c: responses::GetemergencyrecoverdataResponse) -> Self {
Self {
// Field: GetEmergencyRecoverData.backed_up_channel_ids[]
- backed_up_channel_ids: c.backed_up_channel_ids.into_iter().map(|i| <Sha256 as AsRef<[u8]>>::as_ref(&i).to_vec()).collect(), // Rule #3 for type hash
- can_create_penalty: c.can_create_penalty, // Rule #2 for type boolean
+ backed_up_channel_ids: c.backed_up_channel_ids.map(|arr| arr.into_iter().map(|i| <Sha256 as AsRef<[u8]>>::as_ref(&i).to_vec()).collect()).unwrap_or(vec![]), // Rule #3
+ can_create_penalty: c.can_create_penalty, // Rule #2 for type boolean?
filedata: hex::decode(&c.filedata).unwrap(), // Rule #2 for type hex
}
}
@@ -919,18 +919,26 @@ impl From<responses::MakesecretResponse> for pb::MakesecretResponse {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<responses::PayResponse> for pb::PayResponse {
fn from(c: responses::PayResponse) -> Self {
Self {
+ #[allow(deprecated)]
amount_msat: Some(c.amount_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
amount_sent_msat: Some(c.amount_sent_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
created_at: c.created_at, // Rule #2 for type number
+ #[allow(deprecated)]
destination: c.destination.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
+ #[allow(deprecated)]
parts: c.parts, // Rule #2 for type u32
+ #[allow(deprecated)]
payment_hash: <Sha256 as AsRef<[u8]>>::as_ref(&c.payment_hash).to_vec(), // Rule #2 for type hash
+ #[allow(deprecated)]
payment_preimage: c.payment_preimage.to_vec(), // Rule #2 for type secret
status: c.status as i32,
+ #[allow(deprecated)]
warning_partial_completion: c.warning_partial_completion, // Rule #2 for type string?
}
}
@@ -1098,18 +1106,26 @@ impl From<responses::WithdrawResponse> for pb::WithdrawResponse {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<responses::KeysendResponse> for pb::KeysendResponse {
fn from(c: responses::KeysendResponse) -> Self {
Self {
+ #[allow(deprecated)]
amount_msat: Some(c.amount_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
amount_sent_msat: Some(c.amount_sent_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
created_at: c.created_at, // Rule #2 for type number
+ #[allow(deprecated)]
destination: c.destination.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
+ #[allow(deprecated)]
parts: c.parts, // Rule #2 for type u32
+ #[allow(deprecated)]
payment_hash: <Sha256 as AsRef<[u8]>>::as_ref(&c.payment_hash).to_vec(), // Rule #2 for type hash
+ #[allow(deprecated)]
payment_preimage: c.payment_preimage.to_vec(), // Rule #2 for type secret
status: c.status as i32,
+ #[allow(deprecated)]
warning_partial_completion: c.warning_partial_completion, // Rule #2 for type string?
}
}
@@ -1324,7 +1340,7 @@ impl From<responses::ListpeerchannelsChannelsUpdates> for pb::ListpeerchannelsCh
}
}
-#[allow(unused_variables,deprecated)]
+#[allow(unused_variables)]
impl From<responses::ListpeerchannelsChannels> for pb::ListpeerchannelsChannels {
fn from(c: responses::ListpeerchannelsChannels) -> Self {
Self {
@@ -1357,8 +1373,6 @@ impl From<responses::ListpeerchannelsChannels> for pb::ListpeerchannelsChannels
lost_state: c.lost_state, // Rule #2 for type boolean?
max_accepted_htlcs: c.max_accepted_htlcs, // Rule #2 for type u32?
max_to_us_msat: c.max_to_us_msat.map(|f| f.into()), // Rule #2 for type msat?
- #[allow(deprecated)]
- max_total_htlc_in_msat: c.max_total_htlc_in_msat.map(|f| f.into()), // Rule #2 for type msat?
maximum_htlc_out_msat: c.maximum_htlc_out_msat.map(|f| f.into()), // Rule #2 for type msat?
min_to_us_msat: c.min_to_us_msat.map(|f| f.into()), // Rule #2 for type msat?
minimum_htlc_in_msat: c.minimum_htlc_in_msat.map(|f| f.into()), // Rule #2 for type msat?
@@ -1512,12 +1526,10 @@ impl From<responses::DecodeInvreqPathsPath> for pb::DecodeInvreqPathsPath {
}
}
-#[allow(unused_variables,deprecated)]
+#[allow(unused_variables)]
impl From<responses::DecodeInvreqPaths> for pb::DecodeInvreqPaths {
fn from(c: responses::DecodeInvreqPaths) -> Self {
Self {
- #[allow(deprecated)]
- blinding: c.blinding.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
first_node_id: c.first_node_id.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
first_path_key: c.first_path_key.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
first_scid: c.first_scid.map(|v| v.to_string()), // Rule #2 for type short_channel_id?
@@ -1528,12 +1540,10 @@ impl From<responses::DecodeInvreqPaths> for pb::DecodeInvreqPaths {
}
}
-#[allow(unused_variables,deprecated)]
+#[allow(unused_variables)]
impl From<responses::DecodeOfferPaths> for pb::DecodeOfferPaths {
fn from(c: responses::DecodeOfferPaths) -> Self {
Self {
- #[allow(deprecated)]
- blinding: c.blinding.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
first_node_id: c.first_node_id.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
first_path_key: c.first_path_key.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
first_scid: c.first_scid.map(|v| v.to_string()), // Rule #2 for type short_channel_id?
@@ -1564,7 +1574,7 @@ impl From<responses::DecodeUnknownPayerProofTlvs> for pb::DecodeUnknownPayerProo
}
}
-#[allow(unused_variables,deprecated)]
+#[allow(unused_variables)]
impl From<responses::DecodeResponse> for pb::DecodeResponse {
fn from(c: responses::DecodeResponse) -> Self {
Self {
@@ -1617,8 +1627,6 @@ impl From<responses::DecodeResponse> for pb::DecodeResponse {
offer_issuer: c.offer_issuer, // Rule #2 for type string?
offer_issuer_id: c.offer_issuer_id.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
offer_metadata: c.offer_metadata.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex?
- #[allow(deprecated)]
- offer_node_id: c.offer_node_id.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
// Field: Decode.offer_paths[]
offer_paths: c.offer_paths.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3
offer_quantity_max: c.offer_quantity_max, // Rule #2 for type u64?
@@ -1670,8 +1678,6 @@ impl From<responses::DecodeResponse> for pb::DecodeResponse {
warning_missing_invreq_payer_id: c.warning_missing_invreq_payer_id, // Rule #2 for type string?
warning_missing_offer_description: c.warning_missing_offer_description, // Rule #2 for type string?
warning_missing_offer_issuer_id: c.warning_missing_offer_issuer_id, // Rule #2 for type string?
- #[allow(deprecated)]
- warning_missing_offer_node_id: c.warning_missing_offer_node_id, // Rule #2 for type string?
warning_rune_invalid_utf8: c.warning_rune_invalid_utf8, // Rule #2 for type string?
warning_unknown_offer_currency: c.warning_unknown_offer_currency, // Rule #2 for type string?
}
@@ -1786,17 +1792,13 @@ impl From<responses::FeeratesPerkbEstimates> for pb::FeeratesPerkbEstimates {
}
}
-#[allow(unused_variables,deprecated)]
+#[allow(unused_variables)]
impl From<responses::FeeratesPerkb> for pb::FeeratesPerkb {
fn from(c: responses::FeeratesPerkb) -> Self {
Self {
- #[allow(deprecated)]
- delayed_to_us: c.delayed_to_us, // Rule #2 for type u32?
// Field: Feerates.perkb.estimates[]
estimates: c.estimates.into_iter().map(|i| i.into()).collect(), // Rule #3 for type FeeratesPerkbEstimates
floor: c.floor, // Rule #2 for type u32
- #[allow(deprecated)]
- htlc_resolution: c.htlc_resolution, // Rule #2 for type u32?
max_acceptable: c.max_acceptable, // Rule #2 for type u32
min_acceptable: c.min_acceptable, // Rule #2 for type u32
mutual_close: c.mutual_close, // Rule #2 for type u32?
@@ -1820,17 +1822,13 @@ impl From<responses::FeeratesPerkwEstimates> for pb::FeeratesPerkwEstimates {
}
}
-#[allow(unused_variables,deprecated)]
+#[allow(unused_variables)]
impl From<responses::FeeratesPerkw> for pb::FeeratesPerkw {
fn from(c: responses::FeeratesPerkw) -> Self {
Self {
- #[allow(deprecated)]
- delayed_to_us: c.delayed_to_us, // Rule #2 for type u32?
// Field: Feerates.perkw.estimates[]
estimates: c.estimates.into_iter().map(|i| i.into()).collect(), // Rule #3 for type FeeratesPerkwEstimates
floor: c.floor, // Rule #2 for type u32
- #[allow(deprecated)]
- htlc_resolution: c.htlc_resolution, // Rule #2 for type u32?
max_acceptable: c.max_acceptable, // Rule #2 for type u32
min_acceptable: c.min_acceptable, // Rule #2 for type u32
mutual_close: c.mutual_close, // Rule #2 for type u32?
@@ -2050,21 +2048,26 @@ impl From<responses::FunderupdateResponse> for pb::FunderupdateResponse {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<responses::GetrouteRoute> for pb::GetrouteRoute {
fn from(c: responses::GetrouteRoute) -> Self {
Self {
+ #[allow(deprecated)]
amount_msat: Some(c.amount_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
channel: c.channel.to_string(), // Rule #2 for type short_channel_id
+ #[allow(deprecated)]
delay: c.delay, // Rule #2 for type u32
+ #[allow(deprecated)]
direction: c.direction, // Rule #2 for type u32
+ #[allow(deprecated)]
id: c.id.serialize().to_vec(), // Rule #2 for type pubkey
style: c.style as i32,
}
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<responses::GetrouteResponse> for pb::GetrouteResponse {
fn from(c: responses::GetrouteResponse) -> Self {
Self {
@@ -2434,27 +2437,36 @@ impl From<responses::PluginResponse> for pb::PluginResponse {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<responses::RenepaystatusPaystatus> for pb::RenepaystatusPaystatus {
fn from(c: responses::RenepaystatusPaystatus) -> Self {
Self {
+ #[allow(deprecated)]
amount_msat: Some(c.amount_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
amount_sent_msat: c.amount_sent_msat.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
bolt11: c.bolt11, // Rule #2 for type string
+ #[allow(deprecated)]
created_at: c.created_at, // Rule #2 for type number
+ #[allow(deprecated)]
destination: c.destination.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
+ #[allow(deprecated)]
groupid: c.groupid, // Rule #2 for type u32
// Field: RenePayStatus.paystatus[].notes[]
notes: c.notes.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3
+ #[allow(deprecated)]
parts: c.parts, // Rule #2 for type u32?
+ #[allow(deprecated)]
payment_hash: <Sha256 as AsRef<[u8]>>::as_ref(&c.payment_hash).to_vec(), // Rule #2 for type hash
+ #[allow(deprecated)]
payment_preimage: c.payment_preimage.map(|v| v.to_vec()), // Rule #2 for type secret?
status: c.status as i32,
}
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<responses::RenepaystatusResponse> for pb::RenepaystatusResponse {
fn from(c: responses::RenepaystatusResponse) -> Self {
Self {
@@ -2464,19 +2476,29 @@ impl From<responses::RenepaystatusResponse> for pb::RenepaystatusResponse {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<responses::RenepayResponse> for pb::RenepayResponse {
fn from(c: responses::RenepayResponse) -> Self {
Self {
+ #[allow(deprecated)]
amount_msat: Some(c.amount_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
amount_sent_msat: Some(c.amount_sent_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
bolt11: c.bolt11, // Rule #2 for type string?
+ #[allow(deprecated)]
bolt12: c.bolt12, // Rule #2 for type string?
+ #[allow(deprecated)]
created_at: c.created_at, // Rule #2 for type number
+ #[allow(deprecated)]
destination: c.destination.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
+ #[allow(deprecated)]
groupid: c.groupid, // Rule #2 for type u64?
+ #[allow(deprecated)]
parts: c.parts, // Rule #2 for type u32
+ #[allow(deprecated)]
payment_hash: <Sha256 as AsRef<[u8]>>::as_ref(&c.payment_hash).to_vec(), // Rule #2 for type hash
+ #[allow(deprecated)]
payment_preimage: c.payment_preimage.to_vec(), // Rule #2 for type secret
status: c.status as i32,
}
@@ -2758,20 +2780,31 @@ impl From<responses::WaitChannelmoves> for pb::WaitChannelmoves {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<responses::WaitDetails> for pb::WaitDetails {
fn from(c: responses::WaitDetails) -> Self {
Self {
+ #[allow(deprecated)]
bolt11: c.bolt11, // Rule #2 for type string?
+ #[allow(deprecated)]
bolt12: c.bolt12, // Rule #2 for type string?
+ #[allow(deprecated)]
description: c.description, // Rule #2 for type string?
+ #[allow(deprecated)]
groupid: c.groupid, // Rule #2 for type u64?
+ #[allow(deprecated)]
in_channel: c.in_channel.map(|v| v.to_string()), // Rule #2 for type short_channel_id?
+ #[allow(deprecated)]
in_htlc_id: c.in_htlc_id, // Rule #2 for type u64?
+ #[allow(deprecated)]
in_msat: c.in_msat.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
label: c.label, // Rule #2 for type string?
+ #[allow(deprecated)]
out_channel: c.out_channel.map(|v| v.to_string()), // Rule #2 for type short_channel_id?
+ #[allow(deprecated)]
partid: c.partid, // Rule #2 for type u64?
+ #[allow(deprecated)]
payment_hash: c.payment_hash.map(|v| <Sha256 as AsRef<[u8]>>::as_ref(&v).to_vec()), // Rule #2 for type hash?
status: c.status.map(|v| v as i32),
}
@@ -3167,26 +3200,6 @@ impl From<responses::ListconfigsConfigsExperimentaldualfund> for pb::Listconfigs
}
}
-#[allow(unused_variables)]
-impl From<responses::ListconfigsConfigsExperimentaloffers> for pb::ListconfigsConfigsExperimentaloffers {
- fn from(c: responses::ListconfigsConfigsExperimentaloffers) -> Self {
- Self {
- set: c.set, // Rule #2 for type boolean
- source: c.source, // Rule #2 for type string
- }
- }
-}
-
-#[allow(unused_variables)]
-impl From<responses::ListconfigsConfigsExperimentalonionmessages> for pb::ListconfigsConfigsExperimentalonionmessages {
- fn from(c: responses::ListconfigsConfigsExperimentalonionmessages) -> Self {
- Self {
- set: c.set, // Rule #2 for type boolean
- source: c.source, // Rule #2 for type string
- }
- }
-}
-
#[allow(unused_variables)]
impl From<responses::ListconfigsConfigsExperimentalpeerstorage> for pb::ListconfigsConfigsExperimentalpeerstorage {
fn from(c: responses::ListconfigsConfigsExperimentalpeerstorage) -> Self {
@@ -3207,11 +3220,13 @@ impl From<responses::ListconfigsConfigsExperimentalshutdownwrongfunding> for pb:
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<responses::ListconfigsConfigsExperimentalsplicing> for pb::ListconfigsConfigsExperimentalsplicing {
fn from(c: responses::ListconfigsConfigsExperimentalsplicing) -> Self {
Self {
+ #[allow(deprecated)]
set: c.set, // Rule #2 for type boolean
+ #[allow(deprecated)]
source: c.source, // Rule #2 for type string
}
}
@@ -3402,16 +3417,6 @@ impl From<responses::ListconfigsConfigsMaxdusthtlcexposuremsat> for pb::Listconf
}
}
-#[allow(unused_variables)]
-impl From<responses::ListconfigsConfigsMaxlocktimeblocks> for pb::ListconfigsConfigsMaxlocktimeblocks {
- fn from(c: responses::ListconfigsConfigsMaxlocktimeblocks) -> Self {
- Self {
- source: c.source, // Rule #2 for type string
- value_int: c.value_int, // Rule #2 for type u32
- }
- }
-}
-
#[allow(unused_variables)]
impl From<responses::ListconfigsConfigsMincapacitysat> for pb::ListconfigsConfigsMincapacitysat {
fn from(c: responses::ListconfigsConfigsMincapacitysat) -> Self {
@@ -3642,8 +3647,6 @@ impl From<responses::ListconfigsConfigs> for pb::ListconfigsConfigs {
encrypted_hsm: c.encrypted_hsm.map(|v| v.into()),
experimental_anchors: c.experimental_anchors.map(|v| v.into()),
experimental_dual_fund: c.experimental_dual_fund.map(|v| v.into()),
- experimental_offers: c.experimental_offers.map(|v| v.into()),
- experimental_onion_messages: c.experimental_onion_messages.map(|v| v.into()),
experimental_peer_storage: c.experimental_peer_storage.map(|v| v.into()),
experimental_shutdown_wrong_funding: c.experimental_shutdown_wrong_funding.map(|v| v.into()),
experimental_splicing: c.experimental_splicing.map(|v| v.into()),
@@ -3665,7 +3668,6 @@ impl From<responses::ListconfigsConfigs> 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_locktime_blocks: c.max_locktime_blocks.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()),
@@ -5543,23 +5545,35 @@ impl From<requests::MakesecretRequest> for pb::MakesecretRequest {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<requests::PayRequest> for pb::PayRequest {
fn from(c: requests::PayRequest) -> Self {
Self {
+ #[allow(deprecated)]
amount_msat: c.amount_msat.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
bolt11: c.bolt11, // Rule #2 for type string
+ #[allow(deprecated)]
description: c.description, // Rule #2 for type string?
// Field: Pay.exclude
exclude: c.exclude.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3
+ #[allow(deprecated)]
exemptfee: c.exemptfee.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
label: c.label, // Rule #2 for type string?
+ #[allow(deprecated)]
localinvreqid: c.localinvreqid.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex?
+ #[allow(deprecated)]
maxdelay: c.maxdelay.map(|v| v.into()), // Rule #2 for type u16?
+ #[allow(deprecated)]
maxfee: c.maxfee.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
maxfeepercent: c.maxfeepercent, // Rule #2 for type number?
+ #[allow(deprecated)]
partial_msat: c.partial_msat.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
retry_for: c.retry_for.map(|v| v.into()), // Rule #2 for type u16?
+ #[allow(deprecated)]
riskfactor: c.riskfactor, // Rule #2 for type number?
}
}
@@ -5628,19 +5642,29 @@ impl From<requests::WithdrawRequest> for pb::WithdrawRequest {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<requests::KeysendRequest> for pb::KeysendRequest {
fn from(c: requests::KeysendRequest) -> Self {
Self {
+ #[allow(deprecated)]
amount_msat: Some(c.amount_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
destination: c.destination.serialize().to_vec(), // Rule #2 for type pubkey
+ #[allow(deprecated)]
exemptfee: c.exemptfee.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
extratlvs: c.extratlvs.map(|s| s.into()), // Rule #2 for type TlvStream?
+ #[allow(deprecated)]
label: c.label, // Rule #2 for type string?
+ #[allow(deprecated)]
maxdelay: c.maxdelay, // Rule #2 for type u32?
+ #[allow(deprecated)]
maxfee: c.maxfee.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
maxfeepercent: c.maxfeepercent, // Rule #2 for type number?
+ #[allow(deprecated)]
retry_for: c.retry_for, // Rule #2 for type u32?
+ #[allow(deprecated)]
routehints: c.routehints.map(|rl| rl.into()), // Rule #2 for type RoutehintList?
}
}
@@ -5960,18 +5984,25 @@ impl From<requests::FunderupdateRequest> for pb::FunderupdateRequest {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<requests::GetrouteRequest> for pb::GetrouteRequest {
fn from(c: requests::GetrouteRequest) -> Self {
Self {
+ #[allow(deprecated)]
amount_msat: Some(c.amount_msat.into()), // Rule #2 for type msat
+ #[allow(deprecated)]
cltv: c.cltv, // Rule #2 for type u32?
// Field: GetRoute.exclude[]
exclude: c.exclude.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3
+ #[allow(deprecated)]
fromid: c.fromid.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey?
+ #[allow(deprecated)]
fuzzpercent: c.fuzzpercent, // Rule #2 for type u32?
+ #[allow(deprecated)]
id: c.id.serialize().to_vec(), // Rule #2 for type pubkey
+ #[allow(deprecated)]
maxhops: c.maxhops, // Rule #2 for type u32?
+ #[allow(deprecated)]
riskfactor: c.riskfactor, // Rule #2 for type u64
}
}
@@ -6192,28 +6223,37 @@ impl From<requests::PluginRequest> for pb::PluginRequest {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<requests::RenepaystatusRequest> for pb::RenepaystatusRequest {
fn from(c: requests::RenepaystatusRequest) -> Self {
Self {
+ #[allow(deprecated)]
invstring: c.invstring, // Rule #2 for type string?
}
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<requests::RenepayRequest> for pb::RenepayRequest {
fn from(c: requests::RenepayRequest) -> Self {
Self {
+ #[allow(deprecated)]
amount_msat: c.amount_msat.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
description: c.description, // Rule #2 for type string?
+ #[allow(deprecated)]
dev_use_shadow: c.dev_use_shadow, // Rule #2 for type boolean?
// Field: RenePay.exclude
exclude: c.exclude.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3
+ #[allow(deprecated)]
invstring: c.invstring, // Rule #2 for type string
+ #[allow(deprecated)]
label: c.label, // Rule #2 for type string?
+ #[allow(deprecated)]
maxdelay: c.maxdelay, // Rule #2 for type u32?
+ #[allow(deprecated)]
maxfee: c.maxfee.map(|f| f.into()), // Rule #2 for type msat?
+ #[allow(deprecated)]
retry_for: c.retry_for, // Rule #2 for type u32?
}
}
@@ -7589,7 +7629,7 @@ impl From<pb::MakesecretRequest> for requests::MakesecretRequest {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<pb::PayRequest> for requests::PayRequest {
fn from(c: pb::PayRequest) -> Self {
Self {
@@ -7672,7 +7712,7 @@ impl From<pb::WithdrawRequest> for requests::WithdrawRequest {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<pb::KeysendRequest> for requests::KeysendRequest {
fn from(c: pb::KeysendRequest) -> Self {
Self {
@@ -7997,7 +8037,7 @@ impl From<pb::FunderupdateRequest> for requests::FunderupdateRequest {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<pb::GetrouteRequest> for requests::GetrouteRequest {
fn from(c: pb::GetrouteRequest) -> Self {
Self {
@@ -8221,7 +8261,7 @@ impl From<pb::PluginRequest> for requests::PluginRequest {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<pb::RenepaystatusRequest> for requests::RenepaystatusRequest {
fn from(c: pb::RenepaystatusRequest) -> Self {
Self {
@@ -8230,7 +8270,7 @@ impl From<pb::RenepaystatusRequest> for requests::RenepaystatusRequest {
}
}
-#[allow(unused_variables)]
+#[allow(unused_variables,deprecated)]
impl From<pb::RenepayRequest> for requests::RenepayRequest {
fn from(c: pb::RenepayRequest) -> Self {
Self {
diff --git a/cln-grpc/src/server.rs b/cln-grpc/src/server.rs
index 61576a9c..34e1fd73 100644
--- a/cln-grpc/src/server.rs
+++ b/cln-grpc/src/server.rs
@@ -1175,6 +1175,7 @@ impl Node for Server
request: tonic::Request<pb::PayRequest>,
) -> Result<tonic::Response<pb::PayResponse>, tonic::Status> {
let req = request.into_inner();
+ #[allow(deprecated)]
let req: requests::PayRequest = req.into();
debug!("Client asked for pay");
trace!("pay request: {:?}", req);
@@ -1399,6 +1400,7 @@ impl Node for Server
request: tonic::Request<pb::KeysendRequest>,
) -> Result<tonic::Response<pb::KeysendResponse>, tonic::Status> {
let req = request.into_inner();
+ #[allow(deprecated)]
let req: requests::KeysendRequest = req.into();
debug!("Client asked for key_send");
trace!("key_send request: {:?}", req);
@@ -2231,6 +2233,7 @@ impl Node for Server
request: tonic::Request<pb::GetrouteRequest>,
) -> Result<tonic::Response<pb::GetrouteResponse>, tonic::Status> {
let req = request.into_inner();
+ #[allow(deprecated)]
let req: requests::GetrouteRequest = req.into();
debug!("Client asked for get_route");
trace!("get_route request: {:?}", req);
@@ -2743,6 +2746,7 @@ impl Node for Server
request: tonic::Request<pb::RenepaystatusRequest>,
) -> Result<tonic::Response<pb::RenepaystatusResponse>, tonic::Status> {
let req = request.into_inner();
+ #[allow(deprecated)]
let req: requests::RenepaystatusRequest = req.into();
debug!("Client asked for rene_pay_status");
trace!("rene_pay_status request: {:?}", req);
@@ -2775,6 +2779,7 @@ impl Node for Server
request: tonic::Request<pb::RenepayRequest>,
) -> Result<tonic::Response<pb::RenepayResponse>, tonic::Status> {
let req = request.into_inner();
+ #[allow(deprecated)]
let req: requests::RenepayRequest = req.into();
debug!("Client asked for rene_pay");
trace!("rene_pay request: {:?}", req);
diff --git a/cln-rpc/src/model.rs b/cln-rpc/src/model.rs
index 42f11ef3..43c7d050 100644
--- a/cln-rpc/src/model.rs
+++ b/cln-rpc/src/model.rs
@@ -8,6 +8,8 @@
// Do not edit this file, it'll be overwritten. Rather edit the schema that
// this file was generated from
+#![allow(deprecated)]
+
//! A collection of models to describe [requests] and [responses].
//!
use serde::{Deserialize, Serialize};
@@ -1575,32 +1577,46 @@ pub mod requests {
"makesecret"
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PayRequest {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub amount_msat: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub exemptfee: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub localinvreqid: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub maxdelay: Option<u16>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub maxfee: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub maxfeepercent: Option<f64>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub partial_msat: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub retry_for: Option<u16>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub riskfactor: Option<f64>,
+ #[deprecated]
#[serde(skip_serializing_if = "crate::is_none_or_empty")]
pub exclude: Option<Vec<String>>,
+ #[deprecated]
pub bolt11: String,
}
@@ -1805,25 +1821,36 @@ pub mod requests {
"withdraw"
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct KeysendRequest {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub exemptfee: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub extratlvs: Option<TlvStream>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub maxdelay: Option<u32>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub maxfee: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub maxfeepercent: Option<f64>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub retry_for: Option<u32>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub routehints: Option<RoutehintList>,
+ #[deprecated]
pub amount_msat: Amount,
+ #[deprecated]
pub destination: PublicKey,
}
@@ -2726,20 +2753,29 @@ pub mod requests {
"funderupdate"
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct GetrouteRequest {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub cltv: Option<u32>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub fromid: Option<PublicKey>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub fuzzpercent: Option<u32>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub maxhops: Option<u32>,
+ #[deprecated]
#[serde(skip_serializing_if = "crate::is_none_or_empty")]
pub exclude: Option<Vec<String>>,
+ #[deprecated]
pub amount_msat: Amount,
+ #[deprecated]
pub id: PublicKey,
+ #[deprecated]
pub riskfactor: u64,
}
@@ -3384,8 +3420,10 @@ pub mod requests {
"plugin"
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct RenepaystatusRequest {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub invstring: Option<String>,
}
@@ -3407,24 +3445,34 @@ pub mod requests {
"renepaystatus"
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct RenepayRequest {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub amount_msat: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub dev_use_shadow: Option<bool>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub maxdelay: Option<u32>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub maxfee: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub retry_for: Option<u32>,
+ #[deprecated]
#[serde(skip_serializing_if = "crate::is_none_or_empty")]
pub exclude: Option<Vec<String>>,
+ #[deprecated]
pub invstring: String,
}
@@ -6461,8 +6509,10 @@ pub mod responses {
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct GetemergencyrecoverdataResponse {
- pub backed_up_channel_ids: Vec<Sha256>,
- pub can_create_penalty: bool,
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub can_create_penalty: Option<bool>,
+ #[serde(skip_serializing_if = "crate::is_none_or_empty")]
+ pub backed_up_channel_ids: Option<Vec<Sha256>>,
pub filedata: String,
}
@@ -6986,6 +7036,7 @@ pub mod responses {
}
/// ['Status of payment.']
+ #[deprecated]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum PayStatus {
@@ -7019,20 +7070,29 @@ pub mod responses {
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct PayResponse {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub destination: Option<PublicKey>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub warning_partial_completion: Option<String>,
- // Path `Pay.status`
- pub status: PayStatus,
+ #[deprecated]
pub amount_msat: Amount,
+ #[deprecated]
pub amount_sent_msat: Amount,
+ #[deprecated]
pub created_at: f64,
+ #[deprecated]
pub parts: u32,
+ #[deprecated]
pub payment_hash: Sha256,
+ #[deprecated]
pub payment_preimage: Secret,
+ // Path `Pay.status`
+ pub status: PayStatus,
}
impl TryFrom<Response> for PayResponse {
@@ -7401,6 +7461,7 @@ pub mod responses {
}
/// ['Status of payment.']
+ #[deprecated]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum KeysendStatus {
@@ -7426,20 +7487,29 @@ pub mod responses {
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct KeysendResponse {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub destination: Option<PublicKey>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub warning_partial_completion: Option<String>,
- // Path `KeySend.status`
- pub status: KeysendStatus,
+ #[deprecated]
pub amount_msat: Amount,
+ #[deprecated]
pub amount_sent_msat: Amount,
+ #[deprecated]
pub created_at: f64,
+ #[deprecated]
pub parts: u32,
+ #[deprecated]
pub payment_hash: Sha256,
+ #[deprecated]
pub payment_preimage: Secret,
+ // Path `KeySend.status`
+ pub status: KeysendStatus,
}
impl TryFrom<Response> for KeysendResponse {
@@ -7718,9 +7788,6 @@ pub mod responses {
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct ListpeerchannelsChannels {
- #[deprecated]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub max_total_htlc_in_msat: Option<Amount>,
#[serde(skip_serializing_if = "Option::is_none")]
pub alias: Option<ListpeerchannelsChannelsAlias>,
#[serde(skip_serializing_if = "Option::is_none")]
@@ -8051,9 +8118,6 @@ pub mod responses {
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct DecodeInvreqPaths {
- #[deprecated]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub blinding: Option<PublicKey>,
#[serde(skip_serializing_if = "Option::is_none")]
pub first_node_id: Option<PublicKey>,
#[serde(skip_serializing_if = "Option::is_none")]
@@ -8067,9 +8131,6 @@ pub mod responses {
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct DecodeOfferPaths {
- #[deprecated]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub blinding: Option<PublicKey>,
#[serde(skip_serializing_if = "Option::is_none")]
pub first_node_id: Option<PublicKey>,
#[serde(skip_serializing_if = "Option::is_none")]
@@ -8146,12 +8207,6 @@ pub mod responses {
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct DecodeResponse {
- #[deprecated]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub offer_node_id: Option<PublicKey>,
- #[deprecated]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub warning_missing_offer_node_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub amount_msat: Option<Amount>,
#[serde(skip_serializing_if = "Option::is_none")]
@@ -8532,12 +8587,6 @@ pub mod responses {
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct FeeratesPerkb {
- #[deprecated]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub delayed_to_us: Option<u32>,
- #[deprecated]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub htlc_resolution: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mutual_close: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
@@ -8565,12 +8614,6 @@ pub mod responses {
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct FeeratesPerkw {
- #[deprecated]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub delayed_to_us: Option<u32>,
- #[deprecated]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub htlc_resolution: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub mutual_close: Option<u32>,
#[serde(skip_serializing_if = "Option::is_none")]
@@ -8959,6 +9002,7 @@ pub mod responses {
}
/// ['The features understood by the destination node.']
+ #[deprecated]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum GetrouteRouteStyle {
@@ -8984,19 +9028,27 @@ pub mod responses {
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct GetrouteRoute {
- // Path `GetRoute.route[].style`
- pub style: GetrouteRouteStyle,
+ #[deprecated]
pub amount_msat: Amount,
+ #[deprecated]
pub channel: ShortChannelId,
+ #[deprecated]
pub delay: u32,
+ #[deprecated]
pub direction: u32,
+ #[deprecated]
pub id: PublicKey,
+ // Path `GetRoute.route[].style`
+ pub style: GetrouteRouteStyle,
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct GetrouteResponse {
+ #[deprecated]
pub route: Vec<GetrouteRoute>,
}
@@ -9625,6 +9677,7 @@ pub mod responses {
}
/// ['Status of payment.']
+ #[deprecated]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum RenepaystatusPaystatusStatus {
@@ -9658,29 +9711,42 @@ pub mod responses {
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct RenepaystatusPaystatus {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub amount_sent_msat: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub destination: Option<PublicKey>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub parts: Option<u32>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_preimage: Option<Secret>,
+ #[deprecated]
#[serde(skip_serializing_if = "crate::is_none_or_empty")]
pub notes: Option<Vec<String>>,
- // Path `RenePayStatus.paystatus[].status`
- pub status: RenepaystatusPaystatusStatus,
+ #[deprecated]
pub amount_msat: Amount,
+ #[deprecated]
pub bolt11: String,
+ #[deprecated]
pub created_at: f64,
+ #[deprecated]
pub groupid: u32,
+ #[deprecated]
pub payment_hash: Sha256,
+ // Path `RenePayStatus.paystatus[].status`
+ pub status: RenepaystatusPaystatusStatus,
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct RenepaystatusResponse {
+ #[deprecated]
pub paystatus: Vec<RenepaystatusPaystatus>,
}
@@ -9696,6 +9762,7 @@ pub mod responses {
}
/// ['Status of payment.']
+ #[deprecated]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum RenepayStatus {
@@ -9729,24 +9796,35 @@ pub mod responses {
}
}
+ #[deprecated = "deprecated since CLN v26.06"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct RenepayResponse {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub bolt11: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub bolt12: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub destination: Option<PublicKey>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub groupid: Option<u64>,
- // Path `RenePay.status`
- pub status: RenepayStatus,
+ #[deprecated]
pub amount_msat: Amount,
+ #[deprecated]
pub amount_sent_msat: Amount,
+ #[deprecated]
pub created_at: f64,
+ #[deprecated]
pub parts: u32,
+ #[deprecated]
pub payment_hash: Sha256,
+ #[deprecated]
pub payment_preimage: Secret,
+ // Path `RenePay.status`
+ pub status: RenepayStatus,
}
impl TryFrom<Response> for RenepayResponse {
@@ -10181,6 +10259,7 @@ pub mod responses {
}
/// ['Status of the payment.', 'Still ongoing, completed, failed locally, or failed after forwarding.', "Whether it's paid, unpaid or unpayable."]
+ #[deprecated]
#[derive(Copy, Clone, Debug, Deserialize, Serialize, PartialEq, Eq)]
#[allow(non_camel_case_types)]
pub enum WaitDetailsStatus {
@@ -10238,28 +10317,40 @@ pub mod responses {
}
}
+ #[deprecated = "deprecated since CLN v25.05"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct WaitDetails {
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub bolt11: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub bolt12: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub groupid: Option<u64>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub in_channel: Option<ShortChannelId>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub in_htlc_id: Option<u64>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub in_msat: Option<Amount>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub out_channel: Option<ShortChannelId>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub partid: Option<u64>,
+ #[deprecated]
#[serde(skip_serializing_if = "Option::is_none")]
pub payment_hash: Option<Sha256>,
#[serde(skip_serializing_if = "Option::is_none")]
@@ -10611,30 +10702,15 @@ pub mod responses {
}
}
- #[derive(Clone, Debug, Deserialize, Serialize)]
- pub struct ListconfigsConfigsExperimentaloffers {
- pub set: bool,
- pub source: String,
- }
-
- #[derive(Clone, Debug, Deserialize, Serialize)]
- pub struct ListconfigsConfigsExperimentalonionmessages {
- pub set: bool,
- pub source: String,
- }
-
+ #[deprecated = "deprecated since CLN v26.04"]
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct ListconfigsConfigsExperimentalsplicing {
+ #[deprecated]
pub set: bool,
+ #[deprecated]
pub source: String,
}
- #[derive(Clone, Debug, Deserialize, Serialize)]
- pub struct ListconfigsConfigsMaxlocktimeblocks {
- pub source: String,
- pub value_int: u32,
- }
-
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct ListconfigsConfigsAllowdeprecatedapis {
pub source: String,
@@ -11117,22 +11193,10 @@ pub mod responses {
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct ListconfigsConfigs {
- #[deprecated]
- #[serde(rename = "experimental-offers")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub experimental_offers: Option<ListconfigsConfigsExperimentaloffers>,
- #[deprecated]
- #[serde(rename = "experimental-onion-messages")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub experimental_onion_messages: Option<ListconfigsConfigsExperimentalonionmessages>,
#[deprecated]
#[serde(rename = "experimental-splicing")]
#[serde(skip_serializing_if = "Option::is_none")]
pub experimental_splicing: Option<ListconfigsConfigsExperimentalsplicing>,
- #[deprecated]
- #[serde(rename = "max-locktime-blocks")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub max_locktime_blocks: Option<ListconfigsConfigsMaxlocktimeblocks>,
#[serde(rename = "allow-deprecated-apis")]
#[serde(skip_serializing_if = "Option::is_none")]
pub allow_deprecated_apis: Option<ListconfigsConfigsAllowdeprecatedapis>,
diff --git a/contrib/msggen/msggen/gen/grpc/proto.py b/contrib/msggen/msggen/gen/grpc/proto.py
index 3f2b981a..6f058b7a 100644
--- a/contrib/msggen/msggen/gen/grpc/proto.py
+++ b/contrib/msggen/msggen/gen/grpc/proto.py
@@ -173,7 +173,8 @@ class GrpcGenerator(IGenerator):
for i, v in self.enumerate_enum(typename_override(e.typename), e.variants):
self.logger.debug(f"Generating enum variant {v}")
- self.write(f"{prefix}\t{v.normalized()} = {i};\n", False)
+ depri = " [deprecated = true]" if e.deprecated else ""
+ self.write(f"{prefix}\t{v.normalized()} = {i}{depri};\n", False)
self.write(f"""{prefix}}}\n""", False)
@@ -202,24 +203,25 @@ class GrpcGenerator(IGenerator):
continue
opt = "optional " if f.optional and not (isinstance(f, PrimitiveField) and f.typename == "string_map") else ""
+ depri = " [deprecated = true]" if f.deprecated else ""
if isinstance(f, ArrayField):
typename = f.override(
typemap.get(f.itemtype.typename, f.itemtype.typename)
)
- self.write(f"\trepeated {typename} {f.normalized()} = {i};\n", False)
+ self.write(f"\trepeated {typename} {f.normalized()} = {i}{depri};\n", False)
elif isinstance(f, PrimitiveField):
typename = f.override(typemap.get(f.typename, f.typename))
typename = typename_override(typename)
- self.write(f"\t{opt}{typename} {f.normalized()} = {i};\n", False)
+ self.write(f"\t{opt}{typename} {f.normalized()} = {i}{depri};\n", False)
elif isinstance(f, EnumField):
typename = f.override(f.typename)
typename = typename_override(typename)
- self.write(f"\t{opt}{typename} {f.normalized()} = {i};\n", False)
+ self.write(f"\t{opt}{typename} {f.normalized()} = {i}{depri};\n", False)
elif isinstance(f, CompositeField):
typename = f.override(f.typename)
typename = typename_override(typename)
- self.write(f"\t{opt}{typename} {f.normalized()} = {i};\n", False)
+ self.write(f"\t{opt}{typename} {f.normalized()} = {i}{depri};\n", False)
self.write(
"""}
diff --git a/contrib/msggen/msggen/gen/grpc/server.py b/contrib/msggen/msggen/gen/grpc/server.py
index 8018e8ec..97fffac3 100644
--- a/contrib/msggen/msggen/gen/grpc/server.py
+++ b/contrib/msggen/msggen/gen/grpc/server.py
@@ -125,13 +125,14 @@ class GrpcServerGenerator(IGenerator):
method.name = method.name.replace("-", "")
pbname_request = snake_to_camel(str(method.request.typename))
pbname_response = snake_to_camel(str(method.response.typename))
+ depri = """\n #[allow(deprecated)]""" if method.request.deprecated else ""
self.write(
f"""\
async fn {name}(
&self,
request: tonic::Request<pb::{pbname_request}>,
) -> Result<tonic::Response<pb::{pbname_response}>, tonic::Status> {{
- let req = request.into_inner();
+ let req = request.into_inner();{depri}
let req: requests::{method.request.typename} = req.into();
debug!("Client asked for {name}");
trace!("{name} request: {{:?}}", req);
diff --git a/contrib/msggen/msggen/gen/rpc/rust.py b/contrib/msggen/msggen/gen/rpc/rust.py
index 07b51a47..a24b6bc5 100644
--- a/contrib/msggen/msggen/gen/rpc/rust.py
+++ b/contrib/msggen/msggen/gen/rpc/rust.py
@@ -61,6 +61,8 @@ header = f"""
// Do not edit this file, it'll be overwritten. Rather edit the schema that
// this file was generated from
+#![allow(deprecated)]
+
//! A collection of models to describe [requests] and [responses].
//!
"""
@@ -276,6 +278,9 @@ def gen_composite(c, meta, override=None) -> Tuple[str, str]:
r = "".join([f[1] for f in fields])
+ if c.deprecated:
+ r += f"""#[deprecated = "deprecated since CLN {c.deprecated}"]\n"""
+
r += f"""#[derive(Clone, Debug, Deserialize, Serialize)]\npub struct {c.typename} {{\n"""
r += "".join([f[0] for f in fields])
diff --git a/contrib/msggen/msggen/patch.py b/contrib/msggen/msggen/patch.py
index cac192b2..a056dbb7 100644
--- a/contrib/msggen/msggen/patch.py
+++ b/contrib/msggen/msggen/patch.py
@@ -31,7 +31,7 @@ class Patch(ABC):
elif isinstance(f, model.CompositeField):
for c in f.fields:
self.visit(c, f, inherited_added=inherited_added, inherited_deprecated=inherited_deprecated)
- recurse(c, inherited_added=inherited_added, inherited_deprecated=inherited_deprecated)
+ recurse(c, inherited_added=c.added or f.added or inherited_added, inherited_deprecated=c.deprecated or f.deprecated or inherited_deprecated)
# Now visit ourselves
for m in service.methods:
@@ -169,10 +169,6 @@ class OptionalPatch(Patch):
if not f.required:
f.optional = True
- # Even if it's deprecated in future, reduce churn.
- if f.deprecated:
- f.optional = True
-
# Set to optional if support has been added recently
# This ensures generated code will run both on
# newer and older versions of core lightning
@@ -182,6 +178,8 @@ class OptionalPatch(Patch):
if parent is not None:
if parent.added == f.added:
return
+ if f.deprecated and f.deprecated != parent.deprecated:
+ f.optional = True
added = self.version_to_number(f.added)
if added >= self.supported():
diff --git a/contrib/msggen/msggen/schema.json b/contrib/msggen/msggen/schema.json
index 1d49a41f..66c613a0 100644
--- a/contrib/msggen/msggen/schema.json
+++ b/contrib/msggen/msggen/schema.json
@@ -8295,16 +8295,6 @@
"which end of the first_scid is the start of the path"
]
},
- "blinding": {
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "type": "pubkey",
- "description": [
- "Blinding factor for this path."
- ]
- },
"first_path_key": {
"added": "v24.11",
"type": "pubkey",
@@ -8350,16 +8340,6 @@
"The blinded path has 0 hops."
]
},
- "offer_node_id": {
- "type": "pubkey",
- "deprecated": [
- "v24.08",
- "v24.11"
- ],
- "description": [
- "Obsolete name for offer_issuer_id."
- ]
- },
"offer_issuer_id": {
"type": "pubkey",
"added": "v24.08",
@@ -8533,16 +8513,6 @@
"quantity_max": {},
"unknown_offer_tlvs": {},
"recurrence": {},
- "warning_missing_offer_node_id": {
- "type": "string",
- "deprecated": [
- "v24.08",
- "v24.11"
- ],
- "description": [
- "`offer_node_id` is not present."
- ]
- },
"warning_missing_offer_issuer_id": {
"type": "string",
"added": "v24.08",
@@ -8735,16 +8705,6 @@
"Path key to deliver to first hop on this path."
]
},
- "blinding": {
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "type": "pubkey",
- "description": [
- "Blinding factor for this path."
- ]
- },
"path": {
"type": "array",
"description": [
@@ -8776,16 +8736,6 @@
}
}
},
- "offer_node_id": {
- "type": "pubkey",
- "deprecated": [
- "v24.08",
- "v24.11"
- ],
- "description": [
- "Public key of the offering node."
- ]
- },
"offer_issuer_id": {
"type": "pubkey",
"added": "v24.08",
@@ -8957,17 +8907,6 @@
"which end of the first_scid is the start of the path"
]
},
- "blinding": {
- "added": "v24.08",
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "type": "pubkey",
- "description": [
- "Blinding factor for this path."
- ]
- },
"first_path_key": {
"added": "v24.11",
"type": "pubkey",
@@ -9047,6 +8986,7 @@
},
"invreq_recurrence_cancel": {
"type": "boolean",
+ "added": "v26.06",
"enum": [
true
],
@@ -9209,12 +9149,14 @@
},
"warning_invreq_recurrence_cancel_without_counter": {
"type": "string",
+ "added": "v26.06",
"description": [
"`invreq_recurrence_cancel` is present, but `invreq_recurrence_counter` isn't."
]
},
"warning_invreq_recurrence_cancel_with_zero_counter": {
"type": "string",
+ "added": "v26.06",
"description": [
"`invreq_recurrence_cancel` is present, but `invreq_recurrence_counter` is 0."
]
@@ -9389,16 +9331,6 @@
"which end of the first_scid is the start of the path"
]
},
- "blinding": {
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "type": "pubkey",
- "description": [
- "Blinding factor for this path."
- ]
- },
"first_path_key": {
"added": "v24.11",
"type": "pubkey",
@@ -9437,16 +9369,6 @@
}
}
},
- "offer_node_id": {
- "type": "pubkey",
- "deprecated": [
- "v24.08",
- "v24.11"
- ],
- "description": [
- "Public key of the offering node."
- ]
- },
"offer_issuer_id": {
"type": "pubkey",
"added": "v24.08",
@@ -9618,17 +9540,6 @@
"which end of the first_scid is the start of the path"
]
},
- "blinding": {
- "added": "v24.08",
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "type": "pubkey",
- "description": [
- "Blinding factor for this path."
- ]
- },
"first_path_key": {
"added": "v24.11",
"type": "pubkey",
@@ -9740,16 +9651,6 @@
"which end of the first_scid is the start of the path"
]
},
- "blinding": {
- "type": "pubkey",
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "description": [
- "Blinding factor for this path."
- ]
- },
"first_path_key": {
"added": "v24.11",
"type": "pubkey",
@@ -10514,16 +10415,6 @@
"which end of the first_scid is the start of the path"
]
},
- "blinding": {
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "type": "pubkey",
- "description": [
- "Blinding factor for this path."
- ]
- },
"first_path_key": {
"added": "v24.11",
"type": "pubkey",
@@ -10642,17 +10533,6 @@
"which end of the first_scid is the start of the path"
]
},
- "blinding": {
- "added": "v24.08",
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "type": "pubkey",
- "description": [
- "Blinding factor for this path."
- ]
- },
"first_path_key": {
"added": "v24.11",
"type": "pubkey",
@@ -10752,16 +10632,6 @@
"which end of the first_scid is the start of the path"
]
},
- "blinding": {
- "type": "pubkey",
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "description": [
- "Blinding factor for this path."
- ]
- },
"first_path_key": {
"added": "v24.11",
"type": "pubkey",
@@ -10932,6 +10802,7 @@
},
"proof_preimage": {
"type": "hex",
+ "added": "v26.06",
"minLength": 64,
"maxLength": 64,
"description": [
@@ -10940,6 +10811,7 @@
},
"proof_omitted_tlvs": {
"type": "array",
+ "added": "v26.06",
"description": [
"TLV type markers for fields omitted from the proof."
],
@@ -10949,6 +10821,7 @@
},
"proof_missing_hashes": {
"type": "array",
+ "added": "v26.06",
"description": [
"Merkle hashes needed to reconstruct omitted subtrees."
],
@@ -10958,6 +10831,7 @@
},
"proof_leaf_hashes": {
"type": "array",
+ "added": "v26.06",
"description": [
"Nonce hashes for each disclosed non-signature TLV field."
],
@@ -10967,18 +10841,21 @@
},
"proof_note": {
"type": "string",
+ "added": "v26.06",
"description": [
"Optional note attached to the proof by the payer."
]
},
"proof_signature": {
"type": "bip340sig",
+ "added": "v26.06",
"description": [
"BIP-340 signature of `invreq_payer_id` over the proof."
]
},
"unknown_payer_proof_tlvs": {
"type": "array",
+ "added": "v26.06",
"description": [
"Any extra fields we didn't know how to parse."
],
@@ -13552,26 +13429,6 @@
"Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was negotiated)."
]
},
- "delayed_to_us": {
- "type": "u32",
- "deprecated": [
- "v23.05",
- "v24.05"
- ],
- "description": [
- "Feerate for returning unilateral close funds to our wallet."
- ]
- },
- "htlc_resolution": {
- "type": "u32",
- "deprecated": [
- "v23.05",
- "v24.05"
- ],
- "description": [
- "Feerate for returning unilateral close HTLC outputs to our wallet."
- ]
- },
"penalty": {
"type": "u32",
"description": [
@@ -13683,26 +13540,6 @@
"Feerate for commitment_transaction in a live channel which we originally funded (if anchor_outputs was negotiated)."
]
},
- "delayed_to_us": {
- "type": "u32",
- "deprecated": [
- "v23.05",
- "v24.05"
- ],
- "description": [
- "Feerate for returning unilateral close funds to our wallet."
- ]
- },
- "htlc_resolution": {
- "type": "u32",
- "deprecated": [
- "v23.05",
- "v24.05"
- ],
- "description": [
- "Feerate for returning unilateral close HTLC outputs to our wallet."
- ]
- },
"penalty": {
"type": "u32",
"description": [
@@ -15654,12 +15491,14 @@
},
"can_create_penalty": {
"type": "boolean",
+ "added": "v26.06",
"description": [
"If false, you are using legacy file version, which can not create penalty transactions, kindly delete emergency.recover and restart the node!"
]
},
"backed_up_channel_ids": {
"type": "array",
+ "added": "v26.06",
"items": {
"type": "hash",
"description": [
@@ -16401,6 +16240,10 @@
"getroute.json": {
"$schema": "../rpc-schema-draft.json",
"type": "object",
+ "deprecated": [
+ "v26.06",
+ "v27.03"
+ ],
"rpc": "getroute",
"title": "Command for routing a payment (low-level)",
"description": [
@@ -17779,6 +17622,10 @@
"keysend.json": {
"$schema": "../rpc-schema-draft.json",
"type": "object",
+ "deprecated": [
+ "v26.06",
+ "v27.03"
+ ],
"rpc": "keysend",
"title": "Send funds to a node without an invoice",
"description": [
@@ -20445,58 +20292,6 @@
}
}
},
- "experimental-onion-messages": {
- "deprecated": [
- "v24.08",
- "v25.02"
- ],
- "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-offers": {
- "type": "object",
- "additionalProperties": false,
- "deprecated": [
- "v24.11",
- "v25.05"
- ],
- "required": [
- "set",
- "source"
- ],
- "properties": {
- "set": {
- "type": "boolean",
- "description": [
- "`true` if set in config or cmdline."
- ]
- },
- "source": {
- "type": "string",
- "description": [
- "Source of configuration setting."
- ]
- }
- }
- },
"experimental-shutdown-wrong-funding": {
"type": "object",
"additionalProperties": false,
@@ -20699,32 +20494,6 @@
}
}
},
- "max-locktime-blocks": {
- "type": "object",
- "deprecated": [
- "v24.05",
- "v24.11"
- ],
- "additionalProperties": false,
- "required": [
- "value_int",
- "source"
- ],
- "properties": {
- "value_int": {
- "type": "u32",
- "description": [
- "Field from config or cmdline, or default."
- ]
- },
- "source": {
- "type": "string",
- "description": [
- "Source of configuration setting."
- ]
- }
- }
- },
"funding-confirms": {
"type": "object",
"additionalProperties": false,
@@ -25684,16 +25453,6 @@
"Minimum amount for an output on the channel transactions."
]
},
- "max_total_htlc_in_msat": {
- "type": "msat",
- "description": [
- "Max amount accept in a single payment. This field is deprecated, use instead our_max_htlc_value_in_flight_msat"
- ],
- "deprecated": [
- "v25.02",
- "v26.04"
- ]
- },
"their_max_htlc_value_in_flight_msat": {
"type": "msat",
"added": "v25.02",
@@ -26177,7 +25936,6 @@
"fee_base_msat": {},
"fee_proportional_millionths": {},
"dust_limit_msat": {},
- "max_total_htlc_in_msat": {},
"our_max_total_htlc_in_msat": {},
"their_max_total_htlc_in_msat": {},
"their_reserve_msat": {},
@@ -26278,7 +26036,6 @@
"fee_base_msat": {},
"fee_proportional_millionths": {},
"dust_limit_msat": {},
- "max_total_htlc_in_msat": {},
"our_max_total_htlc_in_msat": {},
"their_max_total_htlc_in_msat": {},
"their_reserve_msat": {},
@@ -26378,7 +26135,6 @@
"fee_base_msat": {},
"fee_proportional_millionths": {},
"dust_limit_msat": {},
- "max_total_htlc_in_msat": {},
"our_max_total_htlc_in_msat": {},
"their_max_total_htlc_in_msat": {},
"their_reserve_msat": {},
@@ -26480,7 +26236,6 @@
"fee_base_msat": {},
"fee_proportional_millionths": {},
"dust_limit_msat": {},
- "max_total_htlc_in_msat": {},
"our_max_total_htlc_in_msat": {},
"their_max_total_htlc_in_msat": {},
"their_reserve_msat": {},
@@ -26667,7 +26422,6 @@
"fee_base_msat": 1,
"fee_proportional_millionths": 10,
"dust_limit_msat": 546000,
- "max_total_htlc_in_msat": 18446744073709552000,
"their_max_htlc_value_in_flight_msat": 18446744073709552000,
"our_max_htlc_value_in_flight_msat": 18446744073709552000,
"their_reserve_msat": 10000000,
@@ -26798,7 +26552,6 @@
"fee_base_msat": 1,
"fee_proportional_millionths": 10,
"dust_limit_msat": 546000,
- "max_total_htlc_in_msat": 18446744073709552000,
"their_max_htlc_value_in_flight_msat": 18446744073709552000,
"our_max_htlc_value_in_flight_msat": 18446744073709552000,
"their_reserve_msat": 10000000,
@@ -26923,7 +26676,6 @@
"fee_base_msat": 1,
"fee_proportional_millionths": 10,
"dust_limit_msat": 546000,
- "max_total_htlc_in_msat": 18446744073709552000,
"their_max_htlc_value_in_flight_msat": 18446744073709552000,
"our_max_htlc_value_in_flight_msat": 18446744073709552000,
"their_reserve_msat": 546000,
@@ -27575,7 +27327,7 @@
"bolt12": {
"type": "string",
"description": [
- "The bolt12 string (if supplied for pay: **experimental-offers** only)."
+ "The bolt12 string (if supplied for pay)."
]
}
},
@@ -30607,6 +30359,10 @@
"pay.json": {
"$schema": "../rpc-schema-draft.json",
"type": "object",
+ "deprecated": [
+ "v26.06",
+ "v27.03"
+ ],
"rpc": "pay",
"title": "Command for sending a payment to a BOLT11/BOLT12 invoice",
"description": [
@@ -31965,6 +31721,10 @@
"rpc": "renepay",
"title": "Command for sending a payment to a BOLT11 invoice",
"added": "v23.08",
+ "deprecated": [
+ "v26.06",
+ "v27.03"
+ ],
"description": [
"WARNING: Deprecated, scheduled for removal in v27.03",
"",
@@ -32229,6 +31989,10 @@
"rpc": "renepaystatus",
"title": "Command for quering the status of previous renepay attempts",
"added": "v23.08",
+ "deprecated": [
+ "v26.06",
+ "v27.03"
+ ],
"description": [
"WARNING: Deprecated, scheduled for removal in v27.03",
"",
@@ -39278,12 +39042,14 @@
},
"label": {
"type": "string",
+ "added": "v26.06",
"description": [
"Attach a label to payments for which is returned in `listpays` and `listsendpays`. This is for your own use: it is not visible to the recipient."
]
},
"localinvreqid": {
"type": "hex",
+ "added": "v26.06",
"description": [
"`localinvreqid` is used by offers to link a payment attempt to a local `invoice_request` offer created by lightningd-invoicerequest(7). This ensures that we only make a single payment for an offer, and that the offer is marked `used` once paid."
]
@@ -39636,7 +39402,7 @@
],
"description": [
"The channel state, in particular \"CHANNELD_NORMAL\" and \"CHANNELD_AWAITING_SPLICE\" mean the channel can be used normally.",
- "The deprecated value 'unknown' is also present for new channels: after v26.04 this field will be omitted instead."
+ "The deprecated value 'unknown' was also present for new channels up until v26.04, it was removed in v26.06."
]
},
"new_state": {
diff --git a/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py b/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py
index e9efbdac..97bc5c2c 100644
--- a/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py
+++ b/contrib/pyln-grpc-proto/pyln/grpc/node_pb2.py
@@ -25,15 +25,279 @@ _sym_db = _symbol_database.Default()
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\"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\"\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\"\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\"\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\"\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\"\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\"M\n\'AutocleanonceAutocleanSucceededforwards\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\"I\n#AutocleanonceAutocleanSucceededpays\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\"H\n\"AutocleanonceAutocleanPaidinvoices\x12\x0f\n\x07\x63leaned\x18\x01 \x01(\x04\x12\x11\n\tuncleaned\x18\x02 \x01(\x04\"K\n%AutocleanonceAutocleanExpiredinvoices\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\"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\"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\"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\"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\"`\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\"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\"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\"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\"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\"n\n\x1fGetemergencyrecoverdataResponse\x12\x10\n\x08\x66iledata\x18\x01 \x01(\x0c\x12\x1a\n\x12\x63\x61n_create_penalty\x18\x02 \x01(\x08\x12\x1d\n\x15\x62\x61\x63ked_up_channel_ids\x18\x03 \x03(\x0c\"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\x12ListsendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"-\n\x11ListsendpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\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\"\x93\x04\n\nPayRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmaxfeepercent\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x03\x88\x01\x01\x12#\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x17\n\nriskfactor\x18\x08 \x01(\x01H\x05\x88\x01\x01\x12\x0f\n\x07\x65xclude\x18\n \x03(\t\x12 \n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0c \x01(\tH\x07\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\r \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0e \x01(\x0cH\t\x88\x01\x01\x12&\n\x0cpartial_msat\x18\x0f \x01(\x0b\x32\x0b.cln.AmountH\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\"\xfb\x02\n\x0bPayResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x18\n\x0b\x64\x65stination\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x12\n\ncreated_at\x18\x04 \x01(\x01\x12\r\n\x05parts\x18\x05 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\x1awarning_partial_completion\x18\x08 \x01(\tH\x01\x88\x01\x01\x12*\n\x06status\x18\t \x01(\x0e\x32\x1a.cln.PayResponse.PayStatus\"2\n\tPayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x12\x0b\n\x07PENDING\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\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\"\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\"\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\"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\"\xaf\x03\n\x0eKeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12\x12\n\x05label\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rmaxfeepercent\x18\x04 \x01(\x01H\x01\x88\x01\x01\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x03\x88\x01\x01\x12#\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12+\n\nroutehints\x18\x08 \x01(\x0b\x32\x12.cln.RoutehintListH\x05\x88\x01\x01\x12&\n\textratlvs\x18\t \x01(\x0b\x32\x0e.cln.TlvStreamH\x06\x88\x01\x01\x12 \n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\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\"\xf2\x02\n\x0fKeysendResponse\x12\x18\n\x10payment_preimage\x18\x01 \x01(\x0c\x12\x18\n\x0b\x64\x65stination\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x12\n\ncreated_at\x18\x04 \x01(\x01\x12\r\n\x05parts\x18\x05 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x10\x61mount_sent_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\x1awarning_partial_completion\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x32\n\x06status\x18\t \x01(\x0e\x32\".cln.KeysendResponse.KeysendStatus\"\x1d\n\rKeysendStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\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\"\xf4\x19\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:\n\x07\x66\x65\x65rate\x18\x06 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFeerateH\x01\x88\x01\x01\x12\x12\n\x05owner\x18\x07 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x03\x88\x01\x01\x12\x17\n\nchannel_id\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\n \x01(\x0cH\x05\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x0b \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\x0c \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\r \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0e \x01(\tH\t\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0f \x01(\rH\n\x88\x01\x01\x12\x37\n\x08inflight\x18\x10 \x03(\x0b\x32%.cln.ListpeerchannelsChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x11 \x01(\x0cH\x0b\x88\x01\x01\x12\x14\n\x07private\x18\x12 \x01(\x08H\x0c\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\r\x88\x01\x01\x12:\n\x07\x66unding\x18\x16 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFundingH\x0e\x88\x01\x01\x12$\n\nto_us_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x0f\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x19 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12$\n\ntotal_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x12\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x1c \x01(\rH\x14\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x15\x88\x01\x01\x12\x30\n\x16max_total_htlc_in_msat\x18\x1e \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\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\x42\x0f\n\r_scratch_txidB\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\x19\n\x17_max_total_htlc_in_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\"\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\"?\n\x1fListpeerchannelsChannelsFeerate\x12\r\n\x05perkw\x18\x01 \x01(\r\x12\r\n\x05perkb\x18\x02 \x01(\r\"\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\"\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\"]\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\"\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\"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\"\xd0\n\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\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\x04\x88\x01\x01\x12/\n\x15\x66unding_fee_rcvd_msat\x18\x10 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12-\n\x13\x66unding_pushed_msat\x18\x11 \x01(\x0b\x32\x0b.cln.AmountH\x06\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\x07\x88\x01\x01\x12\x32\n\x18last_commitment_fee_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x08\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\t\x88\x01\x01\x12\x19\n\x0c\x66unding_psbt\x18\x1a \x01(\tH\n\x88\x01\x01\x12\x1d\n\x10\x66unding_withheld\x18\x1b \x01(\x08H\x0b\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\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\"\x1f\n\rDecodeRequest\x12\x0e\n\x06string\x18\x01 \x01(\t\"\xf7,\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\x1a\n\roffer_node_id\x18\x11 \x01(\x0cH\x0c\x88\x01\x01\x12*\n\x1dwarning_missing_offer_node_id\x18\x14 \x01(\tH\r\x88\x01\x01\x12.\n!warning_invalid_offer_description\x18\x15 \x01(\tH\x0e\x88\x01\x01\x12.\n!warning_missing_offer_description\x18\x16 \x01(\tH\x0f\x88\x01\x01\x12+\n\x1ewarning_invalid_offer_currency\x18\x17 \x01(\tH\x10\x88\x01\x01\x12)\n\x1cwarning_invalid_offer_issuer\x18\x18 \x01(\tH\x11\x88\x01\x01\x12\x1c\n\x0finvreq_metadata\x18\x19 \x01(\x0cH\x12\x88\x01\x01\x12\x1c\n\x0finvreq_payer_id\x18\x1a \x01(\x0cH\x13\x88\x01\x01\x12\x19\n\x0cinvreq_chain\x18\x1b \x01(\x0cH\x14\x88\x01\x01\x12,\n\x12invreq_amount_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x15\x88\x01\x01\x12\x1c\n\x0finvreq_features\x18\x1d \x01(\x0cH\x16\x88\x01\x01\x12\x1c\n\x0finvreq_quantity\x18\x1e \x01(\x04H\x17\x88\x01\x01\x12\x1e\n\x11invreq_payer_note\x18\x1f \x01(\tH\x18\x88\x01\x01\x12&\n\x19invreq_recurrence_counter\x18 \x01(\rH\x19\x88\x01\x01\x12$\n\x17invreq_recurrence_start\x18! \x01(\rH\x1a\x88\x01\x01\x12,\n\x1fwarning_missing_invreq_metadata\x18# \x01(\tH\x1b\x88\x01\x01\x12,\n\x1fwarning_missing_invreq_payer_id\x18$ \x01(\tH\x1c\x88\x01\x01\x12.\n!warning_invalid_invreq_payer_note\x18% \x01(\tH\x1d\x88\x01\x01\x12\x36\n)warning_missing_invoice_request_signature\x18& \x01(\tH\x1e\x88\x01\x01\x12\x36\n)warning_invalid_invoice_request_signature\x18\' \x01(\tH\x1f\x88\x01\x01\x12\x1f\n\x12invoice_created_at\x18) \x01(\x04H \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\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(\x04H0\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18= \x01(\x04H1\x88\x01\x01\x12\x12\n\x05payee\x18> \x01(\x0cH2\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18? \x01(\x0cH3\x88\x01\x01\x12\x1d\n\x10\x64\x65scription_hash\x18@ \x01(\x0cH4\x88\x01\x01\x12\"\n\x15min_final_cltv_expiry\x18\x41 \x01(\rH5\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x42 \x01(\x0cH6\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\x43 \x01(\x0cH7\x88\x01\x01\x12\x1f\n\x05\x65xtra\x18\x45 \x03(\x0b\x32\x10.cln.DecodeExtra\x12\x16\n\tunique_id\x18\x46 \x01(\tH8\x88\x01\x01\x12\x14\n\x07version\x18G \x01(\tH9\x88\x01\x01\x12\x13\n\x06string\x18H \x01(\tH:\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(\tHA\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18Q \x01(\x0cHB\x88\x01\x01\x12-\n\x06routes\x18R \x01(\x0b\x32\x18.cln.DecodeRoutehintListHC\x88\x01\x01\x12\x1c\n\x0foffer_issuer_id\x18S \x01(\x0cHD\x88\x01\x01\x12,\n\x1fwarning_missing_offer_issuer_id\x18T \x01(\tHE\x88\x01\x01\x12,\n\x0cinvreq_paths\x18U \x03(\x0b\x32\x16.cln.DecodeInvreqPaths\x12\'\n\x1awarning_empty_blinded_path\x18V \x01(\tHF\x88\x01\x01\x12=\n\x13invreq_bip_353_name\x18W \x01(\x0b\x32\x1b.cln.DecodeInvreqBip353NameHG\x88\x01\x01\x12\x35\n(warning_invreq_bip_353_name_name_invalid\x18X \x01(\tHH\x88\x01\x01\x12\x37\n*warning_invreq_bip_353_name_domain_invalid\x18Y \x01(\tHI\x88\x01\x01\x12%\n\x18invreq_recurrence_cancel\x18Z \x01(\x08HJ\x88\x01\x01\x12=\n0warning_invreq_recurrence_cancel_without_counter\x18[ \x01(\tHK\x88\x01\x01\x12?\n2warning_invreq_recurrence_cancel_with_zero_counter\x18\\ \x01(\tHL\x88\x01\x01\x12\x1b\n\x0eproof_preimage\x18] \x01(\x0cHM\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(\tHN\x88\x01\x01\x12\x1c\n\x0fproof_signature\x18\x62 \x01(\tHO\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\x10\n\x0e_offer_node_idB \n\x1e_warning_missing_offer_node_idB$\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\"\xec\x01\n\x10\x44\x65\x63odeOfferPaths\x12\x1a\n\rfirst_node_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x15\n\x08\x62linding\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x1b\n\x0e\x66irst_scid_dir\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x1b\n\x0e\x66irst_path_key\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x42\x10\n\x0e_first_node_idB\x0b\n\t_blindingB\x11\n\x0f_first_scid_dirB\r\n\x0b_first_scidB\x11\n\x0f_first_path_key\"\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\"\x97\x02\n\x11\x44\x65\x63odeInvreqPaths\x12\x1b\n\x0e\x66irst_scid_dir\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x15\n\x08\x62linding\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x1a\n\rfirst_node_id\x18\x03 \x01(\x0cH\x02\x88\x01\x01\x12\x17\n\nfirst_scid\x18\x04 \x01(\tH\x03\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\x04\x88\x01\x01\x42\x11\n\x0f_first_scid_dirB\x0b\n\t_blindingB\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\"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\"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\"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\"\xaa\x02\n\x0f\x44\x65\x63odeFallbacks\x12\x36\n)warning_invoice_fallbacks_version_invalid\x18\x01 \x01(\tH\x00\x88\x01\x01\x12;\n\titem_type\x18\x02 \x01(\x0e\x32(.cln.DecodeFallbacks.DecodeFallbacksType\x12\x11\n\x04\x61\x64\x64r\x18\x03 \x01(\tH\x01\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,\n*_warning_invoice_fallbacks_version_invalidB\x07\n\x05_addr\"(\n\x0b\x44\x65\x63odeExtra\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"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\";\n\x12\x44\x65\x63odeRestrictions\x12\x14\n\x0c\x61lternatives\x18\x01 \x03(\t\x12\x0f\n\x07summary\x18\x02 \x01(\t\"\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\"\xe4\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\x1a\n\rdelayed_to_us\x18\x06 \x01(\rH\x03\x88\x01\x01\x12\x1c\n\x0fhtlc_resolution\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x05\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\x06\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x07\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\x10\n\x0e_delayed_to_usB\x12\n\x10_htlc_resolutionB\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\"\xe4\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\x1a\n\rdelayed_to_us\x18\x06 \x01(\rH\x03\x88\x01\x01\x12\x1c\n\x0fhtlc_resolution\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x05\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\x06\x88\x01\x01\x12\x13\n\x06splice\x18\x0c \x01(\rH\x07\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\x10\n\x0e_delayed_to_usB\x12\n\x10_htlc_resolutionB\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\"\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\"%\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\"\x9d\x01\n\rGetlogRequest\x12\x32\n\x05level\x18\x01 \x01(\x0e\x32\x1e.cln.GetlogRequest.GetlogLevelH\x00\x88\x01\x01\"N\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\x06\n\x02IO\x10\x04\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\"\xec\x01\n\x0fGetrouteRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x12\n\nriskfactor\x18\x03 \x01(\x04\x12\x11\n\x04\x63ltv\x18\x04 \x01(\rH\x00\x88\x01\x01\x12\x13\n\x06\x66romid\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x18\n\x0b\x66uzzpercent\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x0f\n\x07\x65xclude\x18\x07 \x03(\t\x12\x14\n\x07maxhops\x18\x08 \x01(\rH\x03\x88\x01\x01\x12 \n\x0b\x61mount_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountB\x07\n\x05_cltvB\t\n\x07_fromidB\x0e\n\x0c_fuzzpercentB\n\n\x08_maxhops\"5\n\x10GetrouteResponse\x12!\n\x05route\x18\x01 \x03(\x0b\x32\x12.cln.GetrouteRoute\"\xc5\x01\n\rGetrouteRoute\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x0f\n\x07\x63hannel\x18\x02 \x01(\t\x12\x11\n\tdirection\x18\x03 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12\r\n\x05\x64\x65lay\x18\x05 \x01(\r\x12\x34\n\x05style\x18\x06 \x01(\x0e\x32%.cln.GetrouteRoute.GetrouteRouteStyle\"\x1d\n\x12GetrouteRouteStyle\x12\x07\n\x03TLV\x10\x00\"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\"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\"-\n\x11ListforwardsIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\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\"7\n\x0eListpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\")\n\rListpaysIndex\x12\x0b\n\x07\x43REATED\x10\x00\x12\x0b\n\x07UPDATED\x10\x01\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 Why this scored 19/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.