From bac322ccdbedb93df649a9dd245c20d18e324116 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Thu, 30 Jun 2022 11:08:50 +0200 Subject: [PATCH] pytest: Move generated grpc bindings to pyln-testing These may eventually end up in pyln-client, as they allow talking to the GRPC interface exposed by cln-grpc, however for now they are used for testing only. Once we have sufficient API and test coverage we can move them and leave imports in their place. --- Makefile | 14 +- contrib/pyln-testing/pyln/testing/node_pb2.py | 1350 +++++++++++++++ .../pyln/testing/node_pb2_grpc.py | 1485 +++++++++++++++++ .../pyln/testing/primitives_pb2.py | 146 ++ tests/test_cln_rs.py | 18 +- 5 files changed, 2998 insertions(+), 15 deletions(-) create mode 100644 contrib/pyln-testing/pyln/testing/node_pb2.py create mode 100644 contrib/pyln-testing/pyln/testing/node_pb2_grpc.py create mode 100644 contrib/pyln-testing/pyln/testing/primitives_pb2.py diff --git a/Makefile b/Makefile index 6c804b954..40dcde7b5 100644 --- a/Makefile +++ b/Makefile @@ -383,15 +383,19 @@ ifneq ($(RUST),0) include cln-rpc/Makefile include cln-grpc/Makefile -GRPC_GEN = tests/node_pb2.py \ - tests/node_pb2_grpc.py \ - tests/primitives_pb2.py +GRPC_GEN = contrib/pyln-testing/pyln/testing/node_pb2.py \ + contrib/pyln-testing/pyln/testing/node_pb2_grpc.py \ + contrib/pyln-testing/pyln/testing/primitives_pb2.py ALL_TEST_GEN += $(GRPC_GEN) $(GRPC_GEN): cln-grpc/proto/node.proto cln-grpc/proto/primitives.proto - python -m grpc_tools.protoc -I cln-grpc/proto cln-grpc/proto/node.proto --python_out=tests/ --grpc_python_out=tests/ --experimental_allow_proto3_optional - python -m grpc_tools.protoc -I cln-grpc/proto cln-grpc/proto/primitives.proto --python_out=tests/ --grpc_python_out=tests/ --experimental_allow_proto3_optional + python -m grpc_tools.protoc -I cln-grpc/proto cln-grpc/proto/node.proto --python_out=contrib/pyln-testing/pyln/testing/ --grpc_python_out=contrib/pyln-testing/pyln/testing/ --experimental_allow_proto3_optional + python -m grpc_tools.protoc -I cln-grpc/proto cln-grpc/proto/primitives.proto --python_out=contrib/pyln-testing/pyln/testing/ --experimental_allow_proto3_optional + # The compiler assumes that the proto files are in the same + # directory structure as the generated files will be. Since we + # don't do that we need to path the files up. + find contrib/pyln-testing/pyln/testing/ -type f -name "*.py" -print0 | xargs -0 sed -i 's/^import \(.*\)_pb2 as .*__pb2/from . import \1_pb2 as \1__pb2/g' endif diff --git a/contrib/pyln-testing/pyln/testing/node_pb2.py b/contrib/pyln-testing/pyln/testing/node_pb2.py new file mode 100644 index 000000000..adfdf8354 --- /dev/null +++ b/contrib/pyln-testing/pyln/testing/node_pb2.py @@ -0,0 +1,1350 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: node.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_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\"\xec\x03\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\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\x00\x88\x01\x01\x12$\n\x17warning_lightningd_sync\x18\x11 \x01(\tH\x01\x88\x01\x01\x42\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\"\xe2\x01\n\x0eListpeersPeers\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x11\n\tconnected\x18\x02 \x01(\x08\x12#\n\x03log\x18\x03 \x03(\x0b\x32\x16.cln.ListpeersPeersLog\x12-\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\x00\x88\x01\x01\x12\x15\n\x08\x66\x65\x61tures\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x42\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\"\x8a\x16\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\x12\n\x05owner\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x1d\n\x10short_channel_id\x18\x05 \x01(\tH\x02\x88\x01\x01\x12\x17\n\nchannel_id\x18\x06 \x01(\x0cH\x03\x88\x01\x01\x12\x19\n\x0c\x66unding_txid\x18\x07 \x01(\x0cH\x04\x88\x01\x01\x12\x1b\n\x0e\x66unding_outnum\x18\x08 \x01(\rH\x05\x88\x01\x01\x12\x1c\n\x0finitial_feerate\x18\t \x01(\tH\x06\x88\x01\x01\x12\x19\n\x0clast_feerate\x18\n \x01(\tH\x07\x88\x01\x01\x12\x19\n\x0cnext_feerate\x18\x0b \x01(\tH\x08\x88\x01\x01\x12\x1a\n\rnext_fee_step\x18\x0c \x01(\rH\t\x88\x01\x01\x12\x35\n\x08inflight\x18\r \x03(\x0b\x32#.cln.ListpeersPeersChannelsInflight\x12\x15\n\x08\x63lose_to\x18\x0e \x01(\x0cH\n\x88\x01\x01\x12\x14\n\x07private\x18\x0f \x01(\x08H\x0b\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\x0c\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x12 \x03(\t\x12$\n\nto_us_msat\x18\x14 \x01(\x0b\x32\x0b.cln.AmountH\r\x88\x01\x01\x12(\n\x0emin_to_us_msat\x18\x15 \x01(\x0b\x32\x0b.cln.AmountH\x0e\x88\x01\x01\x12(\n\x0emax_to_us_msat\x18\x16 \x01(\x0b\x32\x0b.cln.AmountH\x0f\x88\x01\x01\x12$\n\ntotal_msat\x18\x17 \x01(\x0b\x32\x0b.cln.AmountH\x10\x88\x01\x01\x12\'\n\rfee_base_msat\x18\x18 \x01(\x0b\x32\x0b.cln.AmountH\x11\x88\x01\x01\x12(\n\x1b\x66\x65\x65_proportional_millionths\x18\x19 \x01(\rH\x12\x88\x01\x01\x12)\n\x0f\x64ust_limit_msat\x18\x1a \x01(\x0b\x32\x0b.cln.AmountH\x13\x88\x01\x01\x12\x30\n\x16max_total_htlc_in_msat\x18\x1b \x01(\x0b\x32\x0b.cln.AmountH\x14\x88\x01\x01\x12,\n\x12their_reserve_msat\x18\x1c \x01(\x0b\x32\x0b.cln.AmountH\x15\x88\x01\x01\x12*\n\x10our_reserve_msat\x18\x1d \x01(\x0b\x32\x0b.cln.AmountH\x16\x88\x01\x01\x12(\n\x0espendable_msat\x18\x1e \x01(\x0b\x32\x0b.cln.AmountH\x17\x88\x01\x01\x12)\n\x0freceivable_msat\x18\x1f \x01(\x0b\x32\x0b.cln.AmountH\x18\x88\x01\x01\x12.\n\x14minimum_htlc_in_msat\x18 \x01(\x0b\x32\x0b.cln.AmountH\x19\x88\x01\x01\x12/\n\x15minimum_htlc_out_msat\x18\x30 \x01(\x0b\x32\x0b.cln.AmountH\x1a\x88\x01\x01\x12/\n\x15maximum_htlc_out_msat\x18\x31 \x01(\x0b\x32\x0b.cln.AmountH\x1b\x88\x01\x01\x12 \n\x13their_to_self_delay\x18! \x01(\rH\x1c\x88\x01\x01\x12\x1e\n\x11our_to_self_delay\x18\" \x01(\rH\x1d\x88\x01\x01\x12\x1f\n\x12max_accepted_htlcs\x18# \x01(\rH\x1e\x88\x01\x01\x12\x0e\n\x06status\x18% \x03(\t\x12 \n\x13in_payments_offered\x18& \x01(\x04H\x1f\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\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\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\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\"\x84\x01\n\x1dListpeersPeersChannelsFunding\x12\x1f\n\nlocal_msat\x18\x01 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x0bremote_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x0bpushed_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\"\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\"\xf5\x02\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\"C\n\x16ListfundsOutputsStatus\x12\x0f\n\x0bUNCONFIRMED\x10\x00\x12\r\n\tCONFIRMED\x10\x01\x12\t\n\x05SPENT\x10\x02\x42\n\n\x08_addressB\x0f\n\r_redeemscriptB\x0e\n\x0c_blockheight\"\x83\x02\n\x11ListfundsChannels\x12\x0f\n\x07peer_id\x18\x01 \x01(\x0c\x12$\n\x0four_amount_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12 \n\x0b\x61mount_msat\x18\x03 \x01(\x0b\x32\x0b.cln.Amount\x12\x14\n\x0c\x66unding_txid\x18\x04 \x01(\x0c\x12\x16\n\x0e\x66unding_output\x18\x05 \x01(\r\x12\x11\n\tconnected\x18\x06 \x01(\x08\x12 \n\x05state\x18\x07 \x01(\x0e\x32\x11.cln.ChannelState\x12\x1d\n\x10short_channel_id\x18\x08 \x01(\tH\x00\x88\x01\x01\x42\x13\n\x11_short_channel_id\"\xdb\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\x19\n\x0clocalofferid\x18\x08 \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\x0f\n\r_localofferidB\n\n\x08_groupid\"\xa5\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%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\x12\x14\n\x07message\x18\x0e \x01(\tH\x08\x88\x01\x01\"*\n\rSendpayStatus\x12\x0b\n\x07PENDING\x10\x00\x12\x0c\n\x08\x43OMPLETE\x10\x01\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimageB\n\n\x08_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\"\xa0\x03\n\x14ListchannelsChannels\x12\x0e\n\x06source\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\x0c\x12\x18\n\x10short_channel_id\x18\x03 \x01(\t\x12\x0e\n\x06public\x18\x04 \x01(\x08\x12 \n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.Amount\x12\x15\n\rmessage_flags\x18\x06 \x01(\r\x12\x15\n\rchannel_flags\x18\x07 \x01(\r\x12\x0e\n\x06\x61\x63tive\x18\x08 \x01(\x08\x12\x13\n\x0blast_update\x18\t \x01(\r\x12\x1d\n\x15\x62\x61se_fee_millisatoshi\x18\n \x01(\r\x12\x19\n\x11\x66\x65\x65_per_millionth\x18\x0b \x01(\r\x12\r\n\x05\x64\x65lay\x18\x0c \x01(\r\x12&\n\x11htlc_minimum_msat\x18\r \x01(\x0b\x32\x0b.cln.Amount\x12+\n\x11htlc_maximum_msat\x18\x0e \x01(\x0b\x32\x0b.cln.AmountH\x00\x88\x01\x01\x12\x10\n\x08\x66\x65\x61tures\x18\x0f \x01(\x0c\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\"H\n\x14\x43heckmessageResponse\x12\x10\n\x08verified\x18\x01 \x01(\x08\x12\x13\n\x06pubkey\x18\x02 \x01(\x0cH\x00\x88\x01\x01\x42\t\n\x07_pubkey\"\xbc\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\x1a\n\rwrong_funding\x18\x05 \x01(\x0cH\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\"\x8e\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\"#\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\"\xf3\x04\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\x17\n\npayer_note\x18\x0e \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\r\n\x0b_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\"\xb7\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\x17\n\npayer_note\x18\n \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\r\n\x0b_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\"\x94\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\x17\n\npayer_note\x18\n \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\r\n\x0b_payer_noteB\x0c\n\n_pay_indexB\x17\n\x15_amount_received_msatB\n\n\x08_paid_atB\x13\n\x11_payment_preimage\"\xdc\x02\n\x10SendonionRequest\x12\r\n\x05onion\x18\x01 \x01(\x0c\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\x19\n\x0clocalofferid\x18\n \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\x0f\n\r_localofferidB\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\"\xe5\x04\n\x14ListsendpaysPayments\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\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\n\n\x08_groupidB\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\"\x9a\x02\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\x14\n\x07\x63hannel\x18\x06 \x01(\tH\x00\x88\x01\x01\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.ListtransactionsTransactionsOutputsB\n\n\x08_channel\"\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\"\xd8\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\x19\n\x0clocalofferid\x18\t \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\x0f\n\r_localofferidB\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\"\x86\x04\n\x13WaitsendpayResponse\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x14\n\x07groupid\x18\x02 \x01(\x04H\x00\x88\x01\x01\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12:\n\x06status\x18\x04 \x01(\x0e\x32*.cln.WaitsendpayResponse.WaitsendpayStatus\x12%\n\x0b\x61mount_msat\x18\x05 \x01(\x0b\x32\x0b.cln.AmountH\x01\x88\x01\x01\x12\x18\n\x0b\x64\x65stination\x18\x06 \x01(\x0cH\x02\x88\x01\x01\x12\x12\n\ncreated_at\x18\x07 \x01(\x04\x12%\n\x10\x61mount_sent_msat\x18\x08 \x01(\x0b\x32\x0b.cln.Amount\x12\x12\n\x05label\x18\t \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06partid\x18\n \x01(\x04H\x04\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x0b \x01(\tH\x05\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x0c \x01(\tH\x06\x88\x01\x01\x12\x1d\n\x10payment_preimage\x18\r \x01(\x0cH\x07\x88\x01\x01\"!\n\x11WaitsendpayStatus\x12\x0c\n\x08\x43OMPLETE\x10\x00\x42\n\n\x08_groupidB\x0e\n\x0c_amount_msatB\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_partidB\t\n\x07_bolt11B\t\n\x07_bolt12B\x13\n\x11_payment_preimage\"\x9e\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\x0f\n\x0bP2SH_SEGWIT\x10\x01\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\"\xcc\x02\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\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_routehints\"\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\"\x12\n\x10KeysendExtratlvs\"\xb7\x02\n\x0f\x46undpsbtRequest\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\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\"=\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\"V\n\x10\x46\x65\x65ratesResponse\x12%\n\x18warning_missing_feerates\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x1b\n\x19_warning_missing_feerates\"\xc3\x02\n\rFeeratesPerkb\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x1a\n\rdelayed_to_us\x18\x06 \x01(\rH\x03\x88\x01\x01\x12\x1c\n\x0fhtlc_resolution\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\x10\n\x0e_delayed_to_usB\x12\n\x10_htlc_resolutionB\n\n\x08_penalty\"\xc3\x02\n\rFeeratesPerkw\x12\x16\n\x0emin_acceptable\x18\x01 \x01(\r\x12\x16\n\x0emax_acceptable\x18\x02 \x01(\r\x12\x14\n\x07opening\x18\x03 \x01(\rH\x00\x88\x01\x01\x12\x19\n\x0cmutual_close\x18\x04 \x01(\rH\x01\x88\x01\x01\x12\x1d\n\x10unilateral_close\x18\x05 \x01(\rH\x02\x88\x01\x01\x12\x1a\n\rdelayed_to_us\x18\x06 \x01(\rH\x03\x88\x01\x01\x12\x1c\n\x0fhtlc_resolution\x18\x07 \x01(\rH\x04\x88\x01\x01\x12\x14\n\x07penalty\x18\x08 \x01(\rH\x05\x88\x01\x01\x42\n\n\x08_openingB\x0f\n\r_mutual_closeB\x13\n\x11_unilateral_closeB\x10\n\x0e_delayed_to_usB\x12\n\x10_htlc_resolutionB\n\n\x08_penalty\"\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\"\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\"\xb8\x04\n\x14ListforwardsForwards\x12\x12\n\nin_channel\x18\x01 \x01(\t\x12\x1c\n\x07in_msat\x18\x02 \x01(\x0b\x32\x0b.cln.Amount\x12\x44\n\x06status\x18\x03 \x01(\x0e\x32\x34.cln.ListforwardsForwards.ListforwardsForwardsStatus\x12\x15\n\rreceived_time\x18\x04 \x01(\x01\x12\x18\n\x0bout_channel\x18\x05 \x01(\tH\x00\x88\x01\x01\x12\x19\n\x0cpayment_hash\x18\x06 \x01(\x0cH\x01\x88\x01\x01\x12G\n\x05style\x18\t \x01(\x0e\x32\x33.cln.ListforwardsForwards.ListforwardsForwardsStyleH\x02\x88\x01\x01\x12\"\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x0b\x32\x0b.cln.AmountH\x03\x88\x01\x01\x12\"\n\x08out_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x04\x88\x01\x01\"T\n\x1aListforwardsForwardsStatus\x12\x0b\n\x07OFFERED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x10\n\x0cLOCAL_FAILED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"0\n\x19ListforwardsForwardsStyle\x12\n\n\x06LEGACY\x10\x00\x12\x07\n\x03TLV\x10\x01\x42\x0e\n\x0c_out_channelB\x0f\n\r_payment_hashB\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\"\xfd\x03\n\x0cListpaysPays\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x34\n\x06status\x18\x02 \x01(\x0e\x32$.cln.ListpaysPays.ListpaysPaysStatus\x12\x18\n\x0b\x64\x65stination\x18\x03 \x01(\x0cH\x00\x88\x01\x01\x12\x12\n\ncreated_at\x18\x04 \x01(\x04\x12\x12\n\x05label\x18\x05 \x01(\tH\x01\x88\x01\x01\x12\x13\n\x06\x62olt11\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x0b \x01(\tH\x03\x88\x01\x01\x12\x13\n\x06\x62olt12\x18\x07 \x01(\tH\x04\x88\x01\x01\x12%\n\x0b\x61mount_msat\x18\x08 \x01(\x0b\x32\x0b.cln.AmountH\x05\x88\x01\x01\x12*\n\x10\x61mount_sent_msat\x18\t \x01(\x0b\x32\x0b.cln.AmountH\x06\x88\x01\x01\x12\x17\n\nerroronion\x18\n \x01(\x0cH\x07\x88\x01\x01\";\n\x12ListpaysPaysStatus\x12\x0b\n\x07PENDING\x10\x00\x12\n\n\x06\x46\x41ILED\x10\x01\x12\x0c\n\x08\x43OMPLETE\x10\x02\x42\x0e\n\x0c_destinationB\x08\n\x06_labelB\t\n\x07_bolt11B\x0e\n\x0c_descriptionB\t\n\x07_bolt12B\x0e\n\x0c_amount_msatB\x13\n\x11_amount_sent_msatB\r\n\x0b_erroronion\"Y\n\x0bPingRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12\x10\n\x03len\x18\x02 \x01(\x01H\x00\x88\x01\x01\x12\x16\n\tpongbytes\x18\x03 \x01(\x01H\x01\x88\x01\x01\x42\x06\n\x04_lenB\x0c\n\n_pongbytes\"\x1e\n\x0cPingResponse\x12\x0e\n\x06totlen\x18\x01 \x01(\r\"%\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(\t2\xfd\x15\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\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\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\x12\x42\n\x0bSignMessage\x12\x17.cln.SignmessageRequest\x1a\x18.cln.SignmessageResponse\"\x00\x62\x06proto3') + + + +_GETINFOREQUEST = DESCRIPTOR.message_types_by_name['GetinfoRequest'] +_GETINFORESPONSE = DESCRIPTOR.message_types_by_name['GetinfoResponse'] +_GETINFOOUR_FEATURES = DESCRIPTOR.message_types_by_name['GetinfoOur_features'] +_GETINFOADDRESS = DESCRIPTOR.message_types_by_name['GetinfoAddress'] +_GETINFOBINDING = DESCRIPTOR.message_types_by_name['GetinfoBinding'] +_LISTPEERSREQUEST = DESCRIPTOR.message_types_by_name['ListpeersRequest'] +_LISTPEERSRESPONSE = DESCRIPTOR.message_types_by_name['ListpeersResponse'] +_LISTPEERSPEERS = DESCRIPTOR.message_types_by_name['ListpeersPeers'] +_LISTPEERSPEERSLOG = DESCRIPTOR.message_types_by_name['ListpeersPeersLog'] +_LISTPEERSPEERSCHANNELS = DESCRIPTOR.message_types_by_name['ListpeersPeersChannels'] +_LISTPEERSPEERSCHANNELSFEERATE = DESCRIPTOR.message_types_by_name['ListpeersPeersChannelsFeerate'] +_LISTPEERSPEERSCHANNELSINFLIGHT = DESCRIPTOR.message_types_by_name['ListpeersPeersChannelsInflight'] +_LISTPEERSPEERSCHANNELSFUNDING = DESCRIPTOR.message_types_by_name['ListpeersPeersChannelsFunding'] +_LISTPEERSPEERSCHANNELSHTLCS = DESCRIPTOR.message_types_by_name['ListpeersPeersChannelsHtlcs'] +_LISTFUNDSREQUEST = DESCRIPTOR.message_types_by_name['ListfundsRequest'] +_LISTFUNDSRESPONSE = DESCRIPTOR.message_types_by_name['ListfundsResponse'] +_LISTFUNDSOUTPUTS = DESCRIPTOR.message_types_by_name['ListfundsOutputs'] +_LISTFUNDSCHANNELS = DESCRIPTOR.message_types_by_name['ListfundsChannels'] +_SENDPAYREQUEST = DESCRIPTOR.message_types_by_name['SendpayRequest'] +_SENDPAYRESPONSE = DESCRIPTOR.message_types_by_name['SendpayResponse'] +_SENDPAYROUTE = DESCRIPTOR.message_types_by_name['SendpayRoute'] +_LISTCHANNELSREQUEST = DESCRIPTOR.message_types_by_name['ListchannelsRequest'] +_LISTCHANNELSRESPONSE = DESCRIPTOR.message_types_by_name['ListchannelsResponse'] +_LISTCHANNELSCHANNELS = DESCRIPTOR.message_types_by_name['ListchannelsChannels'] +_ADDGOSSIPREQUEST = DESCRIPTOR.message_types_by_name['AddgossipRequest'] +_ADDGOSSIPRESPONSE = DESCRIPTOR.message_types_by_name['AddgossipResponse'] +_AUTOCLEANINVOICEREQUEST = DESCRIPTOR.message_types_by_name['AutocleaninvoiceRequest'] +_AUTOCLEANINVOICERESPONSE = DESCRIPTOR.message_types_by_name['AutocleaninvoiceResponse'] +_CHECKMESSAGEREQUEST = DESCRIPTOR.message_types_by_name['CheckmessageRequest'] +_CHECKMESSAGERESPONSE = DESCRIPTOR.message_types_by_name['CheckmessageResponse'] +_CLOSEREQUEST = DESCRIPTOR.message_types_by_name['CloseRequest'] +_CLOSERESPONSE = DESCRIPTOR.message_types_by_name['CloseResponse'] +_CONNECTREQUEST = DESCRIPTOR.message_types_by_name['ConnectRequest'] +_CONNECTRESPONSE = DESCRIPTOR.message_types_by_name['ConnectResponse'] +_CONNECTADDRESS = DESCRIPTOR.message_types_by_name['ConnectAddress'] +_CREATEINVOICEREQUEST = DESCRIPTOR.message_types_by_name['CreateinvoiceRequest'] +_CREATEINVOICERESPONSE = DESCRIPTOR.message_types_by_name['CreateinvoiceResponse'] +_DATASTOREREQUEST = DESCRIPTOR.message_types_by_name['DatastoreRequest'] +_DATASTORERESPONSE = DESCRIPTOR.message_types_by_name['DatastoreResponse'] +_CREATEONIONREQUEST = DESCRIPTOR.message_types_by_name['CreateonionRequest'] +_CREATEONIONRESPONSE = DESCRIPTOR.message_types_by_name['CreateonionResponse'] +_CREATEONIONHOPS = DESCRIPTOR.message_types_by_name['CreateonionHops'] +_DELDATASTOREREQUEST = DESCRIPTOR.message_types_by_name['DeldatastoreRequest'] +_DELDATASTORERESPONSE = DESCRIPTOR.message_types_by_name['DeldatastoreResponse'] +_DELEXPIREDINVOICEREQUEST = DESCRIPTOR.message_types_by_name['DelexpiredinvoiceRequest'] +_DELEXPIREDINVOICERESPONSE = DESCRIPTOR.message_types_by_name['DelexpiredinvoiceResponse'] +_DELINVOICEREQUEST = DESCRIPTOR.message_types_by_name['DelinvoiceRequest'] +_DELINVOICERESPONSE = DESCRIPTOR.message_types_by_name['DelinvoiceResponse'] +_INVOICEREQUEST = DESCRIPTOR.message_types_by_name['InvoiceRequest'] +_INVOICERESPONSE = DESCRIPTOR.message_types_by_name['InvoiceResponse'] +_LISTDATASTOREREQUEST = DESCRIPTOR.message_types_by_name['ListdatastoreRequest'] +_LISTDATASTORERESPONSE = DESCRIPTOR.message_types_by_name['ListdatastoreResponse'] +_LISTDATASTOREDATASTORE = DESCRIPTOR.message_types_by_name['ListdatastoreDatastore'] +_LISTINVOICESREQUEST = DESCRIPTOR.message_types_by_name['ListinvoicesRequest'] +_LISTINVOICESRESPONSE = DESCRIPTOR.message_types_by_name['ListinvoicesResponse'] +_LISTINVOICESINVOICES = DESCRIPTOR.message_types_by_name['ListinvoicesInvoices'] +_SENDONIONREQUEST = DESCRIPTOR.message_types_by_name['SendonionRequest'] +_SENDONIONRESPONSE = DESCRIPTOR.message_types_by_name['SendonionResponse'] +_SENDONIONFIRST_HOP = DESCRIPTOR.message_types_by_name['SendonionFirst_hop'] +_LISTSENDPAYSREQUEST = DESCRIPTOR.message_types_by_name['ListsendpaysRequest'] +_LISTSENDPAYSRESPONSE = DESCRIPTOR.message_types_by_name['ListsendpaysResponse'] +_LISTSENDPAYSPAYMENTS = DESCRIPTOR.message_types_by_name['ListsendpaysPayments'] +_LISTTRANSACTIONSREQUEST = DESCRIPTOR.message_types_by_name['ListtransactionsRequest'] +_LISTTRANSACTIONSRESPONSE = DESCRIPTOR.message_types_by_name['ListtransactionsResponse'] +_LISTTRANSACTIONSTRANSACTIONS = DESCRIPTOR.message_types_by_name['ListtransactionsTransactions'] +_LISTTRANSACTIONSTRANSACTIONSINPUTS = DESCRIPTOR.message_types_by_name['ListtransactionsTransactionsInputs'] +_LISTTRANSACTIONSTRANSACTIONSOUTPUTS = DESCRIPTOR.message_types_by_name['ListtransactionsTransactionsOutputs'] +_PAYREQUEST = DESCRIPTOR.message_types_by_name['PayRequest'] +_PAYRESPONSE = DESCRIPTOR.message_types_by_name['PayResponse'] +_LISTNODESREQUEST = DESCRIPTOR.message_types_by_name['ListnodesRequest'] +_LISTNODESRESPONSE = DESCRIPTOR.message_types_by_name['ListnodesResponse'] +_LISTNODESNODES = DESCRIPTOR.message_types_by_name['ListnodesNodes'] +_LISTNODESNODESADDRESSES = DESCRIPTOR.message_types_by_name['ListnodesNodesAddresses'] +_WAITANYINVOICEREQUEST = DESCRIPTOR.message_types_by_name['WaitanyinvoiceRequest'] +_WAITANYINVOICERESPONSE = DESCRIPTOR.message_types_by_name['WaitanyinvoiceResponse'] +_WAITINVOICEREQUEST = DESCRIPTOR.message_types_by_name['WaitinvoiceRequest'] +_WAITINVOICERESPONSE = DESCRIPTOR.message_types_by_name['WaitinvoiceResponse'] +_WAITSENDPAYREQUEST = DESCRIPTOR.message_types_by_name['WaitsendpayRequest'] +_WAITSENDPAYRESPONSE = DESCRIPTOR.message_types_by_name['WaitsendpayResponse'] +_NEWADDRREQUEST = DESCRIPTOR.message_types_by_name['NewaddrRequest'] +_NEWADDRRESPONSE = DESCRIPTOR.message_types_by_name['NewaddrResponse'] +_WITHDRAWREQUEST = DESCRIPTOR.message_types_by_name['WithdrawRequest'] +_WITHDRAWRESPONSE = DESCRIPTOR.message_types_by_name['WithdrawResponse'] +_KEYSENDREQUEST = DESCRIPTOR.message_types_by_name['KeysendRequest'] +_KEYSENDRESPONSE = DESCRIPTOR.message_types_by_name['KeysendResponse'] +_KEYSENDEXTRATLVS = DESCRIPTOR.message_types_by_name['KeysendExtratlvs'] +_FUNDPSBTREQUEST = DESCRIPTOR.message_types_by_name['FundpsbtRequest'] +_FUNDPSBTRESPONSE = DESCRIPTOR.message_types_by_name['FundpsbtResponse'] +_FUNDPSBTRESERVATIONS = DESCRIPTOR.message_types_by_name['FundpsbtReservations'] +_SENDPSBTREQUEST = DESCRIPTOR.message_types_by_name['SendpsbtRequest'] +_SENDPSBTRESPONSE = DESCRIPTOR.message_types_by_name['SendpsbtResponse'] +_SIGNPSBTREQUEST = DESCRIPTOR.message_types_by_name['SignpsbtRequest'] +_SIGNPSBTRESPONSE = DESCRIPTOR.message_types_by_name['SignpsbtResponse'] +_UTXOPSBTREQUEST = DESCRIPTOR.message_types_by_name['UtxopsbtRequest'] +_UTXOPSBTRESPONSE = DESCRIPTOR.message_types_by_name['UtxopsbtResponse'] +_UTXOPSBTRESERVATIONS = DESCRIPTOR.message_types_by_name['UtxopsbtReservations'] +_TXDISCARDREQUEST = DESCRIPTOR.message_types_by_name['TxdiscardRequest'] +_TXDISCARDRESPONSE = DESCRIPTOR.message_types_by_name['TxdiscardResponse'] +_TXPREPAREREQUEST = DESCRIPTOR.message_types_by_name['TxprepareRequest'] +_TXPREPARERESPONSE = DESCRIPTOR.message_types_by_name['TxprepareResponse'] +_TXSENDREQUEST = DESCRIPTOR.message_types_by_name['TxsendRequest'] +_TXSENDRESPONSE = DESCRIPTOR.message_types_by_name['TxsendResponse'] +_DISCONNECTREQUEST = DESCRIPTOR.message_types_by_name['DisconnectRequest'] +_DISCONNECTRESPONSE = DESCRIPTOR.message_types_by_name['DisconnectResponse'] +_FEERATESREQUEST = DESCRIPTOR.message_types_by_name['FeeratesRequest'] +_FEERATESRESPONSE = DESCRIPTOR.message_types_by_name['FeeratesResponse'] +_FEERATESPERKB = DESCRIPTOR.message_types_by_name['FeeratesPerkb'] +_FEERATESPERKW = DESCRIPTOR.message_types_by_name['FeeratesPerkw'] +_FEERATESONCHAIN_FEE_ESTIMATES = DESCRIPTOR.message_types_by_name['FeeratesOnchain_fee_estimates'] +_GETROUTEREQUEST = DESCRIPTOR.message_types_by_name['GetrouteRequest'] +_GETROUTERESPONSE = DESCRIPTOR.message_types_by_name['GetrouteResponse'] +_GETROUTEROUTE = DESCRIPTOR.message_types_by_name['GetrouteRoute'] +_LISTFORWARDSREQUEST = DESCRIPTOR.message_types_by_name['ListforwardsRequest'] +_LISTFORWARDSRESPONSE = DESCRIPTOR.message_types_by_name['ListforwardsResponse'] +_LISTFORWARDSFORWARDS = DESCRIPTOR.message_types_by_name['ListforwardsForwards'] +_LISTPAYSREQUEST = DESCRIPTOR.message_types_by_name['ListpaysRequest'] +_LISTPAYSRESPONSE = DESCRIPTOR.message_types_by_name['ListpaysResponse'] +_LISTPAYSPAYS = DESCRIPTOR.message_types_by_name['ListpaysPays'] +_PINGREQUEST = DESCRIPTOR.message_types_by_name['PingRequest'] +_PINGRESPONSE = DESCRIPTOR.message_types_by_name['PingResponse'] +_SIGNMESSAGEREQUEST = DESCRIPTOR.message_types_by_name['SignmessageRequest'] +_SIGNMESSAGERESPONSE = DESCRIPTOR.message_types_by_name['SignmessageResponse'] +_GETINFOADDRESS_GETINFOADDRESSTYPE = _GETINFOADDRESS.enum_types_by_name['GetinfoAddressType'] +_GETINFOBINDING_GETINFOBINDINGTYPE = _GETINFOBINDING.enum_types_by_name['GetinfoBindingType'] +_LISTPEERSPEERSLOG_LISTPEERSPEERSLOGTYPE = _LISTPEERSPEERSLOG.enum_types_by_name['ListpeersPeersLogType'] +_LISTPEERSPEERSCHANNELS_LISTPEERSPEERSCHANNELSSTATE = _LISTPEERSPEERSCHANNELS.enum_types_by_name['ListpeersPeersChannelsState'] +_LISTPEERSPEERSCHANNELSHTLCS_LISTPEERSPEERSCHANNELSHTLCSDIRECTION = _LISTPEERSPEERSCHANNELSHTLCS.enum_types_by_name['ListpeersPeersChannelsHtlcsDirection'] +_LISTFUNDSOUTPUTS_LISTFUNDSOUTPUTSSTATUS = _LISTFUNDSOUTPUTS.enum_types_by_name['ListfundsOutputsStatus'] +_SENDPAYRESPONSE_SENDPAYSTATUS = _SENDPAYRESPONSE.enum_types_by_name['SendpayStatus'] +_CLOSERESPONSE_CLOSETYPE = _CLOSERESPONSE.enum_types_by_name['CloseType'] +_CONNECTRESPONSE_CONNECTDIRECTION = _CONNECTRESPONSE.enum_types_by_name['ConnectDirection'] +_CONNECTADDRESS_CONNECTADDRESSTYPE = _CONNECTADDRESS.enum_types_by_name['ConnectAddressType'] +_CREATEINVOICERESPONSE_CREATEINVOICESTATUS = _CREATEINVOICERESPONSE.enum_types_by_name['CreateinvoiceStatus'] +_DATASTOREREQUEST_DATASTOREMODE = _DATASTOREREQUEST.enum_types_by_name['DatastoreMode'] +_DELINVOICEREQUEST_DELINVOICESTATUS = _DELINVOICEREQUEST.enum_types_by_name['DelinvoiceStatus'] +_DELINVOICERESPONSE_DELINVOICESTATUS = _DELINVOICERESPONSE.enum_types_by_name['DelinvoiceStatus'] +_LISTINVOICESINVOICES_LISTINVOICESINVOICESSTATUS = _LISTINVOICESINVOICES.enum_types_by_name['ListinvoicesInvoicesStatus'] +_SENDONIONRESPONSE_SENDONIONSTATUS = _SENDONIONRESPONSE.enum_types_by_name['SendonionStatus'] +_LISTSENDPAYSREQUEST_LISTSENDPAYSSTATUS = _LISTSENDPAYSREQUEST.enum_types_by_name['ListsendpaysStatus'] +_LISTSENDPAYSPAYMENTS_LISTSENDPAYSPAYMENTSSTATUS = _LISTSENDPAYSPAYMENTS.enum_types_by_name['ListsendpaysPaymentsStatus'] +_LISTTRANSACTIONSTRANSACTIONSINPUTS_LISTTRANSACTIONSTRANSACTIONSINPUTSTYPE = _LISTTRANSACTIONSTRANSACTIONSINPUTS.enum_types_by_name['ListtransactionsTransactionsInputsType'] +_LISTTRANSACTIONSTRANSACTIONSOUTPUTS_LISTTRANSACTIONSTRANSACTIONSOUTPUTSTYPE = _LISTTRANSACTIONSTRANSACTIONSOUTPUTS.enum_types_by_name['ListtransactionsTransactionsOutputsType'] +_PAYRESPONSE_PAYSTATUS = _PAYRESPONSE.enum_types_by_name['PayStatus'] +_LISTNODESNODESADDRESSES_LISTNODESNODESADDRESSESTYPE = _LISTNODESNODESADDRESSES.enum_types_by_name['ListnodesNodesAddressesType'] +_WAITANYINVOICERESPONSE_WAITANYINVOICESTATUS = _WAITANYINVOICERESPONSE.enum_types_by_name['WaitanyinvoiceStatus'] +_WAITINVOICERESPONSE_WAITINVOICESTATUS = _WAITINVOICERESPONSE.enum_types_by_name['WaitinvoiceStatus'] +_WAITSENDPAYRESPONSE_WAITSENDPAYSTATUS = _WAITSENDPAYRESPONSE.enum_types_by_name['WaitsendpayStatus'] +_NEWADDRREQUEST_NEWADDRADDRESSTYPE = _NEWADDRREQUEST.enum_types_by_name['NewaddrAddresstype'] +_KEYSENDRESPONSE_KEYSENDSTATUS = _KEYSENDRESPONSE.enum_types_by_name['KeysendStatus'] +_FEERATESREQUEST_FEERATESSTYLE = _FEERATESREQUEST.enum_types_by_name['FeeratesStyle'] +_GETROUTEROUTE_GETROUTEROUTESTYLE = _GETROUTEROUTE.enum_types_by_name['GetrouteRouteStyle'] +_LISTFORWARDSREQUEST_LISTFORWARDSSTATUS = _LISTFORWARDSREQUEST.enum_types_by_name['ListforwardsStatus'] +_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS = _LISTFORWARDSFORWARDS.enum_types_by_name['ListforwardsForwardsStatus'] +_LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE = _LISTFORWARDSFORWARDS.enum_types_by_name['ListforwardsForwardsStyle'] +_LISTPAYSREQUEST_LISTPAYSSTATUS = _LISTPAYSREQUEST.enum_types_by_name['ListpaysStatus'] +_LISTPAYSPAYS_LISTPAYSPAYSSTATUS = _LISTPAYSPAYS.enum_types_by_name['ListpaysPaysStatus'] +GetinfoRequest = _reflection.GeneratedProtocolMessageType('GetinfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETINFOREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.GetinfoRequest) + }) +_sym_db.RegisterMessage(GetinfoRequest) + +GetinfoResponse = _reflection.GeneratedProtocolMessageType('GetinfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETINFORESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.GetinfoResponse) + }) +_sym_db.RegisterMessage(GetinfoResponse) + +GetinfoOur_features = _reflection.GeneratedProtocolMessageType('GetinfoOur_features', (_message.Message,), { + 'DESCRIPTOR' : _GETINFOOUR_FEATURES, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.GetinfoOur_features) + }) +_sym_db.RegisterMessage(GetinfoOur_features) + +GetinfoAddress = _reflection.GeneratedProtocolMessageType('GetinfoAddress', (_message.Message,), { + 'DESCRIPTOR' : _GETINFOADDRESS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.GetinfoAddress) + }) +_sym_db.RegisterMessage(GetinfoAddress) + +GetinfoBinding = _reflection.GeneratedProtocolMessageType('GetinfoBinding', (_message.Message,), { + 'DESCRIPTOR' : _GETINFOBINDING, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.GetinfoBinding) + }) +_sym_db.RegisterMessage(GetinfoBinding) + +ListpeersRequest = _reflection.GeneratedProtocolMessageType('ListpeersRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpeersRequest) + }) +_sym_db.RegisterMessage(ListpeersRequest) + +ListpeersResponse = _reflection.GeneratedProtocolMessageType('ListpeersResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpeersResponse) + }) +_sym_db.RegisterMessage(ListpeersResponse) + +ListpeersPeers = _reflection.GeneratedProtocolMessageType('ListpeersPeers', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSPEERS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpeersPeers) + }) +_sym_db.RegisterMessage(ListpeersPeers) + +ListpeersPeersLog = _reflection.GeneratedProtocolMessageType('ListpeersPeersLog', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSPEERSLOG, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpeersPeersLog) + }) +_sym_db.RegisterMessage(ListpeersPeersLog) + +ListpeersPeersChannels = _reflection.GeneratedProtocolMessageType('ListpeersPeersChannels', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSPEERSCHANNELS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpeersPeersChannels) + }) +_sym_db.RegisterMessage(ListpeersPeersChannels) + +ListpeersPeersChannelsFeerate = _reflection.GeneratedProtocolMessageType('ListpeersPeersChannelsFeerate', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSPEERSCHANNELSFEERATE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpeersPeersChannelsFeerate) + }) +_sym_db.RegisterMessage(ListpeersPeersChannelsFeerate) + +ListpeersPeersChannelsInflight = _reflection.GeneratedProtocolMessageType('ListpeersPeersChannelsInflight', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSPEERSCHANNELSINFLIGHT, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpeersPeersChannelsInflight) + }) +_sym_db.RegisterMessage(ListpeersPeersChannelsInflight) + +ListpeersPeersChannelsFunding = _reflection.GeneratedProtocolMessageType('ListpeersPeersChannelsFunding', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSPEERSCHANNELSFUNDING, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpeersPeersChannelsFunding) + }) +_sym_db.RegisterMessage(ListpeersPeersChannelsFunding) + +ListpeersPeersChannelsHtlcs = _reflection.GeneratedProtocolMessageType('ListpeersPeersChannelsHtlcs', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSPEERSCHANNELSHTLCS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpeersPeersChannelsHtlcs) + }) +_sym_db.RegisterMessage(ListpeersPeersChannelsHtlcs) + +ListfundsRequest = _reflection.GeneratedProtocolMessageType('ListfundsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTFUNDSREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListfundsRequest) + }) +_sym_db.RegisterMessage(ListfundsRequest) + +ListfundsResponse = _reflection.GeneratedProtocolMessageType('ListfundsResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTFUNDSRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListfundsResponse) + }) +_sym_db.RegisterMessage(ListfundsResponse) + +ListfundsOutputs = _reflection.GeneratedProtocolMessageType('ListfundsOutputs', (_message.Message,), { + 'DESCRIPTOR' : _LISTFUNDSOUTPUTS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListfundsOutputs) + }) +_sym_db.RegisterMessage(ListfundsOutputs) + +ListfundsChannels = _reflection.GeneratedProtocolMessageType('ListfundsChannels', (_message.Message,), { + 'DESCRIPTOR' : _LISTFUNDSCHANNELS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListfundsChannels) + }) +_sym_db.RegisterMessage(ListfundsChannels) + +SendpayRequest = _reflection.GeneratedProtocolMessageType('SendpayRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDPAYREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SendpayRequest) + }) +_sym_db.RegisterMessage(SendpayRequest) + +SendpayResponse = _reflection.GeneratedProtocolMessageType('SendpayResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDPAYRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SendpayResponse) + }) +_sym_db.RegisterMessage(SendpayResponse) + +SendpayRoute = _reflection.GeneratedProtocolMessageType('SendpayRoute', (_message.Message,), { + 'DESCRIPTOR' : _SENDPAYROUTE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SendpayRoute) + }) +_sym_db.RegisterMessage(SendpayRoute) + +ListchannelsRequest = _reflection.GeneratedProtocolMessageType('ListchannelsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTCHANNELSREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListchannelsRequest) + }) +_sym_db.RegisterMessage(ListchannelsRequest) + +ListchannelsResponse = _reflection.GeneratedProtocolMessageType('ListchannelsResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTCHANNELSRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListchannelsResponse) + }) +_sym_db.RegisterMessage(ListchannelsResponse) + +ListchannelsChannels = _reflection.GeneratedProtocolMessageType('ListchannelsChannels', (_message.Message,), { + 'DESCRIPTOR' : _LISTCHANNELSCHANNELS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListchannelsChannels) + }) +_sym_db.RegisterMessage(ListchannelsChannels) + +AddgossipRequest = _reflection.GeneratedProtocolMessageType('AddgossipRequest', (_message.Message,), { + 'DESCRIPTOR' : _ADDGOSSIPREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.AddgossipRequest) + }) +_sym_db.RegisterMessage(AddgossipRequest) + +AddgossipResponse = _reflection.GeneratedProtocolMessageType('AddgossipResponse', (_message.Message,), { + 'DESCRIPTOR' : _ADDGOSSIPRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.AddgossipResponse) + }) +_sym_db.RegisterMessage(AddgossipResponse) + +AutocleaninvoiceRequest = _reflection.GeneratedProtocolMessageType('AutocleaninvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _AUTOCLEANINVOICEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.AutocleaninvoiceRequest) + }) +_sym_db.RegisterMessage(AutocleaninvoiceRequest) + +AutocleaninvoiceResponse = _reflection.GeneratedProtocolMessageType('AutocleaninvoiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _AUTOCLEANINVOICERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.AutocleaninvoiceResponse) + }) +_sym_db.RegisterMessage(AutocleaninvoiceResponse) + +CheckmessageRequest = _reflection.GeneratedProtocolMessageType('CheckmessageRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHECKMESSAGEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.CheckmessageRequest) + }) +_sym_db.RegisterMessage(CheckmessageRequest) + +CheckmessageResponse = _reflection.GeneratedProtocolMessageType('CheckmessageResponse', (_message.Message,), { + 'DESCRIPTOR' : _CHECKMESSAGERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.CheckmessageResponse) + }) +_sym_db.RegisterMessage(CheckmessageResponse) + +CloseRequest = _reflection.GeneratedProtocolMessageType('CloseRequest', (_message.Message,), { + 'DESCRIPTOR' : _CLOSEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.CloseRequest) + }) +_sym_db.RegisterMessage(CloseRequest) + +CloseResponse = _reflection.GeneratedProtocolMessageType('CloseResponse', (_message.Message,), { + 'DESCRIPTOR' : _CLOSERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.CloseResponse) + }) +_sym_db.RegisterMessage(CloseResponse) + +ConnectRequest = _reflection.GeneratedProtocolMessageType('ConnectRequest', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ConnectRequest) + }) +_sym_db.RegisterMessage(ConnectRequest) + +ConnectResponse = _reflection.GeneratedProtocolMessageType('ConnectResponse', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ConnectResponse) + }) +_sym_db.RegisterMessage(ConnectResponse) + +ConnectAddress = _reflection.GeneratedProtocolMessageType('ConnectAddress', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTADDRESS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ConnectAddress) + }) +_sym_db.RegisterMessage(ConnectAddress) + +CreateinvoiceRequest = _reflection.GeneratedProtocolMessageType('CreateinvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _CREATEINVOICEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.CreateinvoiceRequest) + }) +_sym_db.RegisterMessage(CreateinvoiceRequest) + +CreateinvoiceResponse = _reflection.GeneratedProtocolMessageType('CreateinvoiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _CREATEINVOICERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.CreateinvoiceResponse) + }) +_sym_db.RegisterMessage(CreateinvoiceResponse) + +DatastoreRequest = _reflection.GeneratedProtocolMessageType('DatastoreRequest', (_message.Message,), { + 'DESCRIPTOR' : _DATASTOREREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DatastoreRequest) + }) +_sym_db.RegisterMessage(DatastoreRequest) + +DatastoreResponse = _reflection.GeneratedProtocolMessageType('DatastoreResponse', (_message.Message,), { + 'DESCRIPTOR' : _DATASTORERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DatastoreResponse) + }) +_sym_db.RegisterMessage(DatastoreResponse) + +CreateonionRequest = _reflection.GeneratedProtocolMessageType('CreateonionRequest', (_message.Message,), { + 'DESCRIPTOR' : _CREATEONIONREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.CreateonionRequest) + }) +_sym_db.RegisterMessage(CreateonionRequest) + +CreateonionResponse = _reflection.GeneratedProtocolMessageType('CreateonionResponse', (_message.Message,), { + 'DESCRIPTOR' : _CREATEONIONRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.CreateonionResponse) + }) +_sym_db.RegisterMessage(CreateonionResponse) + +CreateonionHops = _reflection.GeneratedProtocolMessageType('CreateonionHops', (_message.Message,), { + 'DESCRIPTOR' : _CREATEONIONHOPS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.CreateonionHops) + }) +_sym_db.RegisterMessage(CreateonionHops) + +DeldatastoreRequest = _reflection.GeneratedProtocolMessageType('DeldatastoreRequest', (_message.Message,), { + 'DESCRIPTOR' : _DELDATASTOREREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DeldatastoreRequest) + }) +_sym_db.RegisterMessage(DeldatastoreRequest) + +DeldatastoreResponse = _reflection.GeneratedProtocolMessageType('DeldatastoreResponse', (_message.Message,), { + 'DESCRIPTOR' : _DELDATASTORERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DeldatastoreResponse) + }) +_sym_db.RegisterMessage(DeldatastoreResponse) + +DelexpiredinvoiceRequest = _reflection.GeneratedProtocolMessageType('DelexpiredinvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _DELEXPIREDINVOICEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DelexpiredinvoiceRequest) + }) +_sym_db.RegisterMessage(DelexpiredinvoiceRequest) + +DelexpiredinvoiceResponse = _reflection.GeneratedProtocolMessageType('DelexpiredinvoiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _DELEXPIREDINVOICERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DelexpiredinvoiceResponse) + }) +_sym_db.RegisterMessage(DelexpiredinvoiceResponse) + +DelinvoiceRequest = _reflection.GeneratedProtocolMessageType('DelinvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _DELINVOICEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DelinvoiceRequest) + }) +_sym_db.RegisterMessage(DelinvoiceRequest) + +DelinvoiceResponse = _reflection.GeneratedProtocolMessageType('DelinvoiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _DELINVOICERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DelinvoiceResponse) + }) +_sym_db.RegisterMessage(DelinvoiceResponse) + +InvoiceRequest = _reflection.GeneratedProtocolMessageType('InvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _INVOICEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.InvoiceRequest) + }) +_sym_db.RegisterMessage(InvoiceRequest) + +InvoiceResponse = _reflection.GeneratedProtocolMessageType('InvoiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _INVOICERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.InvoiceResponse) + }) +_sym_db.RegisterMessage(InvoiceResponse) + +ListdatastoreRequest = _reflection.GeneratedProtocolMessageType('ListdatastoreRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTDATASTOREREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListdatastoreRequest) + }) +_sym_db.RegisterMessage(ListdatastoreRequest) + +ListdatastoreResponse = _reflection.GeneratedProtocolMessageType('ListdatastoreResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTDATASTORERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListdatastoreResponse) + }) +_sym_db.RegisterMessage(ListdatastoreResponse) + +ListdatastoreDatastore = _reflection.GeneratedProtocolMessageType('ListdatastoreDatastore', (_message.Message,), { + 'DESCRIPTOR' : _LISTDATASTOREDATASTORE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListdatastoreDatastore) + }) +_sym_db.RegisterMessage(ListdatastoreDatastore) + +ListinvoicesRequest = _reflection.GeneratedProtocolMessageType('ListinvoicesRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTINVOICESREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListinvoicesRequest) + }) +_sym_db.RegisterMessage(ListinvoicesRequest) + +ListinvoicesResponse = _reflection.GeneratedProtocolMessageType('ListinvoicesResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTINVOICESRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListinvoicesResponse) + }) +_sym_db.RegisterMessage(ListinvoicesResponse) + +ListinvoicesInvoices = _reflection.GeneratedProtocolMessageType('ListinvoicesInvoices', (_message.Message,), { + 'DESCRIPTOR' : _LISTINVOICESINVOICES, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListinvoicesInvoices) + }) +_sym_db.RegisterMessage(ListinvoicesInvoices) + +SendonionRequest = _reflection.GeneratedProtocolMessageType('SendonionRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDONIONREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SendonionRequest) + }) +_sym_db.RegisterMessage(SendonionRequest) + +SendonionResponse = _reflection.GeneratedProtocolMessageType('SendonionResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDONIONRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SendonionResponse) + }) +_sym_db.RegisterMessage(SendonionResponse) + +SendonionFirst_hop = _reflection.GeneratedProtocolMessageType('SendonionFirst_hop', (_message.Message,), { + 'DESCRIPTOR' : _SENDONIONFIRST_HOP, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SendonionFirst_hop) + }) +_sym_db.RegisterMessage(SendonionFirst_hop) + +ListsendpaysRequest = _reflection.GeneratedProtocolMessageType('ListsendpaysRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTSENDPAYSREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListsendpaysRequest) + }) +_sym_db.RegisterMessage(ListsendpaysRequest) + +ListsendpaysResponse = _reflection.GeneratedProtocolMessageType('ListsendpaysResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTSENDPAYSRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListsendpaysResponse) + }) +_sym_db.RegisterMessage(ListsendpaysResponse) + +ListsendpaysPayments = _reflection.GeneratedProtocolMessageType('ListsendpaysPayments', (_message.Message,), { + 'DESCRIPTOR' : _LISTSENDPAYSPAYMENTS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListsendpaysPayments) + }) +_sym_db.RegisterMessage(ListsendpaysPayments) + +ListtransactionsRequest = _reflection.GeneratedProtocolMessageType('ListtransactionsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTTRANSACTIONSREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListtransactionsRequest) + }) +_sym_db.RegisterMessage(ListtransactionsRequest) + +ListtransactionsResponse = _reflection.GeneratedProtocolMessageType('ListtransactionsResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTTRANSACTIONSRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListtransactionsResponse) + }) +_sym_db.RegisterMessage(ListtransactionsResponse) + +ListtransactionsTransactions = _reflection.GeneratedProtocolMessageType('ListtransactionsTransactions', (_message.Message,), { + 'DESCRIPTOR' : _LISTTRANSACTIONSTRANSACTIONS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListtransactionsTransactions) + }) +_sym_db.RegisterMessage(ListtransactionsTransactions) + +ListtransactionsTransactionsInputs = _reflection.GeneratedProtocolMessageType('ListtransactionsTransactionsInputs', (_message.Message,), { + 'DESCRIPTOR' : _LISTTRANSACTIONSTRANSACTIONSINPUTS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListtransactionsTransactionsInputs) + }) +_sym_db.RegisterMessage(ListtransactionsTransactionsInputs) + +ListtransactionsTransactionsOutputs = _reflection.GeneratedProtocolMessageType('ListtransactionsTransactionsOutputs', (_message.Message,), { + 'DESCRIPTOR' : _LISTTRANSACTIONSTRANSACTIONSOUTPUTS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListtransactionsTransactionsOutputs) + }) +_sym_db.RegisterMessage(ListtransactionsTransactionsOutputs) + +PayRequest = _reflection.GeneratedProtocolMessageType('PayRequest', (_message.Message,), { + 'DESCRIPTOR' : _PAYREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.PayRequest) + }) +_sym_db.RegisterMessage(PayRequest) + +PayResponse = _reflection.GeneratedProtocolMessageType('PayResponse', (_message.Message,), { + 'DESCRIPTOR' : _PAYRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.PayResponse) + }) +_sym_db.RegisterMessage(PayResponse) + +ListnodesRequest = _reflection.GeneratedProtocolMessageType('ListnodesRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTNODESREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListnodesRequest) + }) +_sym_db.RegisterMessage(ListnodesRequest) + +ListnodesResponse = _reflection.GeneratedProtocolMessageType('ListnodesResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTNODESRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListnodesResponse) + }) +_sym_db.RegisterMessage(ListnodesResponse) + +ListnodesNodes = _reflection.GeneratedProtocolMessageType('ListnodesNodes', (_message.Message,), { + 'DESCRIPTOR' : _LISTNODESNODES, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListnodesNodes) + }) +_sym_db.RegisterMessage(ListnodesNodes) + +ListnodesNodesAddresses = _reflection.GeneratedProtocolMessageType('ListnodesNodesAddresses', (_message.Message,), { + 'DESCRIPTOR' : _LISTNODESNODESADDRESSES, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListnodesNodesAddresses) + }) +_sym_db.RegisterMessage(ListnodesNodesAddresses) + +WaitanyinvoiceRequest = _reflection.GeneratedProtocolMessageType('WaitanyinvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _WAITANYINVOICEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.WaitanyinvoiceRequest) + }) +_sym_db.RegisterMessage(WaitanyinvoiceRequest) + +WaitanyinvoiceResponse = _reflection.GeneratedProtocolMessageType('WaitanyinvoiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _WAITANYINVOICERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.WaitanyinvoiceResponse) + }) +_sym_db.RegisterMessage(WaitanyinvoiceResponse) + +WaitinvoiceRequest = _reflection.GeneratedProtocolMessageType('WaitinvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _WAITINVOICEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.WaitinvoiceRequest) + }) +_sym_db.RegisterMessage(WaitinvoiceRequest) + +WaitinvoiceResponse = _reflection.GeneratedProtocolMessageType('WaitinvoiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _WAITINVOICERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.WaitinvoiceResponse) + }) +_sym_db.RegisterMessage(WaitinvoiceResponse) + +WaitsendpayRequest = _reflection.GeneratedProtocolMessageType('WaitsendpayRequest', (_message.Message,), { + 'DESCRIPTOR' : _WAITSENDPAYREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.WaitsendpayRequest) + }) +_sym_db.RegisterMessage(WaitsendpayRequest) + +WaitsendpayResponse = _reflection.GeneratedProtocolMessageType('WaitsendpayResponse', (_message.Message,), { + 'DESCRIPTOR' : _WAITSENDPAYRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.WaitsendpayResponse) + }) +_sym_db.RegisterMessage(WaitsendpayResponse) + +NewaddrRequest = _reflection.GeneratedProtocolMessageType('NewaddrRequest', (_message.Message,), { + 'DESCRIPTOR' : _NEWADDRREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.NewaddrRequest) + }) +_sym_db.RegisterMessage(NewaddrRequest) + +NewaddrResponse = _reflection.GeneratedProtocolMessageType('NewaddrResponse', (_message.Message,), { + 'DESCRIPTOR' : _NEWADDRRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.NewaddrResponse) + }) +_sym_db.RegisterMessage(NewaddrResponse) + +WithdrawRequest = _reflection.GeneratedProtocolMessageType('WithdrawRequest', (_message.Message,), { + 'DESCRIPTOR' : _WITHDRAWREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.WithdrawRequest) + }) +_sym_db.RegisterMessage(WithdrawRequest) + +WithdrawResponse = _reflection.GeneratedProtocolMessageType('WithdrawResponse', (_message.Message,), { + 'DESCRIPTOR' : _WITHDRAWRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.WithdrawResponse) + }) +_sym_db.RegisterMessage(WithdrawResponse) + +KeysendRequest = _reflection.GeneratedProtocolMessageType('KeysendRequest', (_message.Message,), { + 'DESCRIPTOR' : _KEYSENDREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.KeysendRequest) + }) +_sym_db.RegisterMessage(KeysendRequest) + +KeysendResponse = _reflection.GeneratedProtocolMessageType('KeysendResponse', (_message.Message,), { + 'DESCRIPTOR' : _KEYSENDRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.KeysendResponse) + }) +_sym_db.RegisterMessage(KeysendResponse) + +KeysendExtratlvs = _reflection.GeneratedProtocolMessageType('KeysendExtratlvs', (_message.Message,), { + 'DESCRIPTOR' : _KEYSENDEXTRATLVS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.KeysendExtratlvs) + }) +_sym_db.RegisterMessage(KeysendExtratlvs) + +FundpsbtRequest = _reflection.GeneratedProtocolMessageType('FundpsbtRequest', (_message.Message,), { + 'DESCRIPTOR' : _FUNDPSBTREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.FundpsbtRequest) + }) +_sym_db.RegisterMessage(FundpsbtRequest) + +FundpsbtResponse = _reflection.GeneratedProtocolMessageType('FundpsbtResponse', (_message.Message,), { + 'DESCRIPTOR' : _FUNDPSBTRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.FundpsbtResponse) + }) +_sym_db.RegisterMessage(FundpsbtResponse) + +FundpsbtReservations = _reflection.GeneratedProtocolMessageType('FundpsbtReservations', (_message.Message,), { + 'DESCRIPTOR' : _FUNDPSBTRESERVATIONS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.FundpsbtReservations) + }) +_sym_db.RegisterMessage(FundpsbtReservations) + +SendpsbtRequest = _reflection.GeneratedProtocolMessageType('SendpsbtRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDPSBTREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SendpsbtRequest) + }) +_sym_db.RegisterMessage(SendpsbtRequest) + +SendpsbtResponse = _reflection.GeneratedProtocolMessageType('SendpsbtResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDPSBTRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SendpsbtResponse) + }) +_sym_db.RegisterMessage(SendpsbtResponse) + +SignpsbtRequest = _reflection.GeneratedProtocolMessageType('SignpsbtRequest', (_message.Message,), { + 'DESCRIPTOR' : _SIGNPSBTREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SignpsbtRequest) + }) +_sym_db.RegisterMessage(SignpsbtRequest) + +SignpsbtResponse = _reflection.GeneratedProtocolMessageType('SignpsbtResponse', (_message.Message,), { + 'DESCRIPTOR' : _SIGNPSBTRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SignpsbtResponse) + }) +_sym_db.RegisterMessage(SignpsbtResponse) + +UtxopsbtRequest = _reflection.GeneratedProtocolMessageType('UtxopsbtRequest', (_message.Message,), { + 'DESCRIPTOR' : _UTXOPSBTREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.UtxopsbtRequest) + }) +_sym_db.RegisterMessage(UtxopsbtRequest) + +UtxopsbtResponse = _reflection.GeneratedProtocolMessageType('UtxopsbtResponse', (_message.Message,), { + 'DESCRIPTOR' : _UTXOPSBTRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.UtxopsbtResponse) + }) +_sym_db.RegisterMessage(UtxopsbtResponse) + +UtxopsbtReservations = _reflection.GeneratedProtocolMessageType('UtxopsbtReservations', (_message.Message,), { + 'DESCRIPTOR' : _UTXOPSBTRESERVATIONS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.UtxopsbtReservations) + }) +_sym_db.RegisterMessage(UtxopsbtReservations) + +TxdiscardRequest = _reflection.GeneratedProtocolMessageType('TxdiscardRequest', (_message.Message,), { + 'DESCRIPTOR' : _TXDISCARDREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.TxdiscardRequest) + }) +_sym_db.RegisterMessage(TxdiscardRequest) + +TxdiscardResponse = _reflection.GeneratedProtocolMessageType('TxdiscardResponse', (_message.Message,), { + 'DESCRIPTOR' : _TXDISCARDRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.TxdiscardResponse) + }) +_sym_db.RegisterMessage(TxdiscardResponse) + +TxprepareRequest = _reflection.GeneratedProtocolMessageType('TxprepareRequest', (_message.Message,), { + 'DESCRIPTOR' : _TXPREPAREREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.TxprepareRequest) + }) +_sym_db.RegisterMessage(TxprepareRequest) + +TxprepareResponse = _reflection.GeneratedProtocolMessageType('TxprepareResponse', (_message.Message,), { + 'DESCRIPTOR' : _TXPREPARERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.TxprepareResponse) + }) +_sym_db.RegisterMessage(TxprepareResponse) + +TxsendRequest = _reflection.GeneratedProtocolMessageType('TxsendRequest', (_message.Message,), { + 'DESCRIPTOR' : _TXSENDREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.TxsendRequest) + }) +_sym_db.RegisterMessage(TxsendRequest) + +TxsendResponse = _reflection.GeneratedProtocolMessageType('TxsendResponse', (_message.Message,), { + 'DESCRIPTOR' : _TXSENDRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.TxsendResponse) + }) +_sym_db.RegisterMessage(TxsendResponse) + +DisconnectRequest = _reflection.GeneratedProtocolMessageType('DisconnectRequest', (_message.Message,), { + 'DESCRIPTOR' : _DISCONNECTREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DisconnectRequest) + }) +_sym_db.RegisterMessage(DisconnectRequest) + +DisconnectResponse = _reflection.GeneratedProtocolMessageType('DisconnectResponse', (_message.Message,), { + 'DESCRIPTOR' : _DISCONNECTRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.DisconnectResponse) + }) +_sym_db.RegisterMessage(DisconnectResponse) + +FeeratesRequest = _reflection.GeneratedProtocolMessageType('FeeratesRequest', (_message.Message,), { + 'DESCRIPTOR' : _FEERATESREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.FeeratesRequest) + }) +_sym_db.RegisterMessage(FeeratesRequest) + +FeeratesResponse = _reflection.GeneratedProtocolMessageType('FeeratesResponse', (_message.Message,), { + 'DESCRIPTOR' : _FEERATESRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.FeeratesResponse) + }) +_sym_db.RegisterMessage(FeeratesResponse) + +FeeratesPerkb = _reflection.GeneratedProtocolMessageType('FeeratesPerkb', (_message.Message,), { + 'DESCRIPTOR' : _FEERATESPERKB, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.FeeratesPerkb) + }) +_sym_db.RegisterMessage(FeeratesPerkb) + +FeeratesPerkw = _reflection.GeneratedProtocolMessageType('FeeratesPerkw', (_message.Message,), { + 'DESCRIPTOR' : _FEERATESPERKW, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.FeeratesPerkw) + }) +_sym_db.RegisterMessage(FeeratesPerkw) + +FeeratesOnchain_fee_estimates = _reflection.GeneratedProtocolMessageType('FeeratesOnchain_fee_estimates', (_message.Message,), { + 'DESCRIPTOR' : _FEERATESONCHAIN_FEE_ESTIMATES, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.FeeratesOnchain_fee_estimates) + }) +_sym_db.RegisterMessage(FeeratesOnchain_fee_estimates) + +GetrouteRequest = _reflection.GeneratedProtocolMessageType('GetrouteRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETROUTEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.GetrouteRequest) + }) +_sym_db.RegisterMessage(GetrouteRequest) + +GetrouteResponse = _reflection.GeneratedProtocolMessageType('GetrouteResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETROUTERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.GetrouteResponse) + }) +_sym_db.RegisterMessage(GetrouteResponse) + +GetrouteRoute = _reflection.GeneratedProtocolMessageType('GetrouteRoute', (_message.Message,), { + 'DESCRIPTOR' : _GETROUTEROUTE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.GetrouteRoute) + }) +_sym_db.RegisterMessage(GetrouteRoute) + +ListforwardsRequest = _reflection.GeneratedProtocolMessageType('ListforwardsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTFORWARDSREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListforwardsRequest) + }) +_sym_db.RegisterMessage(ListforwardsRequest) + +ListforwardsResponse = _reflection.GeneratedProtocolMessageType('ListforwardsResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTFORWARDSRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListforwardsResponse) + }) +_sym_db.RegisterMessage(ListforwardsResponse) + +ListforwardsForwards = _reflection.GeneratedProtocolMessageType('ListforwardsForwards', (_message.Message,), { + 'DESCRIPTOR' : _LISTFORWARDSFORWARDS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListforwardsForwards) + }) +_sym_db.RegisterMessage(ListforwardsForwards) + +ListpaysRequest = _reflection.GeneratedProtocolMessageType('ListpaysRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTPAYSREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpaysRequest) + }) +_sym_db.RegisterMessage(ListpaysRequest) + +ListpaysResponse = _reflection.GeneratedProtocolMessageType('ListpaysResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTPAYSRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpaysResponse) + }) +_sym_db.RegisterMessage(ListpaysResponse) + +ListpaysPays = _reflection.GeneratedProtocolMessageType('ListpaysPays', (_message.Message,), { + 'DESCRIPTOR' : _LISTPAYSPAYS, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.ListpaysPays) + }) +_sym_db.RegisterMessage(ListpaysPays) + +PingRequest = _reflection.GeneratedProtocolMessageType('PingRequest', (_message.Message,), { + 'DESCRIPTOR' : _PINGREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.PingRequest) + }) +_sym_db.RegisterMessage(PingRequest) + +PingResponse = _reflection.GeneratedProtocolMessageType('PingResponse', (_message.Message,), { + 'DESCRIPTOR' : _PINGRESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.PingResponse) + }) +_sym_db.RegisterMessage(PingResponse) + +SignmessageRequest = _reflection.GeneratedProtocolMessageType('SignmessageRequest', (_message.Message,), { + 'DESCRIPTOR' : _SIGNMESSAGEREQUEST, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SignmessageRequest) + }) +_sym_db.RegisterMessage(SignmessageRequest) + +SignmessageResponse = _reflection.GeneratedProtocolMessageType('SignmessageResponse', (_message.Message,), { + 'DESCRIPTOR' : _SIGNMESSAGERESPONSE, + '__module__' : 'node_pb2' + # @@protoc_insertion_point(class_scope:cln.SignmessageResponse) + }) +_sym_db.RegisterMessage(SignmessageResponse) + +_NODE = DESCRIPTOR.services_by_name['Node'] +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _GETINFOREQUEST._serialized_start=37 + _GETINFOREQUEST._serialized_end=53 + _GETINFORESPONSE._serialized_start=56 + _GETINFORESPONSE._serialized_end=548 + _GETINFOOUR_FEATURES._serialized_start=550 + _GETINFOOUR_FEATURES._serialized_end=633 + _GETINFOADDRESS._serialized_start=636 + _GETINFOADDRESS._serialized_end=847 + _GETINFOADDRESS_GETINFOADDRESSTYPE._serialized_start=749 + _GETINFOADDRESS_GETINFOADDRESSTYPE._serialized_end=835 + _GETINFOBINDING._serialized_start=850 + _GETINFOBINDING._serialized_end=1101 + _GETINFOBINDING_GETINFOBINDINGTYPE._serialized_start=989 + _GETINFOBINDING_GETINFOBINDINGTYPE._serialized_end=1069 + _LISTPEERSREQUEST._serialized_start=1103 + _LISTPEERSREQUEST._serialized_end=1175 + _LISTPEERSRESPONSE._serialized_start=1177 + _LISTPEERSRESPONSE._serialized_end=1232 + _LISTPEERSPEERS._serialized_start=1235 + _LISTPEERSPEERS._serialized_end=1461 + _LISTPEERSPEERSLOG._serialized_start=1464 + _LISTPEERSPEERSLOG._serialized_end=1845 + _LISTPEERSPEERSLOG_LISTPEERSPEERSLOGTYPE._serialized_start=1675 + _LISTPEERSPEERSLOG_LISTPEERSPEERSLOGTYPE._serialized_end=1780 + _LISTPEERSPEERSCHANNELS._serialized_start=1848 + _LISTPEERSPEERSCHANNELS._serialized_end=4674 + _LISTPEERSPEERSCHANNELS_LISTPEERSPEERSCHANNELSSTATE._serialized_start=3578 + _LISTPEERSPEERSCHANNELS_LISTPEERSPEERSCHANNELSSTATE._serialized_end=3867 + _LISTPEERSPEERSCHANNELSFEERATE._serialized_start=4676 + _LISTPEERSPEERSCHANNELSFEERATE._serialized_end=4737 + _LISTPEERSPEERSCHANNELSINFLIGHT._serialized_start=4740 + _LISTPEERSPEERSCHANNELSINFLIGHT._serialized_end=4937 + _LISTPEERSPEERSCHANNELSFUNDING._serialized_start=4940 + _LISTPEERSPEERSCHANNELSFUNDING._serialized_end=5072 + _LISTPEERSPEERSCHANNELSHTLCS._serialized_start=5075 + _LISTPEERSPEERSCHANNELSHTLCS._serialized_end=5413 + _LISTPEERSPEERSCHANNELSHTLCS_LISTPEERSPEERSCHANNELSHTLCSDIRECTION._serialized_start=5329 + _LISTPEERSPEERSCHANNELSHTLCS_LISTPEERSPEERSCHANNELSHTLCSDIRECTION._serialized_end=5384 + _LISTFUNDSREQUEST._serialized_start=5415 + _LISTFUNDSREQUEST._serialized_end=5463 + _LISTFUNDSRESPONSE._serialized_start=5465 + _LISTFUNDSRESPONSE._serialized_end=5566 + _LISTFUNDSOUTPUTS._serialized_start=5569 + _LISTFUNDSOUTPUTS._serialized_end=5942 + _LISTFUNDSOUTPUTS_LISTFUNDSOUTPUTSSTATUS._serialized_start=5830 + _LISTFUNDSOUTPUTS_LISTFUNDSOUTPUTSSTATUS._serialized_end=5897 + _LISTFUNDSCHANNELS._serialized_start=5945 + _LISTFUNDSCHANNELS._serialized_end=6204 + _SENDPAYREQUEST._serialized_start=6207 + _SENDPAYREQUEST._serialized_end=6554 + _SENDPAYRESPONSE._serialized_start=6557 + _SENDPAYRESPONSE._serialized_end=7106 + _SENDPAYRESPONSE_SENDPAYSTATUS._serialized_start=6944 + _SENDPAYRESPONSE_SENDPAYSTATUS._serialized_end=6986 + _SENDPAYROUTE._serialized_start=7108 + _SENDPAYROUTE._serialized_end=7200 + _LISTCHANNELSREQUEST._serialized_start=7203 + _LISTCHANNELSREQUEST._serialized_end=7350 + _LISTCHANNELSRESPONSE._serialized_start=7352 + _LISTCHANNELSRESPONSE._serialized_end=7419 + _LISTCHANNELSCHANNELS._serialized_start=7422 + _LISTCHANNELSCHANNELS._serialized_end=7838 + _ADDGOSSIPREQUEST._serialized_start=7840 + _ADDGOSSIPREQUEST._serialized_end=7875 + _ADDGOSSIPRESPONSE._serialized_start=7877 + _ADDGOSSIPRESPONSE._serialized_end=7896 + _AUTOCLEANINVOICEREQUEST._serialized_start=7898 + _AUTOCLEANINVOICEREQUEST._serialized_end=8009 + _AUTOCLEANINVOICERESPONSE._serialized_start=8012 + _AUTOCLEANINVOICERESPONSE._serialized_end=8141 + _CHECKMESSAGEREQUEST._serialized_start=8143 + _CHECKMESSAGEREQUEST._serialized_end=8228 + _CHECKMESSAGERESPONSE._serialized_start=8230 + _CHECKMESSAGERESPONSE._serialized_end=8302 + _CLOSEREQUEST._serialized_start=8305 + _CLOSEREQUEST._serialized_end=8621 + _CLOSERESPONSE._serialized_start=8624 + _CLOSERESPONSE._serialized_end=8795 + _CLOSERESPONSE_CLOSETYPE._serialized_start=8726 + _CLOSERESPONSE_CLOSETYPE._serialized_end=8779 + _CONNECTREQUEST._serialized_start=8797 + _CONNECTREQUEST._serialized_end=8881 + _CONNECTRESPONSE._serialized_start=8884 + _CONNECTRESPONSE._serialized_end=9026 + _CONNECTRESPONSE_CONNECTDIRECTION._serialized_start=8991 + _CONNECTRESPONSE_CONNECTDIRECTION._serialized_end=9026 + _CONNECTADDRESS._serialized_start=9029 + _CONNECTADDRESS._serialized_end=9280 + _CONNECTADDRESS_CONNECTADDRESSTYPE._serialized_start=9168 + _CONNECTADDRESS_CONNECTADDRESSTYPE._serialized_end=9248 + _CREATEINVOICEREQUEST._serialized_start=9282 + _CREATEINVOICEREQUEST._serialized_end=9356 + _CREATEINVOICERESPONSE._serialized_start=9359 + _CREATEINVOICERESPONSE._serialized_end=9986 + _CREATEINVOICERESPONSE_CREATEINVOICESTATUS._serialized_start=9786 + _CREATEINVOICERESPONSE_CREATEINVOICESTATUS._serialized_end=9842 + _DATASTOREREQUEST._serialized_start=9989 + _DATASTOREREQUEST._serialized_end=10297 + _DATASTOREREQUEST_DATASTOREMODE._serialized_start=10142 + _DATASTOREREQUEST_DATASTOREMODE._serialized_end=10254 + _DATASTORERESPONSE._serialized_start=10300 + _DATASTORERESPONSE._serialized_end=10430 + _CREATEONIONREQUEST._serialized_start=10433 + _CREATEONIONREQUEST._serialized_end=10590 + _CREATEONIONRESPONSE._serialized_start=10592 + _CREATEONIONRESPONSE._serialized_end=10652 + _CREATEONIONHOPS._serialized_start=10654 + _CREATEONIONHOPS._serialized_end=10704 + _DELDATASTOREREQUEST._serialized_start=10706 + _DELDATASTOREREQUEST._serialized_end=10780 + _DELDATASTORERESPONSE._serialized_start=10783 + _DELDATASTORERESPONSE._serialized_end=10916 + _DELEXPIREDINVOICEREQUEST._serialized_start=10918 + _DELEXPIREDINVOICEREQUEST._serialized_end=10990 + _DELEXPIREDINVOICERESPONSE._serialized_start=10992 + _DELEXPIREDINVOICERESPONSE._serialized_end=11019 + _DELINVOICEREQUEST._serialized_start=11022 + _DELINVOICEREQUEST._serialized_end=11204 + _DELINVOICEREQUEST_DELINVOICESTATUS._serialized_start=11138 + _DELINVOICEREQUEST_DELINVOICESTATUS._serialized_end=11191 + _DELINVOICERESPONSE._serialized_start=11207 + _DELINVOICERESPONSE._serialized_end=11646 + _DELINVOICERESPONSE_DELINVOICESTATUS._serialized_start=11138 + _DELINVOICERESPONSE_DELINVOICESTATUS._serialized_end=11191 + _INVOICEREQUEST._serialized_start=11649 + _INVOICEREQUEST._serialized_end=11961 + _INVOICERESPONSE._serialized_start=11964 + _INVOICERESPONSE._serialized_end=12323 + _LISTDATASTOREREQUEST._serialized_start=12325 + _LISTDATASTOREREQUEST._serialized_end=12360 + _LISTDATASTORERESPONSE._serialized_start=12362 + _LISTDATASTORERESPONSE._serialized_end=12433 + _LISTDATASTOREDATASTORE._serialized_start=12436 + _LISTDATASTOREDATASTORE._serialized_end=12571 + _LISTINVOICESREQUEST._serialized_start=12574 + _LISTINVOICESREQUEST._serialized_end=12743 + _LISTINVOICESRESPONSE._serialized_start=12745 + _LISTINVOICESRESPONSE._serialized_end=12812 + _LISTINVOICESINVOICES._serialized_start=12815 + _LISTINVOICESINVOICES._serialized_end=13475 + _LISTINVOICESINVOICES_LISTINVOICESINVOICESSTATUS._serialized_start=13252 + _LISTINVOICESINVOICES_LISTINVOICESINVOICESSTATUS._serialized_end=13315 + _SENDONIONREQUEST._serialized_start=13478 + _SENDONIONREQUEST._serialized_end=13826 + _SENDONIONRESPONSE._serialized_start=13829 + _SENDONIONRESPONSE._serialized_end=14352 + _SENDONIONRESPONSE_SENDONIONSTATUS._serialized_start=14200 + _SENDONIONRESPONSE_SENDONIONSTATUS._serialized_end=14244 + _SENDONIONFIRST_HOP._serialized_start=14354 + _SENDONIONFIRST_HOP._serialized_end=14435 + _LISTSENDPAYSREQUEST._serialized_start=14438 + _LISTSENDPAYSREQUEST._serialized_end=14673 + _LISTSENDPAYSREQUEST_LISTSENDPAYSSTATUS._serialized_start=14575 + _LISTSENDPAYSREQUEST_LISTSENDPAYSSTATUS._serialized_end=14634 + _LISTSENDPAYSRESPONSE._serialized_start=14675 + _LISTSENDPAYSRESPONSE._serialized_end=14742 + _LISTSENDPAYSPAYMENTS._serialized_start=14745 + _LISTSENDPAYSPAYMENTS._serialized_end=15358 + _LISTSENDPAYSPAYMENTS_LISTSENDPAYSPAYMENTSSTATUS._serialized_start=15163 + _LISTSENDPAYSPAYMENTS_LISTSENDPAYSPAYMENTSSTATUS._serialized_end=15230 + _LISTTRANSACTIONSREQUEST._serialized_start=15360 + _LISTTRANSACTIONSREQUEST._serialized_end=15385 + _LISTTRANSACTIONSRESPONSE._serialized_start=15387 + _LISTTRANSACTIONSRESPONSE._serialized_end=15470 + _LISTTRANSACTIONSTRANSACTIONS._serialized_start=15473 + _LISTTRANSACTIONSTRANSACTIONS._serialized_end=15755 + _LISTTRANSACTIONSTRANSACTIONSINPUTS._serialized_start=15758 + _LISTTRANSACTIONSTRANSACTIONSINPUTS._serialized_end=16274 + _LISTTRANSACTIONSTRANSACTIONSINPUTS_LISTTRANSACTIONSTRANSACTIONSINPUTSTYPE._serialized_start=15970 + _LISTTRANSACTIONSTRANSACTIONSINPUTS_LISTTRANSACTIONSTRANSACTIONSINPUTSTYPE._serialized_end=16248 + _LISTTRANSACTIONSTRANSACTIONSOUTPUTS._serialized_start=16277 + _LISTTRANSACTIONSTRANSACTIONSOUTPUTS._serialized_end=16821 + _LISTTRANSACTIONSTRANSACTIONSOUTPUTS_LISTTRANSACTIONSTRANSACTIONSOUTPUTSTYPE._serialized_start=16516 + _LISTTRANSACTIONSTRANSACTIONSOUTPUTS_LISTTRANSACTIONSTRANSACTIONSOUTPUTSTYPE._serialized_end=16795 + _PAYREQUEST._serialized_start=16824 + _PAYREQUEST._serialized_end=17296 + _PAYRESPONSE._serialized_start=17299 + _PAYRESPONSE._serialized_end=17678 + _PAYRESPONSE_PAYSTATUS._serialized_start=17581 + _PAYRESPONSE_PAYSTATUS._serialized_end=17631 + _LISTNODESREQUEST._serialized_start=17680 + _LISTNODESREQUEST._serialized_end=17722 + _LISTNODESRESPONSE._serialized_start=17724 + _LISTNODESRESPONSE._serialized_end=17779 + _LISTNODESNODES._serialized_start=17782 + _LISTNODESNODES._serialized_end=18007 + _LISTNODESNODESADDRESSES._serialized_start=18010 + _LISTNODESNODESADDRESSES._serialized_end=18257 + _LISTNODESNODESADDRESSES_LISTNODESNODESADDRESSESTYPE._serialized_start=18150 + _LISTNODESNODESADDRESSES_LISTNODESNODESADDRESSESTYPE._serialized_end=18245 + _WAITANYINVOICEREQUEST._serialized_start=18259 + _WAITANYINVOICEREQUEST._serialized_end=18362 + _WAITANYINVOICERESPONSE._serialized_start=18365 + _WAITANYINVOICERESPONSE._serialized_end=18896 + _WAITANYINVOICERESPONSE_WAITANYINVOICESTATUS._serialized_start=18741 + _WAITANYINVOICERESPONSE_WAITANYINVOICESTATUS._serialized_end=18786 + _WAITINVOICEREQUEST._serialized_start=18898 + _WAITINVOICEREQUEST._serialized_end=18933 + _WAITINVOICERESPONSE._serialized_start=18936 + _WAITINVOICERESPONSE._serialized_end=19455 + _WAITINVOICERESPONSE_WAITINVOICESTATUS._serialized_start=19303 + _WAITINVOICERESPONSE_WAITINVOICESTATUS._serialized_end=19345 + _WAITSENDPAYREQUEST._serialized_start=19458 + _WAITSENDPAYREQUEST._serialized_end=19600 + _WAITSENDPAYRESPONSE._serialized_start=19603 + _WAITSENDPAYRESPONSE._serialized_end=20121 + _WAITSENDPAYRESPONSE_WAITSENDPAYSTATUS._serialized_start=19980 + _WAITSENDPAYRESPONSE_WAITSENDPAYSTATUS._serialized_end=20013 + _NEWADDRREQUEST._serialized_start=20124 + _NEWADDRREQUEST._serialized_end=20282 + _NEWADDRREQUEST_NEWADDRADDRESSTYPE._serialized_start=20208 + _NEWADDRREQUEST_NEWADDRADDRESSTYPE._serialized_end=20266 + _NEWADDRRESPONSE._serialized_start=20284 + _NEWADDRRESPONSE._serialized_end=20375 + _WITHDRAWREQUEST._serialized_start=20378 + _WITHDRAWREQUEST._serialized_end=20580 + _WITHDRAWRESPONSE._serialized_start=20582 + _WITHDRAWRESPONSE._serialized_end=20640 + _KEYSENDREQUEST._serialized_start=20643 + _KEYSENDREQUEST._serialized_end=20975 + _KEYSENDRESPONSE._serialized_start=20978 + _KEYSENDRESPONSE._serialized_end=21348 + _KEYSENDRESPONSE_KEYSENDSTATUS._serialized_start=21272 + _KEYSENDRESPONSE_KEYSENDSTATUS._serialized_end=21301 + _KEYSENDEXTRATLVS._serialized_start=21350 + _KEYSENDEXTRATLVS._serialized_end=21368 + _FUNDPSBTREQUEST._serialized_start=21371 + _FUNDPSBTREQUEST._serialized_end=21682 + _FUNDPSBTRESPONSE._serialized_start=21685 + _FUNDPSBTRESPONSE._serialized_end=21902 + _FUNDPSBTRESERVATIONS._serialized_start=21904 + _FUNDPSBTRESERVATIONS._serialized_end=22021 + _SENDPSBTREQUEST._serialized_start=22023 + _SENDPSBTREQUEST._serialized_end=22088 + _SENDPSBTRESPONSE._serialized_start=22090 + _SENDPSBTRESPONSE._serialized_end=22134 + _SIGNPSBTREQUEST._serialized_start=22136 + _SIGNPSBTREQUEST._serialized_end=22185 + _SIGNPSBTRESPONSE._serialized_start=22187 + _SIGNPSBTRESPONSE._serialized_end=22226 + _UTXOPSBTREQUEST._serialized_start=22229 + _UTXOPSBTREQUEST._serialized_end=22576 + _UTXOPSBTRESPONSE._serialized_start=22579 + _UTXOPSBTRESPONSE._serialized_end=22796 + _UTXOPSBTRESERVATIONS._serialized_start=22798 + _UTXOPSBTRESERVATIONS._serialized_end=22915 + _TXDISCARDREQUEST._serialized_start=22917 + _TXDISCARDREQUEST._serialized_end=22949 + _TXDISCARDRESPONSE._serialized_start=22951 + _TXDISCARDRESPONSE._serialized_end=23005 + _TXPREPAREREQUEST._serialized_start=23008 + _TXPREPAREREQUEST._serialized_end=23172 + _TXPREPARERESPONSE._serialized_start=23174 + _TXPREPARERESPONSE._serialized_end=23242 + _TXSENDREQUEST._serialized_start=23244 + _TXSENDREQUEST._serialized_end=23273 + _TXSENDRESPONSE._serialized_start=23275 + _TXSENDRESPONSE._serialized_end=23331 + _DISCONNECTREQUEST._serialized_start=23333 + _DISCONNECTREQUEST._serialized_end=23394 + _DISCONNECTRESPONSE._serialized_start=23396 + _DISCONNECTRESPONSE._serialized_end=23416 + _FEERATESREQUEST._serialized_start=23418 + _FEERATESREQUEST._serialized_end=23525 + _FEERATESREQUEST_FEERATESSTYLE._serialized_start=23488 + _FEERATESREQUEST_FEERATESSTYLE._serialized_end=23525 + _FEERATESRESPONSE._serialized_start=23527 + _FEERATESRESPONSE._serialized_end=23613 + _FEERATESPERKB._serialized_start=23616 + _FEERATESPERKB._serialized_end=23939 + _FEERATESPERKW._serialized_start=23942 + _FEERATESPERKW._serialized_end=24265 + _FEERATESONCHAIN_FEE_ESTIMATES._serialized_start=24268 + _FEERATESONCHAIN_FEE_ESTIMATES._serialized_end=24461 + _GETROUTEREQUEST._serialized_start=24464 + _GETROUTEREQUEST._serialized_end=24700 + _GETROUTERESPONSE._serialized_start=24702 + _GETROUTERESPONSE._serialized_end=24755 + _GETROUTEROUTE._serialized_start=24758 + _GETROUTEROUTE._serialized_end=24955 + _GETROUTEROUTE_GETROUTEROUTESTYLE._serialized_start=24926 + _GETROUTEROUTE_GETROUTEROUTESTYLE._serialized_end=24955 + _LISTFORWARDSREQUEST._serialized_start=24958 + _LISTFORWARDSREQUEST._serialized_end=25216 + _LISTFORWARDSREQUEST_LISTFORWARDSSTATUS._serialized_start=25098 + _LISTFORWARDSREQUEST_LISTFORWARDSSTATUS._serialized_end=25174 + _LISTFORWARDSRESPONSE._serialized_start=25218 + _LISTFORWARDSRESPONSE._serialized_end=25285 + _LISTFORWARDSFORWARDS._serialized_start=25288 + _LISTFORWARDSFORWARDS._serialized_end=25856 + _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS._serialized_start=25653 + _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTATUS._serialized_end=25737 + _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE._serialized_start=25739 + _LISTFORWARDSFORWARDS_LISTFORWARDSFORWARDSSTYLE._serialized_end=25787 + _LISTPAYSREQUEST._serialized_start=25859 + _LISTPAYSREQUEST._serialized_end=26078 + _LISTPAYSREQUEST_LISTPAYSSTATUS._serialized_start=25984 + _LISTPAYSREQUEST_LISTPAYSSTATUS._serialized_end=26039 + _LISTPAYSRESPONSE._serialized_start=26080 + _LISTPAYSRESPONSE._serialized_end=26131 + _LISTPAYSPAYS._serialized_start=26134 + _LISTPAYSPAYS._serialized_end=26643 + _LISTPAYSPAYS_LISTPAYSPAYSSTATUS._serialized_start=26468 + _LISTPAYSPAYS_LISTPAYSPAYSSTATUS._serialized_end=26527 + _PINGREQUEST._serialized_start=26645 + _PINGREQUEST._serialized_end=26734 + _PINGRESPONSE._serialized_start=26736 + _PINGRESPONSE._serialized_end=26766 + _SIGNMESSAGEREQUEST._serialized_start=26768 + _SIGNMESSAGEREQUEST._serialized_end=26805 + _SIGNMESSAGERESPONSE._serialized_start=26807 + _SIGNMESSAGERESPONSE._serialized_end=26877 + _NODE._serialized_start=26880 + _NODE._serialized_end=29693 +# @@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 new file mode 100644 index 000000000..b3c364692 --- /dev/null +++ b/contrib/pyln-testing/pyln/testing/node_pb2_grpc.py @@ -0,0 +1,1485 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from . import node_pb2 as node__pb2 + + +class NodeStub(object): + """Missing associated documentation comment in .proto file.""" + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Getinfo = channel.unary_unary( + '/cln.Node/Getinfo', + request_serializer=node__pb2.GetinfoRequest.SerializeToString, + response_deserializer=node__pb2.GetinfoResponse.FromString, + ) + self.ListPeers = channel.unary_unary( + '/cln.Node/ListPeers', + request_serializer=node__pb2.ListpeersRequest.SerializeToString, + response_deserializer=node__pb2.ListpeersResponse.FromString, + ) + self.ListFunds = channel.unary_unary( + '/cln.Node/ListFunds', + request_serializer=node__pb2.ListfundsRequest.SerializeToString, + response_deserializer=node__pb2.ListfundsResponse.FromString, + ) + self.SendPay = channel.unary_unary( + '/cln.Node/SendPay', + request_serializer=node__pb2.SendpayRequest.SerializeToString, + response_deserializer=node__pb2.SendpayResponse.FromString, + ) + self.ListChannels = channel.unary_unary( + '/cln.Node/ListChannels', + request_serializer=node__pb2.ListchannelsRequest.SerializeToString, + response_deserializer=node__pb2.ListchannelsResponse.FromString, + ) + self.AddGossip = channel.unary_unary( + '/cln.Node/AddGossip', + request_serializer=node__pb2.AddgossipRequest.SerializeToString, + response_deserializer=node__pb2.AddgossipResponse.FromString, + ) + self.AutoCleanInvoice = channel.unary_unary( + '/cln.Node/AutoCleanInvoice', + request_serializer=node__pb2.AutocleaninvoiceRequest.SerializeToString, + response_deserializer=node__pb2.AutocleaninvoiceResponse.FromString, + ) + self.CheckMessage = channel.unary_unary( + '/cln.Node/CheckMessage', + request_serializer=node__pb2.CheckmessageRequest.SerializeToString, + response_deserializer=node__pb2.CheckmessageResponse.FromString, + ) + self.Close = channel.unary_unary( + '/cln.Node/Close', + request_serializer=node__pb2.CloseRequest.SerializeToString, + response_deserializer=node__pb2.CloseResponse.FromString, + ) + self.ConnectPeer = channel.unary_unary( + '/cln.Node/ConnectPeer', + request_serializer=node__pb2.ConnectRequest.SerializeToString, + response_deserializer=node__pb2.ConnectResponse.FromString, + ) + self.CreateInvoice = channel.unary_unary( + '/cln.Node/CreateInvoice', + request_serializer=node__pb2.CreateinvoiceRequest.SerializeToString, + response_deserializer=node__pb2.CreateinvoiceResponse.FromString, + ) + self.Datastore = channel.unary_unary( + '/cln.Node/Datastore', + request_serializer=node__pb2.DatastoreRequest.SerializeToString, + response_deserializer=node__pb2.DatastoreResponse.FromString, + ) + self.CreateOnion = channel.unary_unary( + '/cln.Node/CreateOnion', + request_serializer=node__pb2.CreateonionRequest.SerializeToString, + response_deserializer=node__pb2.CreateonionResponse.FromString, + ) + self.DelDatastore = channel.unary_unary( + '/cln.Node/DelDatastore', + request_serializer=node__pb2.DeldatastoreRequest.SerializeToString, + response_deserializer=node__pb2.DeldatastoreResponse.FromString, + ) + self.DelExpiredInvoice = channel.unary_unary( + '/cln.Node/DelExpiredInvoice', + request_serializer=node__pb2.DelexpiredinvoiceRequest.SerializeToString, + response_deserializer=node__pb2.DelexpiredinvoiceResponse.FromString, + ) + self.DelInvoice = channel.unary_unary( + '/cln.Node/DelInvoice', + request_serializer=node__pb2.DelinvoiceRequest.SerializeToString, + response_deserializer=node__pb2.DelinvoiceResponse.FromString, + ) + self.Invoice = channel.unary_unary( + '/cln.Node/Invoice', + request_serializer=node__pb2.InvoiceRequest.SerializeToString, + response_deserializer=node__pb2.InvoiceResponse.FromString, + ) + self.ListDatastore = channel.unary_unary( + '/cln.Node/ListDatastore', + request_serializer=node__pb2.ListdatastoreRequest.SerializeToString, + response_deserializer=node__pb2.ListdatastoreResponse.FromString, + ) + self.ListInvoices = channel.unary_unary( + '/cln.Node/ListInvoices', + request_serializer=node__pb2.ListinvoicesRequest.SerializeToString, + response_deserializer=node__pb2.ListinvoicesResponse.FromString, + ) + self.SendOnion = channel.unary_unary( + '/cln.Node/SendOnion', + request_serializer=node__pb2.SendonionRequest.SerializeToString, + response_deserializer=node__pb2.SendonionResponse.FromString, + ) + self.ListSendPays = channel.unary_unary( + '/cln.Node/ListSendPays', + request_serializer=node__pb2.ListsendpaysRequest.SerializeToString, + response_deserializer=node__pb2.ListsendpaysResponse.FromString, + ) + self.ListTransactions = channel.unary_unary( + '/cln.Node/ListTransactions', + request_serializer=node__pb2.ListtransactionsRequest.SerializeToString, + response_deserializer=node__pb2.ListtransactionsResponse.FromString, + ) + self.Pay = channel.unary_unary( + '/cln.Node/Pay', + request_serializer=node__pb2.PayRequest.SerializeToString, + response_deserializer=node__pb2.PayResponse.FromString, + ) + self.ListNodes = channel.unary_unary( + '/cln.Node/ListNodes', + request_serializer=node__pb2.ListnodesRequest.SerializeToString, + response_deserializer=node__pb2.ListnodesResponse.FromString, + ) + self.WaitAnyInvoice = channel.unary_unary( + '/cln.Node/WaitAnyInvoice', + request_serializer=node__pb2.WaitanyinvoiceRequest.SerializeToString, + response_deserializer=node__pb2.WaitanyinvoiceResponse.FromString, + ) + self.WaitInvoice = channel.unary_unary( + '/cln.Node/WaitInvoice', + request_serializer=node__pb2.WaitinvoiceRequest.SerializeToString, + response_deserializer=node__pb2.WaitinvoiceResponse.FromString, + ) + self.WaitSendPay = channel.unary_unary( + '/cln.Node/WaitSendPay', + request_serializer=node__pb2.WaitsendpayRequest.SerializeToString, + response_deserializer=node__pb2.WaitsendpayResponse.FromString, + ) + self.NewAddr = channel.unary_unary( + '/cln.Node/NewAddr', + request_serializer=node__pb2.NewaddrRequest.SerializeToString, + response_deserializer=node__pb2.NewaddrResponse.FromString, + ) + self.Withdraw = channel.unary_unary( + '/cln.Node/Withdraw', + request_serializer=node__pb2.WithdrawRequest.SerializeToString, + response_deserializer=node__pb2.WithdrawResponse.FromString, + ) + self.KeySend = channel.unary_unary( + '/cln.Node/KeySend', + request_serializer=node__pb2.KeysendRequest.SerializeToString, + response_deserializer=node__pb2.KeysendResponse.FromString, + ) + self.FundPsbt = channel.unary_unary( + '/cln.Node/FundPsbt', + request_serializer=node__pb2.FundpsbtRequest.SerializeToString, + response_deserializer=node__pb2.FundpsbtResponse.FromString, + ) + self.SendPsbt = channel.unary_unary( + '/cln.Node/SendPsbt', + request_serializer=node__pb2.SendpsbtRequest.SerializeToString, + response_deserializer=node__pb2.SendpsbtResponse.FromString, + ) + self.SignPsbt = channel.unary_unary( + '/cln.Node/SignPsbt', + request_serializer=node__pb2.SignpsbtRequest.SerializeToString, + response_deserializer=node__pb2.SignpsbtResponse.FromString, + ) + self.UtxoPsbt = channel.unary_unary( + '/cln.Node/UtxoPsbt', + request_serializer=node__pb2.UtxopsbtRequest.SerializeToString, + response_deserializer=node__pb2.UtxopsbtResponse.FromString, + ) + self.TxDiscard = channel.unary_unary( + '/cln.Node/TxDiscard', + request_serializer=node__pb2.TxdiscardRequest.SerializeToString, + response_deserializer=node__pb2.TxdiscardResponse.FromString, + ) + self.TxPrepare = channel.unary_unary( + '/cln.Node/TxPrepare', + request_serializer=node__pb2.TxprepareRequest.SerializeToString, + response_deserializer=node__pb2.TxprepareResponse.FromString, + ) + self.TxSend = channel.unary_unary( + '/cln.Node/TxSend', + request_serializer=node__pb2.TxsendRequest.SerializeToString, + response_deserializer=node__pb2.TxsendResponse.FromString, + ) + self.Disconnect = channel.unary_unary( + '/cln.Node/Disconnect', + request_serializer=node__pb2.DisconnectRequest.SerializeToString, + response_deserializer=node__pb2.DisconnectResponse.FromString, + ) + self.Feerates = channel.unary_unary( + '/cln.Node/Feerates', + request_serializer=node__pb2.FeeratesRequest.SerializeToString, + response_deserializer=node__pb2.FeeratesResponse.FromString, + ) + self.GetRoute = channel.unary_unary( + '/cln.Node/GetRoute', + request_serializer=node__pb2.GetrouteRequest.SerializeToString, + response_deserializer=node__pb2.GetrouteResponse.FromString, + ) + self.ListForwards = channel.unary_unary( + '/cln.Node/ListForwards', + request_serializer=node__pb2.ListforwardsRequest.SerializeToString, + response_deserializer=node__pb2.ListforwardsResponse.FromString, + ) + self.ListPays = channel.unary_unary( + '/cln.Node/ListPays', + request_serializer=node__pb2.ListpaysRequest.SerializeToString, + response_deserializer=node__pb2.ListpaysResponse.FromString, + ) + self.Ping = channel.unary_unary( + '/cln.Node/Ping', + request_serializer=node__pb2.PingRequest.SerializeToString, + response_deserializer=node__pb2.PingResponse.FromString, + ) + self.SignMessage = channel.unary_unary( + '/cln.Node/SignMessage', + request_serializer=node__pb2.SignmessageRequest.SerializeToString, + response_deserializer=node__pb2.SignmessageResponse.FromString, + ) + + +class NodeServicer(object): + """Missing associated documentation comment in .proto file.""" + + def Getinfo(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 ListPeers(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 ListFunds(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 SendPay(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 ListChannels(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 AddGossip(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 AutoCleanInvoice(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 CheckMessage(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 Close(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 ConnectPeer(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 CreateInvoice(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 Datastore(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 CreateOnion(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 DelDatastore(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 DelExpiredInvoice(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 DelInvoice(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 Invoice(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 ListDatastore(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 ListInvoices(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 SendOnion(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 ListSendPays(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 ListTransactions(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 Pay(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 ListNodes(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 WaitAnyInvoice(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 WaitInvoice(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 WaitSendPay(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 NewAddr(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 Withdraw(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 KeySend(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 FundPsbt(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 SendPsbt(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 SignPsbt(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 UtxoPsbt(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 TxDiscard(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 TxPrepare(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 TxSend(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) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Feerates(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 GetRoute(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 ListForwards(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 ListPays(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 Ping(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 SignMessage(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 add_NodeServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Getinfo': grpc.unary_unary_rpc_method_handler( + servicer.Getinfo, + request_deserializer=node__pb2.GetinfoRequest.FromString, + response_serializer=node__pb2.GetinfoResponse.SerializeToString, + ), + 'ListPeers': grpc.unary_unary_rpc_method_handler( + servicer.ListPeers, + request_deserializer=node__pb2.ListpeersRequest.FromString, + response_serializer=node__pb2.ListpeersResponse.SerializeToString, + ), + 'ListFunds': grpc.unary_unary_rpc_method_handler( + servicer.ListFunds, + request_deserializer=node__pb2.ListfundsRequest.FromString, + response_serializer=node__pb2.ListfundsResponse.SerializeToString, + ), + 'SendPay': grpc.unary_unary_rpc_method_handler( + servicer.SendPay, + request_deserializer=node__pb2.SendpayRequest.FromString, + response_serializer=node__pb2.SendpayResponse.SerializeToString, + ), + 'ListChannels': grpc.unary_unary_rpc_method_handler( + servicer.ListChannels, + request_deserializer=node__pb2.ListchannelsRequest.FromString, + response_serializer=node__pb2.ListchannelsResponse.SerializeToString, + ), + 'AddGossip': grpc.unary_unary_rpc_method_handler( + servicer.AddGossip, + request_deserializer=node__pb2.AddgossipRequest.FromString, + response_serializer=node__pb2.AddgossipResponse.SerializeToString, + ), + 'AutoCleanInvoice': grpc.unary_unary_rpc_method_handler( + servicer.AutoCleanInvoice, + request_deserializer=node__pb2.AutocleaninvoiceRequest.FromString, + response_serializer=node__pb2.AutocleaninvoiceResponse.SerializeToString, + ), + 'CheckMessage': grpc.unary_unary_rpc_method_handler( + servicer.CheckMessage, + request_deserializer=node__pb2.CheckmessageRequest.FromString, + response_serializer=node__pb2.CheckmessageResponse.SerializeToString, + ), + 'Close': grpc.unary_unary_rpc_method_handler( + servicer.Close, + request_deserializer=node__pb2.CloseRequest.FromString, + response_serializer=node__pb2.CloseResponse.SerializeToString, + ), + 'ConnectPeer': grpc.unary_unary_rpc_method_handler( + servicer.ConnectPeer, + request_deserializer=node__pb2.ConnectRequest.FromString, + response_serializer=node__pb2.ConnectResponse.SerializeToString, + ), + 'CreateInvoice': grpc.unary_unary_rpc_method_handler( + servicer.CreateInvoice, + request_deserializer=node__pb2.CreateinvoiceRequest.FromString, + response_serializer=node__pb2.CreateinvoiceResponse.SerializeToString, + ), + 'Datastore': grpc.unary_unary_rpc_method_handler( + servicer.Datastore, + request_deserializer=node__pb2.DatastoreRequest.FromString, + response_serializer=node__pb2.DatastoreResponse.SerializeToString, + ), + 'CreateOnion': grpc.unary_unary_rpc_method_handler( + servicer.CreateOnion, + request_deserializer=node__pb2.CreateonionRequest.FromString, + response_serializer=node__pb2.CreateonionResponse.SerializeToString, + ), + 'DelDatastore': grpc.unary_unary_rpc_method_handler( + servicer.DelDatastore, + request_deserializer=node__pb2.DeldatastoreRequest.FromString, + response_serializer=node__pb2.DeldatastoreResponse.SerializeToString, + ), + 'DelExpiredInvoice': grpc.unary_unary_rpc_method_handler( + servicer.DelExpiredInvoice, + request_deserializer=node__pb2.DelexpiredinvoiceRequest.FromString, + response_serializer=node__pb2.DelexpiredinvoiceResponse.SerializeToString, + ), + 'DelInvoice': grpc.unary_unary_rpc_method_handler( + servicer.DelInvoice, + request_deserializer=node__pb2.DelinvoiceRequest.FromString, + response_serializer=node__pb2.DelinvoiceResponse.SerializeToString, + ), + 'Invoice': grpc.unary_unary_rpc_method_handler( + servicer.Invoice, + request_deserializer=node__pb2.InvoiceRequest.FromString, + response_serializer=node__pb2.InvoiceResponse.SerializeToString, + ), + 'ListDatastore': grpc.unary_unary_rpc_method_handler( + servicer.ListDatastore, + request_deserializer=node__pb2.ListdatastoreRequest.FromString, + response_serializer=node__pb2.ListdatastoreResponse.SerializeToString, + ), + 'ListInvoices': grpc.unary_unary_rpc_method_handler( + servicer.ListInvoices, + request_deserializer=node__pb2.ListinvoicesRequest.FromString, + response_serializer=node__pb2.ListinvoicesResponse.SerializeToString, + ), + 'SendOnion': grpc.unary_unary_rpc_method_handler( + servicer.SendOnion, + request_deserializer=node__pb2.SendonionRequest.FromString, + response_serializer=node__pb2.SendonionResponse.SerializeToString, + ), + 'ListSendPays': grpc.unary_unary_rpc_method_handler( + servicer.ListSendPays, + request_deserializer=node__pb2.ListsendpaysRequest.FromString, + response_serializer=node__pb2.ListsendpaysResponse.SerializeToString, + ), + 'ListTransactions': grpc.unary_unary_rpc_method_handler( + servicer.ListTransactions, + request_deserializer=node__pb2.ListtransactionsRequest.FromString, + response_serializer=node__pb2.ListtransactionsResponse.SerializeToString, + ), + 'Pay': grpc.unary_unary_rpc_method_handler( + servicer.Pay, + request_deserializer=node__pb2.PayRequest.FromString, + response_serializer=node__pb2.PayResponse.SerializeToString, + ), + 'ListNodes': grpc.unary_unary_rpc_method_handler( + servicer.ListNodes, + request_deserializer=node__pb2.ListnodesRequest.FromString, + response_serializer=node__pb2.ListnodesResponse.SerializeToString, + ), + 'WaitAnyInvoice': grpc.unary_unary_rpc_method_handler( + servicer.WaitAnyInvoice, + request_deserializer=node__pb2.WaitanyinvoiceRequest.FromString, + response_serializer=node__pb2.WaitanyinvoiceResponse.SerializeToString, + ), + 'WaitInvoice': grpc.unary_unary_rpc_method_handler( + servicer.WaitInvoice, + request_deserializer=node__pb2.WaitinvoiceRequest.FromString, + response_serializer=node__pb2.WaitinvoiceResponse.SerializeToString, + ), + 'WaitSendPay': grpc.unary_unary_rpc_method_handler( + servicer.WaitSendPay, + request_deserializer=node__pb2.WaitsendpayRequest.FromString, + response_serializer=node__pb2.WaitsendpayResponse.SerializeToString, + ), + 'NewAddr': grpc.unary_unary_rpc_method_handler( + servicer.NewAddr, + request_deserializer=node__pb2.NewaddrRequest.FromString, + response_serializer=node__pb2.NewaddrResponse.SerializeToString, + ), + 'Withdraw': grpc.unary_unary_rpc_method_handler( + servicer.Withdraw, + request_deserializer=node__pb2.WithdrawRequest.FromString, + response_serializer=node__pb2.WithdrawResponse.SerializeToString, + ), + 'KeySend': grpc.unary_unary_rpc_method_handler( + servicer.KeySend, + request_deserializer=node__pb2.KeysendRequest.FromString, + response_serializer=node__pb2.KeysendResponse.SerializeToString, + ), + 'FundPsbt': grpc.unary_unary_rpc_method_handler( + servicer.FundPsbt, + request_deserializer=node__pb2.FundpsbtRequest.FromString, + response_serializer=node__pb2.FundpsbtResponse.SerializeToString, + ), + 'SendPsbt': grpc.unary_unary_rpc_method_handler( + servicer.SendPsbt, + request_deserializer=node__pb2.SendpsbtRequest.FromString, + response_serializer=node__pb2.SendpsbtResponse.SerializeToString, + ), + 'SignPsbt': grpc.unary_unary_rpc_method_handler( + servicer.SignPsbt, + request_deserializer=node__pb2.SignpsbtRequest.FromString, + response_serializer=node__pb2.SignpsbtResponse.SerializeToString, + ), + 'UtxoPsbt': grpc.unary_unary_rpc_method_handler( + servicer.UtxoPsbt, + request_deserializer=node__pb2.UtxopsbtRequest.FromString, + response_serializer=node__pb2.UtxopsbtResponse.SerializeToString, + ), + 'TxDiscard': grpc.unary_unary_rpc_method_handler( + servicer.TxDiscard, + request_deserializer=node__pb2.TxdiscardRequest.FromString, + response_serializer=node__pb2.TxdiscardResponse.SerializeToString, + ), + 'TxPrepare': grpc.unary_unary_rpc_method_handler( + servicer.TxPrepare, + request_deserializer=node__pb2.TxprepareRequest.FromString, + response_serializer=node__pb2.TxprepareResponse.SerializeToString, + ), + 'TxSend': grpc.unary_unary_rpc_method_handler( + servicer.TxSend, + request_deserializer=node__pb2.TxsendRequest.FromString, + response_serializer=node__pb2.TxsendResponse.SerializeToString, + ), + 'Disconnect': grpc.unary_unary_rpc_method_handler( + servicer.Disconnect, + request_deserializer=node__pb2.DisconnectRequest.FromString, + response_serializer=node__pb2.DisconnectResponse.SerializeToString, + ), + 'Feerates': grpc.unary_unary_rpc_method_handler( + servicer.Feerates, + request_deserializer=node__pb2.FeeratesRequest.FromString, + response_serializer=node__pb2.FeeratesResponse.SerializeToString, + ), + 'GetRoute': grpc.unary_unary_rpc_method_handler( + servicer.GetRoute, + request_deserializer=node__pb2.GetrouteRequest.FromString, + response_serializer=node__pb2.GetrouteResponse.SerializeToString, + ), + 'ListForwards': grpc.unary_unary_rpc_method_handler( + servicer.ListForwards, + request_deserializer=node__pb2.ListforwardsRequest.FromString, + response_serializer=node__pb2.ListforwardsResponse.SerializeToString, + ), + 'ListPays': grpc.unary_unary_rpc_method_handler( + servicer.ListPays, + request_deserializer=node__pb2.ListpaysRequest.FromString, + response_serializer=node__pb2.ListpaysResponse.SerializeToString, + ), + 'Ping': grpc.unary_unary_rpc_method_handler( + servicer.Ping, + request_deserializer=node__pb2.PingRequest.FromString, + response_serializer=node__pb2.PingResponse.SerializeToString, + ), + 'SignMessage': grpc.unary_unary_rpc_method_handler( + servicer.SignMessage, + request_deserializer=node__pb2.SignmessageRequest.FromString, + response_serializer=node__pb2.SignmessageResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'cln.Node', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Node(object): + """Missing associated documentation comment in .proto file.""" + + @staticmethod + def Getinfo(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/Getinfo', + node__pb2.GetinfoRequest.SerializeToString, + node__pb2.GetinfoResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListPeers(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/ListPeers', + node__pb2.ListpeersRequest.SerializeToString, + node__pb2.ListpeersResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListFunds(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/ListFunds', + node__pb2.ListfundsRequest.SerializeToString, + node__pb2.ListfundsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendPay(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/SendPay', + node__pb2.SendpayRequest.SerializeToString, + node__pb2.SendpayResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListChannels(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/ListChannels', + node__pb2.ListchannelsRequest.SerializeToString, + node__pb2.ListchannelsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AddGossip(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/AddGossip', + node__pb2.AddgossipRequest.SerializeToString, + node__pb2.AddgossipResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AutoCleanInvoice(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/AutoCleanInvoice', + node__pb2.AutocleaninvoiceRequest.SerializeToString, + node__pb2.AutocleaninvoiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CheckMessage(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/CheckMessage', + node__pb2.CheckmessageRequest.SerializeToString, + node__pb2.CheckmessageResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Close(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/Close', + node__pb2.CloseRequest.SerializeToString, + node__pb2.CloseResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ConnectPeer(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/ConnectPeer', + node__pb2.ConnectRequest.SerializeToString, + node__pb2.ConnectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateInvoice(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/CreateInvoice', + node__pb2.CreateinvoiceRequest.SerializeToString, + node__pb2.CreateinvoiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Datastore(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/Datastore', + node__pb2.DatastoreRequest.SerializeToString, + node__pb2.DatastoreResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CreateOnion(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/CreateOnion', + node__pb2.CreateonionRequest.SerializeToString, + node__pb2.CreateonionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DelDatastore(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/DelDatastore', + node__pb2.DeldatastoreRequest.SerializeToString, + node__pb2.DeldatastoreResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DelExpiredInvoice(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/DelExpiredInvoice', + node__pb2.DelexpiredinvoiceRequest.SerializeToString, + node__pb2.DelexpiredinvoiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DelInvoice(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/DelInvoice', + node__pb2.DelinvoiceRequest.SerializeToString, + node__pb2.DelinvoiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Invoice(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/Invoice', + node__pb2.InvoiceRequest.SerializeToString, + node__pb2.InvoiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListDatastore(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/ListDatastore', + node__pb2.ListdatastoreRequest.SerializeToString, + node__pb2.ListdatastoreResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListInvoices(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/ListInvoices', + node__pb2.ListinvoicesRequest.SerializeToString, + node__pb2.ListinvoicesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendOnion(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/SendOnion', + node__pb2.SendonionRequest.SerializeToString, + node__pb2.SendonionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListSendPays(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/ListSendPays', + node__pb2.ListsendpaysRequest.SerializeToString, + node__pb2.ListsendpaysResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListTransactions(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/ListTransactions', + node__pb2.ListtransactionsRequest.SerializeToString, + node__pb2.ListtransactionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Pay(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/Pay', + node__pb2.PayRequest.SerializeToString, + node__pb2.PayResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListNodes(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/ListNodes', + node__pb2.ListnodesRequest.SerializeToString, + node__pb2.ListnodesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def WaitAnyInvoice(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/WaitAnyInvoice', + node__pb2.WaitanyinvoiceRequest.SerializeToString, + node__pb2.WaitanyinvoiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def WaitInvoice(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/WaitInvoice', + node__pb2.WaitinvoiceRequest.SerializeToString, + node__pb2.WaitinvoiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def WaitSendPay(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/WaitSendPay', + node__pb2.WaitsendpayRequest.SerializeToString, + node__pb2.WaitsendpayResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NewAddr(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/NewAddr', + node__pb2.NewaddrRequest.SerializeToString, + node__pb2.NewaddrResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Withdraw(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/Withdraw', + node__pb2.WithdrawRequest.SerializeToString, + node__pb2.WithdrawResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def KeySend(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/KeySend', + node__pb2.KeysendRequest.SerializeToString, + node__pb2.KeysendResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FundPsbt(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/FundPsbt', + node__pb2.FundpsbtRequest.SerializeToString, + node__pb2.FundpsbtResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendPsbt(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/SendPsbt', + node__pb2.SendpsbtRequest.SerializeToString, + node__pb2.SendpsbtResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SignPsbt(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/SignPsbt', + node__pb2.SignpsbtRequest.SerializeToString, + node__pb2.SignpsbtResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UtxoPsbt(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/UtxoPsbt', + node__pb2.UtxopsbtRequest.SerializeToString, + node__pb2.UtxopsbtResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TxDiscard(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/TxDiscard', + node__pb2.TxdiscardRequest.SerializeToString, + node__pb2.TxdiscardResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TxPrepare(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/TxPrepare', + node__pb2.TxprepareRequest.SerializeToString, + node__pb2.TxprepareResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TxSend(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/TxSend', + node__pb2.TxsendRequest.SerializeToString, + node__pb2.TxsendResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Disconnect(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/Disconnect', + node__pb2.DisconnectRequest.SerializeToString, + node__pb2.DisconnectResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Feerates(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/Feerates', + node__pb2.FeeratesRequest.SerializeToString, + node__pb2.FeeratesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetRoute(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/GetRoute', + node__pb2.GetrouteRequest.SerializeToString, + node__pb2.GetrouteResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListForwards(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/ListForwards', + node__pb2.ListforwardsRequest.SerializeToString, + node__pb2.ListforwardsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListPays(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/ListPays', + node__pb2.ListpaysRequest.SerializeToString, + node__pb2.ListpaysResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Ping(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/Ping', + node__pb2.PingRequest.SerializeToString, + node__pb2.PingResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SignMessage(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/SignMessage', + node__pb2.SignmessageRequest.SerializeToString, + node__pb2.SignmessageResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/contrib/pyln-testing/pyln/testing/primitives_pb2.py b/contrib/pyln-testing/pyln/testing/primitives_pb2.py new file mode 100644 index 000000000..bc180d942 --- /dev/null +++ b/contrib/pyln-testing/pyln/testing/primitives_pb2.py @@ -0,0 +1,146 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: primitives.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_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*\x1e\n\x0b\x43hannelSide\x12\x06\n\x02IN\x10\x00\x12\x07\n\x03OUT\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') + +_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) +IN = 0 +OUT = 1 +Openingd = 0 +ChanneldAwaitingLockin = 1 +ChanneldNormal = 2 +ChanneldShuttingDown = 3 +ClosingdSigexchange = 4 +ClosingdComplete = 5 +AwaitingUnilateral = 6 +FundingSpendSeen = 7 +Onchain = 8 +DualopendOpenInit = 9 +DualopendAwaitingLockin = 10 + + +_AMOUNT = DESCRIPTOR.message_types_by_name['Amount'] +_AMOUNTORALL = DESCRIPTOR.message_types_by_name['AmountOrAll'] +_AMOUNTORANY = DESCRIPTOR.message_types_by_name['AmountOrAny'] +_CHANNELSTATECHANGECAUSE = DESCRIPTOR.message_types_by_name['ChannelStateChangeCause'] +_OUTPOINT = DESCRIPTOR.message_types_by_name['Outpoint'] +_FEERATE = DESCRIPTOR.message_types_by_name['Feerate'] +_OUTPUTDESC = DESCRIPTOR.message_types_by_name['OutputDesc'] +_ROUTEHOP = DESCRIPTOR.message_types_by_name['RouteHop'] +_ROUTEHINT = DESCRIPTOR.message_types_by_name['Routehint'] +_ROUTEHINTLIST = DESCRIPTOR.message_types_by_name['RoutehintList'] +Amount = _reflection.GeneratedProtocolMessageType('Amount', (_message.Message,), { + 'DESCRIPTOR' : _AMOUNT, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.Amount) + }) +_sym_db.RegisterMessage(Amount) + +AmountOrAll = _reflection.GeneratedProtocolMessageType('AmountOrAll', (_message.Message,), { + 'DESCRIPTOR' : _AMOUNTORALL, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.AmountOrAll) + }) +_sym_db.RegisterMessage(AmountOrAll) + +AmountOrAny = _reflection.GeneratedProtocolMessageType('AmountOrAny', (_message.Message,), { + 'DESCRIPTOR' : _AMOUNTORANY, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.AmountOrAny) + }) +_sym_db.RegisterMessage(AmountOrAny) + +ChannelStateChangeCause = _reflection.GeneratedProtocolMessageType('ChannelStateChangeCause', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELSTATECHANGECAUSE, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.ChannelStateChangeCause) + }) +_sym_db.RegisterMessage(ChannelStateChangeCause) + +Outpoint = _reflection.GeneratedProtocolMessageType('Outpoint', (_message.Message,), { + 'DESCRIPTOR' : _OUTPOINT, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.Outpoint) + }) +_sym_db.RegisterMessage(Outpoint) + +Feerate = _reflection.GeneratedProtocolMessageType('Feerate', (_message.Message,), { + 'DESCRIPTOR' : _FEERATE, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.Feerate) + }) +_sym_db.RegisterMessage(Feerate) + +OutputDesc = _reflection.GeneratedProtocolMessageType('OutputDesc', (_message.Message,), { + 'DESCRIPTOR' : _OUTPUTDESC, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.OutputDesc) + }) +_sym_db.RegisterMessage(OutputDesc) + +RouteHop = _reflection.GeneratedProtocolMessageType('RouteHop', (_message.Message,), { + 'DESCRIPTOR' : _ROUTEHOP, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.RouteHop) + }) +_sym_db.RegisterMessage(RouteHop) + +Routehint = _reflection.GeneratedProtocolMessageType('Routehint', (_message.Message,), { + 'DESCRIPTOR' : _ROUTEHINT, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.Routehint) + }) +_sym_db.RegisterMessage(Routehint) + +RoutehintList = _reflection.GeneratedProtocolMessageType('RoutehintList', (_message.Message,), { + 'DESCRIPTOR' : _ROUTEHINTLIST, + '__module__' : 'primitives_pb2' + # @@protoc_insertion_point(class_scope:cln.RoutehintList) + }) +_sym_db.RegisterMessage(RoutehintList) + +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _CHANNELSIDE._serialized_start=632 + _CHANNELSIDE._serialized_end=662 + _CHANNELSTATE._serialized_start=665 + _CHANNELSTATE._serialized_end=925 + _AMOUNT._serialized_start=25 + _AMOUNT._serialized_end=47 + _AMOUNTORALL._serialized_start=49 + _AMOUNTORALL._serialized_end=117 + _AMOUNTORANY._serialized_start=119 + _AMOUNTORANY._serialized_end=187 + _CHANNELSTATECHANGECAUSE._serialized_start=189 + _CHANNELSTATECHANGECAUSE._serialized_end=214 + _OUTPOINT._serialized_start=216 + _OUTPOINT._serialized_end=256 + _FEERATE._serialized_start=258 + _FEERATE._serialized_end=362 + _OUTPUTDESC._serialized_start=364 + _OUTPUTDESC._serialized_end=422 + _ROUTEHOP._serialized_start=424 + _ROUTEHOP._serialized_end=540 + _ROUTEHINT._serialized_start=542 + _ROUTEHINT._serialized_end=582 + _ROUTEHINTLIST._serialized_start=584 + _ROUTEHINTLIST._serialized_end=630 +# @@protoc_insertion_point(module_scope) diff --git a/tests/test_cln_rs.py b/tests/test_cln_rs.py index 7524ad386..6d408d9cb 100644 --- a/tests/test_cln_rs.py +++ b/tests/test_cln_rs.py @@ -1,7 +1,10 @@ +from ephemeral_port_reserve import reserve from fixtures import * # noqa: F401,F403 from pathlib import Path +from pyln.testing import node_pb2 as nodepb +from pyln.testing import node_pb2_grpc as nodegrpc +from pyln.testing import primitives_pb2 as primitivespb from pyln.testing.utils import env, TEST_NETWORK, wait_for -from ephemeral_port_reserve import reserve import grpc import pytest import subprocess @@ -72,9 +75,6 @@ def test_plugin_start(node_factory): def test_grpc_connect(node_factory): """Attempts to connect to the grpc interface and call getinfo""" # These only exist if we have rust! - from node_pb2_grpc import NodeStub # noqa: E402 - import node_pb2 as nodepb # noqa: E402 - from primitives_pb2 import AmountOrAny, Amount # noqa: E402 grpc_port = reserve() l1 = node_factory.get_node(options={"grpc-port": str(grpc_port)}) @@ -95,7 +95,7 @@ def test_grpc_connect(node_factory): creds, options=(('grpc.ssl_target_name_override', 'cln'),) ) - stub = NodeStub(channel) + stub = nodegrpc.NodeStub(channel) response = stub.Getinfo(nodepb.GetinfoRequest()) print(response) @@ -104,7 +104,7 @@ def test_grpc_connect(node_factory): print(response) inv = stub.Invoice(nodepb.InvoiceRequest( - amount_msat=AmountOrAny(any=True), + amount_msat=primitivespb.AmountOrAny(any=True), description="hello", label="lbl1", preimage=b"\x00" * 32, @@ -119,7 +119,7 @@ def test_grpc_connect(node_factory): with pytest.raises(Exception, match=r'Duplicate label'): # This request creates a label collision stub.Invoice(nodepb.InvoiceRequest( - amount_msat=AmountOrAny(amount=Amount(msat=12345)), + amount_msat=primitivespb.AmountOrAny(amount=primitivespb.Amount(msat=12345)), description="hello", label="lbl1", )) @@ -181,8 +181,6 @@ def test_grpc_wrong_auth(node_factory): and then we try to cross the wires. """ # These only exist if we have rust! - from node_pb2_grpc import NodeStub # noqa: E402 - import node_pb2 as nodepb # noqa: E402 grpc_port = reserve() l1, l2 = node_factory.get_nodes(2, opts={ @@ -210,7 +208,7 @@ def test_grpc_wrong_auth(node_factory): creds, options=(('grpc.ssl_target_name_override', 'cln'),) ) - return NodeStub(channel) + return nodegrpc.NodeStub(channel) stub = connect(l1) # This should work, it's the correct node