diff --git a/.msggen.json b/.msggen.json index 579e30c3e..677fa967a 100644 --- a/.msggen.json +++ b/.msggen.json @@ -28,6 +28,19 @@ "must-create": 0, "must-replace": 1 }, + "DecodeType": { + "bolt11 invoice": 3, + "bolt12 invoice": 1, + "bolt12 invoice_request": 2, + "bolt12 offer": 0, + "rune": 4 + }, + "DecodepayFallbacksType": { + "P2PKH": 0, + "P2SH": 1, + "P2WPKH": 2, + "P2WSH": 3 + }, "DelinvoiceStatus": { "expired": 1, "paid": 0, @@ -390,6 +403,147 @@ "Datastore.key[]": 1, "Datastore.string": 4 }, + "DecodeExtra": { + "Decode.extra[].data": 2, + "Decode.extra[].tag": 1 + }, + "DecodeFallbacks": { + "Decode.fallbacks[].warning_invoice_fallbacks_version_invalid": 1 + }, + "DecodeInvoice_fallbacks": { + "Decode.invoice_fallbacks[].address": 3, + "Decode.invoice_fallbacks[].hex": 2, + "Decode.invoice_fallbacks[].version": 1 + }, + "DecodeInvoice_pathsPath": { + "Decode.invoice_paths[].path[].blinded_node_id": 1, + "Decode.invoice_paths[].path[].encrypted_recipient_data": 2 + }, + "DecodeOffer_paths": { + "Decode.offer_paths[].blinding": 2, + "Decode.offer_paths[].first_node_id": 1, + "Decode.offer_paths[].path[]": 3 + }, + "DecodeOffer_recurrencePaywindow": { + "Decode.offer_recurrence.paywindow.proportional_amount": 3, + "Decode.offer_recurrence.paywindow.seconds_after": 2, + "Decode.offer_recurrence.paywindow.seconds_before": 1 + }, + "DecodeRequest": { + "Decode.string": 1 + }, + "DecodeResponse": { + "Decode.created_at": 60, + "Decode.currency_minor_unit": 8, + "Decode.description_hash": 64, + "Decode.expiry": 61, + "Decode.extra[]": 69, + "Decode.fallbacks[]": 59, + "Decode.hex": 75, + "Decode.invoice_amount_msat": 44, + "Decode.invoice_created_at": 41, + "Decode.invoice_fallbacks[]": 45, + "Decode.invoice_features": 46, + "Decode.invoice_node_id": 47, + "Decode.invoice_paths[]": 40, + "Decode.invoice_payment_hash": 43, + "Decode.invoice_recurrence_basetime": 48, + "Decode.invoice_relative_expiry": 42, + "Decode.invreq_amount_msat": 28, + "Decode.invreq_chain": 27, + "Decode.invreq_features": 29, + "Decode.invreq_metadata": 25, + "Decode.invreq_payer_id": 26, + "Decode.invreq_payer_note": 31, + "Decode.invreq_quantity": 30, + "Decode.invreq_recurrence_counter": 32, + "Decode.invreq_recurrence_start": 33, + "Decode.min_final_cltv_expiry": 65, + "Decode.offer_absolute_expiry": 14, + "Decode.offer_amount": 9, + "Decode.offer_amount_msat": 10, + "Decode.offer_chains[]": 4, + "Decode.offer_currency": 6, + "Decode.offer_description": 11, + "Decode.offer_features": 13, + "Decode.offer_id": 3, + "Decode.offer_issuer": 12, + "Decode.offer_metadata": 5, + "Decode.offer_node_id": 17, + "Decode.offer_paths[]": 16, + "Decode.offer_quantity_max": 15, + "Decode.offer_recurrence": 18, + "Decode.payee": 62, + "Decode.payment_hash": 63, + "Decode.payment_metadata": 67, + "Decode.payment_secret": 66, + "Decode.restrictions[]": 73, + "Decode.routes[][]": 68, + "Decode.string": 72, + "Decode.type": 1, + "Decode.unique_id": 70, + "Decode.unknown_invoice_request_tlvs[]": 34, + "Decode.unknown_invoice_tlvs[]": 49, + "Decode.unknown_offer_tlvs[]": 19, + "Decode.valid": 2, + "Decode.version": 71, + "Decode.warning_invalid_invoice_request_signature": 39, + "Decode.warning_invalid_invoice_signature": 58, + "Decode.warning_invalid_invreq_payer_note": 37, + "Decode.warning_invalid_offer_currency": 23, + "Decode.warning_invalid_offer_description": 21, + "Decode.warning_invalid_offer_issuer": 24, + "Decode.warning_missing_invoice_amount": 54, + "Decode.warning_missing_invoice_blindedpay": 51, + "Decode.warning_missing_invoice_created_at": 52, + "Decode.warning_missing_invoice_node_id": 56, + "Decode.warning_missing_invoice_paths": 50, + "Decode.warning_missing_invoice_payment_hash": 53, + "Decode.warning_missing_invoice_recurrence_basetime": 55, + "Decode.warning_missing_invoice_request_signature": 38, + "Decode.warning_missing_invoice_signature": 57, + "Decode.warning_missing_invreq_metadata": 35, + "Decode.warning_missing_invreq_payer_id": 36, + "Decode.warning_missing_offer_description": 22, + "Decode.warning_missing_offer_node_id": 20, + "Decode.warning_rune_invalid_utf8": 74, + "Decode.warning_unknown_offer_currency": 7 + }, + "DecodeRestrictions": { + "Decode.restrictions[].alternatives[]": 1, + "Decode.restrictions[].summary": 2 + }, + "DecodepayExtra": { + "DecodePay.extra[].data": 2, + "DecodePay.extra[].tag": 1 + }, + "DecodepayFallbacks": { + "DecodePay.fallbacks[].addr": 2, + "DecodePay.fallbacks[].hex": 3, + "DecodePay.fallbacks[].type": 1 + }, + "DecodepayRequest": { + "DecodePay.bolt11": 1, + "DecodePay.description": 2 + }, + "DecodepayResponse": { + "DecodePay.amount_msat": 5, + "DecodePay.created_at": 2, + "DecodePay.currency": 1, + "DecodePay.description": 8, + "DecodePay.description_hash": 9, + "DecodePay.expiry": 3, + "DecodePay.extra[]": 16, + "DecodePay.fallbacks[]": 14, + "DecodePay.features": 12, + "DecodePay.min_final_cltv_expiry": 10, + "DecodePay.payee": 4, + "DecodePay.payment_hash": 6, + "DecodePay.payment_metadata": 13, + "DecodePay.payment_secret": 11, + "DecodePay.routes[][]": 15, + "DecodePay.signature": 7 + }, "DeldatastoreRequest": { "DelDatastore.generation": 2, "DelDatastore.key": 3, @@ -1654,6 +1808,610 @@ "added": "pre-v0.10.1", "deprecated": false }, + "Decode": { + "added": "v23.05", + "deprecated": null + }, + "Decode.created_at": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.currency_minor_unit": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.description_hash": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.expiry": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.extra[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.extra[].data": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.extra[].tag": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.fallbacks[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.fallbacks[].warning_invoice_fallbacks_version_invalid": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.hex": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_amount_msat": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_created_at": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_fallbacks[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_fallbacks[].address": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_fallbacks[].hex": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_fallbacks[].version": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_features": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_node_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].blinding": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].first_node_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].path[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].path[].blinded_node_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].path[].encrypted_recipient_data": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].payinfo": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].payinfo.cltv_expiry_delta": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].payinfo.features": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].payinfo.fee_base_msat": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_paths[].payinfo.fee_proportional_millionths": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_payment_hash": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_recurrence_basetime": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invoice_relative_expiry": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invreq_amount_msat": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invreq_chain": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invreq_features": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invreq_metadata": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invreq_payer_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invreq_payer_note": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invreq_quantity": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invreq_recurrence_counter": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.invreq_recurrence_start": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.min_final_cltv_expiry": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_absolute_expiry": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_amount": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_amount_msat": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_chains[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_currency": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_description": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_features": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_issuer": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_metadata": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_node_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_paths[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_paths[].blinding": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_paths[].first_node_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_paths[].path[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_paths[].path[].blinded_node_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_paths[].path[].encrypted_recipient_data": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_quantity_max": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.basetime": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.limit": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.paywindow": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.paywindow.proportional_amount": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.paywindow.seconds_after": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.paywindow.seconds_before": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.period": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.start_any_period": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.time_unit": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.offer_recurrence.time_unit_name": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.payee": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.payment_hash": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.payment_metadata": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.payment_secret": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.restrictions[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.restrictions[].alternatives[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.restrictions[].summary": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.routes[][]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.routes[][].cltv_expiry_delta": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.routes[][].fee_base_msat": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.routes[][].fee_proportional_millionths": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.routes[][].pubkey": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.routes[][].short_channel_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.string": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.type": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unique_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_invoice_request_tlvs[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_invoice_request_tlvs[].length": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_invoice_request_tlvs[].type": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_invoice_request_tlvs[].value": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_invoice_tlvs[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_invoice_tlvs[].length": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_invoice_tlvs[].type": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_invoice_tlvs[].value": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_offer_tlvs[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_offer_tlvs[].length": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_offer_tlvs[].type": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.unknown_offer_tlvs[].value": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.valid": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.version": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_invalid_invoice_request_signature": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_invalid_invoice_signature": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_invalid_invreq_payer_note": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_invalid_offer_currency": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_invalid_offer_description": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_invalid_offer_issuer": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invoice_amount": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invoice_blindedpay": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invoice_created_at": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invoice_node_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invoice_paths": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invoice_payment_hash": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invoice_recurrence_basetime": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invoice_request_signature": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invoice_signature": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invreq_metadata": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_invreq_payer_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_offer_description": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_missing_offer_node_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_rune_invalid_utf8": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "Decode.warning_unknown_offer_currency": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay": { + "added": "v23.05", + "deprecated": null + }, + "DecodePay.amount_msat": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.bolt11": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.created_at": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.currency": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.description": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.description_hash": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.expiry": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.extra[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.extra[].data": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.extra[].tag": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.fallbacks[]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.fallbacks[].addr": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.fallbacks[].hex": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.fallbacks[].type": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.features": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.min_final_cltv_expiry": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.payee": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.payment_hash": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.payment_metadata": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.payment_secret": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.routes[][]": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.routes[][].cltv_expiry_delta": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.routes[][].fee_base_msat": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.routes[][].fee_proportional_millionths": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.routes[][].pubkey": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.routes[][].short_channel_id": { + "added": "pre-v0.10.1", + "deprecated": false + }, + "DecodePay.signature": { + "added": "pre-v0.10.1", + "deprecated": false + }, "DelDatastore": { "added": "pre-v0.10.1", "deprecated": null diff --git a/cln-grpc/proto/node.proto b/cln-grpc/proto/node.proto index 97e2f8c75..a8ebb7c84 100644 --- a/cln-grpc/proto/node.proto +++ b/cln-grpc/proto/node.proto @@ -47,6 +47,8 @@ service Node { rpc TxSend(TxsendRequest) returns (TxsendResponse) {} rpc ListPeerChannels(ListpeerchannelsRequest) returns (ListpeerchannelsResponse) {} rpc ListClosedChannels(ListclosedchannelsRequest) returns (ListclosedchannelsResponse) {} + rpc DecodePay(DecodepayRequest) returns (DecodepayResponse) {} + rpc Decode(DecodeRequest) returns (DecodeResponse) {} rpc Disconnect(DisconnectRequest) returns (DisconnectResponse) {} rpc Feerates(FeeratesRequest) returns (FeeratesResponse) {} rpc FundChannel(FundchannelRequest) returns (FundchannelResponse) {} @@ -267,6 +269,7 @@ message ListpeersPeersChannelsHtlcs { bytes payment_hash = 5; optional bool local_trimmed = 6; optional string status = 7; + HtlcState state = 8; } message ListfundsRequest { @@ -590,7 +593,6 @@ message InvoiceRequest { optional uint64 expiry = 7; repeated string fallbacks = 4; optional bytes preimage = 5; - optional bool exposeprivatechannels = 8; optional uint32 cltv = 6; optional bool deschashonly = 9; } @@ -1220,6 +1222,7 @@ message ListpeerchannelsChannelsHtlcs { optional bytes payment_hash = 5; optional bool local_trimmed = 6; optional string status = 7; + optional HtlcState state = 8; } message ListclosedchannelsRequest { @@ -1270,6 +1273,167 @@ message ListclosedchannelsClosedchannelsAlias { optional string remote = 2; } +message DecodepayRequest { + string bolt11 = 1; + optional string description = 2; +} + +message DecodepayResponse { + string currency = 1; + uint64 created_at = 2; + uint64 expiry = 3; + bytes payee = 4; + optional Amount amount_msat = 5; + bytes payment_hash = 6; + bytes signature = 7; + optional string description = 8; + optional bytes description_hash = 9; + uint32 min_final_cltv_expiry = 10; + optional bytes payment_secret = 11; + optional bytes features = 12; + optional bytes payment_metadata = 13; + repeated DecodepayFallbacks fallbacks = 14; + repeated DecodepayExtra extra = 16; +} + +message DecodepayFallbacks { + // DecodePay.fallbacks[].type + enum DecodepayFallbacksType { + P2PKH = 0; + P2SH = 1; + P2WPKH = 2; + P2WSH = 3; + } + DecodepayFallbacksType item_type = 1; + optional string addr = 2; + bytes hex = 3; +} + +message DecodepayExtra { + string tag = 1; + string data = 2; +} + +message DecodeRequest { + string string = 1; +} + +message DecodeResponse { + // Decode.type + enum DecodeType { + BOLT12_OFFER = 0; + BOLT12_INVOICE = 1; + BOLT12_INVOICE_REQUEST = 2; + BOLT11_INVOICE = 3; + RUNE = 4; + } + DecodeType item_type = 1; + bool valid = 2; + optional bytes offer_id = 3; + repeated bytes offer_chains = 4; + optional bytes offer_metadata = 5; + optional string offer_currency = 6; + optional string warning_unknown_offer_currency = 7; + optional uint32 currency_minor_unit = 8; + optional uint64 offer_amount = 9; + optional Amount offer_amount_msat = 10; + optional string offer_description = 11; + optional string offer_issuer = 12; + optional bytes offer_features = 13; + optional uint64 offer_absolute_expiry = 14; + optional uint64 offer_quantity_max = 15; + repeated DecodeOffer_paths 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; + optional string warning_invalid_offer_issuer = 24; + optional bytes invreq_metadata = 25; + optional bytes invreq_payer_id = 26; + optional bytes invreq_chain = 27; + optional Amount invreq_amount_msat = 28; + optional bytes invreq_features = 29; + optional uint64 invreq_quantity = 30; + optional string invreq_payer_note = 31; + optional uint32 invreq_recurrence_counter = 32; + optional uint32 invreq_recurrence_start = 33; + optional string warning_missing_invreq_metadata = 35; + optional string warning_missing_invreq_payer_id = 36; + optional string warning_invalid_invreq_payer_note = 37; + optional string warning_missing_invoice_request_signature = 38; + optional string warning_invalid_invoice_request_signature = 39; + optional uint64 invoice_created_at = 41; + optional uint32 invoice_relative_expiry = 42; + optional bytes invoice_payment_hash = 43; + optional Amount invoice_amount_msat = 44; + repeated DecodeInvoice_fallbacks invoice_fallbacks = 45; + optional bytes invoice_features = 46; + optional bytes invoice_node_id = 47; + optional uint64 invoice_recurrence_basetime = 48; + optional string warning_missing_invoice_paths = 50; + optional string warning_missing_invoice_blindedpay = 51; + optional string warning_missing_invoice_created_at = 52; + optional string warning_missing_invoice_payment_hash = 53; + optional string warning_missing_invoice_amount = 54; + optional string warning_missing_invoice_recurrence_basetime = 55; + optional string warning_missing_invoice_node_id = 56; + optional string warning_missing_invoice_signature = 57; + optional string warning_invalid_invoice_signature = 58; + repeated DecodeFallbacks fallbacks = 59; + optional uint64 created_at = 60; + optional uint64 expiry = 61; + optional bytes payee = 62; + optional bytes payment_hash = 63; + optional bytes description_hash = 64; + optional uint32 min_final_cltv_expiry = 65; + optional bytes payment_secret = 66; + optional bytes payment_metadata = 67; + repeated DecodeExtra extra = 69; + optional string unique_id = 70; + optional string version = 71; + optional string string = 72; + repeated DecodeRestrictions restrictions = 73; + optional string warning_rune_invalid_utf8 = 74; + optional bytes hex = 75; +} + +message DecodeOffer_paths { + bytes first_node_id = 1; + bytes blinding = 2; +} + +message DecodeOffer_recurrencePaywindow { + uint32 seconds_before = 1; + uint32 seconds_after = 2; + optional bool proportional_amount = 3; +} + +message DecodeInvoice_pathsPath { + bytes blinded_node_id = 1; + bytes encrypted_recipient_data = 2; +} + +message DecodeInvoice_fallbacks { + uint32 version = 1; + bytes hex = 2; + optional string address = 3; +} + +message DecodeFallbacks { + optional string warning_invoice_fallbacks_version_invalid = 1; +} + +message DecodeExtra { + string tag = 1; + string data = 2; +} + +message DecodeRestrictions { + repeated string alternatives = 1; + string summary = 2; +} + message DisconnectRequest { bytes id = 1; optional bool force = 2; diff --git a/cln-grpc/src/convert.rs b/cln-grpc/src/convert.rs index e2ccc6b32..dbd1b54bf 100644 --- a/cln-grpc/src/convert.rs +++ b/cln-grpc/src/convert.rs @@ -64,7 +64,9 @@ impl From for pb::GetinfoResponse { blockheight: c.blockheight, // Rule #2 for type u32 network: c.network, // Rule #2 for type string fees_collected_msat: Some(c.fees_collected_msat.into()), // Rule #2 for type msat + // Field: Getinfo.address[] address: c.address.into_iter().map(|i| i.into()).collect(), // Rule #3 for type GetinfoAddress + // Field: Getinfo.binding[] binding: c.binding.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 warning_bitcoind_sync: c.warning_bitcoind_sync, // Rule #2 for type string? warning_lightningd_sync: c.warning_lightningd_sync, // Rule #2 for type string? @@ -145,6 +147,7 @@ impl From for pb::ListpeersPeersChannels payment_hash: c.payment_hash.to_vec(), // Rule #2 for type hash local_trimmed: c.local_trimmed, // Rule #2 for type boolean? status: c.status, // Rule #2 for type string? + state: c.state as i32, } } } @@ -165,11 +168,13 @@ impl From for pb::ListpeersPeersChannels { last_feerate: c.last_feerate, // Rule #2 for type string? next_feerate: c.next_feerate, // Rule #2 for type string? next_fee_step: c.next_fee_step, // Rule #2 for type u32? + // Field: ListPeers.peers[].channels[].inflight[] inflight: c.inflight.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 close_to: c.close_to.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? private: c.private, // Rule #2 for type boolean? opener: c.opener as i32, closer: c.closer.map(|v| v as i32), + // Field: ListPeers.peers[].channels[].features[] features: c.features.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListpeersPeersChannelsFeatures funding: c.funding.map(|v| v.into()), to_us_msat: c.to_us_msat.map(|f| f.into()), // Rule #2 for type msat? @@ -191,6 +196,7 @@ impl From for pb::ListpeersPeersChannels { our_to_self_delay: c.our_to_self_delay, // Rule #2 for type u32? max_accepted_htlcs: c.max_accepted_htlcs, // Rule #2 for type u32? alias: c.alias.map(|v| v.into()), + // Field: ListPeers.peers[].channels[].status[] status: c.status.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 in_payments_offered: c.in_payments_offered, // Rule #2 for type u64? in_offered_msat: c.in_offered_msat.map(|f| f.into()), // Rule #2 for type msat? @@ -200,6 +206,7 @@ impl From for pb::ListpeersPeersChannels { out_offered_msat: c.out_offered_msat.map(|f| f.into()), // Rule #2 for type msat? out_payments_fulfilled: c.out_payments_fulfilled, // Rule #2 for type u64? out_fulfilled_msat: c.out_fulfilled_msat.map(|f| f.into()), // Rule #2 for type msat? + // Field: ListPeers.peers[].channels[].htlcs[] htlcs: c.htlcs.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 close_to_addr: c.close_to_addr, // Rule #2 for type string? } @@ -213,8 +220,11 @@ impl From for pb::ListpeersPeers { id: c.id.serialize().to_vec(), // Rule #2 for type pubkey connected: c.connected, // Rule #2 for type boolean num_channels: c.num_channels, // Rule #2 for type u32? + // Field: ListPeers.peers[].log[] log: c.log.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 + // Field: ListPeers.peers[].channels[] channels: c.channels.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 + // Field: ListPeers.peers[].netaddr[] netaddr: c.netaddr.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 remote_addr: c.remote_addr, // Rule #2 for type string? features: c.features.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? @@ -226,6 +236,7 @@ impl From for pb::ListpeersPeers { impl From for pb::ListpeersResponse { fn from(c: responses::ListpeersResponse) -> Self { Self { + // Field: ListPeers.peers[] peers: c.peers.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListpeersPeers } } @@ -269,7 +280,9 @@ impl From for pb::ListfundsChannels { impl From for pb::ListfundsResponse { fn from(c: responses::ListfundsResponse) -> Self { Self { + // Field: ListFunds.outputs[] outputs: c.outputs.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListfundsOutputs + // Field: ListFunds.channels[] channels: c.channels.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListfundsChannels } } @@ -326,6 +339,7 @@ impl From for pb::ListchannelsChannels { impl From for pb::ListchannelsResponse { fn from(c: responses::ListchannelsResponse) -> Self { Self { + // Field: ListChannels.channels[] channels: c.channels.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListchannelsChannels } } @@ -421,6 +435,7 @@ impl From for pb::CreateinvoiceResponse { impl From for pb::DatastoreResponse { fn from(c: responses::DatastoreResponse) -> Self { Self { + // Field: Datastore.key key: c.key.into_iter().map(|i| i.into()).collect(), // Rule #3 for type string generation: c.generation, // Rule #2 for type u64? hex: c.hex.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? @@ -434,6 +449,7 @@ impl From for pb::CreateonionResponse { fn from(c: responses::CreateonionResponse) -> Self { Self { onion: hex::decode(&c.onion).unwrap(), // Rule #2 for type hex + // Field: CreateOnion.shared_secrets[] shared_secrets: c.shared_secrets.into_iter().map(|i| i.to_vec()).collect(), // Rule #3 for type secret } } @@ -443,6 +459,7 @@ impl From for pb::CreateonionResponse { impl From for pb::DeldatastoreResponse { fn from(c: responses::DeldatastoreResponse) -> Self { Self { + // Field: DelDatastore.key key: c.key.into_iter().map(|i| i.into()).collect(), // Rule #3 for type string generation: c.generation, // Rule #2 for type u64? hex: c.hex.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? @@ -498,6 +515,7 @@ impl From for pb::InvoiceResponse { impl From for pb::ListdatastoreDatastore { fn from(c: responses::ListdatastoreDatastore) -> Self { Self { + // Field: ListDatastore.datastore[].key[] key: c.key.into_iter().map(|i| i.into()).collect(), // Rule #3 for type string generation: c.generation, // Rule #2 for type u64? hex: c.hex.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? @@ -510,6 +528,7 @@ impl From for pb::ListdatastoreDatastore { impl From for pb::ListdatastoreResponse { fn from(c: responses::ListdatastoreResponse) -> Self { Self { + // Field: ListDatastore.datastore[] datastore: c.datastore.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListdatastoreDatastore } } @@ -541,6 +560,7 @@ impl From for pb::ListinvoicesInvoices { impl From for pb::ListinvoicesResponse { fn from(c: responses::ListinvoicesResponse) -> Self { Self { + // Field: ListInvoices.invoices[] invoices: c.invoices.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListinvoicesInvoices } } @@ -594,6 +614,7 @@ impl From for pb::ListsendpaysPayments { impl From for pb::ListsendpaysResponse { fn from(c: responses::ListsendpaysResponse) -> Self { Self { + // Field: ListSendPays.payments[] payments: c.payments.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListsendpaysPayments } } @@ -635,7 +656,9 @@ impl From for pb::ListtransactionsTrans txindex: c.txindex, // Rule #2 for type u32 locktime: c.locktime, // Rule #2 for type u32 version: c.version, // Rule #2 for type u32 + // Field: ListTransactions.transactions[].inputs[] inputs: c.inputs.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListtransactionsTransactionsInputs + // Field: ListTransactions.transactions[].outputs[] outputs: c.outputs.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListtransactionsTransactionsOutputs } } @@ -645,6 +668,7 @@ impl From for pb::ListtransactionsTrans impl From for pb::ListtransactionsResponse { fn from(c: responses::ListtransactionsResponse) -> Self { Self { + // Field: ListTransactions.transactions[] transactions: c.transactions.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListtransactionsTransactions } } @@ -687,6 +711,7 @@ impl From for pb::ListnodesNodes { alias: c.alias, // Rule #2 for type string? color: c.color.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? features: c.features.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + // Field: ListNodes.nodes[].addresses[] addresses: c.addresses.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 } } @@ -696,6 +721,7 @@ impl From for pb::ListnodesNodes { impl From for pb::ListnodesResponse { fn from(c: responses::ListnodesResponse) -> Self { Self { + // Field: ListNodes.nodes[] nodes: c.nodes.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListnodesNodes } } @@ -824,6 +850,7 @@ impl From for pb::FundpsbtResponse { estimated_final_weight: c.estimated_final_weight, // Rule #2 for type u32 excess_msat: Some(c.excess_msat.into()), // Rule #2 for type msat change_outnum: c.change_outnum, // Rule #2 for type u32? + // Field: FundPsbt.reservations[] reservations: c.reservations.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 } } @@ -870,6 +897,7 @@ impl From for pb::UtxopsbtResponse { estimated_final_weight: c.estimated_final_weight, // Rule #2 for type u32 excess_msat: Some(c.excess_msat.into()), // Rule #2 for type msat change_outnum: c.change_outnum, // Rule #2 for type u32? + // Field: UtxoPsbt.reservations[] reservations: c.reservations.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 } } @@ -965,6 +993,7 @@ impl From for pb::ListpeerchannelsChan payment_hash: c.payment_hash.map(|v| v.to_vec()), // Rule #2 for type hash? local_trimmed: c.local_trimmed, // Rule #2 for type boolean? status: c.status, // Rule #2 for type string? + state: c.state.map(|v| v as i32), } } } @@ -987,6 +1016,7 @@ impl From for pb::ListpeerchannelsChannels last_feerate: c.last_feerate, // Rule #2 for type string? next_feerate: c.next_feerate, // Rule #2 for type string? next_fee_step: c.next_fee_step, // Rule #2 for type u32? + // Field: ListPeerChannels.channels[].inflight[] inflight: c.inflight.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 close_to: c.close_to.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? private: c.private, // Rule #2 for type boolean? @@ -1012,6 +1042,7 @@ impl From for pb::ListpeerchannelsChannels our_to_self_delay: c.our_to_self_delay, // Rule #2 for type u32? max_accepted_htlcs: c.max_accepted_htlcs, // Rule #2 for type u32? alias: c.alias.map(|v| v.into()), + // Field: ListPeerChannels.channels[].status[] status: c.status.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 in_payments_offered: c.in_payments_offered, // Rule #2 for type u64? in_offered_msat: c.in_offered_msat.map(|f| f.into()), // Rule #2 for type msat? @@ -1021,6 +1052,7 @@ impl From for pb::ListpeerchannelsChannels out_offered_msat: c.out_offered_msat.map(|f| f.into()), // Rule #2 for type msat? out_payments_fulfilled: c.out_payments_fulfilled, // Rule #2 for type u64? out_fulfilled_msat: c.out_fulfilled_msat.map(|f| f.into()), // Rule #2 for type msat? + // Field: ListPeerChannels.channels[].htlcs[] htlcs: c.htlcs.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 close_to_addr: c.close_to_addr, // Rule #2 for type string? } @@ -1031,6 +1063,7 @@ impl From for pb::ListpeerchannelsChannels impl From for pb::ListpeerchannelsResponse { fn from(c: responses::ListpeerchannelsResponse) -> Self { Self { + // Field: ListPeerChannels.channels[] channels: c.channels.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 } } @@ -1081,11 +1114,192 @@ impl From for pb::Listclosedchannel impl From for pb::ListclosedchannelsResponse { fn from(c: responses::ListclosedchannelsResponse) -> Self { Self { + // Field: ListClosedChannels.closedchannels[] closedchannels: c.closedchannels.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListclosedchannelsClosedchannels } } } +#[allow(unused_variables,deprecated)] +impl From for pb::DecodepayFallbacks { + fn from(c: responses::DecodepayFallbacks) -> Self { + Self { + item_type: c.item_type as i32, + addr: c.addr, // Rule #2 for type string? + hex: hex::decode(&c.hex).unwrap(), // Rule #2 for type hex + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for pb::DecodepayExtra { + fn from(c: responses::DecodepayExtra) -> Self { + Self { + tag: c.tag, // Rule #2 for type string + data: c.data, // Rule #2 for type string + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for pb::DecodepayResponse { + fn from(c: responses::DecodepayResponse) -> Self { + Self { + currency: c.currency, // Rule #2 for type string + created_at: c.created_at, // Rule #2 for type u64 + expiry: c.expiry, // Rule #2 for type u64 + payee: c.payee.serialize().to_vec(), // Rule #2 for type pubkey + amount_msat: c.amount_msat.map(|f| f.into()), // Rule #2 for type msat? + payment_hash: c.payment_hash.to_vec(), // Rule #2 for type hash + signature: c.signature, // Rule #2 for type signature + description: c.description, // Rule #2 for type string? + description_hash: c.description_hash.map(|v| v.to_vec()), // Rule #2 for type hash? + min_final_cltv_expiry: c.min_final_cltv_expiry, // Rule #2 for type u32 + payment_secret: c.payment_secret.map(|v| v.to_vec()), // Rule #2 for type hash? + features: c.features.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + payment_metadata: c.payment_metadata.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + // Field: DecodePay.fallbacks[] + fallbacks: c.fallbacks.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 + // Field: DecodePay.extra[] + extra: c.extra.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for pb::DecodeOfferPaths { + fn from(c: responses::DecodeOffer_paths) -> Self { + Self { + first_node_id: c.first_node_id.serialize().to_vec(), // Rule #2 for type pubkey + blinding: c.blinding.serialize().to_vec(), // Rule #2 for type pubkey + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for pb::DecodeInvoiceFallbacks { + fn from(c: responses::DecodeInvoice_fallbacks) -> Self { + Self { + version: c.version.into(), // Rule #2 for type u8 + hex: hex::decode(&c.hex).unwrap(), // Rule #2 for type hex + address: c.address, // Rule #2 for type string? + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for pb::DecodeFallbacks { + fn from(c: responses::DecodeFallbacks) -> Self { + Self { + warning_invoice_fallbacks_version_invalid: c.warning_invoice_fallbacks_version_invalid, // Rule #2 for type string? + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for pb::DecodeExtra { + fn from(c: responses::DecodeExtra) -> Self { + Self { + tag: c.tag, // Rule #2 for type string + data: c.data, // Rule #2 for type string + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for pb::DecodeRestrictions { + fn from(c: responses::DecodeRestrictions) -> Self { + Self { + // Field: Decode.restrictions[].alternatives[] + alternatives: c.alternatives.into_iter().map(|i| i.into()).collect(), // Rule #3 for type string + summary: c.summary, // Rule #2 for type string + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for pb::DecodeResponse { + fn from(c: responses::DecodeResponse) -> Self { + Self { + item_type: c.item_type as i32, + valid: c.valid, // Rule #2 for type boolean + offer_id: c.offer_id.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + // Field: Decode.offer_chains[] + offer_chains: c.offer_chains.map(|arr| arr.into_iter().map(|i| i.to_vec()).collect()).unwrap_or(vec![]), // Rule #3 + offer_metadata: c.offer_metadata.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + offer_currency: c.offer_currency, // Rule #2 for type string? + warning_unknown_offer_currency: c.warning_unknown_offer_currency, // Rule #2 for type string? + currency_minor_unit: c.currency_minor_unit, // Rule #2 for type u32? + offer_amount: c.offer_amount, // Rule #2 for type u64? + offer_amount_msat: c.offer_amount_msat.map(|f| f.into()), // Rule #2 for type msat? + offer_description: c.offer_description, // Rule #2 for type string? + offer_issuer: c.offer_issuer, // Rule #2 for type string? + offer_features: c.offer_features.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + offer_absolute_expiry: c.offer_absolute_expiry, // Rule #2 for type u64? + offer_quantity_max: c.offer_quantity_max, // Rule #2 for type u64? + // 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_node_id: c.offer_node_id.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey? + warning_missing_offer_node_id: c.warning_missing_offer_node_id, // Rule #2 for type string? + warning_invalid_offer_description: c.warning_invalid_offer_description, // Rule #2 for type string? + warning_missing_offer_description: c.warning_missing_offer_description, // Rule #2 for type string? + warning_invalid_offer_currency: c.warning_invalid_offer_currency, // Rule #2 for type string? + warning_invalid_offer_issuer: c.warning_invalid_offer_issuer, // Rule #2 for type string? + invreq_metadata: c.invreq_metadata.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + invreq_payer_id: c.invreq_payer_id.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + invreq_chain: c.invreq_chain.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + invreq_amount_msat: c.invreq_amount_msat.map(|f| f.into()), // Rule #2 for type msat? + invreq_features: c.invreq_features.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + invreq_quantity: c.invreq_quantity, // Rule #2 for type u64? + invreq_payer_note: c.invreq_payer_note, // Rule #2 for type string? + invreq_recurrence_counter: c.invreq_recurrence_counter, // Rule #2 for type u32? + invreq_recurrence_start: c.invreq_recurrence_start, // Rule #2 for type u32? + warning_missing_invreq_metadata: c.warning_missing_invreq_metadata, // Rule #2 for type string? + warning_missing_invreq_payer_id: c.warning_missing_invreq_payer_id, // Rule #2 for type string? + warning_invalid_invreq_payer_note: c.warning_invalid_invreq_payer_note, // Rule #2 for type string? + warning_missing_invoice_request_signature: c.warning_missing_invoice_request_signature, // Rule #2 for type string? + warning_invalid_invoice_request_signature: c.warning_invalid_invoice_request_signature, // Rule #2 for type string? + invoice_created_at: c.invoice_created_at, // Rule #2 for type u64? + invoice_relative_expiry: c.invoice_relative_expiry, // Rule #2 for type u32? + invoice_payment_hash: c.invoice_payment_hash.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + invoice_amount_msat: c.invoice_amount_msat.map(|f| f.into()), // Rule #2 for type msat? + // Field: Decode.invoice_fallbacks[] + invoice_fallbacks: c.invoice_fallbacks.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 + invoice_features: c.invoice_features.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + invoice_node_id: c.invoice_node_id.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey? + invoice_recurrence_basetime: c.invoice_recurrence_basetime, // Rule #2 for type u64? + warning_missing_invoice_paths: c.warning_missing_invoice_paths, // Rule #2 for type string? + warning_missing_invoice_blindedpay: c.warning_missing_invoice_blindedpay, // Rule #2 for type string? + warning_missing_invoice_created_at: c.warning_missing_invoice_created_at, // Rule #2 for type string? + warning_missing_invoice_payment_hash: c.warning_missing_invoice_payment_hash, // Rule #2 for type string? + warning_missing_invoice_amount: c.warning_missing_invoice_amount, // Rule #2 for type string? + warning_missing_invoice_recurrence_basetime: c.warning_missing_invoice_recurrence_basetime, // Rule #2 for type string? + warning_missing_invoice_node_id: c.warning_missing_invoice_node_id, // Rule #2 for type string? + warning_missing_invoice_signature: c.warning_missing_invoice_signature, // Rule #2 for type string? + warning_invalid_invoice_signature: c.warning_invalid_invoice_signature, // Rule #2 for type string? + // Field: Decode.fallbacks[] + fallbacks: c.fallbacks.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 + created_at: c.created_at, // Rule #2 for type u64? + expiry: c.expiry, // Rule #2 for type u64? + payee: c.payee.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey? + payment_hash: c.payment_hash.map(|v| v.to_vec()), // Rule #2 for type hash? + description_hash: c.description_hash.map(|v| v.to_vec()), // Rule #2 for type hash? + min_final_cltv_expiry: c.min_final_cltv_expiry, // Rule #2 for type u32? + payment_secret: c.payment_secret.map(|v| v.to_vec()), // Rule #2 for type secret? + payment_metadata: c.payment_metadata.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + // Field: Decode.extra[] + extra: c.extra.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 + unique_id: c.unique_id, // Rule #2 for type string? + version: c.version, // Rule #2 for type string? + string: c.string, // Rule #2 for type string? + // Field: Decode.restrictions[] + restrictions: c.restrictions.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 + warning_rune_invalid_utf8: c.warning_rune_invalid_utf8, // Rule #2 for type string? + hex: c.hex.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + } + } +} + #[allow(unused_variables,deprecated)] impl From for pb::DisconnectResponse { fn from(c: responses::DisconnectResponse) -> Self { @@ -1112,6 +1326,7 @@ impl From for pb::FeeratesPerkb { min_acceptable: c.min_acceptable, // Rule #2 for type u32 max_acceptable: c.max_acceptable, // Rule #2 for type u32 floor: c.floor, // Rule #2 for type u32? + // Field: Feerates.perkb.estimates[] estimates: c.estimates.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 opening: c.opening, // Rule #2 for type u32? mutual_close: c.mutual_close, // Rule #2 for type u32? @@ -1143,6 +1358,7 @@ impl From for pb::FeeratesPerkw { min_acceptable: c.min_acceptable, // Rule #2 for type u32 max_acceptable: c.max_acceptable, // Rule #2 for type u32 floor: c.floor, // Rule #2 for type u32? + // Field: Feerates.perkw.estimates[] estimates: c.estimates.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 opening: c.opening, // Rule #2 for type u32? mutual_close: c.mutual_close, // Rule #2 for type u32? @@ -1213,6 +1429,7 @@ impl From for pb::GetrouteRoute { impl From for pb::GetrouteResponse { fn from(c: responses::GetrouteResponse) -> Self { Self { + // Field: GetRoute.route[] route: c.route.into_iter().map(|i| i.into()).collect(), // Rule #3 for type GetrouteRoute } } @@ -1240,6 +1457,7 @@ impl From for pb::ListforwardsForwards { impl From for pb::ListforwardsResponse { fn from(c: responses::ListforwardsResponse) -> Self { Self { + // Field: ListForwards.forwards[] forwards: c.forwards.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListforwardsForwards } } @@ -1269,6 +1487,7 @@ impl From for pb::ListpaysPays { impl From for pb::ListpaysResponse { fn from(c: responses::ListpaysResponse) -> Self { Self { + // Field: ListPays.pays[] pays: c.pays.into_iter().map(|i| i.into()).collect(), // Rule #3 for type ListpaysPays } } @@ -1313,6 +1532,7 @@ impl From for pb::SetchannelChannels { impl From for pb::SetchannelResponse { fn from(c: responses::SetchannelResponse) -> Self { Self { + // Field: SetChannel.channels[] channels: c.channels.into_iter().map(|i| i.into()).collect(), // Rule #3 for type SetchannelChannels } } @@ -1389,6 +1609,7 @@ impl From for pb::SendpayRoute { impl From for pb::SendpayRequest { fn from(c: requests::SendpayRequest) -> Self { Self { + // Field: SendPay.route[] route: c.route.into_iter().map(|i| i.into()).collect(), // Rule #3 for type SendpayRoute payment_hash: c.payment_hash.to_vec(), // Rule #2 for type hash label: c.label, // Rule #2 for type string? @@ -1453,6 +1674,7 @@ impl From for pb::CloseRequest { fee_negotiation_step: c.fee_negotiation_step, // Rule #2 for type string? wrong_funding: c.wrong_funding.map(|o|o.into()), // Rule #2 for type outpoint? force_lease_closed: c.force_lease_closed, // Rule #2 for type boolean? + // Field: Close.feerange[] feerange: c.feerange.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 } } @@ -1484,6 +1706,7 @@ impl From for pb::CreateinvoiceRequest { impl From for pb::DatastoreRequest { fn from(c: requests::DatastoreRequest) -> Self { Self { + // Field: Datastore.key key: c.key.into_iter().map(|i| i.into()).collect(), // Rule #3 for type string string: c.string, // Rule #2 for type string? hex: c.hex.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? @@ -1507,6 +1730,7 @@ impl From for pb::CreateonionHops { impl From for pb::CreateonionRequest { fn from(c: requests::CreateonionRequest) -> Self { Self { + // Field: CreateOnion.hops[] hops: c.hops.into_iter().map(|i| i.into()).collect(), // Rule #3 for type CreateonionHops assocdata: hex::decode(&c.assocdata).unwrap(), // Rule #2 for type hex session_key: c.session_key.map(|v| v.to_vec()), // Rule #2 for type secret? @@ -1519,6 +1743,7 @@ impl From for pb::CreateonionRequest { impl From for pb::DeldatastoreRequest { fn from(c: requests::DeldatastoreRequest) -> Self { Self { + // Field: DelDatastore.key key: c.key.into_iter().map(|i| i.into()).collect(), // Rule #3 for type string generation: c.generation, // Rule #2 for type u64? } @@ -1553,9 +1778,9 @@ impl From for pb::InvoiceRequest { description: c.description, // Rule #2 for type string label: c.label, // Rule #2 for type string expiry: c.expiry, // Rule #2 for type u64? + // Field: Invoice.fallbacks[] fallbacks: c.fallbacks.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 preimage: c.preimage.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? - exposeprivatechannels: c.exposeprivatechannels, // Rule #2 for type boolean? cltv: c.cltv, // Rule #2 for type u32? deschashonly: c.deschashonly, // Rule #2 for type boolean? } @@ -1566,6 +1791,7 @@ impl From for pb::InvoiceRequest { impl From for pb::ListdatastoreRequest { fn from(c: requests::ListdatastoreRequest) -> Self { Self { + // Field: ListDatastore.key key: c.key.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 } } @@ -1602,6 +1828,7 @@ impl From for pb::SendonionRequest { first_hop: Some(c.first_hop.into()), payment_hash: c.payment_hash.to_vec(), // Rule #2 for type hash label: c.label, // Rule #2 for type string? + // Field: SendOnion.shared_secrets[] shared_secrets: c.shared_secrets.map(|arr| arr.into_iter().map(|i| i.to_vec()).collect()).unwrap_or(vec![]), // Rule #3 partid: c.partid.map(|v| v.into()), // Rule #2 for type u16? bolt11: c.bolt11, // Rule #2 for type string? @@ -1645,6 +1872,7 @@ impl From for pb::PayRequest { maxdelay: c.maxdelay.map(|v| v.into()), // Rule #2 for type u16? exemptfee: c.exemptfee.map(|f| f.into()), // Rule #2 for type msat? localinvreqid: c.localinvreqid.map(|v| hex::decode(v).unwrap()), // Rule #2 for type hex? + // Field: Pay.exclude exclude: c.exclude.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 maxfee: c.maxfee.map(|f| f.into()), // Rule #2 for type msat? description: c.description, // Rule #2 for type string? @@ -1709,6 +1937,7 @@ impl From for pb::WithdrawRequest { satoshi: c.satoshi.map(|o|o.into()), // Rule #2 for type msat_or_all? feerate: c.feerate.map(|o|o.into()), // Rule #2 for type feerate? minconf: c.minconf.map(|v| v.into()), // Rule #2 for type u16? + // Field: Withdraw.utxos[] utxos: c.utxos.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 } } @@ -1762,6 +1991,7 @@ impl From for pb::SignpsbtRequest { fn from(c: requests::SignpsbtRequest) -> Self { Self { psbt: c.psbt, // Rule #2 for type string + // Field: SignPsbt.signonly[] signonly: c.signonly.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 } } @@ -1774,6 +2004,7 @@ impl From for pb::UtxopsbtRequest { satoshi: Some(c.satoshi.into()), // Rule #2 for type msat feerate: Some(c.feerate.into()), // Rule #2 for type feerate startweight: c.startweight, // Rule #2 for type u32 + // Field: UtxoPsbt.utxos[] utxos: c.utxos.into_iter().map(|i| i.into()).collect(), // Rule #3 for type outpoint reserve: c.reserve, // Rule #2 for type u32? reservedok: c.reservedok, // Rule #2 for type boolean? @@ -1797,9 +2028,11 @@ impl From for pb::TxdiscardRequest { impl From for pb::TxprepareRequest { fn from(c: requests::TxprepareRequest) -> Self { Self { + // Field: TxPrepare.outputs[] outputs: c.outputs.into_iter().map(|i| i.into()).collect(), // Rule #3 for type outputdesc feerate: c.feerate.map(|o|o.into()), // Rule #2 for type feerate? minconf: c.minconf, // Rule #2 for type u32? + // Field: TxPrepare.utxos[] utxos: c.utxos.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 } } @@ -1832,6 +2065,25 @@ impl From for pb::ListclosedchannelsRequest } } +#[allow(unused_variables,deprecated)] +impl From for pb::DecodepayRequest { + fn from(c: requests::DecodepayRequest) -> Self { + Self { + bolt11: c.bolt11, // Rule #2 for type string + description: c.description, // Rule #2 for type string? + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for pb::DecodeRequest { + fn from(c: requests::DecodeRequest) -> Self { + Self { + string: c.string, // Rule #2 for type string + } + } +} + #[allow(unused_variables,deprecated)] impl From for pb::DisconnectRequest { fn from(c: requests::DisconnectRequest) -> Self { @@ -1864,6 +2116,7 @@ impl From for pb::FundchannelRequest { close_to: c.close_to, // Rule #2 for type string? request_amt: c.request_amt.map(|f| f.into()), // Rule #2 for type msat? compact_lease: c.compact_lease, // Rule #2 for type string? + // Field: FundChannel.utxos[] utxos: c.utxos.map(|arr| arr.into_iter().map(|i| i.into()).collect()).unwrap_or(vec![]), // Rule #3 mindepth: c.mindepth, // Rule #2 for type u32? reserve: c.reserve.map(|f| f.into()), // Rule #2 for type msat? @@ -1881,6 +2134,7 @@ impl From for pb::GetrouteRequest { cltv: c.cltv, // Rule #2 for type number? fromid: c.fromid.map(|v| v.serialize().to_vec()), // Rule #2 for type pubkey? fuzzpercent: c.fuzzpercent, // 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 maxhops: c.maxhops, // Rule #2 for type u32? } @@ -2180,7 +2434,6 @@ impl From for requests::InvoiceRequest { expiry: c.expiry, // Rule #1 for type u64? fallbacks: Some(c.fallbacks.into_iter().map(|s| s.into()).collect()), // Rule #4 preimage: c.preimage.map(|v| hex::encode(v)), // Rule #1 for type hex? - exposeprivatechannels: c.exposeprivatechannels, // Rule #1 for type boolean? cltv: c.cltv, // Rule #1 for type u32? deschashonly: c.deschashonly, // Rule #1 for type boolean? } @@ -2457,6 +2710,25 @@ impl From for requests::ListclosedchannelsRequest } } +#[allow(unused_variables,deprecated)] +impl From for requests::DecodepayRequest { + fn from(c: pb::DecodepayRequest) -> Self { + Self { + bolt11: c.bolt11, // Rule #1 for type string + description: c.description, // Rule #1 for type string? + } + } +} + +#[allow(unused_variables,deprecated)] +impl From for requests::DecodeRequest { + fn from(c: pb::DecodeRequest) -> Self { + Self { + string: c.string, // Rule #1 for type string + } + } +} + #[allow(unused_variables,deprecated)] impl From for requests::DisconnectRequest { fn from(c: pb::DisconnectRequest) -> Self { diff --git a/cln-grpc/src/server.rs b/cln-grpc/src/server.rs index 8f1690cb5..1a961d081 100644 --- a/cln-grpc/src/server.rs +++ b/cln-grpc/src/server.rs @@ -1274,6 +1274,70 @@ async fn list_closed_channels( } +async fn decode_pay( + &self, + request: tonic::Request, +) -> Result, tonic::Status> { + let req = request.into_inner(); + let req: requests::DecodepayRequest = req.into(); + debug!("Client asked for decode_pay"); + trace!("decode_pay request: {:?}", req); + let mut rpc = ClnRpc::new(&self.rpc_path) + .await + .map_err(|e| Status::new(Code::Internal, e.to_string()))?; + let result = rpc.call(Request::DecodePay(req)) + .await + .map_err(|e| Status::new( + Code::Unknown, + format!("Error calling method DecodePay: {:?}", e)))?; + match result { + Response::DecodePay(r) => { + trace!("decode_pay response: {:?}", r); + Ok(tonic::Response::new(r.into())) + }, + r => Err(Status::new( + Code::Internal, + format!( + "Unexpected result {:?} to method call DecodePay", + r + ) + )), + } + +} + +async fn decode( + &self, + request: tonic::Request, +) -> Result, tonic::Status> { + let req = request.into_inner(); + let req: requests::DecodeRequest = req.into(); + debug!("Client asked for decode"); + trace!("decode request: {:?}", req); + let mut rpc = ClnRpc::new(&self.rpc_path) + .await + .map_err(|e| Status::new(Code::Internal, e.to_string()))?; + let result = rpc.call(Request::Decode(req)) + .await + .map_err(|e| Status::new( + Code::Unknown, + format!("Error calling method Decode: {:?}", e)))?; + match result { + Response::Decode(r) => { + trace!("decode response: {:?}", r); + Ok(tonic::Response::new(r.into())) + }, + r => Err(Status::new( + Code::Internal, + format!( + "Unexpected result {:?} to method call Decode", + r + ) + )), + } + +} + async fn disconnect( &self, request: tonic::Request, diff --git a/cln-rpc/src/model.rs b/cln-rpc/src/model.rs index 7c7198c52..0ee690528 100644 --- a/cln-rpc/src/model.rs +++ b/cln-rpc/src/model.rs @@ -55,6 +55,8 @@ pub enum Request { TxSend(requests::TxsendRequest), ListPeerChannels(requests::ListpeerchannelsRequest), ListClosedChannels(requests::ListclosedchannelsRequest), + DecodePay(requests::DecodepayRequest), + Decode(requests::DecodeRequest), Disconnect(requests::DisconnectRequest), Feerates(requests::FeeratesRequest), FundChannel(requests::FundchannelRequest), @@ -112,6 +114,8 @@ pub enum Response { TxSend(responses::TxsendResponse), ListPeerChannels(responses::ListpeerchannelsResponse), ListClosedChannels(responses::ListclosedchannelsResponse), + DecodePay(responses::DecodepayResponse), + Decode(responses::DecodeResponse), Disconnect(responses::DisconnectResponse), Feerates(responses::FeeratesResponse), FundChannel(responses::FundchannelResponse), @@ -522,8 +526,6 @@ pub mod requests { #[serde(skip_serializing_if = "Option::is_none")] pub preimage: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub exposeprivatechannels: Option, - #[serde(skip_serializing_if = "Option::is_none")] pub cltv: Option, #[serde(skip_serializing_if = "Option::is_none")] pub deschashonly: Option, @@ -1038,6 +1040,38 @@ pub mod requests { type Response = super::responses::ListclosedchannelsResponse; } + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodepayRequest { + pub bolt11: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub description: Option, + } + + impl From for Request { + fn from(r: DecodepayRequest) -> Self { + Request::DecodePay(r) + } + } + + impl IntoRequest for DecodepayRequest { + type Response = super::responses::DecodepayResponse; + } + + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodeRequest { + pub string: String, + } + + impl From for Request { + fn from(r: DecodeRequest) -> Self { + Request::Decode(r) + } + } + + impl IntoRequest for DecodeRequest { + type Response = super::responses::DecodeResponse; + } + #[derive(Clone, Debug, Deserialize, Serialize)] pub struct DisconnectRequest { pub id: PublicKey, @@ -1612,18 +1646,6 @@ pub mod responses { pub remote: Option, } - #[derive(Clone, Debug, Deserialize, Serialize)] - pub struct ListpeersPeersChannelsState_changes { - pub timestamp: String, - // Path `ListPeers.peers[].channels[].state_changes[].old_state` - pub old_state: ChannelState, - // Path `ListPeers.peers[].channels[].state_changes[].new_state` - pub new_state: ChannelState, - // Path `ListPeers.peers[].channels[].state_changes[].cause` - pub cause: ChannelStateChangeCause, - pub message: String, - } - /// Whether it came from peer, or is going to peer #[derive(Copy, Clone, Debug, Deserialize, Serialize)] pub enum ListpeersPeersChannelsHtlcsDirection { @@ -1655,6 +1677,8 @@ pub mod responses { pub local_trimmed: Option, #[serde(skip_serializing_if = "Option::is_none")] pub status: Option, + // Path `ListPeers.peers[].channels[].htlcs[].state` + pub state: HtlcState, } #[derive(Clone, Debug, Deserialize, Serialize)] @@ -1735,8 +1759,6 @@ pub mod responses { #[serde(skip_serializing_if = "Option::is_none")] pub alias: Option, #[serde(skip_serializing_if = "crate::is_none_or_empty")] - pub state_changes: Option>, - #[serde(skip_serializing_if = "crate::is_none_or_empty")] pub status: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub in_payments_offered: Option, @@ -3284,42 +3306,6 @@ pub mod responses { } } } - /// Name of feature bit - #[derive(Copy, Clone, Debug, Deserialize, Serialize)] - pub enum ListpeerchannelsChannelsChannel_typeNames { - #[serde(rename = "static_remotekey/even")] - STATIC_REMOTEKEY_EVEN, - #[serde(rename = "anchor_outputs/even")] - ANCHOR_OUTPUTS_EVEN, - #[serde(rename = "anchors_zero_fee_htlc_tx/even")] - ANCHORS_ZERO_FEE_HTLC_TX_EVEN, - #[serde(rename = "scid_alias/even")] - SCID_ALIAS_EVEN, - #[serde(rename = "zeroconf/even")] - ZEROCONF_EVEN, - } - - impl TryFrom for ListpeerchannelsChannelsChannel_typeNames { - type Error = anyhow::Error; - fn try_from(c: i32) -> Result { - match c { - 0 => Ok(ListpeerchannelsChannelsChannel_typeNames::STATIC_REMOTEKEY_EVEN), - 1 => Ok(ListpeerchannelsChannelsChannel_typeNames::ANCHOR_OUTPUTS_EVEN), - 2 => Ok(ListpeerchannelsChannelsChannel_typeNames::ANCHORS_ZERO_FEE_HTLC_TX_EVEN), - 3 => Ok(ListpeerchannelsChannelsChannel_typeNames::SCID_ALIAS_EVEN), - 4 => Ok(ListpeerchannelsChannelsChannel_typeNames::ZEROCONF_EVEN), - o => Err(anyhow::anyhow!("Unknown variant {} for enum ListpeerchannelsChannelsChannel_typeNames", o)), - } - } - } - #[derive(Clone, Debug, Deserialize, Serialize)] - pub struct ListpeerchannelsChannelsChannel_type { - #[serde(skip_serializing_if = "crate::is_none_or_empty")] - pub bits: Option>, - #[serde(skip_serializing_if = "crate::is_none_or_empty")] - pub names: Option>, - } - #[derive(Clone, Debug, Deserialize, Serialize)] pub struct ListpeerchannelsChannelsFeerate { #[serde(skip_serializing_if = "Option::is_none")] @@ -3344,69 +3330,6 @@ pub mod responses { pub scratch_txid: Option, } - /// Who initiated the channel - #[derive(Copy, Clone, Debug, Deserialize, Serialize)] - pub enum ListpeerchannelsChannelsOpener { - #[serde(rename = "local")] - LOCAL, - #[serde(rename = "remote")] - REMOTE, - } - - impl TryFrom for ListpeerchannelsChannelsOpener { - type Error = anyhow::Error; - fn try_from(c: i32) -> Result { - match c { - 0 => Ok(ListpeerchannelsChannelsOpener::LOCAL), - 1 => Ok(ListpeerchannelsChannelsOpener::REMOTE), - o => Err(anyhow::anyhow!("Unknown variant {} for enum ListpeerchannelsChannelsOpener", o)), - } - } - } - /// Who initiated the channel close (only present if closing) - #[derive(Copy, Clone, Debug, Deserialize, Serialize)] - pub enum ListpeerchannelsChannelsCloser { - #[serde(rename = "local")] - LOCAL, - #[serde(rename = "remote")] - REMOTE, - } - - impl TryFrom for ListpeerchannelsChannelsCloser { - type Error = anyhow::Error; - fn try_from(c: i32) -> Result { - match c { - 0 => Ok(ListpeerchannelsChannelsCloser::LOCAL), - 1 => Ok(ListpeerchannelsChannelsCloser::REMOTE), - o => Err(anyhow::anyhow!("Unknown variant {} for enum ListpeerchannelsChannelsCloser", o)), - } - } - } - /// BOLT #9 features which apply to this channel - #[derive(Copy, Clone, Debug, Deserialize, Serialize)] - pub enum ListpeerchannelsChannelsFeatures { - #[serde(rename = "option_static_remotekey")] - OPTION_STATIC_REMOTEKEY, - #[serde(rename = "option_anchor_outputs")] - OPTION_ANCHOR_OUTPUTS, - #[serde(rename = "option_scid_alias")] - OPTION_SCID_ALIAS, - #[serde(rename = "option_zeroconf")] - OPTION_ZEROCONF, - } - - impl TryFrom for ListpeerchannelsChannelsFeatures { - type Error = anyhow::Error; - fn try_from(c: i32) -> Result { - match c { - 0 => Ok(ListpeerchannelsChannelsFeatures::OPTION_STATIC_REMOTEKEY), - 1 => Ok(ListpeerchannelsChannelsFeatures::OPTION_ANCHOR_OUTPUTS), - 2 => Ok(ListpeerchannelsChannelsFeatures::OPTION_SCID_ALIAS), - 3 => Ok(ListpeerchannelsChannelsFeatures::OPTION_ZEROCONF), - o => Err(anyhow::anyhow!("Unknown variant {} for enum ListpeerchannelsChannelsFeatures", o)), - } - } - } #[derive(Clone, Debug, Deserialize, Serialize)] pub struct ListpeerchannelsChannelsFunding { #[serde(skip_serializing_if = "Option::is_none")] @@ -3429,143 +3352,6 @@ pub mod responses { pub remote: Option, } - /// Previous state - #[derive(Copy, Clone, Debug, Deserialize, Serialize)] - pub enum ListpeerchannelsChannelsState_changesOld_state { - #[serde(rename = "OPENINGD")] - OPENINGD, - #[serde(rename = "CHANNELD_AWAITING_LOCKIN")] - CHANNELD_AWAITING_LOCKIN, - #[serde(rename = "CHANNELD_NORMAL")] - CHANNELD_NORMAL, - #[serde(rename = "CHANNELD_SHUTTING_DOWN")] - CHANNELD_SHUTTING_DOWN, - #[serde(rename = "CLOSINGD_SIGEXCHANGE")] - CLOSINGD_SIGEXCHANGE, - #[serde(rename = "CLOSINGD_COMPLETE")] - CLOSINGD_COMPLETE, - #[serde(rename = "AWAITING_UNILATERAL")] - AWAITING_UNILATERAL, - #[serde(rename = "FUNDING_SPEND_SEEN")] - FUNDING_SPEND_SEEN, - #[serde(rename = "ONCHAIN")] - ONCHAIN, - #[serde(rename = "DUALOPEND_OPEN_INIT")] - DUALOPEND_OPEN_INIT, - #[serde(rename = "DUALOPEND_AWAITING_LOCKIN")] - DUALOPEND_AWAITING_LOCKIN, - } - - impl TryFrom for ListpeerchannelsChannelsState_changesOld_state { - type Error = anyhow::Error; - fn try_from(c: i32) -> Result { - match c { - 0 => Ok(ListpeerchannelsChannelsState_changesOld_state::OPENINGD), - 1 => Ok(ListpeerchannelsChannelsState_changesOld_state::CHANNELD_AWAITING_LOCKIN), - 2 => Ok(ListpeerchannelsChannelsState_changesOld_state::CHANNELD_NORMAL), - 3 => Ok(ListpeerchannelsChannelsState_changesOld_state::CHANNELD_SHUTTING_DOWN), - 4 => Ok(ListpeerchannelsChannelsState_changesOld_state::CLOSINGD_SIGEXCHANGE), - 5 => Ok(ListpeerchannelsChannelsState_changesOld_state::CLOSINGD_COMPLETE), - 6 => Ok(ListpeerchannelsChannelsState_changesOld_state::AWAITING_UNILATERAL), - 7 => Ok(ListpeerchannelsChannelsState_changesOld_state::FUNDING_SPEND_SEEN), - 8 => Ok(ListpeerchannelsChannelsState_changesOld_state::ONCHAIN), - 9 => Ok(ListpeerchannelsChannelsState_changesOld_state::DUALOPEND_OPEN_INIT), - 10 => Ok(ListpeerchannelsChannelsState_changesOld_state::DUALOPEND_AWAITING_LOCKIN), - o => Err(anyhow::anyhow!("Unknown variant {} for enum ListpeerchannelsChannelsState_changesOld_state", o)), - } - } - } - /// New state - #[derive(Copy, Clone, Debug, Deserialize, Serialize)] - pub enum ListpeerchannelsChannelsState_changesNew_state { - #[serde(rename = "OPENINGD")] - OPENINGD, - #[serde(rename = "CHANNELD_AWAITING_LOCKIN")] - CHANNELD_AWAITING_LOCKIN, - #[serde(rename = "CHANNELD_NORMAL")] - CHANNELD_NORMAL, - #[serde(rename = "CHANNELD_SHUTTING_DOWN")] - CHANNELD_SHUTTING_DOWN, - #[serde(rename = "CLOSINGD_SIGEXCHANGE")] - CLOSINGD_SIGEXCHANGE, - #[serde(rename = "CLOSINGD_COMPLETE")] - CLOSINGD_COMPLETE, - #[serde(rename = "AWAITING_UNILATERAL")] - AWAITING_UNILATERAL, - #[serde(rename = "FUNDING_SPEND_SEEN")] - FUNDING_SPEND_SEEN, - #[serde(rename = "ONCHAIN")] - ONCHAIN, - #[serde(rename = "DUALOPEND_OPEN_INIT")] - DUALOPEND_OPEN_INIT, - #[serde(rename = "DUALOPEND_AWAITING_LOCKIN")] - DUALOPEND_AWAITING_LOCKIN, - } - - impl TryFrom for ListpeerchannelsChannelsState_changesNew_state { - type Error = anyhow::Error; - fn try_from(c: i32) -> Result { - match c { - 0 => Ok(ListpeerchannelsChannelsState_changesNew_state::OPENINGD), - 1 => Ok(ListpeerchannelsChannelsState_changesNew_state::CHANNELD_AWAITING_LOCKIN), - 2 => Ok(ListpeerchannelsChannelsState_changesNew_state::CHANNELD_NORMAL), - 3 => Ok(ListpeerchannelsChannelsState_changesNew_state::CHANNELD_SHUTTING_DOWN), - 4 => Ok(ListpeerchannelsChannelsState_changesNew_state::CLOSINGD_SIGEXCHANGE), - 5 => Ok(ListpeerchannelsChannelsState_changesNew_state::CLOSINGD_COMPLETE), - 6 => Ok(ListpeerchannelsChannelsState_changesNew_state::AWAITING_UNILATERAL), - 7 => Ok(ListpeerchannelsChannelsState_changesNew_state::FUNDING_SPEND_SEEN), - 8 => Ok(ListpeerchannelsChannelsState_changesNew_state::ONCHAIN), - 9 => Ok(ListpeerchannelsChannelsState_changesNew_state::DUALOPEND_OPEN_INIT), - 10 => Ok(ListpeerchannelsChannelsState_changesNew_state::DUALOPEND_AWAITING_LOCKIN), - o => Err(anyhow::anyhow!("Unknown variant {} for enum ListpeerchannelsChannelsState_changesNew_state", o)), - } - } - } - /// What caused the change - #[derive(Copy, Clone, Debug, Deserialize, Serialize)] - pub enum ListpeerchannelsChannelsState_changesCause { - #[serde(rename = "unknown")] - UNKNOWN, - #[serde(rename = "local")] - LOCAL, - #[serde(rename = "user")] - USER, - #[serde(rename = "remote")] - REMOTE, - #[serde(rename = "protocol")] - PROTOCOL, - #[serde(rename = "onchain")] - ONCHAIN, - } - - impl TryFrom for ListpeerchannelsChannelsState_changesCause { - type Error = anyhow::Error; - fn try_from(c: i32) -> Result { - match c { - 0 => Ok(ListpeerchannelsChannelsState_changesCause::UNKNOWN), - 1 => Ok(ListpeerchannelsChannelsState_changesCause::LOCAL), - 2 => Ok(ListpeerchannelsChannelsState_changesCause::USER), - 3 => Ok(ListpeerchannelsChannelsState_changesCause::REMOTE), - 4 => Ok(ListpeerchannelsChannelsState_changesCause::PROTOCOL), - 5 => Ok(ListpeerchannelsChannelsState_changesCause::ONCHAIN), - o => Err(anyhow::anyhow!("Unknown variant {} for enum ListpeerchannelsChannelsState_changesCause", o)), - } - } - } - #[derive(Clone, Debug, Deserialize, Serialize)] - pub struct ListpeerchannelsChannelsState_changes { - #[serde(skip_serializing_if = "Option::is_none")] - pub timestamp: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub old_state: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub new_state: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub cause: Option, - #[serde(skip_serializing_if = "Option::is_none")] - pub message: Option, - } - /// Whether it came from peer, or is going to peer #[derive(Copy, Clone, Debug, Deserialize, Serialize)] pub enum ListpeerchannelsChannelsHtlcsDirection { @@ -3585,49 +3371,6 @@ pub mod responses { } } } - /// Status of the HTLC - #[derive(Copy, Clone, Debug, Deserialize, Serialize)] - pub enum ListpeerchannelsChannelsHtlcsState { - #[serde(rename = "SENT_ADD_HTLC")] - SENT_ADD_HTLC, - #[serde(rename = "SENT_ADD_COMMIT")] - SENT_ADD_COMMIT, - #[serde(rename = "RCVD_ADD_REVOCATION")] - RCVD_ADD_REVOCATION, - #[serde(rename = "RCVD_ADD_ACK_COMMIT")] - RCVD_ADD_ACK_COMMIT, - #[serde(rename = "SENT_ADD_ACK_REVOCATION")] - SENT_ADD_ACK_REVOCATION, - #[serde(rename = "RCVD_REMOVE_HTLC")] - RCVD_REMOVE_HTLC, - #[serde(rename = "RCVD_REMOVE_COMMIT")] - RCVD_REMOVE_COMMIT, - #[serde(rename = "SENT_REMOVE_REVOCATION")] - SENT_REMOVE_REVOCATION, - #[serde(rename = "SENT_REMOVE_ACK_COMMIT")] - SENT_REMOVE_ACK_COMMIT, - #[serde(rename = "RCVD_REMOVE_ACK_REVOCATION")] - RCVD_REMOVE_ACK_REVOCATION, - } - - impl TryFrom for ListpeerchannelsChannelsHtlcsState { - type Error = anyhow::Error; - fn try_from(c: i32) -> Result { - match c { - 0 => Ok(ListpeerchannelsChannelsHtlcsState::SENT_ADD_HTLC), - 1 => Ok(ListpeerchannelsChannelsHtlcsState::SENT_ADD_COMMIT), - 2 => Ok(ListpeerchannelsChannelsHtlcsState::RCVD_ADD_REVOCATION), - 3 => Ok(ListpeerchannelsChannelsHtlcsState::RCVD_ADD_ACK_COMMIT), - 4 => Ok(ListpeerchannelsChannelsHtlcsState::SENT_ADD_ACK_REVOCATION), - 5 => Ok(ListpeerchannelsChannelsHtlcsState::RCVD_REMOVE_HTLC), - 6 => Ok(ListpeerchannelsChannelsHtlcsState::RCVD_REMOVE_COMMIT), - 7 => Ok(ListpeerchannelsChannelsHtlcsState::SENT_REMOVE_REVOCATION), - 8 => Ok(ListpeerchannelsChannelsHtlcsState::SENT_REMOVE_ACK_COMMIT), - 9 => Ok(ListpeerchannelsChannelsHtlcsState::RCVD_REMOVE_ACK_REVOCATION), - o => Err(anyhow::anyhow!("Unknown variant {} for enum ListpeerchannelsChannelsHtlcsState", o)), - } - } - } #[derive(Clone, Debug, Deserialize, Serialize)] pub struct ListpeerchannelsChannelsHtlcs { #[serde(skip_serializing_if = "Option::is_none")] @@ -3645,7 +3388,7 @@ pub mod responses { #[serde(skip_serializing_if = "Option::is_none")] pub status: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub state: Option, + pub state: Option, } #[derive(Clone, Debug, Deserialize, Serialize)] @@ -3659,8 +3402,6 @@ pub mod responses { #[serde(skip_serializing_if = "Option::is_none")] pub scratch_txid: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub channel_type: Option, - #[serde(skip_serializing_if = "Option::is_none")] pub feerate: Option, #[serde(skip_serializing_if = "Option::is_none")] pub owner: Option, @@ -3687,11 +3428,9 @@ pub mod responses { #[serde(skip_serializing_if = "Option::is_none")] pub private: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub opener: Option, + pub opener: Option, #[serde(skip_serializing_if = "Option::is_none")] - pub closer: Option, - #[serde(skip_serializing_if = "crate::is_none_or_empty")] - pub features: Option>, + pub closer: Option, #[serde(skip_serializing_if = "Option::is_none")] pub funding: Option, #[serde(skip_serializing_if = "Option::is_none")] @@ -3733,8 +3472,6 @@ pub mod responses { #[serde(skip_serializing_if = "Option::is_none")] pub alias: Option, #[serde(skip_serializing_if = "crate::is_none_or_empty")] - pub state_changes: Option>, - #[serde(skip_serializing_if = "crate::is_none_or_empty")] pub status: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub in_payments_offered: Option, @@ -3783,40 +3520,6 @@ pub mod responses { pub remote: Option, } - /// Name of feature bit - #[derive(Copy, Clone, Debug, Deserialize, Serialize)] - pub enum ListclosedchannelsClosedchannelsChannel_typeNames { - #[serde(rename = "static_remotekey/even")] - STATIC_REMOTEKEY_EVEN, - #[serde(rename = "anchor_outputs/even")] - ANCHOR_OUTPUTS_EVEN, - #[serde(rename = "anchors_zero_fee_htlc_tx/even")] - ANCHORS_ZERO_FEE_HTLC_TX_EVEN, - #[serde(rename = "scid_alias/even")] - SCID_ALIAS_EVEN, - #[serde(rename = "zeroconf/even")] - ZEROCONF_EVEN, - } - - impl TryFrom for ListclosedchannelsClosedchannelsChannel_typeNames { - type Error = anyhow::Error; - fn try_from(c: i32) -> Result { - match c { - 0 => Ok(ListclosedchannelsClosedchannelsChannel_typeNames::STATIC_REMOTEKEY_EVEN), - 1 => Ok(ListclosedchannelsClosedchannelsChannel_typeNames::ANCHOR_OUTPUTS_EVEN), - 2 => Ok(ListclosedchannelsClosedchannelsChannel_typeNames::ANCHORS_ZERO_FEE_HTLC_TX_EVEN), - 3 => Ok(ListclosedchannelsClosedchannelsChannel_typeNames::SCID_ALIAS_EVEN), - 4 => Ok(ListclosedchannelsClosedchannelsChannel_typeNames::ZEROCONF_EVEN), - o => Err(anyhow::anyhow!("Unknown variant {} for enum ListclosedchannelsClosedchannelsChannel_typeNames", o)), - } - } - } - #[derive(Clone, Debug, Deserialize, Serialize)] - pub struct ListclosedchannelsClosedchannelsChannel_type { - pub bits: Vec, - pub names: Vec, - } - /// What caused the channel to close #[derive(Copy, Clone, Debug, Deserialize, Serialize)] pub enum ListclosedchannelsClosedchannelsClose_cause { @@ -3862,8 +3565,6 @@ pub mod responses { #[serde(skip_serializing_if = "Option::is_none")] pub closer: Option, pub private: bool, - #[serde(skip_serializing_if = "Option::is_none")] - pub channel_type: Option, pub total_local_commitments: u64, pub total_remote_commitments: u64, pub total_htlcs_sent: u64, @@ -3904,6 +3605,298 @@ pub mod responses { } } + /// the address type (if known) + #[derive(Copy, Clone, Debug, Deserialize, Serialize)] + pub enum DecodepayFallbacksType { + #[serde(rename = "P2PKH")] + P2PKH, + #[serde(rename = "P2SH")] + P2SH, + #[serde(rename = "P2WPKH")] + P2WPKH, + #[serde(rename = "P2WSH")] + P2WSH, + } + + impl TryFrom for DecodepayFallbacksType { + type Error = anyhow::Error; + fn try_from(c: i32) -> Result { + match c { + 0 => Ok(DecodepayFallbacksType::P2PKH), + 1 => Ok(DecodepayFallbacksType::P2SH), + 2 => Ok(DecodepayFallbacksType::P2WPKH), + 3 => Ok(DecodepayFallbacksType::P2WSH), + o => Err(anyhow::anyhow!("Unknown variant {} for enum DecodepayFallbacksType", o)), + } + } + } + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodepayFallbacks { + // Path `DecodePay.fallbacks[].type` + #[serde(rename = "type")] + pub item_type: DecodepayFallbacksType, + #[serde(skip_serializing_if = "Option::is_none")] + pub addr: Option, + pub hex: String, + } + + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodepayExtra { + pub tag: String, + pub data: String, + } + + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodepayResponse { + pub currency: String, + pub created_at: u64, + pub expiry: u64, + pub payee: PublicKey, + #[serde(skip_serializing_if = "Option::is_none")] + pub amount_msat: Option, + pub payment_hash: Sha256, + pub signature: Vec, + #[serde(skip_serializing_if = "Option::is_none")] + pub description: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub description_hash: Option, + pub min_final_cltv_expiry: u32, + #[serde(skip_serializing_if = "Option::is_none")] + pub payment_secret: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub features: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub payment_metadata: Option, + #[serde(skip_serializing_if = "crate::is_none_or_empty")] + pub fallbacks: Option>, + #[serde(skip_serializing_if = "crate::is_none_or_empty")] + pub extra: Option>, + } + + impl TryFrom for DecodepayResponse { + type Error = super::TryFromResponseError; + + fn try_from(response: Response) -> Result { + match response { + Response::DecodePay(response) => Ok(response), + _ => Err(TryFromResponseError) + } + } + } + + /// what kind of object it decoded to + #[derive(Copy, Clone, Debug, Deserialize, Serialize)] + pub enum DecodeType { + #[serde(rename = "bolt12 offer")] + BOLT12_OFFER, + #[serde(rename = "bolt12 invoice")] + BOLT12_INVOICE, + #[serde(rename = "bolt12 invoice_request")] + BOLT12_INVOICE_REQUEST, + #[serde(rename = "bolt11 invoice")] + BOLT11_INVOICE, + #[serde(rename = "rune")] + RUNE, + } + + impl TryFrom for DecodeType { + type Error = anyhow::Error; + fn try_from(c: i32) -> Result { + match c { + 0 => Ok(DecodeType::BOLT12_OFFER), + 1 => Ok(DecodeType::BOLT12_INVOICE), + 2 => Ok(DecodeType::BOLT12_INVOICE_REQUEST), + 3 => Ok(DecodeType::BOLT11_INVOICE), + 4 => Ok(DecodeType::RUNE), + o => Err(anyhow::anyhow!("Unknown variant {} for enum DecodeType", o)), + } + } + } + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodeOffer_paths { + pub first_node_id: PublicKey, + pub blinding: PublicKey, + } + + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodeInvoice_fallbacks { + pub version: u8, + pub hex: String, + #[serde(skip_serializing_if = "Option::is_none")] + pub address: Option, + } + + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodeFallbacks { + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_invoice_fallbacks_version_invalid: Option, + } + + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodeExtra { + pub tag: String, + pub data: String, + } + + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodeRestrictions { + pub alternatives: Vec, + pub summary: String, + } + + #[derive(Clone, Debug, Deserialize, Serialize)] + pub struct DecodeResponse { + // Path `Decode.type` + #[serde(rename = "type")] + pub item_type: DecodeType, + pub valid: bool, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_id: Option, + #[serde(skip_serializing_if = "crate::is_none_or_empty")] + pub offer_chains: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_metadata: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_currency: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_unknown_offer_currency: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub currency_minor_unit: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_amount: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_amount_msat: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_description: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_issuer: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_features: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_absolute_expiry: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_quantity_max: Option, + #[serde(skip_serializing_if = "crate::is_none_or_empty")] + pub offer_paths: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub offer_node_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_offer_node_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_invalid_offer_description: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_offer_description: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_invalid_offer_currency: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_invalid_offer_issuer: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invreq_metadata: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invreq_payer_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invreq_chain: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invreq_amount_msat: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invreq_features: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invreq_quantity: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invreq_payer_note: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invreq_recurrence_counter: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invreq_recurrence_start: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invreq_metadata: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invreq_payer_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_invalid_invreq_payer_note: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invoice_request_signature: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_invalid_invoice_request_signature: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invoice_created_at: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invoice_relative_expiry: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invoice_payment_hash: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invoice_amount_msat: Option, + #[serde(skip_serializing_if = "crate::is_none_or_empty")] + pub invoice_fallbacks: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub invoice_features: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invoice_node_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub invoice_recurrence_basetime: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invoice_paths: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invoice_blindedpay: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invoice_created_at: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invoice_payment_hash: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invoice_amount: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invoice_recurrence_basetime: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invoice_node_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_missing_invoice_signature: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_invalid_invoice_signature: Option, + #[serde(skip_serializing_if = "crate::is_none_or_empty")] + pub fallbacks: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub created_at: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub expiry: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub payee: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub payment_hash: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub description_hash: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub min_final_cltv_expiry: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub payment_secret: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub payment_metadata: Option, + #[serde(skip_serializing_if = "crate::is_none_or_empty")] + pub extra: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub unique_id: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub version: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub string: Option, + #[serde(skip_serializing_if = "crate::is_none_or_empty")] + pub restrictions: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub warning_rune_invalid_utf8: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub hex: Option, + } + + impl TryFrom for DecodeResponse { + type Error = super::TryFromResponseError; + + fn try_from(response: Response) -> Result { + match response { + Response::Decode(response) => Ok(response), + _ => Err(TryFromResponseError) + } + } + } + #[derive(Clone, Debug, Deserialize, Serialize)] pub struct DisconnectResponse { } diff --git a/contrib/msggen/msggen/utils/utils.py b/contrib/msggen/msggen/utils/utils.py index cfebbf789..d5da0c973 100644 --- a/contrib/msggen/msggen/utils/utils.py +++ b/contrib/msggen/msggen/utils/utils.py @@ -66,8 +66,8 @@ def load_jsonrpc_service(schema_dir: str): "TxSend", "ListPeerChannels", "ListClosedChannels", - # "decodepay", - # "decode", + "DecodePay", + "Decode", # "delpay", # "disableoffer", "Disconnect", diff --git a/contrib/pyln-testing/pyln/testing/grpc2py.py b/contrib/pyln-testing/pyln/testing/grpc2py.py index fcd1e7e13..1193bd9e0 100644 --- a/contrib/pyln-testing/pyln/testing/grpc2py.py +++ b/contrib/pyln-testing/pyln/testing/grpc2py.py @@ -894,6 +894,251 @@ def listclosedchannels2py(m): }) +def decodepay_fallbacks2py(m): + return remove_default({ + "type": str(m.item_type), # EnumField in generate_composite + "addr": m.addr, # PrimitiveField in generate_composite + "hex": hexlify(m.hex), # PrimitiveField in generate_composite + }) + + +def decodepay_routes2py(m): + return remove_default({ + "pubkey": hexlify(m.pubkey), # PrimitiveField in generate_composite + "short_channel_id": m.short_channel_id, # PrimitiveField in generate_composite + "fee_base_msat": amount2msat(m.fee_base_msat), # PrimitiveField in generate_composite + "fee_proportional_millionths": m.fee_proportional_millionths, # PrimitiveField in generate_composite + "cltv_expiry_delta": m.cltv_expiry_delta, # PrimitiveField in generate_composite + }) + + +def decodepay_extra2py(m): + return remove_default({ + "tag": m.tag, # PrimitiveField in generate_composite + "data": m.data, # PrimitiveField in generate_composite + }) + + +def decodepay2py(m): + return remove_default({ + "currency": m.currency, # PrimitiveField in generate_composite + "created_at": m.created_at, # PrimitiveField in generate_composite + "expiry": m.expiry, # PrimitiveField in generate_composite + "payee": hexlify(m.payee), # PrimitiveField in generate_composite + "amount_msat": amount2msat(m.amount_msat), # PrimitiveField in generate_composite + "payment_hash": hexlify(m.payment_hash), # PrimitiveField in generate_composite + "signature": hexlify(m.signature), # PrimitiveField in generate_composite + "description": m.description, # PrimitiveField in generate_composite + "description_hash": hexlify(m.description_hash), # PrimitiveField in generate_composite + "min_final_cltv_expiry": m.min_final_cltv_expiry, # PrimitiveField in generate_composite + "payment_secret": hexlify(m.payment_secret), # PrimitiveField in generate_composite + "features": hexlify(m.features), # PrimitiveField in generate_composite + "payment_metadata": hexlify(m.payment_metadata), # PrimitiveField in generate_composite + "fallbacks": [decodepay_fallbacks2py(i) for i in m.fallbacks], # ArrayField[composite] in generate_composite + "routes": [decodepay_routes2py(i) for i in m.routes], # ArrayField[composite] in generate_composite + "extra": [decodepay_extra2py(i) for i in m.extra], # ArrayField[composite] in generate_composite + }) + + +def decode_offer_paths_path2py(m): + return remove_default({ + "blinded_node_id": hexlify(m.blinded_node_id), # PrimitiveField in generate_composite + "encrypted_recipient_data": hexlify(m.encrypted_recipient_data), # PrimitiveField in generate_composite + }) + + +def decode_offer_paths2py(m): + return remove_default({ + "first_node_id": hexlify(m.first_node_id), # PrimitiveField in generate_composite + "blinding": hexlify(m.blinding), # PrimitiveField in generate_composite + "path": [decode_offer_paths_path2py(i) for i in m.path], # ArrayField[composite] in generate_composite + }) + + +def decode_offer_recurrence_paywindow2py(m): + return remove_default({ + "seconds_before": m.seconds_before, # PrimitiveField in generate_composite + "seconds_after": m.seconds_after, # PrimitiveField in generate_composite + "proportional_amount": m.proportional_amount, # PrimitiveField in generate_composite + }) + + +def decode_offer_recurrence2py(m): + return remove_default({ + "time_unit": m.time_unit, # PrimitiveField in generate_composite + "time_unit_name": m.time_unit_name, # PrimitiveField in generate_composite + "period": m.period, # PrimitiveField in generate_composite + "basetime": m.basetime, # PrimitiveField in generate_composite + "start_any_period": m.start_any_period, # PrimitiveField in generate_composite + "limit": m.limit, # PrimitiveField in generate_composite + }) + + +def decode_unknown_offer_tlvs2py(m): + return remove_default({ + "item_type": m.type, # PrimitiveField in generate_composite + "length": m.length, # PrimitiveField in generate_composite + "value": hexlify(m.value), # PrimitiveField in generate_composite + }) + + +def decode_unknown_invoice_request_tlvs2py(m): + return remove_default({ + "item_type": m.type, # PrimitiveField in generate_composite + "length": m.length, # PrimitiveField in generate_composite + "value": hexlify(m.value), # PrimitiveField in generate_composite + }) + + +def decode_invoice_paths_payinfo2py(m): + return remove_default({ + "fee_base_msat": amount2msat(m.fee_base_msat), # PrimitiveField in generate_composite + "fee_proportional_millionths": m.fee_proportional_millionths, # PrimitiveField in generate_composite + "cltv_expiry_delta": m.cltv_expiry_delta, # PrimitiveField in generate_composite + "features": hexlify(m.features), # PrimitiveField in generate_composite + }) + + +def decode_invoice_paths_path2py(m): + return remove_default({ + "blinded_node_id": hexlify(m.blinded_node_id), # PrimitiveField in generate_composite + "encrypted_recipient_data": hexlify(m.encrypted_recipient_data), # PrimitiveField in generate_composite + }) + + +def decode_invoice_paths2py(m): + return remove_default({ + "first_node_id": hexlify(m.first_node_id), # PrimitiveField in generate_composite + "blinding": hexlify(m.blinding), # PrimitiveField in generate_composite + "path": [decode_invoice_paths_path2py(i) for i in m.path], # ArrayField[composite] in generate_composite + }) + + +def decode_invoice_fallbacks2py(m): + return remove_default({ + "version": m.version, # PrimitiveField in generate_composite + "hex": hexlify(m.hex), # PrimitiveField in generate_composite + "address": m.address, # PrimitiveField in generate_composite + }) + + +def decode_unknown_invoice_tlvs2py(m): + return remove_default({ + "item_type": m.type, # PrimitiveField in generate_composite + "length": m.length, # PrimitiveField in generate_composite + "value": hexlify(m.value), # PrimitiveField in generate_composite + }) + + +def decode_fallbacks2py(m): + return remove_default({ + "warning_invoice_fallbacks_version_invalid": m.warning_invoice_fallbacks_version_invalid, # PrimitiveField in generate_composite + }) + + +def decode_routes2py(m): + return remove_default({ + "pubkey": hexlify(m.pubkey), # PrimitiveField in generate_composite + "short_channel_id": m.short_channel_id, # PrimitiveField in generate_composite + "fee_base_msat": amount2msat(m.fee_base_msat), # PrimitiveField in generate_composite + "fee_proportional_millionths": m.fee_proportional_millionths, # PrimitiveField in generate_composite + "cltv_expiry_delta": m.cltv_expiry_delta, # PrimitiveField in generate_composite + }) + + +def decode_extra2py(m): + return remove_default({ + "tag": m.tag, # PrimitiveField in generate_composite + "data": m.data, # PrimitiveField in generate_composite + }) + + +def decode_restrictions2py(m): + return remove_default({ + "alternatives": [m.alternatives for i in m.alternatives], # ArrayField[primitive] in generate_composite + "summary": m.summary, # PrimitiveField in generate_composite + }) + + +def decode2py(m): + return remove_default({ + "type": str(m.item_type), # EnumField in generate_composite + "valid": m.valid, # PrimitiveField in generate_composite + "offer_id": hexlify(m.offer_id), # PrimitiveField in generate_composite + "offer_chains": [hexlify(m.offer_chains) for i in hexlify(m.offer_chains)], # ArrayField[primitive] in generate_composite + "offer_metadata": hexlify(m.offer_metadata), # PrimitiveField in generate_composite + "offer_currency": m.offer_currency, # PrimitiveField in generate_composite + "warning_unknown_offer_currency": m.warning_unknown_offer_currency, # PrimitiveField in generate_composite + "currency_minor_unit": m.currency_minor_unit, # PrimitiveField in generate_composite + "offer_amount": m.offer_amount, # PrimitiveField in generate_composite + "offer_amount_msat": amount2msat(m.offer_amount_msat), # PrimitiveField in generate_composite + "offer_description": m.offer_description, # PrimitiveField in generate_composite + "offer_issuer": m.offer_issuer, # PrimitiveField in generate_composite + "offer_features": hexlify(m.offer_features), # PrimitiveField in generate_composite + "offer_absolute_expiry": m.offer_absolute_expiry, # PrimitiveField in generate_composite + "offer_quantity_max": m.offer_quantity_max, # PrimitiveField in generate_composite + "offer_paths": [decode_offer_paths2py(i) for i in m.offer_paths], # ArrayField[composite] in generate_composite + "offer_node_id": hexlify(m.offer_node_id), # PrimitiveField in generate_composite + "unknown_offer_tlvs": [decode_unknown_offer_tlvs2py(i) for i in m.unknown_offer_tlvs], # ArrayField[composite] in generate_composite + "warning_missing_offer_node_id": m.warning_missing_offer_node_id, # PrimitiveField in generate_composite + "warning_invalid_offer_description": m.warning_invalid_offer_description, # PrimitiveField in generate_composite + "warning_missing_offer_description": m.warning_missing_offer_description, # PrimitiveField in generate_composite + "warning_invalid_offer_currency": m.warning_invalid_offer_currency, # PrimitiveField in generate_composite + "warning_invalid_offer_issuer": m.warning_invalid_offer_issuer, # PrimitiveField in generate_composite + "invreq_metadata": hexlify(m.invreq_metadata), # PrimitiveField in generate_composite + "invreq_payer_id": hexlify(m.invreq_payer_id), # PrimitiveField in generate_composite + "invreq_chain": hexlify(m.invreq_chain), # PrimitiveField in generate_composite + "invreq_amount_msat": amount2msat(m.invreq_amount_msat), # PrimitiveField in generate_composite + "invreq_features": hexlify(m.invreq_features), # PrimitiveField in generate_composite + "invreq_quantity": m.invreq_quantity, # PrimitiveField in generate_composite + "invreq_payer_note": m.invreq_payer_note, # PrimitiveField in generate_composite + "invreq_recurrence_counter": m.invreq_recurrence_counter, # PrimitiveField in generate_composite + "invreq_recurrence_start": m.invreq_recurrence_start, # PrimitiveField in generate_composite + "unknown_invoice_request_tlvs": [decode_unknown_invoice_request_tlvs2py(i) for i in m.unknown_invoice_request_tlvs], # ArrayField[composite] in generate_composite + "warning_missing_invreq_metadata": m.warning_missing_invreq_metadata, # PrimitiveField in generate_composite + "warning_missing_invreq_payer_id": m.warning_missing_invreq_payer_id, # PrimitiveField in generate_composite + "warning_invalid_invreq_payer_note": m.warning_invalid_invreq_payer_note, # PrimitiveField in generate_composite + "warning_missing_invoice_request_signature": m.warning_missing_invoice_request_signature, # PrimitiveField in generate_composite + "warning_invalid_invoice_request_signature": m.warning_invalid_invoice_request_signature, # PrimitiveField in generate_composite + "invoice_paths": [decode_invoice_paths2py(i) for i in m.invoice_paths], # ArrayField[composite] in generate_composite + "invoice_created_at": m.invoice_created_at, # PrimitiveField in generate_composite + "invoice_relative_expiry": m.invoice_relative_expiry, # PrimitiveField in generate_composite + "invoice_payment_hash": hexlify(m.invoice_payment_hash), # PrimitiveField in generate_composite + "invoice_amount_msat": amount2msat(m.invoice_amount_msat), # PrimitiveField in generate_composite + "invoice_fallbacks": [decode_invoice_fallbacks2py(i) for i in m.invoice_fallbacks], # ArrayField[composite] in generate_composite + "invoice_features": hexlify(m.invoice_features), # PrimitiveField in generate_composite + "invoice_node_id": hexlify(m.invoice_node_id), # PrimitiveField in generate_composite + "invoice_recurrence_basetime": m.invoice_recurrence_basetime, # PrimitiveField in generate_composite + "unknown_invoice_tlvs": [decode_unknown_invoice_tlvs2py(i) for i in m.unknown_invoice_tlvs], # ArrayField[composite] in generate_composite + "warning_missing_invoice_paths": m.warning_missing_invoice_paths, # PrimitiveField in generate_composite + "warning_missing_invoice_blindedpay": m.warning_missing_invoice_blindedpay, # PrimitiveField in generate_composite + "warning_missing_invoice_created_at": m.warning_missing_invoice_created_at, # PrimitiveField in generate_composite + "warning_missing_invoice_payment_hash": m.warning_missing_invoice_payment_hash, # PrimitiveField in generate_composite + "warning_missing_invoice_amount": m.warning_missing_invoice_amount, # PrimitiveField in generate_composite + "warning_missing_invoice_recurrence_basetime": m.warning_missing_invoice_recurrence_basetime, # PrimitiveField in generate_composite + "warning_missing_invoice_node_id": m.warning_missing_invoice_node_id, # PrimitiveField in generate_composite + "warning_missing_invoice_signature": m.warning_missing_invoice_signature, # PrimitiveField in generate_composite + "warning_invalid_invoice_signature": m.warning_invalid_invoice_signature, # PrimitiveField in generate_composite + "fallbacks": [decode_fallbacks2py(i) for i in m.fallbacks], # ArrayField[composite] in generate_composite + "created_at": m.created_at, # PrimitiveField in generate_composite + "expiry": m.expiry, # PrimitiveField in generate_composite + "payee": hexlify(m.payee), # PrimitiveField in generate_composite + "payment_hash": hexlify(m.payment_hash), # PrimitiveField in generate_composite + "description_hash": hexlify(m.description_hash), # PrimitiveField in generate_composite + "min_final_cltv_expiry": m.min_final_cltv_expiry, # PrimitiveField in generate_composite + "payment_secret": hexlify(m.payment_secret), # PrimitiveField in generate_composite + "payment_metadata": hexlify(m.payment_metadata), # PrimitiveField in generate_composite + "routes": [decode_routes2py(i) for i in m.routes], # ArrayField[composite] in generate_composite + "extra": [decode_extra2py(i) for i in m.extra], # ArrayField[composite] in generate_composite + "unique_id": m.unique_id, # PrimitiveField in generate_composite + "version": m.version, # PrimitiveField in generate_composite + "string": m.string, # PrimitiveField in generate_composite + "restrictions": [decode_restrictions2py(i) for i in m.restrictions], # ArrayField[composite] in generate_composite + "warning_rune_invalid_utf8": m.warning_rune_invalid_utf8, # PrimitiveField in generate_composite + "hex": hexlify(m.hex), # PrimitiveField in generate_composite + }) + + def disconnect2py(m): return remove_default({ }) diff --git a/contrib/pyln-testing/pyln/testing/node_pb2.py b/contrib/pyln-testing/pyln/testing/node_pb2.py index 635940be1..e4b611ecb 100644 --- a/contrib/pyln-testing/pyln/testing/node_pb2.py +++ b/contrib/pyln-testing/pyln/testing/node_pb2.py @@ -15,7 +15,7 @@ _sym_db = _symbol_database.Default() from . import primitives_pb2 as primitives__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nnode.proto\x12\x03\x63ln\x1a\x10primitives.proto\"\x10\n\x0eGetinfoRequest\"\xb2\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\x33\n\x0cour_features\x18\n \x01(\x0b\x32\x18.cln.GetinfoOur_featuresH\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\"S\n\x13GetinfoOur_features\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\"\xd3\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\"V\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\x12\r\n\tWEBSOCKET\x10\x05\x42\n\n\x08_address\"\xfb\x01\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\"P\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\x42\n\n\x08_addressB\x07\n\x05_portB\t\n\x07_socket\"H\n\x10ListpeersRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05level\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x05\n\x03_idB\x08\n\x06_level\"7\n\x11ListpeersResponse\x12\"\n\x05peers\x18\x01 \x03(\x0b\x32\x13.cln.ListpeersPeers\"\x8e\x02\n\x0eListpeersPeers\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12\x19\n\x0cnum_channels\x18\x08 \x01(\rH\x00\x88\x01\x01\x12#\n\x03log\x18\x03 \x03(\x0b\x32\x16.cln.ListpeersPeersLog\x12-\n\x08\x63hannels\x18\x04 \x03(\x0b\x32\x1b.cln.ListpeersPeersChannels\x12\x0f\n\x07netaddr\x18\x05 \x03(\t\x12\x18\n\x0bremote_addr\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x42\x0f\n\r_num_channelsB\x0e\n\x0c_remote_addrB\x0b\n\t_features\"\xfd\x02\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\"i\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\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\"\xd6\x17\n\x16ListpeersPeersChannels\x12\x46\n\x05state\x18\x01 \x01(\x0e\x32\x37.cln.ListpeersPeersChannels.ListpeersPeersChannelsState\x12\x19\n\x0cscratch_txid\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x38\n\x07\x66\x65\x65rate\x18\x03 \x01(\x0b\x32\".cln.ListpeersPeersChannelsFeerateH\x01\x88\x01\x01\x12\x12\n\x05owner\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x17\n\nchannel_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x08 \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\t \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\n \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0b \x01(\tH\t\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0c \x01(\rH\n\x88\x01\x01\x12\x35\n\x08inflight\x18\r \x03(\x0b\x32#.cln.ListpeersPeersChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x0e \x01(\x0cH\x0b\x88\x01\x01\x12\x14\n\x07private\x18\x0f \x01(\x08H\x0c\x88\x01\x01\x12 \n\x06opener\x18\x10 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x11 \x01(\x0e\x32\x10.cln.ChannelSideH\r\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x12 \x03(\t\x12\x38\n\x07\x66unding\x18\x13 \x01(\x0b\x32\".cln.ListpeersPeersChannelsFundingH\x0e\x88\x01\x01\x12$\n\nto_us_msat\x18\x14 \x01(\x0b\x32\x0b.cln.AmountH\x0f\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x15 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x16 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12$\n\ntotal_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x12\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x19 \x01(\rH\x14\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x15\x88\x01\x01\x12\x30\n\x16max_total_htlc_in_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12*\n\x10our_reserve_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x18\x88\x01\x01\x12(\n\x0espendable_msat\x18\x1e \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12)\n\x0freceivable_msat\x18\x1f \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\x30 \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18\x31 \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\x34\n\x05\x61lias\x18\x32 \x01(\x0b\x32 .cln.ListpeersPeersChannelsAliasH!\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* \x01(\x04H&\x88\x01\x01\x12*\n\x10out_offered_msat\x18+ \x01(\x0b\x32\x0b.cln.AmountH\'\x88\x01\x01\x12#\n\x16out_payments_fulfilled\x18, \x01(\x04H(\x88\x01\x01\x12,\n\x12out_fulfilled_msat\x18- \x01(\x0b\x32\x0b.cln.AmountH)\x88\x01\x01\x12/\n\x05htlcs\x18. \x03(\x0b\x32 .cln.ListpeersPeersChannelsHtlcs\x12\x1a\n\rclose_to_addr\x18/ \x01(\tH*\x88\x01\x01\"\xa1\x02\n\x1bListpeersPeersChannelsState\x12\x0c\n\x08OPENINGD\x10\x00\x12\x1c\n\x18\x43HANNELD_AWAITING_LOCKIN\x10\x01\x12\x13\n\x0f\x43HANNELD_NORMAL\x10\x02\x12\x1a\n\x16\x43HANNELD_SHUTTING_DOWN\x10\x03\x12\x18\n\x14\x43LOSINGD_SIGEXCHANGE\x10\x04\x12\x15\n\x11\x43LOSINGD_COMPLETE\x10\x05\x12\x17\n\x13\x41WAITING_UNILATERAL\x10\x06\x12\x16\n\x12\x46UNDING_SPEND_SEEN\x10\x07\x12\x0b\n\x07ONCHAIN\x10\x08\x12\x17\n\x13\x44UALOPEND_OPEN_INIT\x10\t\x12\x1d\n\x19\x44UALOPEND_AWAITING_LOCKIN\x10\nB\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_addr\"=\n\x1dListpeersPeersChannelsFeerate\x12\r\n\x05perkw\x18\x01 \x01(\r\x12\r\n\x05perkb\x18\x02 \x01(\r\"\xc5\x01\n\x1eListpeersPeersChannelsInflight\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\x14\n\x0cscratch_txid\x18\x06 \x01(\x0c\"\x9b\x02\n\x1dListpeersPeersChannelsFunding\x12%\n\x0bpushed_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12%\n\x10local_funds_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11remote_funds_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\rfee_paid_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msat\"[\n\x1bListpeersPeersChannelsAlias\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\"\xd2\x02\n\x1bListpeersPeersChannelsHtlcs\x12X\n\tdirection\x18\x01 \x01(\x0e\x32\x45.cln.ListpeersPeersChannelsHtlcs.ListpeersPeersChannelsHtlcsDirection\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\"7\n$ListpeersPeersChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x10\n\x0e_local_trimmedB\t\n\x07_status\"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\"\x83\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\x10\n\x08reserved\x18\t \x01(\x08\x12\x18\n\x0b\x62lockheight\x18\x08 \x01(\rH\x02\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_blockheight\"\xab\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\x17\n\nchannel_id\x18\t \x01(\x0cH\x00\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_channel_idB\x13\n\x11_short_channel_id\"\xdd\x02\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%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0b \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07groupid\x18\t \x01(\x04H\x06\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\x11\n\x0f_payment_secretB\t\n\x07_partidB\x10\n\x0e_localinvreqidB\n\n\x08_groupid\"\xd1\x04\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\x19\n\x0c\x63ompleted_at\x18\x0f \x01(\x04H\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x04\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x05\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x08\x88\x01\x01\x12\x14\n\x07message\x18\x0e \x01(\tH\t\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\x0f\n\r_completed_atB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_message\"\\\n\x0cSendpayRoute\x12 \n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\n\n\x02id\x18\x02 \x01(\x0c\x12\r\n\x05\x64\x65lay\x18\x03 \x01(\r\x12\x0f\n\x07\x63hannel\x18\x04 \x01(\t\"\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\x11\n\tdirection\x18\x10 \x01(\r\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\x42\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\"o\n\x17\x41utocleaninvoiceRequest\x12\x17\n\nexpired_by\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rcycle_seconds\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_expired_byB\x10\n\x0e_cycle_seconds\"\x81\x01\n\x18\x41utocleaninvoiceResponse\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x17\n\nexpired_by\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rcycle_seconds\x18\x03 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_expired_byB\x10\n\x0e_cycle_seconds\"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\"\xab\x01\n\rCloseResponse\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.CloseResponse.CloseType\x12\x0f\n\x02tx\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\x0cH\x01\x88\x01\x01\"5\n\tCloseType\x12\n\n\x06MUTUAL\x10\x00\x12\x0e\n\nUNILATERAL\x10\x01\x12\x0c\n\x08UNOPENED\x10\x02\x42\x05\n\x03_txB\x07\n\x05_txid\"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\"\x81\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\"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_note\"\xb4\x02\n\x10\x44\x61tastoreRequest\x12\x0b\n\x03key\x18\x05 \x03(\t\x12\x13\n\x06string\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x36\n\x04mode\x18\x03 \x01(\x0e\x32#.cln.DatastoreRequest.DatastoreModeH\x02\x88\x01\x01\x12\x17\n\ngeneration\x18\x04 \x01(\x04H\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\t\n\x07_stringB\x06\n\x04_hexB\x07\n\x05_modeB\r\n\x0b_generation\"\x82\x01\n\x11\x44\x61tastoreResponse\x12\x0b\n\x03key\x18\x05 \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\"\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\x0b\n\x03key\x18\x03 \x03(\t\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\r\n\x0b_generation\"\x85\x01\n\x14\x44\x65ldatastoreResponse\x12\x0b\n\x03key\x18\x05 \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\"H\n\x18\x44\x65lexpiredinvoiceRequest\x12\x1a\n\rmaxexpirytime\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\x10\n\x0e_maxexpirytime\"\x1b\n\x19\x44\x65lexpiredinvoiceResponse\"\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\"\xc5\x03\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\"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_note\"\xb8\x02\n\x0eInvoiceRequest\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x10.cln.AmountOrAny\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\x12\x13\n\x06\x65xpiry\x18\x07 \x01(\x04H\x00\x88\x01\x01\x12\x11\n\tfallbacks\x18\x04 \x03(\t\x12\x15\n\x08preimage\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\"\n\x15\x65xposeprivatechannels\x18\x08 \x01(\x08H\x02\x88\x01\x01\x12\x11\n\x04\x63ltv\x18\x06 \x01(\rH\x03\x88\x01\x01\x12\x19\n\x0c\x64\x65schashonly\x18\t \x01(\x08H\x04\x88\x01\x01\x42\t\n\x07_expiryB\x0b\n\t_preimageB\x18\n\x16_exposeprivatechannelsB\x07\n\x05_cltvB\x0f\n\r_deschashonly\"\xe7\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\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\"#\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\"\xa9\x01\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\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x0f\n\r_payment_hashB\x0b\n\t_offer_id\"C\n\x14ListinvoicesResponse\x12+\n\x08invoices\x18\x01 \x03(\x0b\x32\x19.cln.ListinvoicesInvoices\"\xa2\x05\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\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\x05\x88\x01\x01\x12\x16\n\tpay_index\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x14\n\x07paid_at\x18\r \x01(\x04H\x08\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0e \x01(\x0cH\t\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\x14\n\x12_invreq_payer_noteB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\x8a\x03\n\x10SendonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12*\n\tfirst_hop\x18\x02 \x01(\x0b\x32\x17.cln.SendonionFirst_hop\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%\n\x0b\x61mount_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\r \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07groupid\x18\x0b \x01(\x04H\x06\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x10\n\x0e_localinvreqidB\n\n\x08_groupid\"\x8b\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\x13\n\x06partid\x18\r \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x12\x14\n\x07message\x18\x0c \x01(\tH\x07\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\t\n\x07_partidB\x13\n\x11_payment_preimageB\n\n\x08_message\"Q\n\x12SendonionFirst_hop\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\"\xeb\x01\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\";\n\x12ListsendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_status\"C\n\x14ListsendpaysResponse\x12+\n\x08payments\x18\x01 \x03(\x0b\x32\x19.cln.ListsendpaysPayments\"\xf4\x04\n\x14ListsendpaysPayments\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x13\n\x06partid\x18\x0f \x01(\x04H\x00\x88\x01\x01\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\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\x06\x62olt11\x18\n \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0b \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x17\n\nerroronion\x18\r \x01(\x0cH\x08\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\t\n\x07_partidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\x0e\n\x0c_descriptionB\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\r\n\x0b_erroronion\"\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\"\x84\x04\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\x12\x66\n\titem_type\x18\x04 \x01(\x0e\x32N.cln.ListtransactionsTransactionsInputs.ListtransactionsTransactionsInputsTypeH\x00\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x05 \x01(\tH\x01\x88\x01\x01\"\x96\x02\n&ListtransactionsTransactionsInputsType\x12\n\n\x06THEIRS\x10\x00\x12\x0b\n\x07\x44\x45POSIT\x10\x01\x12\x0c\n\x08WITHDRAW\x10\x02\x12\x13\n\x0f\x43HANNEL_FUNDING\x10\x03\x12\x18\n\x14\x43HANNEL_MUTUAL_CLOSE\x10\x04\x12\x1c\n\x18\x43HANNEL_UNILATERAL_CLOSE\x10\x05\x12\x11\n\rCHANNEL_SWEEP\x10\x06\x12\x18\n\x14\x43HANNEL_HTLC_SUCCESS\x10\x07\x12\x18\n\x14\x43HANNEL_HTLC_TIMEOUT\x10\x08\x12\x13\n\x0f\x43HANNEL_PENALTY\x10\t\x12\x1c\n\x18\x43HANNEL_UNILATERAL_CHEAT\x10\nB\x0c\n\n_item_typeB\n\n\x08_channel\"\xa0\x04\n#ListtransactionsTransactionsOutputs\x12\r\n\x05index\x18\x01 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0cscriptPubKey\x18\x03 \x01(\x0c\x12h\n\titem_type\x18\x04 \x01(\x0e\x32P.cln.ListtransactionsTransactionsOutputs.ListtransactionsTransactionsOutputsTypeH\x00\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x05 \x01(\tH\x01\x88\x01\x01\"\x97\x02\n\'ListtransactionsTransactionsOutputsType\x12\n\n\x06THEIRS\x10\x00\x12\x0b\n\x07\x44\x45POSIT\x10\x01\x12\x0c\n\x08WITHDRAW\x10\x02\x12\x13\n\x0f\x43HANNEL_FUNDING\x10\x03\x12\x18\n\x14\x43HANNEL_MUTUAL_CLOSE\x10\x04\x12\x1c\n\x18\x43HANNEL_UNILATERAL_CLOSE\x10\x05\x12\x11\n\rCHANNEL_SWEEP\x10\x06\x12\x18\n\x14\x43HANNEL_HTLC_SUCCESS\x10\x07\x12\x18\n\x14\x43HANNEL_HTLC_TIMEOUT\x10\x08\x12\x13\n\x0f\x43HANNEL_PENALTY\x10\t\x12\x1c\n\x18\x43HANNEL_UNILATERAL_CHEAT\x10\nB\x0c\n\n_item_typeB\n\n\x08_channel\"\xda\x03\n\nPayRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\r \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nriskfactor\x18\x08 \x01(\x01H\x02\x88\x01\x01\x12\x1a\n\rmaxfeepercent\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x04\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x05\x88\x01\x01\x12#\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0e \x01(\x0cH\x07\x88\x01\x01\x12\x0f\n\x07\x65xclude\x18\n \x03(\t\x12 \n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0c \x01(\tH\t\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x08\n\x06_labelB\r\n\x0b_riskfactorB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\x10\n\x0e_localinvreqidB\t\n\x07_maxfeeB\x0e\n\x0c_description\"\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\"\xe1\x01\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.ListnodesNodesAddressesB\x11\n\x0f_last_timestampB\x08\n\x06_aliasB\x08\n\x06_colorB\x0b\n\t_features\"\xf7\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\"_\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\x12\r\n\tWEBSOCKET\x10\x05\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\"\x93\x04\n\x16WaitanyinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12@\n\x06status\x18\x04 \x01(\x0e\x32\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\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x02\x88\x01\x01\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\"-\n\x14WaitanyinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\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_preimage\"#\n\x12WaitinvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\"\x87\x04\n\x13WaitinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitinvoiceResponse.WaitinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x02\x88\x01\x01\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\"*\n\x11WaitinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\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_preimage\"\x8e\x01\n\x12WaitsendpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x14\n\x07timeout\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\n\n\x08_timeoutB\t\n\x07_partidB\n\n\x08_groupid\"\xb2\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\x19\n\x0c\x63ompleted_at\x18\x0e \x01(\x01H\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x04\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x05\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x08\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\x0f\n\r_completed_atB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimage\"\x8d\x01\n\x0eNewaddrRequest\x12@\n\x0b\x61\x64\x64resstype\x18\x01 \x01(\x0e\x32&.cln.NewaddrRequest.NewaddrAddresstypeH\x00\x88\x01\x01\")\n\x12NewaddrAddresstype\x12\n\n\x06\x42\x45\x43H32\x10\x00\x12\x07\n\x03\x41LL\x10\x02\x42\x0e\n\x0c_addresstype\"[\n\x0fNewaddrResponse\x12\x13\n\x06\x62\x65\x63h32\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bp2sh_segwit\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x0e\n\x0c_p2sh_segwit\"\xca\x01\n\x0fWithdrawRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12&\n\x07satoshi\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAllH\x00\x88\x01\x01\x12\"\n\x07\x66\x65\x65rate\x18\x05 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_satoshiB\n\n\x08_feerateB\n\n\x08_minconf\":\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\"\x82\x03\n\x0eKeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\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\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_extratlvs\"\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\"\xbc\x02\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\x42\n\n\x08_minconfB\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_change\"\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(\x08H\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\"\xdb\x02\n\x0fUtxopsbtRequest\x12\x1c\n\x07satoshi\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\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\x17\n\nreservedok\x18\x08 \x01(\x08H\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\t \x01(\x08H\x04\x88\x01\x01\x42\n\n\x08_reserveB\r\n\x0b_reservedokB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_change\"\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\x07outputs\x18\x05 \x03(\x0b\x32\x0f.cln.OutputDesc\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_feerateB\n\n\x08_minconf\"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\"1\n\x17ListpeerchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"K\n\x18ListpeerchannelsResponse\x12/\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1d.cln.ListpeerchannelsChannels\"\xc7\x18\n\x18ListpeerchannelsChannels\x12\x14\n\x07peer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0epeer_connected\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12O\n\x05state\x18\x03 \x01(\x0e\x32;.cln.ListpeerchannelsChannels.ListpeerchannelsChannelsStateH\x02\x88\x01\x01\x12\x19\n\x0cscratch_txid\x18\x04 \x01(\x0cH\x03\x88\x01\x01\x12:\n\x07\x66\x65\x65rate\x18\x06 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFeerateH\x04\x88\x01\x01\x12\x12\n\x05owner\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x17\n\nchannel_id\x18\t \x01(\x0cH\x07\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\n \x01(\x0cH\x08\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x0b \x01(\rH\t\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\x0c \x01(\tH\n\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\r \x01(\tH\x0b\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0e \x01(\tH\x0c\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0f \x01(\rH\r\x88\x01\x01\x12\x37\n\x08inflight\x18\x10 \x03(\x0b\x32%.cln.ListpeerchannelsChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x11 \x01(\x0cH\x0e\x88\x01\x01\x12\x14\n\x07private\x18\x12 \x01(\x08H\x0f\x88\x01\x01\x12%\n\x06opener\x18\x13 \x01(\x0e\x32\x10.cln.ChannelSideH\x10\x88\x01\x01\x12%\n\x06\x63loser\x18\x14 \x01(\x0e\x32\x10.cln.ChannelSideH\x11\x88\x01\x01\x12:\n\x07\x66unding\x18\x16 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFundingH\x12\x88\x01\x01\x12$\n\nto_us_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x19 \x01(\x0b\x32\x0b.cln.AmountH\x15\x88\x01\x01\x12$\n\ntotal_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x1c \x01(\rH\x18\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12\x30\n\x16max_total_htlc_in_msat\x18\x1e \x01(\x0b\x32\x0b.cln.AmountH\x1a\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1f \x01(\x0b\x32\x0b.cln.AmountH\x1b\x88\x01\x01\x12*\n\x10our_reserve_msat\x18 \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12(\n\x0espendable_msat\x18! \x01(\x0b\x32\x0b.cln.AmountH\x1d\x88\x01\x01\x12)\n\x0freceivable_msat\x18\" \x01(\x0b\x32\x0b.cln.AmountH\x1e\x88\x01\x01\x12.\n\x14minimum_htlc_in_msat\x18# \x01(\x0b\x32\x0b.cln.AmountH\x1f\x88\x01\x01\x12/\n\x15minimum_htlc_out_msat\x18$ \x01(\x0b\x32\x0b.cln.AmountH \x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18% \x01(\x0b\x32\x0b.cln.AmountH!\x88\x01\x01\x12 \n\x13their_to_self_delay\x18& \x01(\rH\"\x88\x01\x01\x12\x1e\n\x11our_to_self_delay\x18\' \x01(\rH#\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\"\xa3\x02\n\x1dListpeerchannelsChannelsState\x12\x0c\n\x08OPENINGD\x10\x00\x12\x1c\n\x18\x43HANNELD_AWAITING_LOCKIN\x10\x01\x12\x13\n\x0f\x43HANNELD_NORMAL\x10\x02\x12\x1a\n\x16\x43HANNELD_SHUTTING_DOWN\x10\x03\x12\x18\n\x14\x43LOSINGD_SIGEXCHANGE\x10\x04\x12\x15\n\x11\x43LOSINGD_COMPLETE\x10\x05\x12\x17\n\x13\x41WAITING_UNILATERAL\x10\x06\x12\x16\n\x12\x46UNDING_SPEND_SEEN\x10\x07\x12\x0b\n\x07ONCHAIN\x10\x08\x12\x17\n\x13\x44UALOPEND_OPEN_INIT\x10\t\x12\x1d\n\x19\x44UALOPEND_AWAITING_LOCKIN\x10\nB\n\n\x08_peer_idB\x11\n\x0f_peer_connectedB\x08\n\x06_stateB\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_openerB\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_addr\"]\n\x1fListpeerchannelsChannelsFeerate\x12\x12\n\x05perkw\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x12\n\x05perkb\x18\x02 \x01(\rH\x01\x88\x01\x01\x42\x08\n\x06_perkwB\x08\n\x06_perkb\"\xd2\x02\n ListpeerchannelsChannelsInflight\x12\x19\n\x0c\x66unding_txid\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07\x66\x65\x65rate\x18\x03 \x01(\tH\x02\x88\x01\x01\x12,\n\x12total_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12*\n\x10our_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x19\n\x0cscratch_txid\x18\x06 \x01(\x0cH\x05\x88\x01\x01\x42\x0f\n\r_funding_txidB\x11\n\x0f_funding_outnumB\n\n\x08_feerateB\x15\n\x13_total_funding_msatB\x13\n\x11_our_funding_msatB\x0f\n\r_scratch_txid\"\xd2\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.AmountH\x01\x88\x01\x01\x12+\n\x11remote_funds_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x13\n\x11_local_funds_msatB\x14\n\x12_remote_funds_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msat\"]\n\x1dListpeerchannelsChannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"\xb4\x03\n\x1dListpeerchannelsChannelsHtlcs\x12\x61\n\tdirection\x18\x01 \x01(\x0e\x32I.cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirectionH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x05 \x01(\x0cH\x04\x88\x01\x01\x12\x1a\n\rlocal_trimmed\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\x13\n\x06status\x18\x07 \x01(\tH\x06\x88\x01\x01\"9\n&ListpeerchannelsChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x0c\n\n_directionB\x05\n\x03_idB\x0e\n\x0c_amount_msatB\t\n\x07_expiryB\x0f\n\r_payment_hashB\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\"\xb2\t\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\x66\n\x0b\x63lose_cause\x18\x18 \x01(\x0e\x32Q.cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsClose_cause\"v\n+ListclosedchannelsClosedchannelsClose_cause\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_msat\"e\n%ListclosedchannelsClosedchannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"=\n\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\"\x9c\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\x46\n\x15onchain_fee_estimates\x18\x04 \x01(\x0b\x32\".cln.FeeratesOnchain_fee_estimatesH\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\"\x91\x03\n\rFeeratesPerkb\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x12\n\x05\x66loor\x18\n \x01(\rH\x00\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkbEstimates\x12\x14\n\x07opening\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x03\x88\x01\x01\x12\x1a\n\rdelayed_to_us\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fhtlc_resolution\x18\x07 \x01(\rH\x05\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x06\x88\x01\x01\x42\x08\n\x06_floorB\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_penalty\"\x96\x01\n\x16\x46\x65\x65ratesPerkbEstimates\x12\x17\n\nblockcount\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07\x66\x65\x65rate\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10smoothed_feerate\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\r\n\x0b_blockcountB\n\n\x08_feerateB\x13\n\x11_smoothed_feerate\"\x91\x03\n\rFeeratesPerkw\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x12\n\x05\x66loor\x18\n \x01(\rH\x00\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkwEstimates\x12\x14\n\x07opening\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x03\x88\x01\x01\x12\x1a\n\rdelayed_to_us\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fhtlc_resolution\x18\x07 \x01(\rH\x05\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x06\x88\x01\x01\x42\x08\n\x06_floorB\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_penalty\"\x96\x01\n\x16\x46\x65\x65ratesPerkwEstimates\x12\x17\n\nblockcount\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07\x66\x65\x65rate\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10smoothed_feerate\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\r\n\x0b_blockcountB\n\n\x08_feerateB\x13\n\x11_smoothed_feerate\"\xc1\x01\n\x1d\x46\x65\x65ratesOnchain_fee_estimates\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\"\xe5\x03\n\x12\x46undchannelRequest\x12\n\n\x02id\x18\t \x01(\x0c\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\x14\n\x07minconf\x18\n \x01(\rH\x02\x88\x01\x01\x12#\n\tpush_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x04\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\tH\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\x42\n\n\x08_feerateB\x0b\n\t_announceB\n\n\x08_minconfB\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\"\x9b\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\x42\x0b\n\t_close_toB\x0b\n\t_mindepth\"\xec\x01\n\x0fGetrouteRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\nriskfactor\x18\x03 \x01(\x04\x12\x11\n\x04\x63ltv\x18\x04 \x01(\x01H\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\x42\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\"\x82\x02\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\"L\n\x12ListforwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\x0e\n\x0c_out_channel\"C\n\x14ListforwardsResponse\x12+\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x19.cln.ListforwardsForwards\"\xde\x04\n\x14ListforwardsForwards\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x17\n\nin_htlc_id\x18\n \x01(\x04H\x00\x88\x01\x01\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\x01\x88\x01\x01\x12\x18\n\x0bout_htlc_id\x18\x0b \x01(\x04H\x02\x88\x01\x01\x12G\n\x05style\x18\t \x01(\x0e\x32\x33.cln.ListforwardsForwards.ListforwardsForwardsStyleH\x03\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\"\n\x08out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x05\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\r\n\x0b_in_htlc_idB\x0e\n\x0c_out_channelB\x0e\n\x0c_out_htlc_idB\x08\n\x06_styleB\x0b\n\t_fee_msatB\x0b\n\t_out_msat\"\xdb\x01\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\"7\n\x0eListpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_status\"3\n\x10ListpaysResponse\x12\x1f\n\x04pays\x18\x01 \x03(\x0b\x32\x11.cln.ListpaysPays\"\x87\x04\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\x19\n\x0c\x63ompleted_at\x18\x0c \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05label\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x15\n\x08preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x1c\n\x0fnumber_of_parts\x18\x0e \x01(\x04H\x07\x88\x01\x01\x12\x17\n\nerroronion\x18\n \x01(\x0cH\x08\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\x0f\n\r_completed_atB\x08\n\x06_labelB\t\n\x07_bolt11B\x0e\n\x0c_descriptionB\t\n\x07_bolt12B\x0b\n\t_preimageB\x12\n\x10_number_of_partsB\r\n\x0b_erroronion\"Y\n\x0bPingRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x03len\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x16\n\tpongbytes\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x06\n\x04_lenB\x0c\n\n_pongbytes\"\x1e\n\x0cPingResponse\x12\x0e\n\x06totlen\x18\x01 \x01(\r\"4\n\x14SendcustommsgRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"\'\n\x15SendcustommsgResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\"\xf8\x01\n\x11SetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07\x66\x65\x65\x62\x61se\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x66\x65\x65ppm\x18\x03 \x01(\rH\x01\x88\x01\x01\x12!\n\x07htlcmin\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12!\n\x07htlcmax\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x19\n\x0c\x65nforcedelay\x18\x06 \x01(\rH\x04\x88\x01\x01\x42\n\n\x08_feebaseB\t\n\x07_feeppmB\n\n\x08_htlcminB\n\n\x08_htlcmaxB\x0f\n\r_enforcedelay\"?\n\x12SetchannelResponse\x12)\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x17.cln.SetchannelChannels\"\x94\x03\n\x12SetchannelChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\x12*\n\x15minimum_htlc_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x17warning_htlcmin_too_low\x18\x07 \x01(\tH\x01\x88\x01\x01\x12*\n\x15maximum_htlc_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x18warning_htlcmax_too_high\x18\t \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\x1a\n\x18_warning_htlcmin_too_lowB\x1b\n\x19_warning_htlcmax_too_high\"\'\n\x12SigninvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\"%\n\x13SigninvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"%\n\x12SignmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\"F\n\x13SignmessageResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\r\n\x05recid\x18\x02 \x01(\x0c\x12\r\n\x05zbase\x18\x03 \x01(\t\"\r\n\x0bStopRequest\"\x0e\n\x0cStopResponse2\xeb\x19\n\x04Node\x12\x36\n\x07Getinfo\x12\x13.cln.GetinfoRequest\x1a\x14.cln.GetinfoResponse\"\x00\x12<\n\tListPeers\x12\x15.cln.ListpeersRequest\x1a\x16.cln.ListpeersResponse\"\x00\x12<\n\tListFunds\x12\x15.cln.ListfundsRequest\x1a\x16.cln.ListfundsResponse\"\x00\x12\x36\n\x07SendPay\x12\x13.cln.SendpayRequest\x1a\x14.cln.SendpayResponse\"\x00\x12\x45\n\x0cListChannels\x12\x18.cln.ListchannelsRequest\x1a\x19.cln.ListchannelsResponse\"\x00\x12<\n\tAddGossip\x12\x15.cln.AddgossipRequest\x1a\x16.cln.AddgossipResponse\"\x00\x12Q\n\x10\x41utoCleanInvoice\x12\x1c.cln.AutocleaninvoiceRequest\x1a\x1d.cln.AutocleaninvoiceResponse\"\x00\x12\x45\n\x0c\x43heckMessage\x12\x18.cln.CheckmessageRequest\x1a\x19.cln.CheckmessageResponse\"\x00\x12\x30\n\x05\x43lose\x12\x11.cln.CloseRequest\x1a\x12.cln.CloseResponse\"\x00\x12:\n\x0b\x43onnectPeer\x12\x13.cln.ConnectRequest\x1a\x14.cln.ConnectResponse\"\x00\x12H\n\rCreateInvoice\x12\x19.cln.CreateinvoiceRequest\x1a\x1a.cln.CreateinvoiceResponse\"\x00\x12<\n\tDatastore\x12\x15.cln.DatastoreRequest\x1a\x16.cln.DatastoreResponse\"\x00\x12\x42\n\x0b\x43reateOnion\x12\x17.cln.CreateonionRequest\x1a\x18.cln.CreateonionResponse\"\x00\x12\x45\n\x0c\x44\x65lDatastore\x12\x18.cln.DeldatastoreRequest\x1a\x19.cln.DeldatastoreResponse\"\x00\x12T\n\x11\x44\x65lExpiredInvoice\x12\x1d.cln.DelexpiredinvoiceRequest\x1a\x1e.cln.DelexpiredinvoiceResponse\"\x00\x12?\n\nDelInvoice\x12\x16.cln.DelinvoiceRequest\x1a\x17.cln.DelinvoiceResponse\"\x00\x12\x36\n\x07Invoice\x12\x13.cln.InvoiceRequest\x1a\x14.cln.InvoiceResponse\"\x00\x12H\n\rListDatastore\x12\x19.cln.ListdatastoreRequest\x1a\x1a.cln.ListdatastoreResponse\"\x00\x12\x45\n\x0cListInvoices\x12\x18.cln.ListinvoicesRequest\x1a\x19.cln.ListinvoicesResponse\"\x00\x12<\n\tSendOnion\x12\x15.cln.SendonionRequest\x1a\x16.cln.SendonionResponse\"\x00\x12\x45\n\x0cListSendPays\x12\x18.cln.ListsendpaysRequest\x1a\x19.cln.ListsendpaysResponse\"\x00\x12Q\n\x10ListTransactions\x12\x1c.cln.ListtransactionsRequest\x1a\x1d.cln.ListtransactionsResponse\"\x00\x12*\n\x03Pay\x12\x0f.cln.PayRequest\x1a\x10.cln.PayResponse\"\x00\x12<\n\tListNodes\x12\x15.cln.ListnodesRequest\x1a\x16.cln.ListnodesResponse\"\x00\x12K\n\x0eWaitAnyInvoice\x12\x1a.cln.WaitanyinvoiceRequest\x1a\x1b.cln.WaitanyinvoiceResponse\"\x00\x12\x42\n\x0bWaitInvoice\x12\x17.cln.WaitinvoiceRequest\x1a\x18.cln.WaitinvoiceResponse\"\x00\x12\x42\n\x0bWaitSendPay\x12\x17.cln.WaitsendpayRequest\x1a\x18.cln.WaitsendpayResponse\"\x00\x12\x36\n\x07NewAddr\x12\x13.cln.NewaddrRequest\x1a\x14.cln.NewaddrResponse\"\x00\x12\x39\n\x08Withdraw\x12\x14.cln.WithdrawRequest\x1a\x15.cln.WithdrawResponse\"\x00\x12\x36\n\x07KeySend\x12\x13.cln.KeysendRequest\x1a\x14.cln.KeysendResponse\"\x00\x12\x39\n\x08\x46undPsbt\x12\x14.cln.FundpsbtRequest\x1a\x15.cln.FundpsbtResponse\"\x00\x12\x39\n\x08SendPsbt\x12\x14.cln.SendpsbtRequest\x1a\x15.cln.SendpsbtResponse\"\x00\x12\x39\n\x08SignPsbt\x12\x14.cln.SignpsbtRequest\x1a\x15.cln.SignpsbtResponse\"\x00\x12\x39\n\x08UtxoPsbt\x12\x14.cln.UtxopsbtRequest\x1a\x15.cln.UtxopsbtResponse\"\x00\x12<\n\tTxDiscard\x12\x15.cln.TxdiscardRequest\x1a\x16.cln.TxdiscardResponse\"\x00\x12<\n\tTxPrepare\x12\x15.cln.TxprepareRequest\x1a\x16.cln.TxprepareResponse\"\x00\x12\x33\n\x06TxSend\x12\x12.cln.TxsendRequest\x1a\x13.cln.TxsendResponse\"\x00\x12Q\n\x10ListPeerChannels\x12\x1c.cln.ListpeerchannelsRequest\x1a\x1d.cln.ListpeerchannelsResponse\"\x00\x12W\n\x12ListClosedChannels\x12\x1e.cln.ListclosedchannelsRequest\x1a\x1f.cln.ListclosedchannelsResponse\"\x00\x12?\n\nDisconnect\x12\x16.cln.DisconnectRequest\x1a\x17.cln.DisconnectResponse\"\x00\x12\x39\n\x08\x46\x65\x65rates\x12\x14.cln.FeeratesRequest\x1a\x15.cln.FeeratesResponse\"\x00\x12\x42\n\x0b\x46undChannel\x12\x17.cln.FundchannelRequest\x1a\x18.cln.FundchannelResponse\"\x00\x12\x39\n\x08GetRoute\x12\x14.cln.GetrouteRequest\x1a\x15.cln.GetrouteResponse\"\x00\x12\x45\n\x0cListForwards\x12\x18.cln.ListforwardsRequest\x1a\x19.cln.ListforwardsResponse\"\x00\x12\x39\n\x08ListPays\x12\x14.cln.ListpaysRequest\x1a\x15.cln.ListpaysResponse\"\x00\x12-\n\x04Ping\x12\x10.cln.PingRequest\x1a\x11.cln.PingResponse\"\x00\x12H\n\rSendCustomMsg\x12\x19.cln.SendcustommsgRequest\x1a\x1a.cln.SendcustommsgResponse\"\x00\x12?\n\nSetChannel\x12\x16.cln.SetchannelRequest\x1a\x17.cln.SetchannelResponse\"\x00\x12\x42\n\x0bSignInvoice\x12\x17.cln.SigninvoiceRequest\x1a\x18.cln.SigninvoiceResponse\"\x00\x12\x42\n\x0bSignMessage\x12\x17.cln.SignmessageRequest\x1a\x18.cln.SignmessageResponse\"\x00\x12-\n\x04Stop\x12\x10.cln.StopRequest\x1a\x11.cln.StopResponse\"\x00\x62\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nnode.proto\x12\x03\x63ln\x1a\x10primitives.proto\"\x10\n\x0eGetinfoRequest\"\xb2\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\x33\n\x0cour_features\x18\n \x01(\x0b\x32\x18.cln.GetinfoOur_featuresH\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\"S\n\x13GetinfoOur_features\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\"\xd3\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\"V\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\x12\r\n\tWEBSOCKET\x10\x05\x42\n\n\x08_address\"\xfb\x01\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\"P\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\x42\n\n\x08_addressB\x07\n\x05_portB\t\n\x07_socket\"H\n\x10ListpeersRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\x05level\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x05\n\x03_idB\x08\n\x06_level\"7\n\x11ListpeersResponse\x12\"\n\x05peers\x18\x01 \x03(\x0b\x32\x13.cln.ListpeersPeers\"\x8e\x02\n\x0eListpeersPeers\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12\x19\n\x0cnum_channels\x18\x08 \x01(\rH\x00\x88\x01\x01\x12#\n\x03log\x18\x03 \x03(\x0b\x32\x16.cln.ListpeersPeersLog\x12-\n\x08\x63hannels\x18\x04 \x03(\x0b\x32\x1b.cln.ListpeersPeersChannels\x12\x0f\n\x07netaddr\x18\x05 \x03(\t\x12\x18\n\x0bremote_addr\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x42\x0f\n\r_num_channelsB\x0e\n\x0c_remote_addrB\x0b\n\t_features\"\xfd\x02\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\"i\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\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\"\xd6\x17\n\x16ListpeersPeersChannels\x12\x46\n\x05state\x18\x01 \x01(\x0e\x32\x37.cln.ListpeersPeersChannels.ListpeersPeersChannelsState\x12\x19\n\x0cscratch_txid\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x38\n\x07\x66\x65\x65rate\x18\x03 \x01(\x0b\x32\".cln.ListpeersPeersChannelsFeerateH\x01\x88\x01\x01\x12\x12\n\x05owner\x18\x04 \x01(\tH\x02\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x05 \x01(\tH\x03\x88\x01\x01\x12\x17\n\nchannel_id\x18\x06 \x01(\x0cH\x04\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\x07 \x01(\x0cH\x05\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x08 \x01(\rH\x06\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\t \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\n \x01(\tH\x08\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0b \x01(\tH\t\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0c \x01(\rH\n\x88\x01\x01\x12\x35\n\x08inflight\x18\r \x03(\x0b\x32#.cln.ListpeersPeersChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x0e \x01(\x0cH\x0b\x88\x01\x01\x12\x14\n\x07private\x18\x0f \x01(\x08H\x0c\x88\x01\x01\x12 \n\x06opener\x18\x10 \x01(\x0e\x32\x10.cln.ChannelSide\x12%\n\x06\x63loser\x18\x11 \x01(\x0e\x32\x10.cln.ChannelSideH\r\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x12 \x03(\t\x12\x38\n\x07\x66unding\x18\x13 \x01(\x0b\x32\".cln.ListpeersPeersChannelsFundingH\x0e\x88\x01\x01\x12$\n\nto_us_msat\x18\x14 \x01(\x0b\x32\x0b.cln.AmountH\x0f\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x15 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x16 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12$\n\ntotal_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x12\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x19 \x01(\rH\x14\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x15\x88\x01\x01\x12\x30\n\x16max_total_htlc_in_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12*\n\x10our_reserve_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x18\x88\x01\x01\x12(\n\x0espendable_msat\x18\x1e \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12)\n\x0freceivable_msat\x18\x1f \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\x30 \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18\x31 \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\x34\n\x05\x61lias\x18\x32 \x01(\x0b\x32 .cln.ListpeersPeersChannelsAliasH!\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* \x01(\x04H&\x88\x01\x01\x12*\n\x10out_offered_msat\x18+ \x01(\x0b\x32\x0b.cln.AmountH\'\x88\x01\x01\x12#\n\x16out_payments_fulfilled\x18, \x01(\x04H(\x88\x01\x01\x12,\n\x12out_fulfilled_msat\x18- \x01(\x0b\x32\x0b.cln.AmountH)\x88\x01\x01\x12/\n\x05htlcs\x18. \x03(\x0b\x32 .cln.ListpeersPeersChannelsHtlcs\x12\x1a\n\rclose_to_addr\x18/ \x01(\tH*\x88\x01\x01\"\xa1\x02\n\x1bListpeersPeersChannelsState\x12\x0c\n\x08OPENINGD\x10\x00\x12\x1c\n\x18\x43HANNELD_AWAITING_LOCKIN\x10\x01\x12\x13\n\x0f\x43HANNELD_NORMAL\x10\x02\x12\x1a\n\x16\x43HANNELD_SHUTTING_DOWN\x10\x03\x12\x18\n\x14\x43LOSINGD_SIGEXCHANGE\x10\x04\x12\x15\n\x11\x43LOSINGD_COMPLETE\x10\x05\x12\x17\n\x13\x41WAITING_UNILATERAL\x10\x06\x12\x16\n\x12\x46UNDING_SPEND_SEEN\x10\x07\x12\x0b\n\x07ONCHAIN\x10\x08\x12\x17\n\x13\x44UALOPEND_OPEN_INIT\x10\t\x12\x1d\n\x19\x44UALOPEND_AWAITING_LOCKIN\x10\nB\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_addr\"=\n\x1dListpeersPeersChannelsFeerate\x12\r\n\x05perkw\x18\x01 \x01(\r\x12\r\n\x05perkb\x18\x02 \x01(\r\"\xc5\x01\n\x1eListpeersPeersChannelsInflight\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\x14\n\x0cscratch_txid\x18\x06 \x01(\x0c\"\x9b\x02\n\x1dListpeersPeersChannelsFunding\x12%\n\x0bpushed_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12%\n\x10local_funds_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12&\n\x11remote_funds_msat\x18\x07 \x01(\x0b\x32\x0b.cln.Amount\x12\'\n\rfee_paid_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msat\"[\n\x1bListpeersPeersChannelsAlias\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\"\xf1\x02\n\x1bListpeersPeersChannelsHtlcs\x12X\n\tdirection\x18\x01 \x01(\x0e\x32\x45.cln.ListpeersPeersChannelsHtlcs.ListpeersPeersChannelsHtlcsDirection\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\"7\n$ListpeersPeersChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x10\n\x0e_local_trimmedB\t\n\x07_status\"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\"\x83\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\x10\n\x08reserved\x18\t \x01(\x08\x12\x18\n\x0b\x62lockheight\x18\x08 \x01(\rH\x02\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_blockheight\"\xab\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\x17\n\nchannel_id\x18\t \x01(\x0cH\x00\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x01\x88\x01\x01\x42\r\n\x0b_channel_idB\x13\n\x11_short_channel_id\"\xdd\x02\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%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x1b\n\x0epayment_secret\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0b \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07groupid\x18\t \x01(\x04H\x06\x88\x01\x01\x42\x08\n\x06_labelB\x0e\n\x0c_amount_msatB\t\n\x07_bolt11B\x11\n\x0f_payment_secretB\t\n\x07_partidB\x10\n\x0e_localinvreqidB\n\n\x08_groupid\"\xd1\x04\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\x19\n\x0c\x63ompleted_at\x18\x0f \x01(\x04H\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x04\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x05\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x08\x88\x01\x01\x12\x14\n\x07message\x18\x0e \x01(\tH\t\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\x0f\n\r_completed_atB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_message\"\\\n\x0cSendpayRoute\x12 \n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\n\n\x02id\x18\x02 \x01(\x0c\x12\r\n\x05\x64\x65lay\x18\x03 \x01(\r\x12\x0f\n\x07\x63hannel\x18\x04 \x01(\t\"\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\x11\n\tdirection\x18\x10 \x01(\r\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\x42\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\"o\n\x17\x41utocleaninvoiceRequest\x12\x17\n\nexpired_by\x18\x01 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rcycle_seconds\x18\x02 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_expired_byB\x10\n\x0e_cycle_seconds\"\x81\x01\n\x18\x41utocleaninvoiceResponse\x12\x0f\n\x07\x65nabled\x18\x01 \x01(\x08\x12\x17\n\nexpired_by\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x1a\n\rcycle_seconds\x18\x03 \x01(\x04H\x01\x88\x01\x01\x42\r\n\x0b_expired_byB\x10\n\x0e_cycle_seconds\"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\"\xab\x01\n\rCloseResponse\x12/\n\titem_type\x18\x01 \x01(\x0e\x32\x1c.cln.CloseResponse.CloseType\x12\x0f\n\x02tx\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x12\x11\n\x04txid\x18\x03 \x01(\x0cH\x01\x88\x01\x01\"5\n\tCloseType\x12\n\n\x06MUTUAL\x10\x00\x12\x0e\n\nUNILATERAL\x10\x01\x12\x0c\n\x08UNOPENED\x10\x02\x42\x05\n\x03_txB\x07\n\x05_txid\"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\"\x81\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\"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_note\"\xb4\x02\n\x10\x44\x61tastoreRequest\x12\x0b\n\x03key\x18\x05 \x03(\t\x12\x13\n\x06string\x18\x06 \x01(\tH\x00\x88\x01\x01\x12\x10\n\x03hex\x18\x02 \x01(\x0cH\x01\x88\x01\x01\x12\x36\n\x04mode\x18\x03 \x01(\x0e\x32#.cln.DatastoreRequest.DatastoreModeH\x02\x88\x01\x01\x12\x17\n\ngeneration\x18\x04 \x01(\x04H\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\t\n\x07_stringB\x06\n\x04_hexB\x07\n\x05_modeB\r\n\x0b_generation\"\x82\x01\n\x11\x44\x61tastoreResponse\x12\x0b\n\x03key\x18\x05 \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\"\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\x0b\n\x03key\x18\x03 \x03(\t\x12\x17\n\ngeneration\x18\x02 \x01(\x04H\x00\x88\x01\x01\x42\r\n\x0b_generation\"\x85\x01\n\x14\x44\x65ldatastoreResponse\x12\x0b\n\x03key\x18\x05 \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\"H\n\x18\x44\x65lexpiredinvoiceRequest\x12\x1a\n\rmaxexpirytime\x18\x01 \x01(\x04H\x00\x88\x01\x01\x42\x10\n\x0e_maxexpirytime\"\x1b\n\x19\x44\x65lexpiredinvoiceResponse\"\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\"\xc5\x03\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\"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_note\"\xfa\x01\n\x0eInvoiceRequest\x12%\n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x10.cln.AmountOrAny\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\r\n\x05label\x18\x03 \x01(\t\x12\x13\n\x06\x65xpiry\x18\x07 \x01(\x04H\x00\x88\x01\x01\x12\x11\n\tfallbacks\x18\x04 \x03(\t\x12\x15\n\x08preimage\x18\x05 \x01(\x0cH\x01\x88\x01\x01\x12\x11\n\x04\x63ltv\x18\x06 \x01(\rH\x02\x88\x01\x01\x12\x19\n\x0c\x64\x65schashonly\x18\t \x01(\x08H\x03\x88\x01\x01\x42\t\n\x07_expiryB\x0b\n\t_preimageB\x07\n\x05_cltvB\x0f\n\r_deschashonly\"\xe7\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\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\"#\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\"\xa9\x01\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\x42\x08\n\x06_labelB\x0c\n\n_invstringB\x0f\n\r_payment_hashB\x0b\n\t_offer_id\"C\n\x14ListinvoicesResponse\x12+\n\x08invoices\x18\x01 \x03(\x0b\x32\x19.cln.ListinvoicesInvoices\"\xa2\x05\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\x1e\n\x11invreq_payer_note\x18\x0f \x01(\tH\x05\x88\x01\x01\x12\x16\n\tpay_index\x18\x0b \x01(\x04H\x06\x88\x01\x01\x12.\n\x14\x61mount_received_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x07\x88\x01\x01\x12\x14\n\x07paid_at\x18\r \x01(\x04H\x08\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0e \x01(\x0cH\t\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\x14\n\x12_invreq_payer_noteB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\x8a\x03\n\x10SendonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\x12*\n\tfirst_hop\x18\x02 \x01(\x0b\x32\x17.cln.SendonionFirst_hop\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%\n\x0b\x61mount_msat\x18\x0c \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\t \x01(\x0cH\x04\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\r \x01(\x0cH\x05\x88\x01\x01\x12\x14\n\x07groupid\x18\x0b \x01(\x04H\x06\x88\x01\x01\x42\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x10\n\x0e_localinvreqidB\n\n\x08_groupid\"\x8b\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\x13\n\x06partid\x18\r \x01(\x04H\x05\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0b \x01(\x0cH\x06\x88\x01\x01\x12\x14\n\x07message\x18\x0c \x01(\tH\x07\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\t\n\x07_partidB\x13\n\x11_payment_preimageB\n\n\x08_message\"Q\n\x12SendonionFirst_hop\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\"\xeb\x01\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\";\n\x12ListsendpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_status\"C\n\x14ListsendpaysResponse\x12+\n\x08payments\x18\x01 \x03(\x0b\x32\x19.cln.ListsendpaysPayments\"\xf4\x04\n\x14ListsendpaysPayments\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0f\n\x07groupid\x18\x02 \x01(\x04\x12\x13\n\x06partid\x18\x0f \x01(\x04H\x00\x88\x01\x01\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\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\x06\x62olt11\x18\n \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0e \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0b \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\x0c \x01(\x0cH\x07\x88\x01\x01\x12\x17\n\nerroronion\x18\r \x01(\x0cH\x08\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\t\n\x07_partidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\x0e\n\x0c_descriptionB\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\r\n\x0b_erroronion\"\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\"\x84\x04\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\x12\x66\n\titem_type\x18\x04 \x01(\x0e\x32N.cln.ListtransactionsTransactionsInputs.ListtransactionsTransactionsInputsTypeH\x00\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x05 \x01(\tH\x01\x88\x01\x01\"\x96\x02\n&ListtransactionsTransactionsInputsType\x12\n\n\x06THEIRS\x10\x00\x12\x0b\n\x07\x44\x45POSIT\x10\x01\x12\x0c\n\x08WITHDRAW\x10\x02\x12\x13\n\x0f\x43HANNEL_FUNDING\x10\x03\x12\x18\n\x14\x43HANNEL_MUTUAL_CLOSE\x10\x04\x12\x1c\n\x18\x43HANNEL_UNILATERAL_CLOSE\x10\x05\x12\x11\n\rCHANNEL_SWEEP\x10\x06\x12\x18\n\x14\x43HANNEL_HTLC_SUCCESS\x10\x07\x12\x18\n\x14\x43HANNEL_HTLC_TIMEOUT\x10\x08\x12\x13\n\x0f\x43HANNEL_PENALTY\x10\t\x12\x1c\n\x18\x43HANNEL_UNILATERAL_CHEAT\x10\nB\x0c\n\n_item_typeB\n\n\x08_channel\"\xa0\x04\n#ListtransactionsTransactionsOutputs\x12\r\n\x05index\x18\x01 \x01(\r\x12 \n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0cscriptPubKey\x18\x03 \x01(\x0c\x12h\n\titem_type\x18\x04 \x01(\x0e\x32P.cln.ListtransactionsTransactionsOutputs.ListtransactionsTransactionsOutputsTypeH\x00\x88\x01\x01\x12\x14\n\x07\x63hannel\x18\x05 \x01(\tH\x01\x88\x01\x01\"\x97\x02\n\'ListtransactionsTransactionsOutputsType\x12\n\n\x06THEIRS\x10\x00\x12\x0b\n\x07\x44\x45POSIT\x10\x01\x12\x0c\n\x08WITHDRAW\x10\x02\x12\x13\n\x0f\x43HANNEL_FUNDING\x10\x03\x12\x18\n\x14\x43HANNEL_MUTUAL_CLOSE\x10\x04\x12\x1c\n\x18\x43HANNEL_UNILATERAL_CLOSE\x10\x05\x12\x11\n\rCHANNEL_SWEEP\x10\x06\x12\x18\n\x14\x43HANNEL_HTLC_SUCCESS\x10\x07\x12\x18\n\x14\x43HANNEL_HTLC_TIMEOUT\x10\x08\x12\x13\n\x0f\x43HANNEL_PENALTY\x10\t\x12\x1c\n\x18\x43HANNEL_UNILATERAL_CHEAT\x10\nB\x0c\n\n_item_typeB\n\n\x08_channel\"\xda\x03\n\nPayRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12%\n\x0b\x61mount_msat\x18\r \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x12\n\x05label\x18\x03 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nriskfactor\x18\x08 \x01(\x01H\x02\x88\x01\x01\x12\x1a\n\rmaxfeepercent\x18\x04 \x01(\x01H\x03\x88\x01\x01\x12\x16\n\tretry_for\x18\x05 \x01(\rH\x04\x88\x01\x01\x12\x15\n\x08maxdelay\x18\x06 \x01(\rH\x05\x88\x01\x01\x12#\n\texemptfee\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x1a\n\rlocalinvreqid\x18\x0e \x01(\x0cH\x07\x88\x01\x01\x12\x0f\n\x07\x65xclude\x18\n \x03(\t\x12 \n\x06maxfee\x18\x0b \x01(\x0b\x32\x0b.cln.AmountH\x08\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0c \x01(\tH\t\x88\x01\x01\x42\x0e\n\x0c_amount_msatB\x08\n\x06_labelB\r\n\x0b_riskfactorB\x10\n\x0e_maxfeepercentB\x0c\n\n_retry_forB\x0b\n\t_maxdelayB\x0c\n\n_exemptfeeB\x10\n\x0e_localinvreqidB\t\n\x07_maxfeeB\x0e\n\x0c_description\"\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\"\xe1\x01\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.ListnodesNodesAddressesB\x11\n\x0f_last_timestampB\x08\n\x06_aliasB\x08\n\x06_colorB\x0b\n\t_features\"\xf7\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\"_\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\x12\r\n\tWEBSOCKET\x10\x05\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\"\x93\x04\n\x16WaitanyinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12@\n\x06status\x18\x04 \x01(\x0e\x32\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\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x02\x88\x01\x01\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\"-\n\x14WaitanyinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\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_preimage\"#\n\x12WaitinvoiceRequest\x12\r\n\x05label\x18\x01 \x01(\t\"\x87\x04\n\x13WaitinvoiceResponse\x12\r\n\x05label\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65scription\x18\x02 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitinvoiceResponse.WaitinvoiceStatus\x12\x12\n\nexpires_at\x18\x05 \x01(\x04\x12%\n\x0b\x61mount_msat\x18\x06 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x07 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x08 \x01(\tH\x02\x88\x01\x01\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\"*\n\x11WaitinvoiceStatus\x12\x08\n\x04PAID\x10\x00\x12\x0b\n\x07\x45XPIRED\x10\x01\x42\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_preimage\"\x8e\x01\n\x12WaitsendpayRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x14\n\x07timeout\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x13\n\x06partid\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12\x14\n\x07groupid\x18\x04 \x01(\x04H\x02\x88\x01\x01\x42\n\n\x08_timeoutB\t\n\x07_partidB\n\n\x08_groupid\"\xb2\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\x19\n\x0c\x63ompleted_at\x18\x0e \x01(\x01H\x03\x88\x01\x01\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x04\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x05\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x06\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x07\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x08\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\x0f\n\r_completed_atB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimage\"\x8d\x01\n\x0eNewaddrRequest\x12@\n\x0b\x61\x64\x64resstype\x18\x01 \x01(\x0e\x32&.cln.NewaddrRequest.NewaddrAddresstypeH\x00\x88\x01\x01\")\n\x12NewaddrAddresstype\x12\n\n\x06\x42\x45\x43H32\x10\x00\x12\x07\n\x03\x41LL\x10\x02\x42\x0e\n\x0c_addresstype\"[\n\x0fNewaddrResponse\x12\x13\n\x06\x62\x65\x63h32\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0bp2sh_segwit\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\t\n\x07_bech32B\x0e\n\x0c_p2sh_segwit\"\xca\x01\n\x0fWithdrawRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12&\n\x07satoshi\x18\x02 \x01(\x0b\x32\x10.cln.AmountOrAllH\x00\x88\x01\x01\x12\"\n\x07\x66\x65\x65rate\x18\x05 \x01(\x0b\x32\x0c.cln.FeerateH\x01\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x02\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_satoshiB\n\n\x08_feerateB\n\n\x08_minconf\":\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\"\x82\x03\n\x0eKeysendRequest\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\n \x01(\x0b\x32\x0b.cln.Amount\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\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_extratlvs\"\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\"\xbc\x02\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\x42\n\n\x08_minconfB\n\n\x08_reserveB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_change\"\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(\x08H\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\"\xdb\x02\n\x0fUtxopsbtRequest\x12\x1c\n\x07satoshi\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\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\x17\n\nreservedok\x18\x08 \x01(\x08H\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\t \x01(\x08H\x04\x88\x01\x01\x42\n\n\x08_reserveB\r\n\x0b_reservedokB\x0b\n\t_locktimeB\x15\n\x13_min_witness_weightB\x13\n\x11_excess_as_change\"\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\x07outputs\x18\x05 \x03(\x0b\x32\x0f.cln.OutputDesc\x12\"\n\x07\x66\x65\x65rate\x18\x02 \x01(\x0b\x32\x0c.cln.FeerateH\x00\x88\x01\x01\x12\x14\n\x07minconf\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x1c\n\x05utxos\x18\x04 \x03(\x0b\x32\r.cln.OutpointB\n\n\x08_feerateB\n\n\x08_minconf\"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\"1\n\x17ListpeerchannelsRequest\x12\x0f\n\x02id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x42\x05\n\x03_id\"K\n\x18ListpeerchannelsResponse\x12/\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1d.cln.ListpeerchannelsChannels\"\xc7\x18\n\x18ListpeerchannelsChannels\x12\x14\n\x07peer_id\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0epeer_connected\x18\x02 \x01(\x08H\x01\x88\x01\x01\x12O\n\x05state\x18\x03 \x01(\x0e\x32;.cln.ListpeerchannelsChannels.ListpeerchannelsChannelsStateH\x02\x88\x01\x01\x12\x19\n\x0cscratch_txid\x18\x04 \x01(\x0cH\x03\x88\x01\x01\x12:\n\x07\x66\x65\x65rate\x18\x06 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFeerateH\x04\x88\x01\x01\x12\x12\n\x05owner\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x06\x88\x01\x01\x12\x17\n\nchannel_id\x18\t \x01(\x0cH\x07\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\n \x01(\x0cH\x08\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x0b \x01(\rH\t\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\x0c \x01(\tH\n\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\r \x01(\tH\x0b\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0e \x01(\tH\x0c\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0f \x01(\rH\r\x88\x01\x01\x12\x37\n\x08inflight\x18\x10 \x03(\x0b\x32%.cln.ListpeerchannelsChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x11 \x01(\x0cH\x0e\x88\x01\x01\x12\x14\n\x07private\x18\x12 \x01(\x08H\x0f\x88\x01\x01\x12%\n\x06opener\x18\x13 \x01(\x0e\x32\x10.cln.ChannelSideH\x10\x88\x01\x01\x12%\n\x06\x63loser\x18\x14 \x01(\x0e\x32\x10.cln.ChannelSideH\x11\x88\x01\x01\x12:\n\x07\x66unding\x18\x16 \x01(\x0b\x32$.cln.ListpeerchannelsChannelsFundingH\x12\x88\x01\x01\x12$\n\nto_us_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x19 \x01(\x0b\x32\x0b.cln.AmountH\x15\x88\x01\x01\x12$\n\ntotal_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x1c \x01(\rH\x18\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12\x30\n\x16max_total_htlc_in_msat\x18\x1e \x01(\x0b\x32\x0b.cln.AmountH\x1a\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1f \x01(\x0b\x32\x0b.cln.AmountH\x1b\x88\x01\x01\x12*\n\x10our_reserve_msat\x18 \x01(\x0b\x32\x0b.cln.AmountH\x1c\x88\x01\x01\x12(\n\x0espendable_msat\x18! \x01(\x0b\x32\x0b.cln.AmountH\x1d\x88\x01\x01\x12)\n\x0freceivable_msat\x18\" \x01(\x0b\x32\x0b.cln.AmountH\x1e\x88\x01\x01\x12.\n\x14minimum_htlc_in_msat\x18# \x01(\x0b\x32\x0b.cln.AmountH\x1f\x88\x01\x01\x12/\n\x15minimum_htlc_out_msat\x18$ \x01(\x0b\x32\x0b.cln.AmountH \x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18% \x01(\x0b\x32\x0b.cln.AmountH!\x88\x01\x01\x12 \n\x13their_to_self_delay\x18& \x01(\rH\"\x88\x01\x01\x12\x1e\n\x11our_to_self_delay\x18\' \x01(\rH#\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\"\xa3\x02\n\x1dListpeerchannelsChannelsState\x12\x0c\n\x08OPENINGD\x10\x00\x12\x1c\n\x18\x43HANNELD_AWAITING_LOCKIN\x10\x01\x12\x13\n\x0f\x43HANNELD_NORMAL\x10\x02\x12\x1a\n\x16\x43HANNELD_SHUTTING_DOWN\x10\x03\x12\x18\n\x14\x43LOSINGD_SIGEXCHANGE\x10\x04\x12\x15\n\x11\x43LOSINGD_COMPLETE\x10\x05\x12\x17\n\x13\x41WAITING_UNILATERAL\x10\x06\x12\x16\n\x12\x46UNDING_SPEND_SEEN\x10\x07\x12\x0b\n\x07ONCHAIN\x10\x08\x12\x17\n\x13\x44UALOPEND_OPEN_INIT\x10\t\x12\x1d\n\x19\x44UALOPEND_AWAITING_LOCKIN\x10\nB\n\n\x08_peer_idB\x11\n\x0f_peer_connectedB\x08\n\x06_stateB\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_openerB\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_addr\"]\n\x1fListpeerchannelsChannelsFeerate\x12\x12\n\x05perkw\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x12\n\x05perkb\x18\x02 \x01(\rH\x01\x88\x01\x01\x42\x08\n\x06_perkwB\x08\n\x06_perkb\"\xd2\x02\n ListpeerchannelsChannelsInflight\x12\x19\n\x0c\x66unding_txid\x18\x01 \x01(\x0cH\x00\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x14\n\x07\x66\x65\x65rate\x18\x03 \x01(\tH\x02\x88\x01\x01\x12,\n\x12total_funding_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12*\n\x10our_funding_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\x19\n\x0cscratch_txid\x18\x06 \x01(\x0cH\x05\x88\x01\x01\x42\x0f\n\r_funding_txidB\x11\n\x0f_funding_outnumB\n\n\x08_feerateB\x15\n\x13_total_funding_msatB\x13\n\x11_our_funding_msatB\x0f\n\r_scratch_txid\"\xd2\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.AmountH\x01\x88\x01\x01\x12+\n\x11remote_funds_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\'\n\rfee_paid_msat\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\'\n\rfee_rcvd_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x42\x0e\n\x0c_pushed_msatB\x13\n\x11_local_funds_msatB\x14\n\x12_remote_funds_msatB\x10\n\x0e_fee_paid_msatB\x10\n\x0e_fee_rcvd_msat\"]\n\x1dListpeerchannelsChannelsAlias\x12\x12\n\x05local\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06remote\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x08\n\x06_localB\t\n\x07_remote\"\xe2\x03\n\x1dListpeerchannelsChannelsHtlcs\x12\x61\n\tdirection\x18\x01 \x01(\x0e\x32I.cln.ListpeerchannelsChannelsHtlcs.ListpeerchannelsChannelsHtlcsDirectionH\x00\x88\x01\x01\x12\x0f\n\x02id\x18\x02 \x01(\x04H\x01\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12\x13\n\x06\x65xpiry\x18\x04 \x01(\rH\x03\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x05 \x01(\x0cH\x04\x88\x01\x01\x12\x1a\n\rlocal_trimmed\x18\x06 \x01(\x08H\x05\x88\x01\x01\x12\x13\n\x06status\x18\x07 \x01(\tH\x06\x88\x01\x01\x12\"\n\x05state\x18\x08 \x01(\x0e\x32\x0e.cln.HtlcStateH\x07\x88\x01\x01\"9\n&ListpeerchannelsChannelsHtlcsDirection\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\x10\x01\x42\x0c\n\n_directionB\x05\n\x03_idB\x0e\n\x0c_amount_msatB\t\n\x07_expiryB\x0f\n\r_payment_hashB\x10\n\x0e_local_trimmedB\t\n\x07_statusB\x08\n\x06_state\"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\"\xb2\t\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\x66\n\x0b\x63lose_cause\x18\x18 \x01(\x0e\x32Q.cln.ListclosedchannelsClosedchannels.ListclosedchannelsClosedchannelsClose_cause\"v\n+ListclosedchannelsClosedchannelsClose_cause\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_msat\"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\"L\n\x10\x44\x65\x63odepayRequest\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\x12\x18\n\x0b\x64\x65scription\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0e\n\x0c_description\"\x8d\x04\n\x11\x44\x65\x63odepayResponse\x12\x10\n\x08\x63urrency\x18\x01 \x01(\t\x12\x12\n\ncreated_at\x18\x02 \x01(\x04\x12\x0e\n\x06\x65xpiry\x18\x03 \x01(\x04\x12\r\n\x05payee\x18\x04 \x01(\x0c\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x06 \x01(\x0c\x12\x11\n\tsignature\x18\x07 \x01(\x0c\x12\x18\n\x0b\x64\x65scription\x18\x08 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10\x64\x65scription_hash\x18\t \x01(\x0cH\x02\x88\x01\x01\x12\x1d\n\x15min_final_cltv_expiry\x18\n \x01(\r\x12\x1b\n\x0epayment_secret\x18\x0b \x01(\x0cH\x03\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x0c \x01(\x0cH\x04\x88\x01\x01\x12\x1d\n\x10payment_metadata\x18\r \x01(\x0cH\x05\x88\x01\x01\x12*\n\tfallbacks\x18\x0e \x03(\x0b\x32\x17.cln.DecodepayFallbacks\x12\"\n\x05\x65xtra\x18\x10 \x03(\x0b\x32\x13.cln.DecodepayExtraB\x0e\n\x0c_amount_msatB\x0e\n\x0c_descriptionB\x13\n\x11_description_hashB\x11\n\x0f_payment_secretB\x0b\n\t_featuresB\x13\n\x11_payment_metadata\"\xc6\x01\n\x12\x44\x65\x63odepayFallbacks\x12\x41\n\titem_type\x18\x01 \x01(\x0e\x32..cln.DecodepayFallbacks.DecodepayFallbacksType\x12\x11\n\x04\x61\x64\x64r\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x0b\n\x03hex\x18\x03 \x01(\x0c\"D\n\x16\x44\x65\x63odepayFallbacksType\x12\t\n\x05P2PKH\x10\x00\x12\x08\n\x04P2SH\x10\x01\x12\n\n\x06P2WPKH\x10\x02\x12\t\n\x05P2WSH\x10\x03\x42\x07\n\x05_addr\"+\n\x0e\x44\x65\x63odepayExtra\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\"\x1f\n\rDecodeRequest\x12\x0e\n\x06string\x18\x01 \x01(\t\"\xaa!\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\x16.cln.DecodeOffer_paths\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\x37\n\x11invoice_fallbacks\x18- \x03(\x0b\x32\x1c.cln.DecodeInvoice_fallbacks\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\"l\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\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_hex\"<\n\x11\x44\x65\x63odeOffer_paths\x12\x15\n\rfirst_node_id\x18\x01 \x01(\x0c\x12\x10\n\x08\x62linding\x18\x02 \x01(\x0c\"\x8a\x01\n\x1f\x44\x65\x63odeOffer_recurrencePaywindow\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\"T\n\x17\x44\x65\x63odeInvoice_pathsPath\x12\x17\n\x0f\x62linded_node_id\x18\x01 \x01(\x0c\x12 \n\x18\x65ncrypted_recipient_data\x18\x02 \x01(\x0c\"Y\n\x17\x44\x65\x63odeInvoice_fallbacks\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\"w\n\x0f\x44\x65\x63odeFallbacks\x12\x36\n)warning_invoice_fallbacks_version_invalid\x18\x01 \x01(\tH\x00\x88\x01\x01\x42,\n*_warning_invoice_fallbacks_version_invalid\"(\n\x0b\x44\x65\x63odeExtra\x12\x0b\n\x03tag\x18\x01 \x01(\t\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\";\n\x12\x44\x65\x63odeRestrictions\x12\x14\n\x0c\x61lternatives\x18\x01 \x03(\t\x12\x0f\n\x07summary\x18\x02 \x01(\t\"=\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\"\x9c\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\x46\n\x15onchain_fee_estimates\x18\x04 \x01(\x0b\x32\".cln.FeeratesOnchain_fee_estimatesH\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\"\x91\x03\n\rFeeratesPerkb\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x12\n\x05\x66loor\x18\n \x01(\rH\x00\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkbEstimates\x12\x14\n\x07opening\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x03\x88\x01\x01\x12\x1a\n\rdelayed_to_us\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fhtlc_resolution\x18\x07 \x01(\rH\x05\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x06\x88\x01\x01\x42\x08\n\x06_floorB\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_penalty\"\x96\x01\n\x16\x46\x65\x65ratesPerkbEstimates\x12\x17\n\nblockcount\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07\x66\x65\x65rate\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10smoothed_feerate\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\r\n\x0b_blockcountB\n\n\x08_feerateB\x13\n\x11_smoothed_feerate\"\x91\x03\n\rFeeratesPerkw\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x12\n\x05\x66loor\x18\n \x01(\rH\x00\x88\x01\x01\x12.\n\testimates\x18\t \x03(\x0b\x32\x1b.cln.FeeratesPerkwEstimates\x12\x14\n\x07opening\x18\x03 \x01(\rH\x01\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x02\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x03\x88\x01\x01\x12\x1a\n\rdelayed_to_us\x18\x06 \x01(\rH\x04\x88\x01\x01\x12\x1c\n\x0fhtlc_resolution\x18\x07 \x01(\rH\x05\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x06\x88\x01\x01\x42\x08\n\x06_floorB\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_penalty\"\x96\x01\n\x16\x46\x65\x65ratesPerkwEstimates\x12\x17\n\nblockcount\x18\x01 \x01(\rH\x00\x88\x01\x01\x12\x14\n\x07\x66\x65\x65rate\x18\x02 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10smoothed_feerate\x18\x03 \x01(\rH\x02\x88\x01\x01\x42\r\n\x0b_blockcountB\n\n\x08_feerateB\x13\n\x11_smoothed_feerate\"\xc1\x01\n\x1d\x46\x65\x65ratesOnchain_fee_estimates\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\"\xe5\x03\n\x12\x46undchannelRequest\x12\n\n\x02id\x18\t \x01(\x0c\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\x14\n\x07minconf\x18\n \x01(\rH\x02\x88\x01\x01\x12#\n\tpush_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x15\n\x08\x63lose_to\x18\x06 \x01(\tH\x04\x88\x01\x01\x12%\n\x0brequest_amt\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12\x1a\n\rcompact_lease\x18\x08 \x01(\tH\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\x42\n\n\x08_feerateB\x0b\n\t_announceB\n\n\x08_minconfB\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\"\x9b\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\x42\x0b\n\t_close_toB\x0b\n\t_mindepth\"\xec\x01\n\x0fGetrouteRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12 \n\x0b\x61mount_msat\x18\t \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\nriskfactor\x18\x03 \x01(\x04\x12\x11\n\x04\x63ltv\x18\x04 \x01(\x01H\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\x42\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\"\x82\x02\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\"L\n\x12ListforwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\x42\t\n\x07_statusB\r\n\x0b_in_channelB\x0e\n\x0c_out_channel\"C\n\x14ListforwardsResponse\x12+\n\x08\x66orwards\x18\x01 \x03(\x0b\x32\x19.cln.ListforwardsForwards\"\xde\x04\n\x14ListforwardsForwards\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x17\n\nin_htlc_id\x18\n \x01(\x04H\x00\x88\x01\x01\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\x01\x88\x01\x01\x12\x18\n\x0bout_htlc_id\x18\x0b \x01(\x04H\x02\x88\x01\x01\x12G\n\x05style\x18\t \x01(\x0e\x32\x33.cln.ListforwardsForwards.ListforwardsForwardsStyleH\x03\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\x12\"\n\x08out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x05\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\r\n\x0b_in_htlc_idB\x0e\n\x0c_out_channelB\x0e\n\x0c_out_htlc_idB\x08\n\x06_styleB\x0b\n\t_fee_msatB\x0b\n\t_out_msat\"\xdb\x01\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\"7\n\x0eListpaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\x42\t\n\x07_bolt11B\x0f\n\r_payment_hashB\t\n\x07_status\"3\n\x10ListpaysResponse\x12\x1f\n\x04pays\x18\x01 \x03(\x0b\x32\x11.cln.ListpaysPays\"\x87\x04\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\x19\n\x0c\x63ompleted_at\x18\x0c \x01(\x04H\x01\x88\x01\x01\x12\x12\n\x05label\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0b \x01(\tH\x04\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x05\x88\x01\x01\x12\x15\n\x08preimage\x18\r \x01(\x0cH\x06\x88\x01\x01\x12\x1c\n\x0fnumber_of_parts\x18\x0e \x01(\x04H\x07\x88\x01\x01\x12\x17\n\nerroronion\x18\n \x01(\x0cH\x08\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\x0f\n\r_completed_atB\x08\n\x06_labelB\t\n\x07_bolt11B\x0e\n\x0c_descriptionB\t\n\x07_bolt12B\x0b\n\t_preimageB\x12\n\x10_number_of_partsB\r\n\x0b_erroronion\"Y\n\x0bPingRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x03len\x18\x02 \x01(\rH\x00\x88\x01\x01\x12\x16\n\tpongbytes\x18\x03 \x01(\rH\x01\x88\x01\x01\x42\x06\n\x04_lenB\x0c\n\n_pongbytes\"\x1e\n\x0cPingResponse\x12\x0e\n\x06totlen\x18\x01 \x01(\r\"4\n\x14SendcustommsgRequest\x12\x0f\n\x07node_id\x18\x01 \x01(\x0c\x12\x0b\n\x03msg\x18\x02 \x01(\x0c\"\'\n\x15SendcustommsgResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\"\xf8\x01\n\x11SetchannelRequest\x12\n\n\x02id\x18\x01 \x01(\t\x12!\n\x07\x66\x65\x65\x62\x61se\x18\x02 \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x13\n\x06\x66\x65\x65ppm\x18\x03 \x01(\rH\x01\x88\x01\x01\x12!\n\x07htlcmin\x18\x04 \x01(\x0b\x32\x0b.cln.AmountH\x02\x88\x01\x01\x12!\n\x07htlcmax\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\x19\n\x0c\x65nforcedelay\x18\x06 \x01(\rH\x04\x88\x01\x01\x42\n\n\x08_feebaseB\t\n\x07_feeppmB\n\n\x08_htlcminB\n\n\x08_htlcmaxB\x0f\n\r_enforcedelay\"?\n\x12SetchannelResponse\x12)\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x17.cln.SetchannelChannels\"\x94\x03\n\x12SetchannelChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12\x12\n\nchannel_id\x18\x02 \x01(\x0c\x12\x1d\n\x10short_channel_id\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\"\n\rfee_base_msat\x18\x04 \x01(\x0b\x32\x0b.cln.Amount\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x05 \x01(\r\x12*\n\x15minimum_htlc_out_msat\x18\x06 \x01(\x0b\x32\x0b.cln.Amount\x12$\n\x17warning_htlcmin_too_low\x18\x07 \x01(\tH\x01\x88\x01\x01\x12*\n\x15maximum_htlc_out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12%\n\x18warning_htlcmax_too_high\x18\t \x01(\tH\x02\x88\x01\x01\x42\x13\n\x11_short_channel_idB\x1a\n\x18_warning_htlcmin_too_lowB\x1b\n\x19_warning_htlcmax_too_high\"\'\n\x12SigninvoiceRequest\x12\x11\n\tinvstring\x18\x01 \x01(\t\"%\n\x13SigninvoiceResponse\x12\x0e\n\x06\x62olt11\x18\x01 \x01(\t\"%\n\x12SignmessageRequest\x12\x0f\n\x07message\x18\x01 \x01(\t\"F\n\x13SignmessageResponse\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\r\n\x05recid\x18\x02 \x01(\x0c\x12\r\n\x05zbase\x18\x03 \x01(\t\"\r\n\x0bStopRequest\"\x0e\n\x0cStopResponse2\xde\x1a\n\x04Node\x12\x36\n\x07Getinfo\x12\x13.cln.GetinfoRequest\x1a\x14.cln.GetinfoResponse\"\x00\x12<\n\tListPeers\x12\x15.cln.ListpeersRequest\x1a\x16.cln.ListpeersResponse\"\x00\x12<\n\tListFunds\x12\x15.cln.ListfundsRequest\x1a\x16.cln.ListfundsResponse\"\x00\x12\x36\n\x07SendPay\x12\x13.cln.SendpayRequest\x1a\x14.cln.SendpayResponse\"\x00\x12\x45\n\x0cListChannels\x12\x18.cln.ListchannelsRequest\x1a\x19.cln.ListchannelsResponse\"\x00\x12<\n\tAddGossip\x12\x15.cln.AddgossipRequest\x1a\x16.cln.AddgossipResponse\"\x00\x12Q\n\x10\x41utoCleanInvoice\x12\x1c.cln.AutocleaninvoiceRequest\x1a\x1d.cln.AutocleaninvoiceResponse\"\x00\x12\x45\n\x0c\x43heckMessage\x12\x18.cln.CheckmessageRequest\x1a\x19.cln.CheckmessageResponse\"\x00\x12\x30\n\x05\x43lose\x12\x11.cln.CloseRequest\x1a\x12.cln.CloseResponse\"\x00\x12:\n\x0b\x43onnectPeer\x12\x13.cln.ConnectRequest\x1a\x14.cln.ConnectResponse\"\x00\x12H\n\rCreateInvoice\x12\x19.cln.CreateinvoiceRequest\x1a\x1a.cln.CreateinvoiceResponse\"\x00\x12<\n\tDatastore\x12\x15.cln.DatastoreRequest\x1a\x16.cln.DatastoreResponse\"\x00\x12\x42\n\x0b\x43reateOnion\x12\x17.cln.CreateonionRequest\x1a\x18.cln.CreateonionResponse\"\x00\x12\x45\n\x0c\x44\x65lDatastore\x12\x18.cln.DeldatastoreRequest\x1a\x19.cln.DeldatastoreResponse\"\x00\x12T\n\x11\x44\x65lExpiredInvoice\x12\x1d.cln.DelexpiredinvoiceRequest\x1a\x1e.cln.DelexpiredinvoiceResponse\"\x00\x12?\n\nDelInvoice\x12\x16.cln.DelinvoiceRequest\x1a\x17.cln.DelinvoiceResponse\"\x00\x12\x36\n\x07Invoice\x12\x13.cln.InvoiceRequest\x1a\x14.cln.InvoiceResponse\"\x00\x12H\n\rListDatastore\x12\x19.cln.ListdatastoreRequest\x1a\x1a.cln.ListdatastoreResponse\"\x00\x12\x45\n\x0cListInvoices\x12\x18.cln.ListinvoicesRequest\x1a\x19.cln.ListinvoicesResponse\"\x00\x12<\n\tSendOnion\x12\x15.cln.SendonionRequest\x1a\x16.cln.SendonionResponse\"\x00\x12\x45\n\x0cListSendPays\x12\x18.cln.ListsendpaysRequest\x1a\x19.cln.ListsendpaysResponse\"\x00\x12Q\n\x10ListTransactions\x12\x1c.cln.ListtransactionsRequest\x1a\x1d.cln.ListtransactionsResponse\"\x00\x12*\n\x03Pay\x12\x0f.cln.PayRequest\x1a\x10.cln.PayResponse\"\x00\x12<\n\tListNodes\x12\x15.cln.ListnodesRequest\x1a\x16.cln.ListnodesResponse\"\x00\x12K\n\x0eWaitAnyInvoice\x12\x1a.cln.WaitanyinvoiceRequest\x1a\x1b.cln.WaitanyinvoiceResponse\"\x00\x12\x42\n\x0bWaitInvoice\x12\x17.cln.WaitinvoiceRequest\x1a\x18.cln.WaitinvoiceResponse\"\x00\x12\x42\n\x0bWaitSendPay\x12\x17.cln.WaitsendpayRequest\x1a\x18.cln.WaitsendpayResponse\"\x00\x12\x36\n\x07NewAddr\x12\x13.cln.NewaddrRequest\x1a\x14.cln.NewaddrResponse\"\x00\x12\x39\n\x08Withdraw\x12\x14.cln.WithdrawRequest\x1a\x15.cln.WithdrawResponse\"\x00\x12\x36\n\x07KeySend\x12\x13.cln.KeysendRequest\x1a\x14.cln.KeysendResponse\"\x00\x12\x39\n\x08\x46undPsbt\x12\x14.cln.FundpsbtRequest\x1a\x15.cln.FundpsbtResponse\"\x00\x12\x39\n\x08SendPsbt\x12\x14.cln.SendpsbtRequest\x1a\x15.cln.SendpsbtResponse\"\x00\x12\x39\n\x08SignPsbt\x12\x14.cln.SignpsbtRequest\x1a\x15.cln.SignpsbtResponse\"\x00\x12\x39\n\x08UtxoPsbt\x12\x14.cln.UtxopsbtRequest\x1a\x15.cln.UtxopsbtResponse\"\x00\x12<\n\tTxDiscard\x12\x15.cln.TxdiscardRequest\x1a\x16.cln.TxdiscardResponse\"\x00\x12<\n\tTxPrepare\x12\x15.cln.TxprepareRequest\x1a\x16.cln.TxprepareResponse\"\x00\x12\x33\n\x06TxSend\x12\x12.cln.TxsendRequest\x1a\x13.cln.TxsendResponse\"\x00\x12Q\n\x10ListPeerChannels\x12\x1c.cln.ListpeerchannelsRequest\x1a\x1d.cln.ListpeerchannelsResponse\"\x00\x12W\n\x12ListClosedChannels\x12\x1e.cln.ListclosedchannelsRequest\x1a\x1f.cln.ListclosedchannelsResponse\"\x00\x12<\n\tDecodePay\x12\x15.cln.DecodepayRequest\x1a\x16.cln.DecodepayResponse\"\x00\x12\x33\n\x06\x44\x65\x63ode\x12\x12.cln.DecodeRequest\x1a\x13.cln.DecodeResponse\"\x00\x12?\n\nDisconnect\x12\x16.cln.DisconnectRequest\x1a\x17.cln.DisconnectResponse\"\x00\x12\x39\n\x08\x46\x65\x65rates\x12\x14.cln.FeeratesRequest\x1a\x15.cln.FeeratesResponse\"\x00\x12\x42\n\x0b\x46undChannel\x12\x17.cln.FundchannelRequest\x1a\x18.cln.FundchannelResponse\"\x00\x12\x39\n\x08GetRoute\x12\x14.cln.GetrouteRequest\x1a\x15.cln.GetrouteResponse\"\x00\x12\x45\n\x0cListForwards\x12\x18.cln.ListforwardsRequest\x1a\x19.cln.ListforwardsResponse\"\x00\x12\x39\n\x08ListPays\x12\x14.cln.ListpaysRequest\x1a\x15.cln.ListpaysResponse\"\x00\x12-\n\x04Ping\x12\x10.cln.PingRequest\x1a\x11.cln.PingResponse\"\x00\x12H\n\rSendCustomMsg\x12\x19.cln.SendcustommsgRequest\x1a\x1a.cln.SendcustommsgResponse\"\x00\x12?\n\nSetChannel\x12\x16.cln.SetchannelRequest\x1a\x17.cln.SetchannelResponse\"\x00\x12\x42\n\x0bSignInvoice\x12\x17.cln.SigninvoiceRequest\x1a\x18.cln.SigninvoiceResponse\"\x00\x12\x42\n\x0bSignMessage\x12\x17.cln.SignmessageRequest\x1a\x18.cln.SignmessageResponse\"\x00\x12-\n\x04Stop\x12\x10.cln.StopRequest\x1a\x11.cln.StopResponse\"\x00\x62\x06proto3') @@ -133,6 +133,19 @@ _LISTCLOSEDCHANNELSREQUEST = DESCRIPTOR.message_types_by_name['Listclosedchannel _LISTCLOSEDCHANNELSRESPONSE = DESCRIPTOR.message_types_by_name['ListclosedchannelsResponse'] _LISTCLOSEDCHANNELSCLOSEDCHANNELS = DESCRIPTOR.message_types_by_name['ListclosedchannelsClosedchannels'] _LISTCLOSEDCHANNELSCLOSEDCHANNELSALIAS = DESCRIPTOR.message_types_by_name['ListclosedchannelsClosedchannelsAlias'] +_DECODEPAYREQUEST = DESCRIPTOR.message_types_by_name['DecodepayRequest'] +_DECODEPAYRESPONSE = DESCRIPTOR.message_types_by_name['DecodepayResponse'] +_DECODEPAYFALLBACKS = DESCRIPTOR.message_types_by_name['DecodepayFallbacks'] +_DECODEPAYEXTRA = DESCRIPTOR.message_types_by_name['DecodepayExtra'] +_DECODEREQUEST = DESCRIPTOR.message_types_by_name['DecodeRequest'] +_DECODERESPONSE = DESCRIPTOR.message_types_by_name['DecodeResponse'] +_DECODEOFFER_PATHS = DESCRIPTOR.message_types_by_name['DecodeOffer_paths'] +_DECODEOFFER_RECURRENCEPAYWINDOW = DESCRIPTOR.message_types_by_name['DecodeOffer_recurrencePaywindow'] +_DECODEINVOICE_PATHSPATH = DESCRIPTOR.message_types_by_name['DecodeInvoice_pathsPath'] +_DECODEINVOICE_FALLBACKS = DESCRIPTOR.message_types_by_name['DecodeInvoice_fallbacks'] +_DECODEFALLBACKS = DESCRIPTOR.message_types_by_name['DecodeFallbacks'] +_DECODEEXTRA = DESCRIPTOR.message_types_by_name['DecodeExtra'] +_DECODERESTRICTIONS = DESCRIPTOR.message_types_by_name['DecodeRestrictions'] _DISCONNECTREQUEST = DESCRIPTOR.message_types_by_name['DisconnectRequest'] _DISCONNECTRESPONSE = DESCRIPTOR.message_types_by_name['DisconnectResponse'] _FEERATESREQUEST = DESCRIPTOR.message_types_by_name['FeeratesRequest'] @@ -196,6 +209,8 @@ _KEYSENDRESPONSE_KEYSENDSTATUS = _KEYSENDRESPONSE.enum_types_by_name['KeysendSta _LISTPEERCHANNELSCHANNELS_LISTPEERCHANNELSCHANNELSSTATE = _LISTPEERCHANNELSCHANNELS.enum_types_by_name['ListpeerchannelsChannelsState'] _LISTPEERCHANNELSCHANNELSHTLCS_LISTPEERCHANNELSCHANNELSHTLCSDIRECTION = _LISTPEERCHANNELSCHANNELSHTLCS.enum_types_by_name['ListpeerchannelsChannelsHtlcsDirection'] _LISTCLOSEDCHANNELSCLOSEDCHANNELS_LISTCLOSEDCHANNELSCLOSEDCHANNELSCLOSE_CAUSE = _LISTCLOSEDCHANNELSCLOSEDCHANNELS.enum_types_by_name['ListclosedchannelsClosedchannelsClose_cause'] +_DECODEPAYFALLBACKS_DECODEPAYFALLBACKSTYPE = _DECODEPAYFALLBACKS.enum_types_by_name['DecodepayFallbacksType'] +_DECODERESPONSE_DECODETYPE = _DECODERESPONSE.enum_types_by_name['DecodeType'] _FEERATESREQUEST_FEERATESSTYLE = _FEERATESREQUEST.enum_types_by_name['FeeratesStyle'] _GETROUTEROUTE_GETROUTEROUTESTYLE = _GETROUTEROUTE.enum_types_by_name['GetrouteRouteStyle'] _LISTFORWARDSREQUEST_LISTFORWARDSSTATUS = _LISTFORWARDSREQUEST.enum_types_by_name['ListforwardsStatus'] @@ -1001,6 +1016,97 @@ ListclosedchannelsClosedchannelsAlias = _reflection.GeneratedProtocolMessageType }) _sym_db.RegisterMessage(ListclosedchannelsClosedchannelsAlias) +DecodepayRequest = _reflection.GeneratedProtocolMessageType('DecodepayRequest', (_message.Message,), { + 'DESCRIPTOR' : _DECODEPAYREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodepayRequest) + }) +_sym_db.RegisterMessage(DecodepayRequest) + +DecodepayResponse = _reflection.GeneratedProtocolMessageType('DecodepayResponse', (_message.Message,), { + 'DESCRIPTOR' : _DECODEPAYRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodepayResponse) + }) +_sym_db.RegisterMessage(DecodepayResponse) + +DecodepayFallbacks = _reflection.GeneratedProtocolMessageType('DecodepayFallbacks', (_message.Message,), { + 'DESCRIPTOR' : _DECODEPAYFALLBACKS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodepayFallbacks) + }) +_sym_db.RegisterMessage(DecodepayFallbacks) + +DecodepayExtra = _reflection.GeneratedProtocolMessageType('DecodepayExtra', (_message.Message,), { + 'DESCRIPTOR' : _DECODEPAYEXTRA, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodepayExtra) + }) +_sym_db.RegisterMessage(DecodepayExtra) + +DecodeRequest = _reflection.GeneratedProtocolMessageType('DecodeRequest', (_message.Message,), { + 'DESCRIPTOR' : _DECODEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodeRequest) + }) +_sym_db.RegisterMessage(DecodeRequest) + +DecodeResponse = _reflection.GeneratedProtocolMessageType('DecodeResponse', (_message.Message,), { + 'DESCRIPTOR' : _DECODERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodeResponse) + }) +_sym_db.RegisterMessage(DecodeResponse) + +DecodeOffer_paths = _reflection.GeneratedProtocolMessageType('DecodeOffer_paths', (_message.Message,), { + 'DESCRIPTOR' : _DECODEOFFER_PATHS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodeOffer_paths) + }) +_sym_db.RegisterMessage(DecodeOffer_paths) + +DecodeOffer_recurrencePaywindow = _reflection.GeneratedProtocolMessageType('DecodeOffer_recurrencePaywindow', (_message.Message,), { + 'DESCRIPTOR' : _DECODEOFFER_RECURRENCEPAYWINDOW, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodeOffer_recurrencePaywindow) + }) +_sym_db.RegisterMessage(DecodeOffer_recurrencePaywindow) + +DecodeInvoice_pathsPath = _reflection.GeneratedProtocolMessageType('DecodeInvoice_pathsPath', (_message.Message,), { + 'DESCRIPTOR' : _DECODEINVOICE_PATHSPATH, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodeInvoice_pathsPath) + }) +_sym_db.RegisterMessage(DecodeInvoice_pathsPath) + +DecodeInvoice_fallbacks = _reflection.GeneratedProtocolMessageType('DecodeInvoice_fallbacks', (_message.Message,), { + 'DESCRIPTOR' : _DECODEINVOICE_FALLBACKS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodeInvoice_fallbacks) + }) +_sym_db.RegisterMessage(DecodeInvoice_fallbacks) + +DecodeFallbacks = _reflection.GeneratedProtocolMessageType('DecodeFallbacks', (_message.Message,), { + 'DESCRIPTOR' : _DECODEFALLBACKS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodeFallbacks) + }) +_sym_db.RegisterMessage(DecodeFallbacks) + +DecodeExtra = _reflection.GeneratedProtocolMessageType('DecodeExtra', (_message.Message,), { + 'DESCRIPTOR' : _DECODEEXTRA, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodeExtra) + }) +_sym_db.RegisterMessage(DecodeExtra) + +DecodeRestrictions = _reflection.GeneratedProtocolMessageType('DecodeRestrictions', (_message.Message,), { + 'DESCRIPTOR' : _DECODERESTRICTIONS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DecodeRestrictions) + }) +_sym_db.RegisterMessage(DecodeRestrictions) + DisconnectRequest = _reflection.GeneratedProtocolMessageType('DisconnectRequest', (_message.Message,), { 'DESCRIPTOR' : _DISCONNECTREQUEST, '__module__' : 'node_pb2' @@ -1273,337 +1379,367 @@ if _descriptor._USE_C_DESCRIPTORS == False: _LISTPEERSPEERSCHANNELSALIAS._serialized_start=5543 _LISTPEERSPEERSCHANNELSALIAS._serialized_end=5634 _LISTPEERSPEERSCHANNELSHTLCS._serialized_start=5637 - _LISTPEERSPEERSCHANNELSHTLCS._serialized_end=5975 - _LISTPEERSPEERSCHANNELSHTLCS_LISTPEERSPEERSCHANNELSHTLCSDIRECTION._serialized_start=5891 - _LISTPEERSPEERSCHANNELSHTLCS_LISTPEERSPEERSCHANNELSHTLCSDIRECTION._serialized_end=5946 - _LISTFUNDSREQUEST._serialized_start=5977 - _LISTFUNDSREQUEST._serialized_end=6025 - _LISTFUNDSRESPONSE._serialized_start=6027 - _LISTFUNDSRESPONSE._serialized_end=6128 - _LISTFUNDSOUTPUTS._serialized_start=6131 - _LISTFUNDSOUTPUTS._serialized_end=6518 - _LISTFUNDSOUTPUTS_LISTFUNDSOUTPUTSSTATUS._serialized_start=6392 - _LISTFUNDSOUTPUTS_LISTFUNDSOUTPUTSSTATUS._serialized_end=6473 - _LISTFUNDSCHANNELS._serialized_start=6521 - _LISTFUNDSCHANNELS._serialized_end=6820 - _SENDPAYREQUEST._serialized_start=6823 - _SENDPAYREQUEST._serialized_end=7172 - _SENDPAYRESPONSE._serialized_start=7175 - _SENDPAYRESPONSE._serialized_end=7768 - _SENDPAYRESPONSE_SENDPAYSTATUS._serialized_start=7589 - _SENDPAYRESPONSE_SENDPAYSTATUS._serialized_end=7631 - _SENDPAYROUTE._serialized_start=7770 - _SENDPAYROUTE._serialized_end=7862 - _LISTCHANNELSREQUEST._serialized_start=7865 - _LISTCHANNELSREQUEST._serialized_end=8012 - _LISTCHANNELSRESPONSE._serialized_start=8014 - _LISTCHANNELSRESPONSE._serialized_end=8081 - _LISTCHANNELSCHANNELS._serialized_start=8084 - _LISTCHANNELSCHANNELS._serialized_end=8519 - _ADDGOSSIPREQUEST._serialized_start=8521 - _ADDGOSSIPREQUEST._serialized_end=8556 - _ADDGOSSIPRESPONSE._serialized_start=8558 - _ADDGOSSIPRESPONSE._serialized_end=8577 - _AUTOCLEANINVOICEREQUEST._serialized_start=8579 - _AUTOCLEANINVOICEREQUEST._serialized_end=8690 - _AUTOCLEANINVOICERESPONSE._serialized_start=8693 - _AUTOCLEANINVOICERESPONSE._serialized_end=8822 - _CHECKMESSAGEREQUEST._serialized_start=8824 - _CHECKMESSAGEREQUEST._serialized_end=8909 - _CHECKMESSAGERESPONSE._serialized_start=8911 - _CHECKMESSAGERESPONSE._serialized_end=8967 - _CLOSEREQUEST._serialized_start=8970 - _CLOSEREQUEST._serialized_end=9301 - _CLOSERESPONSE._serialized_start=9304 - _CLOSERESPONSE._serialized_end=9475 - _CLOSERESPONSE_CLOSETYPE._serialized_start=9406 - _CLOSERESPONSE_CLOSETYPE._serialized_end=9459 - _CONNECTREQUEST._serialized_start=9477 - _CONNECTREQUEST._serialized_end=9561 - _CONNECTRESPONSE._serialized_start=9564 - _CONNECTRESPONSE._serialized_end=9744 - _CONNECTRESPONSE_CONNECTDIRECTION._serialized_start=9709 - _CONNECTRESPONSE_CONNECTDIRECTION._serialized_end=9744 - _CONNECTADDRESS._serialized_start=9747 - _CONNECTADDRESS._serialized_end=9998 - _CONNECTADDRESS_CONNECTADDRESSTYPE._serialized_start=9886 - _CONNECTADDRESS_CONNECTADDRESSTYPE._serialized_end=9966 - _CREATEINVOICEREQUEST._serialized_start=10000 - _CREATEINVOICEREQUEST._serialized_end=10074 - _CREATEINVOICERESPONSE._serialized_start=10077 - _CREATEINVOICERESPONSE._serialized_end=10718 - _CREATEINVOICERESPONSE_CREATEINVOICESTATUS._serialized_start=10511 - _CREATEINVOICERESPONSE_CREATEINVOICESTATUS._serialized_end=10567 - _DATASTOREREQUEST._serialized_start=10721 - _DATASTOREREQUEST._serialized_end=11029 - _DATASTOREREQUEST_DATASTOREMODE._serialized_start=10874 - _DATASTOREREQUEST_DATASTOREMODE._serialized_end=10986 - _DATASTORERESPONSE._serialized_start=11032 - _DATASTORERESPONSE._serialized_end=11162 - _CREATEONIONREQUEST._serialized_start=11165 - _CREATEONIONREQUEST._serialized_end=11322 - _CREATEONIONRESPONSE._serialized_start=11324 - _CREATEONIONRESPONSE._serialized_end=11384 - _CREATEONIONHOPS._serialized_start=11386 - _CREATEONIONHOPS._serialized_end=11436 - _DELDATASTOREREQUEST._serialized_start=11438 - _DELDATASTOREREQUEST._serialized_end=11512 - _DELDATASTORERESPONSE._serialized_start=11515 - _DELDATASTORERESPONSE._serialized_end=11648 - _DELEXPIREDINVOICEREQUEST._serialized_start=11650 - _DELEXPIREDINVOICEREQUEST._serialized_end=11722 - _DELEXPIREDINVOICERESPONSE._serialized_start=11724 - _DELEXPIREDINVOICERESPONSE._serialized_end=11751 - _DELINVOICEREQUEST._serialized_start=11754 - _DELINVOICEREQUEST._serialized_end=11936 - _DELINVOICEREQUEST_DELINVOICESTATUS._serialized_start=11870 - _DELINVOICEREQUEST_DELINVOICESTATUS._serialized_end=11923 - _DELINVOICERESPONSE._serialized_start=11939 - _DELINVOICERESPONSE._serialized_end=12392 - _DELINVOICERESPONSE_DELINVOICESTATUS._serialized_start=11870 - _DELINVOICERESPONSE_DELINVOICESTATUS._serialized_end=11923 - _INVOICEREQUEST._serialized_start=12395 - _INVOICEREQUEST._serialized_end=12707 - _INVOICERESPONSE._serialized_start=12710 - _INVOICERESPONSE._serialized_end=13069 - _LISTDATASTOREREQUEST._serialized_start=13071 - _LISTDATASTOREREQUEST._serialized_end=13106 - _LISTDATASTORERESPONSE._serialized_start=13108 - _LISTDATASTORERESPONSE._serialized_end=13179 - _LISTDATASTOREDATASTORE._serialized_start=13182 - _LISTDATASTOREDATASTORE._serialized_end=13317 - _LISTINVOICESREQUEST._serialized_start=13320 - _LISTINVOICESREQUEST._serialized_end=13489 - _LISTINVOICESRESPONSE._serialized_start=13491 - _LISTINVOICESRESPONSE._serialized_end=13558 - _LISTINVOICESINVOICES._serialized_start=13561 - _LISTINVOICESINVOICES._serialized_end=14235 - _LISTINVOICESINVOICES_LISTINVOICESINVOICESSTATUS._serialized_start=14005 - _LISTINVOICESINVOICES_LISTINVOICESINVOICESSTATUS._serialized_end=14068 - _SENDONIONREQUEST._serialized_start=14238 - _SENDONIONREQUEST._serialized_end=14632 - _SENDONIONRESPONSE._serialized_start=14635 - _SENDONIONRESPONSE._serialized_end=15158 - _SENDONIONRESPONSE_SENDONIONSTATUS._serialized_start=15006 - _SENDONIONRESPONSE_SENDONIONSTATUS._serialized_end=15050 - _SENDONIONFIRST_HOP._serialized_start=15160 - _SENDONIONFIRST_HOP._serialized_end=15241 - _LISTSENDPAYSREQUEST._serialized_start=15244 - _LISTSENDPAYSREQUEST._serialized_end=15479 - _LISTSENDPAYSREQUEST_LISTSENDPAYSSTATUS._serialized_start=15381 - _LISTSENDPAYSREQUEST_LISTSENDPAYSSTATUS._serialized_end=15440 - _LISTSENDPAYSRESPONSE._serialized_start=15481 - _LISTSENDPAYSRESPONSE._serialized_end=15548 - _LISTSENDPAYSPAYMENTS._serialized_start=15551 - _LISTSENDPAYSPAYMENTS._serialized_end=16179 - _LISTSENDPAYSPAYMENTS_LISTSENDPAYSPAYMENTSSTATUS._serialized_start=15985 - _LISTSENDPAYSPAYMENTS_LISTSENDPAYSPAYMENTSSTATUS._serialized_end=16052 - _LISTTRANSACTIONSREQUEST._serialized_start=16181 - _LISTTRANSACTIONSREQUEST._serialized_end=16206 - _LISTTRANSACTIONSRESPONSE._serialized_start=16208 - _LISTTRANSACTIONSRESPONSE._serialized_end=16291 - _LISTTRANSACTIONSTRANSACTIONS._serialized_start=16294 - _LISTTRANSACTIONSTRANSACTIONS._serialized_end=16542 - _LISTTRANSACTIONSTRANSACTIONSINPUTS._serialized_start=16545 - _LISTTRANSACTIONSTRANSACTIONSINPUTS._serialized_end=17061 - _LISTTRANSACTIONSTRANSACTIONSINPUTS_LISTTRANSACTIONSTRANSACTIONSINPUTSTYPE._serialized_start=16757 - _LISTTRANSACTIONSTRANSACTIONSINPUTS_LISTTRANSACTIONSTRANSACTIONSINPUTSTYPE._serialized_end=17035 - _LISTTRANSACTIONSTRANSACTIONSOUTPUTS._serialized_start=17064 - _LISTTRANSACTIONSTRANSACTIONSOUTPUTS._serialized_end=17608 - _LISTTRANSACTIONSTRANSACTIONSOUTPUTS_LISTTRANSACTIONSTRANSACTIONSOUTPUTSTYPE._serialized_start=17303 - _LISTTRANSACTIONSTRANSACTIONSOUTPUTS_LISTTRANSACTIONSTRANSACTIONSOUTPUTSTYPE._serialized_end=17582 - _PAYREQUEST._serialized_start=17611 - _PAYREQUEST._serialized_end=18085 - _PAYRESPONSE._serialized_start=18088 - _PAYRESPONSE._serialized_end=18467 - _PAYRESPONSE_PAYSTATUS._serialized_start=18370 - _PAYRESPONSE_PAYSTATUS._serialized_end=18420 - _LISTNODESREQUEST._serialized_start=18469 - _LISTNODESREQUEST._serialized_end=18511 - _LISTNODESRESPONSE._serialized_start=18513 - _LISTNODESRESPONSE._serialized_end=18568 - _LISTNODESNODES._serialized_start=18571 - _LISTNODESNODES._serialized_end=18796 - _LISTNODESNODESADDRESSES._serialized_start=18799 - _LISTNODESNODESADDRESSES._serialized_end=19046 - _LISTNODESNODESADDRESSES_LISTNODESNODESADDRESSESTYPE._serialized_start=18939 - _LISTNODESNODESADDRESSES_LISTNODESNODESADDRESSESTYPE._serialized_end=19034 - _WAITANYINVOICEREQUEST._serialized_start=19048 - _WAITANYINVOICEREQUEST._serialized_end=19151 - _WAITANYINVOICERESPONSE._serialized_start=19154 - _WAITANYINVOICERESPONSE._serialized_end=19685 - _WAITANYINVOICERESPONSE_WAITANYINVOICESTATUS._serialized_start=19530 - _WAITANYINVOICERESPONSE_WAITANYINVOICESTATUS._serialized_end=19575 - _WAITINVOICEREQUEST._serialized_start=19687 - _WAITINVOICEREQUEST._serialized_end=19722 - _WAITINVOICERESPONSE._serialized_start=19725 - _WAITINVOICERESPONSE._serialized_end=20244 - _WAITINVOICERESPONSE_WAITINVOICESTATUS._serialized_start=20092 - _WAITINVOICERESPONSE_WAITINVOICESTATUS._serialized_end=20134 - _WAITSENDPAYREQUEST._serialized_start=20247 - _WAITSENDPAYREQUEST._serialized_end=20389 - _WAITSENDPAYRESPONSE._serialized_start=20392 - _WAITSENDPAYRESPONSE._serialized_end=20954 - _WAITSENDPAYRESPONSE_WAITSENDPAYSTATUS._serialized_start=20796 - _WAITSENDPAYRESPONSE_WAITSENDPAYSTATUS._serialized_end=20829 - _NEWADDRREQUEST._serialized_start=20957 - _NEWADDRREQUEST._serialized_end=21098 - _NEWADDRREQUEST_NEWADDRADDRESSTYPE._serialized_start=21041 - _NEWADDRREQUEST_NEWADDRADDRESSTYPE._serialized_end=21082 - _NEWADDRRESPONSE._serialized_start=21100 - _NEWADDRRESPONSE._serialized_end=21191 - _WITHDRAWREQUEST._serialized_start=21194 - _WITHDRAWREQUEST._serialized_end=21396 - _WITHDRAWRESPONSE._serialized_start=21398 - _WITHDRAWRESPONSE._serialized_end=21456 - _KEYSENDREQUEST._serialized_start=21459 - _KEYSENDREQUEST._serialized_end=21845 - _KEYSENDRESPONSE._serialized_start=21848 - _KEYSENDRESPONSE._serialized_end=22218 - _KEYSENDRESPONSE_KEYSENDSTATUS._serialized_start=22142 - _KEYSENDRESPONSE_KEYSENDSTATUS._serialized_end=22171 - _FUNDPSBTREQUEST._serialized_start=22221 - _FUNDPSBTREQUEST._serialized_end=22537 - _FUNDPSBTRESPONSE._serialized_start=22540 - _FUNDPSBTRESPONSE._serialized_end=22757 - _FUNDPSBTRESERVATIONS._serialized_start=22759 - _FUNDPSBTRESERVATIONS._serialized_end=22876 - _SENDPSBTREQUEST._serialized_start=22878 - _SENDPSBTREQUEST._serialized_end=22943 - _SENDPSBTRESPONSE._serialized_start=22945 - _SENDPSBTRESPONSE._serialized_end=22989 - _SIGNPSBTREQUEST._serialized_start=22991 - _SIGNPSBTREQUEST._serialized_end=23040 - _SIGNPSBTRESPONSE._serialized_start=23042 - _SIGNPSBTRESPONSE._serialized_end=23081 - _UTXOPSBTREQUEST._serialized_start=23084 - _UTXOPSBTREQUEST._serialized_end=23431 - _UTXOPSBTRESPONSE._serialized_start=23434 - _UTXOPSBTRESPONSE._serialized_end=23651 - _UTXOPSBTRESERVATIONS._serialized_start=23653 - _UTXOPSBTRESERVATIONS._serialized_end=23770 - _TXDISCARDREQUEST._serialized_start=23772 - _TXDISCARDREQUEST._serialized_end=23804 - _TXDISCARDRESPONSE._serialized_start=23806 - _TXDISCARDRESPONSE._serialized_end=23860 - _TXPREPAREREQUEST._serialized_start=23863 - _TXPREPAREREQUEST._serialized_end=24027 - _TXPREPARERESPONSE._serialized_start=24029 - _TXPREPARERESPONSE._serialized_end=24097 - _TXSENDREQUEST._serialized_start=24099 - _TXSENDREQUEST._serialized_end=24128 - _TXSENDRESPONSE._serialized_start=24130 - _TXSENDRESPONSE._serialized_end=24186 - _LISTPEERCHANNELSREQUEST._serialized_start=24188 - _LISTPEERCHANNELSREQUEST._serialized_end=24237 - _LISTPEERCHANNELSRESPONSE._serialized_start=24239 - _LISTPEERCHANNELSRESPONSE._serialized_end=24314 - _LISTPEERCHANNELSCHANNELS._serialized_start=24317 - _LISTPEERCHANNELSCHANNELS._serialized_end=27460 - _LISTPEERCHANNELSCHANNELS_LISTPEERCHANNELSCHANNELSSTATE._serialized_start=26276 - _LISTPEERCHANNELSCHANNELS_LISTPEERCHANNELSCHANNELSSTATE._serialized_end=26567 - _LISTPEERCHANNELSCHANNELSFEERATE._serialized_start=27462 - _LISTPEERCHANNELSCHANNELSFEERATE._serialized_end=27555 - _LISTPEERCHANNELSCHANNELSINFLIGHT._serialized_start=27558 - _LISTPEERCHANNELSCHANNELSINFLIGHT._serialized_end=27896 - _LISTPEERCHANNELSCHANNELSFUNDING._serialized_start=27899 - _LISTPEERCHANNELSCHANNELSFUNDING._serialized_end=28237 - _LISTPEERCHANNELSCHANNELSALIAS._serialized_start=28239 - _LISTPEERCHANNELSCHANNELSALIAS._serialized_end=28332 - _LISTPEERCHANNELSCHANNELSHTLCS._serialized_start=28335 - _LISTPEERCHANNELSCHANNELSHTLCS._serialized_end=28771 - _LISTPEERCHANNELSCHANNELSHTLCS_LISTPEERCHANNELSCHANNELSHTLCSDIRECTION._serialized_start=28620 - _LISTPEERCHANNELSCHANNELSHTLCS_LISTPEERCHANNELSCHANNELSHTLCSDIRECTION._serialized_end=28677 - _LISTCLOSEDCHANNELSREQUEST._serialized_start=28773 - _LISTCLOSEDCHANNELSREQUEST._serialized_end=28824 - _LISTCLOSEDCHANNELSRESPONSE._serialized_start=28826 - _LISTCLOSEDCHANNELSRESPONSE._serialized_end=28917 - _LISTCLOSEDCHANNELSCLOSEDCHANNELS._serialized_start=28920 - _LISTCLOSEDCHANNELSCLOSEDCHANNELS._serialized_end=30122 - _LISTCLOSEDCHANNELSCLOSEDCHANNELS_LISTCLOSEDCHANNELSCLOSEDCHANNELSCLOSE_CAUSE._serialized_start=29820 - _LISTCLOSEDCHANNELSCLOSEDCHANNELS_LISTCLOSEDCHANNELSCLOSEDCHANNELSCLOSE_CAUSE._serialized_end=29938 - _LISTCLOSEDCHANNELSCLOSEDCHANNELSALIAS._serialized_start=30124 - _LISTCLOSEDCHANNELSCLOSEDCHANNELSALIAS._serialized_end=30225 - _DISCONNECTREQUEST._serialized_start=30227 - _DISCONNECTREQUEST._serialized_end=30288 - _DISCONNECTRESPONSE._serialized_start=30290 - _DISCONNECTRESPONSE._serialized_end=30310 - _FEERATESREQUEST._serialized_start=30312 - _FEERATESREQUEST._serialized_end=30419 - _FEERATESREQUEST_FEERATESSTYLE._serialized_start=30382 - _FEERATESREQUEST_FEERATESSTYLE._serialized_end=30419 - _FEERATESRESPONSE._serialized_start=30422 - _FEERATESRESPONSE._serialized_end=30706 - _FEERATESPERKB._serialized_start=30709 - _FEERATESPERKB._serialized_end=31110 - _FEERATESPERKBESTIMATES._serialized_start=31113 - _FEERATESPERKBESTIMATES._serialized_end=31263 - _FEERATESPERKW._serialized_start=31266 - _FEERATESPERKW._serialized_end=31667 - _FEERATESPERKWESTIMATES._serialized_start=31670 - _FEERATESPERKWESTIMATES._serialized_end=31820 - _FEERATESONCHAIN_FEE_ESTIMATES._serialized_start=31823 - _FEERATESONCHAIN_FEE_ESTIMATES._serialized_end=32016 - _FUNDCHANNELREQUEST._serialized_start=32019 - _FUNDCHANNELREQUEST._serialized_end=32504 - _FUNDCHANNELRESPONSE._serialized_start=32507 - _FUNDCHANNELRESPONSE._serialized_end=32662 - _GETROUTEREQUEST._serialized_start=32665 - _GETROUTEREQUEST._serialized_end=32901 - _GETROUTERESPONSE._serialized_start=32903 - _GETROUTERESPONSE._serialized_end=32956 - _GETROUTEROUTE._serialized_start=32959 - _GETROUTEROUTE._serialized_end=33156 - _GETROUTEROUTE_GETROUTEROUTESTYLE._serialized_start=33127 - _GETROUTEROUTE_GETROUTEROUTESTYLE._serialized_end=33156 - _LISTFORWARDSREQUEST._serialized_start=33159 - _LISTFORWARDSREQUEST._serialized_end=33417 - _LISTFORWARDSREQUEST_LISTFORWARDSSTATUS._serialized_start=33299 - _LISTFORWARDSREQUEST_LISTFORWARDSSTATUS._serialized_end=33375 - _LISTFORWARDSRESPONSE._serialized_start=33419 - _LISTFORWARDSRESPONSE._serialized_end=33486 - _LISTFORWARDSFORWARDS._serialized_start=33489 - _LISTFORWARDSFORWARDS._serialized_end=34095 - _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS._serialized_start=33878 - _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS._serialized_end=33962 - _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE._serialized_start=33964 - _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE._serialized_end=34012 - _LISTPAYSREQUEST._serialized_start=34098 - _LISTPAYSREQUEST._serialized_end=34317 - _LISTPAYSREQUEST_LISTPAYSSTATUS._serialized_start=34223 - _LISTPAYSREQUEST_LISTPAYSSTATUS._serialized_end=34278 - _LISTPAYSRESPONSE._serialized_start=34319 - _LISTPAYSRESPONSE._serialized_end=34370 - _LISTPAYSPAYS._serialized_start=34373 - _LISTPAYSPAYS._serialized_end=34892 - _LISTPAYSPAYS_LISTPAYSPAYSSTATUS._serialized_start=34704 - _LISTPAYSPAYS_LISTPAYSPAYSSTATUS._serialized_end=34763 - _PINGREQUEST._serialized_start=34894 - _PINGREQUEST._serialized_end=34983 - _PINGRESPONSE._serialized_start=34985 - _PINGRESPONSE._serialized_end=35015 - _SENDCUSTOMMSGREQUEST._serialized_start=35017 - _SENDCUSTOMMSGREQUEST._serialized_end=35069 - _SENDCUSTOMMSGRESPONSE._serialized_start=35071 - _SENDCUSTOMMSGRESPONSE._serialized_end=35110 - _SETCHANNELREQUEST._serialized_start=35113 - _SETCHANNELREQUEST._serialized_end=35361 - _SETCHANNELRESPONSE._serialized_start=35363 - _SETCHANNELRESPONSE._serialized_end=35426 - _SETCHANNELCHANNELS._serialized_start=35429 - _SETCHANNELCHANNELS._serialized_end=35833 - _SIGNINVOICEREQUEST._serialized_start=35835 - _SIGNINVOICEREQUEST._serialized_end=35874 - _SIGNINVOICERESPONSE._serialized_start=35876 - _SIGNINVOICERESPONSE._serialized_end=35913 - _SIGNMESSAGEREQUEST._serialized_start=35915 - _SIGNMESSAGEREQUEST._serialized_end=35952 - _SIGNMESSAGERESPONSE._serialized_start=35954 - _SIGNMESSAGERESPONSE._serialized_end=36024 - _STOPREQUEST._serialized_start=36026 - _STOPREQUEST._serialized_end=36039 - _STOPRESPONSE._serialized_start=36041 - _STOPRESPONSE._serialized_end=36055 - _NODE._serialized_start=36058 - _NODE._serialized_end=39365 + _LISTPEERSPEERSCHANNELSHTLCS._serialized_end=6006 + _LISTPEERSPEERSCHANNELSHTLCS_LISTPEERSPEERSCHANNELSHTLCSDIRECTION._serialized_start=5922 + _LISTPEERSPEERSCHANNELSHTLCS_LISTPEERSPEERSCHANNELSHTLCSDIRECTION._serialized_end=5977 + _LISTFUNDSREQUEST._serialized_start=6008 + _LISTFUNDSREQUEST._serialized_end=6056 + _LISTFUNDSRESPONSE._serialized_start=6058 + _LISTFUNDSRESPONSE._serialized_end=6159 + _LISTFUNDSOUTPUTS._serialized_start=6162 + _LISTFUNDSOUTPUTS._serialized_end=6549 + _LISTFUNDSOUTPUTS_LISTFUNDSOUTPUTSSTATUS._serialized_start=6423 + _LISTFUNDSOUTPUTS_LISTFUNDSOUTPUTSSTATUS._serialized_end=6504 + _LISTFUNDSCHANNELS._serialized_start=6552 + _LISTFUNDSCHANNELS._serialized_end=6851 + _SENDPAYREQUEST._serialized_start=6854 + _SENDPAYREQUEST._serialized_end=7203 + _SENDPAYRESPONSE._serialized_start=7206 + _SENDPAYRESPONSE._serialized_end=7799 + _SENDPAYRESPONSE_SENDPAYSTATUS._serialized_start=7620 + _SENDPAYRESPONSE_SENDPAYSTATUS._serialized_end=7662 + _SENDPAYROUTE._serialized_start=7801 + _SENDPAYROUTE._serialized_end=7893 + _LISTCHANNELSREQUEST._serialized_start=7896 + _LISTCHANNELSREQUEST._serialized_end=8043 + _LISTCHANNELSRESPONSE._serialized_start=8045 + _LISTCHANNELSRESPONSE._serialized_end=8112 + _LISTCHANNELSCHANNELS._serialized_start=8115 + _LISTCHANNELSCHANNELS._serialized_end=8550 + _ADDGOSSIPREQUEST._serialized_start=8552 + _ADDGOSSIPREQUEST._serialized_end=8587 + _ADDGOSSIPRESPONSE._serialized_start=8589 + _ADDGOSSIPRESPONSE._serialized_end=8608 + _AUTOCLEANINVOICEREQUEST._serialized_start=8610 + _AUTOCLEANINVOICEREQUEST._serialized_end=8721 + _AUTOCLEANINVOICERESPONSE._serialized_start=8724 + _AUTOCLEANINVOICERESPONSE._serialized_end=8853 + _CHECKMESSAGEREQUEST._serialized_start=8855 + _CHECKMESSAGEREQUEST._serialized_end=8940 + _CHECKMESSAGERESPONSE._serialized_start=8942 + _CHECKMESSAGERESPONSE._serialized_end=8998 + _CLOSEREQUEST._serialized_start=9001 + _CLOSEREQUEST._serialized_end=9332 + _CLOSERESPONSE._serialized_start=9335 + _CLOSERESPONSE._serialized_end=9506 + _CLOSERESPONSE_CLOSETYPE._serialized_start=9437 + _CLOSERESPONSE_CLOSETYPE._serialized_end=9490 + _CONNECTREQUEST._serialized_start=9508 + _CONNECTREQUEST._serialized_end=9592 + _CONNECTRESPONSE._serialized_start=9595 + _CONNECTRESPONSE._serialized_end=9775 + _CONNECTRESPONSE_CONNECTDIRECTION._serialized_start=9740 + _CONNECTRESPONSE_CONNECTDIRECTION._serialized_end=9775 + _CONNECTADDRESS._serialized_start=9778 + _CONNECTADDRESS._serialized_end=10029 + _CONNECTADDRESS_CONNECTADDRESSTYPE._serialized_start=9917 + _CONNECTADDRESS_CONNECTADDRESSTYPE._serialized_end=9997 + _CREATEINVOICEREQUEST._serialized_start=10031 + _CREATEINVOICEREQUEST._serialized_end=10105 + _CREATEINVOICERESPONSE._serialized_start=10108 + _CREATEINVOICERESPONSE._serialized_end=10749 + _CREATEINVOICERESPONSE_CREATEINVOICESTATUS._serialized_start=10542 + _CREATEINVOICERESPONSE_CREATEINVOICESTATUS._serialized_end=10598 + _DATASTOREREQUEST._serialized_start=10752 + _DATASTOREREQUEST._serialized_end=11060 + _DATASTOREREQUEST_DATASTOREMODE._serialized_start=10905 + _DATASTOREREQUEST_DATASTOREMODE._serialized_end=11017 + _DATASTORERESPONSE._serialized_start=11063 + _DATASTORERESPONSE._serialized_end=11193 + _CREATEONIONREQUEST._serialized_start=11196 + _CREATEONIONREQUEST._serialized_end=11353 + _CREATEONIONRESPONSE._serialized_start=11355 + _CREATEONIONRESPONSE._serialized_end=11415 + _CREATEONIONHOPS._serialized_start=11417 + _CREATEONIONHOPS._serialized_end=11467 + _DELDATASTOREREQUEST._serialized_start=11469 + _DELDATASTOREREQUEST._serialized_end=11543 + _DELDATASTORERESPONSE._serialized_start=11546 + _DELDATASTORERESPONSE._serialized_end=11679 + _DELEXPIREDINVOICEREQUEST._serialized_start=11681 + _DELEXPIREDINVOICEREQUEST._serialized_end=11753 + _DELEXPIREDINVOICERESPONSE._serialized_start=11755 + _DELEXPIREDINVOICERESPONSE._serialized_end=11782 + _DELINVOICEREQUEST._serialized_start=11785 + _DELINVOICEREQUEST._serialized_end=11967 + _DELINVOICEREQUEST_DELINVOICESTATUS._serialized_start=11901 + _DELINVOICEREQUEST_DELINVOICESTATUS._serialized_end=11954 + _DELINVOICERESPONSE._serialized_start=11970 + _DELINVOICERESPONSE._serialized_end=12423 + _DELINVOICERESPONSE_DELINVOICESTATUS._serialized_start=11901 + _DELINVOICERESPONSE_DELINVOICESTATUS._serialized_end=11954 + _INVOICEREQUEST._serialized_start=12426 + _INVOICEREQUEST._serialized_end=12676 + _INVOICERESPONSE._serialized_start=12679 + _INVOICERESPONSE._serialized_end=13038 + _LISTDATASTOREREQUEST._serialized_start=13040 + _LISTDATASTOREREQUEST._serialized_end=13075 + _LISTDATASTORERESPONSE._serialized_start=13077 + _LISTDATASTORERESPONSE._serialized_end=13148 + _LISTDATASTOREDATASTORE._serialized_start=13151 + _LISTDATASTOREDATASTORE._serialized_end=13286 + _LISTINVOICESREQUEST._serialized_start=13289 + _LISTINVOICESREQUEST._serialized_end=13458 + _LISTINVOICESRESPONSE._serialized_start=13460 + _LISTINVOICESRESPONSE._serialized_end=13527 + _LISTINVOICESINVOICES._serialized_start=13530 + _LISTINVOICESINVOICES._serialized_end=14204 + _LISTINVOICESINVOICES_LISTINVOICESINVOICESSTATUS._serialized_start=13974 + _LISTINVOICESINVOICES_LISTINVOICESINVOICESSTATUS._serialized_end=14037 + _SENDONIONREQUEST._serialized_start=14207 + _SENDONIONREQUEST._serialized_end=14601 + _SENDONIONRESPONSE._serialized_start=14604 + _SENDONIONRESPONSE._serialized_end=15127 + _SENDONIONRESPONSE_SENDONIONSTATUS._serialized_start=14975 + _SENDONIONRESPONSE_SENDONIONSTATUS._serialized_end=15019 + _SENDONIONFIRST_HOP._serialized_start=15129 + _SENDONIONFIRST_HOP._serialized_end=15210 + _LISTSENDPAYSREQUEST._serialized_start=15213 + _LISTSENDPAYSREQUEST._serialized_end=15448 + _LISTSENDPAYSREQUEST_LISTSENDPAYSSTATUS._serialized_start=15350 + _LISTSENDPAYSREQUEST_LISTSENDPAYSSTATUS._serialized_end=15409 + _LISTSENDPAYSRESPONSE._serialized_start=15450 + _LISTSENDPAYSRESPONSE._serialized_end=15517 + _LISTSENDPAYSPAYMENTS._serialized_start=15520 + _LISTSENDPAYSPAYMENTS._serialized_end=16148 + _LISTSENDPAYSPAYMENTS_LISTSENDPAYSPAYMENTSSTATUS._serialized_start=15954 + _LISTSENDPAYSPAYMENTS_LISTSENDPAYSPAYMENTSSTATUS._serialized_end=16021 + _LISTTRANSACTIONSREQUEST._serialized_start=16150 + _LISTTRANSACTIONSREQUEST._serialized_end=16175 + _LISTTRANSACTIONSRESPONSE._serialized_start=16177 + _LISTTRANSACTIONSRESPONSE._serialized_end=16260 + _LISTTRANSACTIONSTRANSACTIONS._serialized_start=16263 + _LISTTRANSACTIONSTRANSACTIONS._serialized_end=16511 + _LISTTRANSACTIONSTRANSACTIONSINPUTS._serialized_start=16514 + _LISTTRANSACTIONSTRANSACTIONSINPUTS._serialized_end=17030 + _LISTTRANSACTIONSTRANSACTIONSINPUTS_LISTTRANSACTIONSTRANSACTIONSINPUTSTYPE._serialized_start=16726 + _LISTTRANSACTIONSTRANSACTIONSINPUTS_LISTTRANSACTIONSTRANSACTIONSINPUTSTYPE._serialized_end=17004 + _LISTTRANSACTIONSTRANSACTIONSOUTPUTS._serialized_start=17033 + _LISTTRANSACTIONSTRANSACTIONSOUTPUTS._serialized_end=17577 + _LISTTRANSACTIONSTRANSACTIONSOUTPUTS_LISTTRANSACTIONSTRANSACTIONSOUTPUTSTYPE._serialized_start=17272 + _LISTTRANSACTIONSTRANSACTIONSOUTPUTS_LISTTRANSACTIONSTRANSACTIONSOUTPUTSTYPE._serialized_end=17551 + _PAYREQUEST._serialized_start=17580 + _PAYREQUEST._serialized_end=18054 + _PAYRESPONSE._serialized_start=18057 + _PAYRESPONSE._serialized_end=18436 + _PAYRESPONSE_PAYSTATUS._serialized_start=18339 + _PAYRESPONSE_PAYSTATUS._serialized_end=18389 + _LISTNODESREQUEST._serialized_start=18438 + _LISTNODESREQUEST._serialized_end=18480 + _LISTNODESRESPONSE._serialized_start=18482 + _LISTNODESRESPONSE._serialized_end=18537 + _LISTNODESNODES._serialized_start=18540 + _LISTNODESNODES._serialized_end=18765 + _LISTNODESNODESADDRESSES._serialized_start=18768 + _LISTNODESNODESADDRESSES._serialized_end=19015 + _LISTNODESNODESADDRESSES_LISTNODESNODESADDRESSESTYPE._serialized_start=18908 + _LISTNODESNODESADDRESSES_LISTNODESNODESADDRESSESTYPE._serialized_end=19003 + _WAITANYINVOICEREQUEST._serialized_start=19017 + _WAITANYINVOICEREQUEST._serialized_end=19120 + _WAITANYINVOICERESPONSE._serialized_start=19123 + _WAITANYINVOICERESPONSE._serialized_end=19654 + _WAITANYINVOICERESPONSE_WAITANYINVOICESTATUS._serialized_start=19499 + _WAITANYINVOICERESPONSE_WAITANYINVOICESTATUS._serialized_end=19544 + _WAITINVOICEREQUEST._serialized_start=19656 + _WAITINVOICEREQUEST._serialized_end=19691 + _WAITINVOICERESPONSE._serialized_start=19694 + _WAITINVOICERESPONSE._serialized_end=20213 + _WAITINVOICERESPONSE_WAITINVOICESTATUS._serialized_start=20061 + _WAITINVOICERESPONSE_WAITINVOICESTATUS._serialized_end=20103 + _WAITSENDPAYREQUEST._serialized_start=20216 + _WAITSENDPAYREQUEST._serialized_end=20358 + _WAITSENDPAYRESPONSE._serialized_start=20361 + _WAITSENDPAYRESPONSE._serialized_end=20923 + _WAITSENDPAYRESPONSE_WAITSENDPAYSTATUS._serialized_start=20765 + _WAITSENDPAYRESPONSE_WAITSENDPAYSTATUS._serialized_end=20798 + _NEWADDRREQUEST._serialized_start=20926 + _NEWADDRREQUEST._serialized_end=21067 + _NEWADDRREQUEST_NEWADDRADDRESSTYPE._serialized_start=21010 + _NEWADDRREQUEST_NEWADDRADDRESSTYPE._serialized_end=21051 + _NEWADDRRESPONSE._serialized_start=21069 + _NEWADDRRESPONSE._serialized_end=21160 + _WITHDRAWREQUEST._serialized_start=21163 + _WITHDRAWREQUEST._serialized_end=21365 + _WITHDRAWRESPONSE._serialized_start=21367 + _WITHDRAWRESPONSE._serialized_end=21425 + _KEYSENDREQUEST._serialized_start=21428 + _KEYSENDREQUEST._serialized_end=21814 + _KEYSENDRESPONSE._serialized_start=21817 + _KEYSENDRESPONSE._serialized_end=22187 + _KEYSENDRESPONSE_KEYSENDSTATUS._serialized_start=22111 + _KEYSENDRESPONSE_KEYSENDSTATUS._serialized_end=22140 + _FUNDPSBTREQUEST._serialized_start=22190 + _FUNDPSBTREQUEST._serialized_end=22506 + _FUNDPSBTRESPONSE._serialized_start=22509 + _FUNDPSBTRESPONSE._serialized_end=22726 + _FUNDPSBTRESERVATIONS._serialized_start=22728 + _FUNDPSBTRESERVATIONS._serialized_end=22845 + _SENDPSBTREQUEST._serialized_start=22847 + _SENDPSBTREQUEST._serialized_end=22912 + _SENDPSBTRESPONSE._serialized_start=22914 + _SENDPSBTRESPONSE._serialized_end=22958 + _SIGNPSBTREQUEST._serialized_start=22960 + _SIGNPSBTREQUEST._serialized_end=23009 + _SIGNPSBTRESPONSE._serialized_start=23011 + _SIGNPSBTRESPONSE._serialized_end=23050 + _UTXOPSBTREQUEST._serialized_start=23053 + _UTXOPSBTREQUEST._serialized_end=23400 + _UTXOPSBTRESPONSE._serialized_start=23403 + _UTXOPSBTRESPONSE._serialized_end=23620 + _UTXOPSBTRESERVATIONS._serialized_start=23622 + _UTXOPSBTRESERVATIONS._serialized_end=23739 + _TXDISCARDREQUEST._serialized_start=23741 + _TXDISCARDREQUEST._serialized_end=23773 + _TXDISCARDRESPONSE._serialized_start=23775 + _TXDISCARDRESPONSE._serialized_end=23829 + _TXPREPAREREQUEST._serialized_start=23832 + _TXPREPAREREQUEST._serialized_end=23996 + _TXPREPARERESPONSE._serialized_start=23998 + _TXPREPARERESPONSE._serialized_end=24066 + _TXSENDREQUEST._serialized_start=24068 + _TXSENDREQUEST._serialized_end=24097 + _TXSENDRESPONSE._serialized_start=24099 + _TXSENDRESPONSE._serialized_end=24155 + _LISTPEERCHANNELSREQUEST._serialized_start=24157 + _LISTPEERCHANNELSREQUEST._serialized_end=24206 + _LISTPEERCHANNELSRESPONSE._serialized_start=24208 + _LISTPEERCHANNELSRESPONSE._serialized_end=24283 + _LISTPEERCHANNELSCHANNELS._serialized_start=24286 + _LISTPEERCHANNELSCHANNELS._serialized_end=27429 + _LISTPEERCHANNELSCHANNELS_LISTPEERCHANNELSCHANNELSSTATE._serialized_start=26245 + _LISTPEERCHANNELSCHANNELS_LISTPEERCHANNELSCHANNELSSTATE._serialized_end=26536 + _LISTPEERCHANNELSCHANNELSFEERATE._serialized_start=27431 + _LISTPEERCHANNELSCHANNELSFEERATE._serialized_end=27524 + _LISTPEERCHANNELSCHANNELSINFLIGHT._serialized_start=27527 + _LISTPEERCHANNELSCHANNELSINFLIGHT._serialized_end=27865 + _LISTPEERCHANNELSCHANNELSFUNDING._serialized_start=27868 + _LISTPEERCHANNELSCHANNELSFUNDING._serialized_end=28206 + _LISTPEERCHANNELSCHANNELSALIAS._serialized_start=28208 + _LISTPEERCHANNELSCHANNELSALIAS._serialized_end=28301 + _LISTPEERCHANNELSCHANNELSHTLCS._serialized_start=28304 + _LISTPEERCHANNELSCHANNELSHTLCS._serialized_end=28786 + _LISTPEERCHANNELSCHANNELSHTLCS_LISTPEERCHANNELSCHANNELSHTLCSDIRECTION._serialized_start=28625 + _LISTPEERCHANNELSCHANNELSHTLCS_LISTPEERCHANNELSCHANNELSHTLCSDIRECTION._serialized_end=28682 + _LISTCLOSEDCHANNELSREQUEST._serialized_start=28788 + _LISTCLOSEDCHANNELSREQUEST._serialized_end=28839 + _LISTCLOSEDCHANNELSRESPONSE._serialized_start=28841 + _LISTCLOSEDCHANNELSRESPONSE._serialized_end=28932 + _LISTCLOSEDCHANNELSCLOSEDCHANNELS._serialized_start=28935 + _LISTCLOSEDCHANNELSCLOSEDCHANNELS._serialized_end=30137 + _LISTCLOSEDCHANNELSCLOSEDCHANNELS_LISTCLOSEDCHANNELSCLOSEDCHANNELSCLOSE_CAUSE._serialized_start=29835 + _LISTCLOSEDCHANNELSCLOSEDCHANNELS_LISTCLOSEDCHANNELSCLOSEDCHANNELSCLOSE_CAUSE._serialized_end=29953 + _LISTCLOSEDCHANNELSCLOSEDCHANNELSALIAS._serialized_start=30139 + _LISTCLOSEDCHANNELSCLOSEDCHANNELSALIAS._serialized_end=30240 + _DECODEPAYREQUEST._serialized_start=30242 + _DECODEPAYREQUEST._serialized_end=30318 + _DECODEPAYRESPONSE._serialized_start=30321 + _DECODEPAYRESPONSE._serialized_end=30846 + _DECODEPAYFALLBACKS._serialized_start=30849 + _DECODEPAYFALLBACKS._serialized_end=31047 + _DECODEPAYFALLBACKS_DECODEPAYFALLBACKSTYPE._serialized_start=30970 + _DECODEPAYFALLBACKS_DECODEPAYFALLBACKSTYPE._serialized_end=31038 + _DECODEPAYEXTRA._serialized_start=31049 + _DECODEPAYEXTRA._serialized_end=31092 + _DECODEREQUEST._serialized_start=31094 + _DECODEREQUEST._serialized_end=31125 + _DECODERESPONSE._serialized_start=31128 + _DECODERESPONSE._serialized_end=35394 + _DECODERESPONSE_DECODETYPE._serialized_start=33696 + _DECODERESPONSE_DECODETYPE._serialized_end=33804 + _DECODEOFFER_PATHS._serialized_start=35396 + _DECODEOFFER_PATHS._serialized_end=35456 + _DECODEOFFER_RECURRENCEPAYWINDOW._serialized_start=35459 + _DECODEOFFER_RECURRENCEPAYWINDOW._serialized_end=35597 + _DECODEINVOICE_PATHSPATH._serialized_start=35599 + _DECODEINVOICE_PATHSPATH._serialized_end=35683 + _DECODEINVOICE_FALLBACKS._serialized_start=35685 + _DECODEINVOICE_FALLBACKS._serialized_end=35774 + _DECODEFALLBACKS._serialized_start=35776 + _DECODEFALLBACKS._serialized_end=35895 + _DECODEEXTRA._serialized_start=35897 + _DECODEEXTRA._serialized_end=35937 + _DECODERESTRICTIONS._serialized_start=35939 + _DECODERESTRICTIONS._serialized_end=35998 + _DISCONNECTREQUEST._serialized_start=36000 + _DISCONNECTREQUEST._serialized_end=36061 + _DISCONNECTRESPONSE._serialized_start=36063 + _DISCONNECTRESPONSE._serialized_end=36083 + _FEERATESREQUEST._serialized_start=36085 + _FEERATESREQUEST._serialized_end=36192 + _FEERATESREQUEST_FEERATESSTYLE._serialized_start=36155 + _FEERATESREQUEST_FEERATESSTYLE._serialized_end=36192 + _FEERATESRESPONSE._serialized_start=36195 + _FEERATESRESPONSE._serialized_end=36479 + _FEERATESPERKB._serialized_start=36482 + _FEERATESPERKB._serialized_end=36883 + _FEERATESPERKBESTIMATES._serialized_start=36886 + _FEERATESPERKBESTIMATES._serialized_end=37036 + _FEERATESPERKW._serialized_start=37039 + _FEERATESPERKW._serialized_end=37440 + _FEERATESPERKWESTIMATES._serialized_start=37443 + _FEERATESPERKWESTIMATES._serialized_end=37593 + _FEERATESONCHAIN_FEE_ESTIMATES._serialized_start=37596 + _FEERATESONCHAIN_FEE_ESTIMATES._serialized_end=37789 + _FUNDCHANNELREQUEST._serialized_start=37792 + _FUNDCHANNELREQUEST._serialized_end=38277 + _FUNDCHANNELRESPONSE._serialized_start=38280 + _FUNDCHANNELRESPONSE._serialized_end=38435 + _GETROUTEREQUEST._serialized_start=38438 + _GETROUTEREQUEST._serialized_end=38674 + _GETROUTERESPONSE._serialized_start=38676 + _GETROUTERESPONSE._serialized_end=38729 + _GETROUTEROUTE._serialized_start=38732 + _GETROUTEROUTE._serialized_end=38929 + _GETROUTEROUTE_GETROUTEROUTESTYLE._serialized_start=38900 + _GETROUTEROUTE_GETROUTEROUTESTYLE._serialized_end=38929 + _LISTFORWARDSREQUEST._serialized_start=38932 + _LISTFORWARDSREQUEST._serialized_end=39190 + _LISTFORWARDSREQUEST_LISTFORWARDSSTATUS._serialized_start=39072 + _LISTFORWARDSREQUEST_LISTFORWARDSSTATUS._serialized_end=39148 + _LISTFORWARDSRESPONSE._serialized_start=39192 + _LISTFORWARDSRESPONSE._serialized_end=39259 + _LISTFORWARDSFORWARDS._serialized_start=39262 + _LISTFORWARDSFORWARDS._serialized_end=39868 + _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS._serialized_start=39651 + _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS._serialized_end=39735 + _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE._serialized_start=39737 + _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE._serialized_end=39785 + _LISTPAYSREQUEST._serialized_start=39871 + _LISTPAYSREQUEST._serialized_end=40090 + _LISTPAYSREQUEST_LISTPAYSSTATUS._serialized_start=39996 + _LISTPAYSREQUEST_LISTPAYSSTATUS._serialized_end=40051 + _LISTPAYSRESPONSE._serialized_start=40092 + _LISTPAYSRESPONSE._serialized_end=40143 + _LISTPAYSPAYS._serialized_start=40146 + _LISTPAYSPAYS._serialized_end=40665 + _LISTPAYSPAYS_LISTPAYSPAYSSTATUS._serialized_start=40477 + _LISTPAYSPAYS_LISTPAYSPAYSSTATUS._serialized_end=40536 + _PINGREQUEST._serialized_start=40667 + _PINGREQUEST._serialized_end=40756 + _PINGRESPONSE._serialized_start=40758 + _PINGRESPONSE._serialized_end=40788 + _SENDCUSTOMMSGREQUEST._serialized_start=40790 + _SENDCUSTOMMSGREQUEST._serialized_end=40842 + _SENDCUSTOMMSGRESPONSE._serialized_start=40844 + _SENDCUSTOMMSGRESPONSE._serialized_end=40883 + _SETCHANNELREQUEST._serialized_start=40886 + _SETCHANNELREQUEST._serialized_end=41134 + _SETCHANNELRESPONSE._serialized_start=41136 + _SETCHANNELRESPONSE._serialized_end=41199 + _SETCHANNELCHANNELS._serialized_start=41202 + _SETCHANNELCHANNELS._serialized_end=41606 + _SIGNINVOICEREQUEST._serialized_start=41608 + _SIGNINVOICEREQUEST._serialized_end=41647 + _SIGNINVOICERESPONSE._serialized_start=41649 + _SIGNINVOICERESPONSE._serialized_end=41686 + _SIGNMESSAGEREQUEST._serialized_start=41688 + _SIGNMESSAGEREQUEST._serialized_end=41725 + _SIGNMESSAGERESPONSE._serialized_start=41727 + _SIGNMESSAGERESPONSE._serialized_end=41797 + _STOPREQUEST._serialized_start=41799 + _STOPREQUEST._serialized_end=41812 + _STOPRESPONSE._serialized_start=41814 + _STOPRESPONSE._serialized_end=41828 + _NODE._serialized_start=41831 + _NODE._serialized_end=45253 # @@protoc_insertion_point(module_scope) diff --git a/contrib/pyln-testing/pyln/testing/node_pb2_grpc.py b/contrib/pyln-testing/pyln/testing/node_pb2_grpc.py index 0c435faca..661478b05 100644 --- a/contrib/pyln-testing/pyln/testing/node_pb2_grpc.py +++ b/contrib/pyln-testing/pyln/testing/node_pb2_grpc.py @@ -209,6 +209,16 @@ class NodeStub(object): request_serializer=node__pb2.ListclosedchannelsRequest.SerializeToString, response_deserializer=node__pb2.ListclosedchannelsResponse.FromString, ) + self.DecodePay = channel.unary_unary( + '/cln.Node/DecodePay', + request_serializer=node__pb2.DecodepayRequest.SerializeToString, + response_deserializer=node__pb2.DecodepayResponse.FromString, + ) + self.Decode = channel.unary_unary( + '/cln.Node/Decode', + request_serializer=node__pb2.DecodeRequest.SerializeToString, + response_deserializer=node__pb2.DecodeResponse.FromString, + ) self.Disconnect = channel.unary_unary( '/cln.Node/Disconnect', request_serializer=node__pb2.DisconnectRequest.SerializeToString, @@ -508,6 +518,18 @@ class NodeServicer(object): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def DecodePay(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Decode(self, request, context): + """Missing associated documentation comment in .proto file.""" + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def Disconnect(self, request, context): """Missing associated documentation comment in .proto file.""" context.set_code(grpc.StatusCode.UNIMPLEMENTED) @@ -778,6 +800,16 @@ def add_NodeServicer_to_server(servicer, server): request_deserializer=node__pb2.ListclosedchannelsRequest.FromString, response_serializer=node__pb2.ListclosedchannelsResponse.SerializeToString, ), + 'DecodePay': grpc.unary_unary_rpc_method_handler( + servicer.DecodePay, + request_deserializer=node__pb2.DecodepayRequest.FromString, + response_serializer=node__pb2.DecodepayResponse.SerializeToString, + ), + 'Decode': grpc.unary_unary_rpc_method_handler( + servicer.Decode, + request_deserializer=node__pb2.DecodeRequest.FromString, + response_serializer=node__pb2.DecodeResponse.SerializeToString, + ), 'Disconnect': grpc.unary_unary_rpc_method_handler( servicer.Disconnect, request_deserializer=node__pb2.DisconnectRequest.FromString, @@ -1511,6 +1543,40 @@ class Node(object): options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod + def DecodePay(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/cln.Node/DecodePay', + node__pb2.DecodepayRequest.SerializeToString, + node__pb2.DecodepayResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Decode(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/cln.Node/Decode', + node__pb2.DecodeRequest.SerializeToString, + node__pb2.DecodeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + @staticmethod def Disconnect(request, target, diff --git a/contrib/pyln-testing/pyln/testing/primitives_pb2.py b/contrib/pyln-testing/pyln/testing/primitives_pb2.py index 71fb429d6..f8d2b6c59 100644 --- a/contrib/pyln-testing/pyln/testing/primitives_pb2.py +++ b/contrib/pyln-testing/pyln/testing/primitives_pb2.py @@ -15,12 +15,14 @@ _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10primitives.proto\x12\x03\x63ln\"\x16\n\x06\x41mount\x12\x0c\n\x04msat\x18\x01 \x01(\x04\"D\n\x0b\x41mountOrAll\x12\x1d\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x12\r\n\x03\x61ll\x18\x02 \x01(\x08H\x00\x42\x07\n\x05value\"D\n\x0b\x41mountOrAny\x12\x1d\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x12\r\n\x03\x61ny\x18\x02 \x01(\x08H\x00\x42\x07\n\x05value\"\x19\n\x17\x43hannelStateChangeCause\"(\n\x08Outpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"h\n\x07\x46\x65\x65rate\x12\x0e\n\x04slow\x18\x01 \x01(\x08H\x00\x12\x10\n\x06normal\x18\x02 \x01(\x08H\x00\x12\x10\n\x06urgent\x18\x03 \x01(\x08H\x00\x12\x0f\n\x05perkb\x18\x04 \x01(\rH\x00\x12\x0f\n\x05perkw\x18\x05 \x01(\rH\x00\x42\x07\n\x05style\":\n\nOutputDesc\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\"t\n\x08RouteHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\x1c\n\x07\x66\x65\x65\x62\x61se\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0f\n\x07\x66\x65\x65prop\x18\x04 \x01(\r\x12\x13\n\x0b\x65xpirydelta\x18\x05 \x01(\r\"(\n\tRoutehint\x12\x1b\n\x04hops\x18\x01 \x03(\x0b\x32\r.cln.RouteHop\".\n\rRoutehintList\x12\x1d\n\x05hints\x18\x02 \x03(\x0b\x32\x0e.cln.Routehint\"\'\n\x08TlvEntry\x12\x0c\n\x04type\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\"+\n\tTlvStream\x12\x1e\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\r.cln.TlvEntry*$\n\x0b\x43hannelSide\x12\t\n\x05LOCAL\x10\x00\x12\n\n\x06REMOTE\x10\x01*\x84\x02\n\x0c\x43hannelState\x12\x0c\n\x08Openingd\x10\x00\x12\x1a\n\x16\x43hanneldAwaitingLockin\x10\x01\x12\x12\n\x0e\x43hanneldNormal\x10\x02\x12\x18\n\x14\x43hanneldShuttingDown\x10\x03\x12\x17\n\x13\x43losingdSigexchange\x10\x04\x12\x14\n\x10\x43losingdComplete\x10\x05\x12\x16\n\x12\x41waitingUnilateral\x10\x06\x12\x14\n\x10\x46undingSpendSeen\x10\x07\x12\x0b\n\x07Onchain\x10\x08\x12\x15\n\x11\x44ualopendOpenInit\x10\t\x12\x1b\n\x17\x44ualopendAwaitingLockin\x10\nb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10primitives.proto\x12\x03\x63ln\"\x16\n\x06\x41mount\x12\x0c\n\x04msat\x18\x01 \x01(\x04\"D\n\x0b\x41mountOrAll\x12\x1d\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x12\r\n\x03\x61ll\x18\x02 \x01(\x08H\x00\x42\x07\n\x05value\"D\n\x0b\x41mountOrAny\x12\x1d\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x0b.cln.AmountH\x00\x12\r\n\x03\x61ny\x18\x02 \x01(\x08H\x00\x42\x07\n\x05value\"\x19\n\x17\x43hannelStateChangeCause\"(\n\x08Outpoint\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06outnum\x18\x02 \x01(\r\"h\n\x07\x46\x65\x65rate\x12\x0e\n\x04slow\x18\x01 \x01(\x08H\x00\x12\x10\n\x06normal\x18\x02 \x01(\x08H\x00\x12\x10\n\x06urgent\x18\x03 \x01(\x08H\x00\x12\x0f\n\x05perkb\x18\x04 \x01(\rH\x00\x12\x0f\n\x05perkw\x18\x05 \x01(\rH\x00\x42\x07\n\x05style\":\n\nOutputDesc\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\x12\x1b\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\"t\n\x08RouteHop\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x02 \x01(\t\x12\x1c\n\x07\x66\x65\x65\x62\x61se\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x0f\n\x07\x66\x65\x65prop\x18\x04 \x01(\r\x12\x13\n\x0b\x65xpirydelta\x18\x05 \x01(\r\"(\n\tRoutehint\x12\x1b\n\x04hops\x18\x01 \x03(\x0b\x32\r.cln.RouteHop\".\n\rRoutehintList\x12\x1d\n\x05hints\x18\x02 \x03(\x0b\x32\x0e.cln.Routehint\"\'\n\x08TlvEntry\x12\x0c\n\x04type\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c\"+\n\tTlvStream\x12\x1e\n\x07\x65ntries\x18\x01 \x03(\x0b\x32\r.cln.TlvEntry*$\n\x0b\x43hannelSide\x12\t\n\x05LOCAL\x10\x00\x12\n\n\x06REMOTE\x10\x01*\x84\x02\n\x0c\x43hannelState\x12\x0c\n\x08Openingd\x10\x00\x12\x1a\n\x16\x43hanneldAwaitingLockin\x10\x01\x12\x12\n\x0e\x43hanneldNormal\x10\x02\x12\x18\n\x14\x43hanneldShuttingDown\x10\x03\x12\x17\n\x13\x43losingdSigexchange\x10\x04\x12\x14\n\x10\x43losingdComplete\x10\x05\x12\x16\n\x12\x41waitingUnilateral\x10\x06\x12\x14\n\x10\x46undingSpendSeen\x10\x07\x12\x0b\n\x07Onchain\x10\x08\x12\x15\n\x11\x44ualopendOpenInit\x10\t\x12\x1b\n\x17\x44ualopendAwaitingLockin\x10\n*\x8a\x02\n\tHtlcState\x12\x0f\n\x0bSentAddHtlc\x10\x00\x12\x11\n\rSentAddCommit\x10\x01\x12\x15\n\x11RcvdAddRevocation\x10\x02\x12\x14\n\x10RcvdAddAckCommit\x10\x03\x12\x18\n\x14SentAddAckRevocation\x10\x04\x12\x18\n\x14RcvdAddAckRevocation\x10\x05\x12\x12\n\x0eRcvdRemoveHtlc\x10\x06\x12\x14\n\x10RcvdRemoveCommit\x10\x07\x12\x18\n\x14SentRemoveRevocation\x10\x08\x12\x17\n\x13SentRemoveAckCommit\x10\t\x12\x1b\n\x17RcvdRemoveAckRevocation\x10\nb\x06proto3') _CHANNELSIDE = DESCRIPTOR.enum_types_by_name['ChannelSide'] ChannelSide = enum_type_wrapper.EnumTypeWrapper(_CHANNELSIDE) _CHANNELSTATE = DESCRIPTOR.enum_types_by_name['ChannelState'] ChannelState = enum_type_wrapper.EnumTypeWrapper(_CHANNELSTATE) +_HTLCSTATE = DESCRIPTOR.enum_types_by_name['HtlcState'] +HtlcState = enum_type_wrapper.EnumTypeWrapper(_HTLCSTATE) LOCAL = 0 REMOTE = 1 Openingd = 0 @@ -34,6 +36,17 @@ FundingSpendSeen = 7 Onchain = 8 DualopendOpenInit = 9 DualopendAwaitingLockin = 10 +SentAddHtlc = 0 +SentAddCommit = 1 +RcvdAddRevocation = 2 +RcvdAddAckCommit = 3 +SentAddAckRevocation = 4 +RcvdAddAckRevocation = 5 +RcvdRemoveHtlc = 6 +RcvdRemoveCommit = 7 +SentRemoveRevocation = 8 +SentRemoveAckCommit = 9 +RcvdRemoveAckRevocation = 10 _AMOUNT = DESCRIPTOR.message_types_by_name['Amount'] @@ -139,6 +152,8 @@ if _descriptor._USE_C_DESCRIPTORS == False: _CHANNELSIDE._serialized_end=754 _CHANNELSTATE._serialized_start=757 _CHANNELSTATE._serialized_end=1017 + _HTLCSTATE._serialized_start=1020 + _HTLCSTATE._serialized_end=1286 _AMOUNT._serialized_start=25 _AMOUNT._serialized_end=47 _AMOUNTORALL._serialized_start=49