Repository: raspiblitz/raspiblitz

Issue:
Outdated lndlibs
The copy of the lndlibs is outdated. E.g. synced_to_graph is missing.


Discussion:

Resolving patch:
diff --git a/home.admin/config.scripts/lndlibs/rpc_pb2.py b/home.admin/config.scripts/lndlibs/rpc_pb2.py
--- a/home.admin/config.scripts/lndlibs/rpc_pb2.py
+++ b/home.admin/config.scripts/lndlibs/rpc_pb2.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 # Generated by the protocol buffer compiler.  DO NOT EDIT!
 # source: rpc.proto
 
@@ -21,7 +22,7 @@
   package='lnrpc',
   syntax='proto3',
   serialized_options=_b('Z%github.com/lightningnetwork/lnd/lnrpc'),
-  serialized_pb=_b('\n\trpc.proto\x12\x05lnrpc\x1a\x1cgoogle/api/annotations.proto\"A\n\x0eGenSeedRequest\x12\x19\n\x11\x61\x65zeed_passphrase\x18\x01 \x01(\x0c\x12\x14\n\x0cseed_entropy\x18\x02 \x01(\x0c\"H\n\x0fGenSeedResponse\x12\x1c\n\x14\x63ipher_seed_mnemonic\x18\x01 \x03(\t\x12\x17\n\x0f\x65nciphered_seed\x18\x02 \x01(\x0c\"\xb2\x01\n\x11InitWalletRequest\x12\x17\n\x0fwallet_password\x18\x01 \x01(\x0c\x12\x1c\n\x14\x63ipher_seed_mnemonic\x18\x02 \x03(\t\x12\x19\n\x11\x61\x65zeed_passphrase\x18\x03 \x01(\x0c\x12\x17\n\x0frecovery_window\x18\x04 \x01(\x05\x12\x32\n\x0f\x63hannel_backups\x18\x05 \x01(\x0b\x32\x19.lnrpc.ChanBackupSnapshot\"\x14\n\x12InitWalletResponse\"{\n\x13UnlockWalletRequest\x12\x17\n\x0fwallet_password\x18\x01 \x01(\x0c\x12\x17\n\x0frecovery_window\x18\x02 \x01(\x05\x12\x32\n\x0f\x63hannel_backups\x18\x03 \x01(\x0b\x32\x19.lnrpc.ChanBackupSnapshot\"\x16\n\x14UnlockWalletResponse\"G\n\x15\x43hangePasswordRequest\x12\x18\n\x10\x63urrent_password\x18\x01 \x01(\x0c\x12\x14\n\x0cnew_password\x18\x02 \x01(\x0c\"\x18\n\x16\x43hangePasswordResponse\"\xe1\x01\n\x04Utxo\x12.\n\x04type\x18\x01 \x01(\x0e\x32\x12.lnrpc.AddressTypeR\x0c\x61\x64\x64ress_type\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x1e\n\namount_sat\x18\x03 \x01(\x03R\namount_sat\x12\x1c\n\tpk_script\x18\x04 \x01(\tR\tpk_script\x12+\n\x08outpoint\x18\x05 \x01(\x0b\x32\x0f.lnrpc.OutPointR\x08outpoint\x12$\n\rconfirmations\x18\x06 \x01(\x03R\rconfirmations\"\x99\x02\n\x0bTransaction\x12\x18\n\x07tx_hash\x18\x01 \x01(\tR\x07tx_hash\x12\x16\n\x06\x61mount\x18\x02 \x01(\x03R\x06\x61mount\x12,\n\x11num_confirmations\x18\x03 \x01(\x05R\x11num_confirmations\x12\x1e\n\nblock_hash\x18\x04 \x01(\tR\nblock_hash\x12\"\n\x0c\x62lock_height\x18\x05 \x01(\x05R\x0c\x62lock_height\x12\x1e\n\ntime_stamp\x18\x06 \x01(\x03R\ntime_stamp\x12\x1e\n\ntotal_fees\x18\x07 \x01(\x03R\ntotal_fees\x12&\n\x0e\x64\x65st_addresses\x18\x08 \x03(\tR\x0e\x64\x65st_addresses\"\x18\n\x16GetTransactionsRequest\"L\n\x12TransactionDetails\x12\x36\n\x0ctransactions\x18\x01 \x03(\x0b\x32\x12.lnrpc.TransactionR\x0ctransactions\"7\n\x08\x46\x65\x65Limit\x12\x0f\n\x05\x66ixed\x18\x01 \x01(\x03H\x00\x12\x11\n\x07percent\x18\x02 \x01(\x03H\x00\x42\x07\n\x05limit\"\xf5\x01\n\x0bSendRequest\x12\x0c\n\x04\x64\x65st\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65st_string\x18\x02 \x01(\t\x12\x0b\n\x03\x61mt\x18\x03 \x01(\x03\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\x12\x1b\n\x13payment_hash_string\x18\x05 \x01(\t\x12\x17\n\x0fpayment_request\x18\x06 \x01(\t\x12\x18\n\x10\x66inal_cltv_delta\x18\x07 \x01(\x05\x12\"\n\tfee_limit\x18\x08 \x01(\x0b\x32\x0f.lnrpc.FeeLimit\x12\x18\n\x10outgoing_chan_id\x18\t \x01(\x04\x12\x12\n\ncltv_limit\x18\n \x01(\r\"\xb8\x01\n\x0cSendResponse\x12$\n\rpayment_error\x18\x01 \x01(\tR\rpayment_error\x12*\n\x10payment_preimage\x18\x02 \x01(\x0cR\x10payment_preimage\x12\x32\n\rpayment_route\x18\x03 \x01(\x0b\x32\x0c.lnrpc.RouteR\rpayment_route\x12\"\n\x0cpayment_hash\x18\x04 \x01(\x0cR\x0cpayment_hash\"\x86\x01\n\x12SendToRouteRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x1b\n\x13payment_hash_string\x18\x02 \x01(\t\x12 \n\x06routes\x18\x03 \x03(\x0b\x32\x0c.lnrpc.RouteB\x02\x18\x01\x12\x1b\n\x05route\x18\x04 \x01(\x0b\x32\x0c.lnrpc.Route\"\xa2\x01\n\x0c\x43hannelPoint\x12\x30\n\x12\x66unding_txid_bytes\x18\x01 \x01(\x0cH\x00R\x12\x66unding_txid_bytes\x12,\n\x10\x66unding_txid_str\x18\x02 \x01(\tH\x00R\x10\x66unding_txid_str\x12\"\n\x0coutput_index\x18\x03 \x01(\rR\x0coutput_indexB\x0e\n\x0c\x66unding_txid\"j\n\x08OutPoint\x12\x1e\n\ntxid_bytes\x18\x01 \x01(\x0cR\ntxid_bytes\x12\x1a\n\x08txid_str\x18\x02 \x01(\tR\x08txid_str\x12\"\n\x0coutput_index\x18\x03 \x01(\rR\x0coutput_index\">\n\x10LightningAddress\x12\x16\n\x06pubkey\x18\x01 \x01(\tR\x06pubkey\x12\x12\n\x04host\x18\x02 \x01(\tR\x04host\"\xa1\x01\n\x12\x45stimateFeeRequest\x12\x41\n\x0c\x41\x64\x64rToAmount\x18\x01 \x03(\x0b\x32+.lnrpc.EstimateFeeRequest.AddrToAmountEntry\x12\x13\n\x0btarget_conf\x18\x02 \x01(\x05\x1a\x33\n\x11\x41\x64\x64rToAmountEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\"c\n\x13\x45stimateFeeResponse\x12\x18\n\x07\x66\x65\x65_sat\x18\x01 \x01(\x03R\x07\x66\x65\x65_sat\x12\x32\n\x14\x66\x65\x65rate_sat_per_byte\x18\x02 \x01(\x03R\x14\x66\x65\x65rate_sat_per_byte\"\xb1\x01\n\x0fSendManyRequest\x12>\n\x0c\x41\x64\x64rToAmount\x18\x01 \x03(\x0b\x32(.lnrpc.SendManyRequest.AddrToAmountEntry\x12\x13\n\x0btarget_conf\x18\x03 \x01(\x05\x12\x14\n\x0csat_per_byte\x18\x05 \x01(\x03\x1a\x33\n\x11\x41\x64\x64rToAmountEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\"&\n\x10SendManyResponse\x12\x12\n\x04txid\x18\x01 \x01(\tR\x04txid\"m\n\x10SendCoinsRequest\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x03\x12\x13\n\x0btarget_conf\x18\x03 \x01(\x05\x12\x14\n\x0csat_per_byte\x18\x05 \x01(\x03\x12\x10\n\x08send_all\x18\x06 \x01(\x08\"\'\n\x11SendCoinsResponse\x12\x12\n\x04txid\x18\x01 \x01(\tR\x04txid\":\n\x12ListUnspentRequest\x12\x11\n\tmin_confs\x18\x01 \x01(\x05\x12\x11\n\tmax_confs\x18\x02 \x01(\x05\"8\n\x13ListUnspentResponse\x12!\n\x05utxos\x18\x01 \x03(\x0b\x32\x0b.lnrpc.UtxoR\x05utxos\"5\n\x11NewAddressRequest\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.lnrpc.AddressType\".\n\x12NewAddressResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\"&\n\x12SignMessageRequest\x12\x10\n\x03msg\x18\x01 \x01(\x0cR\x03msg\"3\n\x13SignMessageResponse\x12\x1c\n\tsignature\x18\x01 \x01(\tR\tsignature\"F\n\x14VerifyMessageRequest\x12\x10\n\x03msg\x18\x01 \x01(\x0cR\x03msg\x12\x1c\n\tsignature\x18\x02 \x01(\tR\tsignature\"E\n\x15VerifyMessageResponse\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\x12\x16\n\x06pubkey\x18\x02 \x01(\tR\x06pubkey\"I\n\x12\x43onnectPeerRequest\x12%\n\x04\x61\x64\x64r\x18\x01 \x01(\x0b\x32\x17.lnrpc.LightningAddress\x12\x0c\n\x04perm\x18\x02 \x01(\x08\"\x15\n\x13\x43onnectPeerResponse\"1\n\x15\x44isconnectPeerRequest\x12\x18\n\x07pub_key\x18\x01 \x01(\tR\x07pub_key\"\x18\n\x16\x44isconnectPeerResponse\"\x86\x01\n\x04HTLC\x12\x1a\n\x08incoming\x18\x01 \x01(\x08R\x08incoming\x12\x16\n\x06\x61mount\x18\x02 \x01(\x03R\x06\x61mount\x12\x1c\n\thash_lock\x18\x03 \x01(\x0cR\thash_lock\x12,\n\x11\x65xpiration_height\x18\x04 \x01(\rR\x11\x65xpiration_height\"\xca\x05\n\x07\x43hannel\x12\x16\n\x06\x61\x63tive\x18\x01 \x01(\x08R\x06\x61\x63tive\x12$\n\rremote_pubkey\x18\x02 \x01(\tR\rremote_pubkey\x12$\n\rchannel_point\x18\x03 \x01(\tR\rchannel_point\x12\x18\n\x07\x63han_id\x18\x04 \x01(\x04R\x07\x63han_id\x12\x1a\n\x08\x63\x61pacity\x18\x05 \x01(\x03R\x08\x63\x61pacity\x12$\n\rlocal_balance\x18\x06 \x01(\x03R\rlocal_balance\x12&\n\x0eremote_balance\x18\x07 \x01(\x03R\x0eremote_balance\x12\x1e\n\ncommit_fee\x18\x08 \x01(\x03R\ncommit_fee\x12$\n\rcommit_weight\x18\t \x01(\x03R\rcommit_weight\x12\x1e\n\nfee_per_kw\x18\n \x01(\x03R\nfee_per_kw\x12,\n\x11unsettled_balance\x18\x0b \x01(\x03R\x11unsettled_balance\x12\x30\n\x13total_satoshis_sent\x18\x0c \x01(\x03R\x13total_satoshis_sent\x12\x38\n\x17total_satoshis_received\x18\r \x01(\x03R\x17total_satoshis_received\x12 \n\x0bnum_updates\x18\x0e \x01(\x04R\x0bnum_updates\x12\x31\n\rpending_htlcs\x18\x0f \x03(\x0b\x32\x0b.lnrpc.HTLCR\rpending_htlcs\x12\x1c\n\tcsv_delay\x18\x10 \x01(\rR\tcsv_delay\x12\x18\n\x07private\x18\x11 \x01(\x08R\x07private\x12\x1c\n\tinitiator\x18\x12 \x01(\x08R\tinitiator\x12,\n\x11\x63han_status_flags\x18\x13 \x01(\tR\x11\x63han_status_flags\"l\n\x13ListChannelsRequest\x12\x13\n\x0b\x61\x63tive_only\x18\x01 \x01(\x08\x12\x15\n\rinactive_only\x18\x02 \x01(\x08\x12\x13\n\x0bpublic_only\x18\x03 \x01(\x08\x12\x14\n\x0cprivate_only\x18\x04 \x01(\x08\"B\n\x14ListChannelsResponse\x12*\n\x08\x63hannels\x18\x0b \x03(\x0b\x32\x0e.lnrpc.ChannelR\x08\x63hannels\"\xb6\x04\n\x13\x43hannelCloseSummary\x12$\n\rchannel_point\x18\x01 \x01(\tR\rchannel_point\x12\x18\n\x07\x63han_id\x18\x02 \x01(\x04R\x07\x63han_id\x12\x1e\n\nchain_hash\x18\x03 \x01(\tR\nchain_hash\x12(\n\x0f\x63losing_tx_hash\x18\x04 \x01(\tR\x0f\x63losing_tx_hash\x12$\n\rremote_pubkey\x18\x05 \x01(\tR\rremote_pubkey\x12\x1a\n\x08\x63\x61pacity\x18\x06 \x01(\x03R\x08\x63\x61pacity\x12\"\n\x0c\x63lose_height\x18\x07 \x01(\rR\x0c\x63lose_height\x12(\n\x0fsettled_balance\x18\x08 \x01(\x03R\x0fsettled_balance\x12\x30\n\x13time_locked_balance\x18\t \x01(\x03R\x13time_locked_balance\x12\x46\n\nclose_type\x18\n \x01(\x0e\x32&.lnrpc.ChannelCloseSummary.ClosureTypeR\nclose_type\"\x8a\x01\n\x0b\x43losureType\x12\x15\n\x11\x43OOPERATIVE_CLOSE\x10\x00\x12\x15\n\x11LOCAL_FORCE_CLOSE\x10\x01\x12\x16\n\x12REMOTE_FORCE_CLOSE\x10\x02\x12\x10\n\x0c\x42REACH_CLOSE\x10\x03\x12\x14\n\x10\x46UNDING_CANCELED\x10\x04\x12\r\n\tABANDONED\x10\x05\"\x94\x01\n\x15\x43losedChannelsRequest\x12\x13\n\x0b\x63ooperative\x18\x01 \x01(\x08\x12\x13\n\x0blocal_force\x18\x02 \x01(\x08\x12\x14\n\x0cremote_force\x18\x03 \x01(\x08\x12\x0e\n\x06\x62reach\x18\x04 \x01(\x08\x12\x18\n\x10\x66unding_canceled\x18\x05 \x01(\x08\x12\x11\n\tabandoned\x18\x06 \x01(\x08\"P\n\x16\x43losedChannelsResponse\x12\x36\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1a.lnrpc.ChannelCloseSummaryR\x08\x63hannels\"\xdf\x02\n\x04Peer\x12\x18\n\x07pub_key\x18\x01 \x01(\tR\x07pub_key\x12\x18\n\x07\x61\x64\x64ress\x18\x03 \x01(\tR\x07\x61\x64\x64ress\x12\x1e\n\nbytes_sent\x18\x04 \x01(\x04R\nbytes_sent\x12\x1e\n\nbytes_recv\x18\x05 \x01(\x04R\nbytes_recv\x12\x1a\n\x08sat_sent\x18\x06 \x01(\x03R\x08sat_sent\x12\x1a\n\x08sat_recv\x18\x07 \x01(\x03R\x08sat_recv\x12\x18\n\x07inbound\x18\x08 \x01(\x08R\x07inbound\x12\x1c\n\tping_time\x18\t \x01(\x03R\tping_time\x12\x32\n\tsync_type\x18\n \x01(\x0e\x32\x14.lnrpc.Peer.SyncTypeR\tsync_type\"?\n\x08SyncType\x12\x10\n\x0cUNKNOWN_SYNC\x10\x00\x12\x0f\n\x0b\x41\x43TIVE_SYNC\x10\x01\x12\x10\n\x0cPASSIVE_SYNC\x10\x02\"\x12\n\x10ListPeersRequest\"6\n\x11ListPeersResponse\x12!\n\x05peers\x18\x01 \x03(\x0b\x32\x0b.lnrpc.PeerR\x05peers\"\x10\n\x0eGetInfoRequest\"\xa7\x04\n\x0fGetInfoResponse\x12(\n\x0fidentity_pubkey\x18\x01 \x01(\tR\x0fidentity_pubkey\x12\x14\n\x05\x61lias\x18\x02 \x01(\tR\x05\x61lias\x12\x32\n\x14num_pending_channels\x18\x03 \x01(\rR\x14num_pending_channels\x12\x30\n\x13num_active_channels\x18\x04 \x01(\rR\x13num_active_channels\x12\x1c\n\tnum_peers\x18\x05 \x01(\rR\tnum_peers\x12\"\n\x0c\x62lock_height\x18\x06 \x01(\rR\x0c\x62lock_height\x12\x1e\n\nblock_hash\x18\x08 \x01(\tR\nblock_hash\x12(\n\x0fsynced_to_chain\x18\t \x01(\x08R\x0fsynced_to_chain\x12\x1c\n\x07testnet\x18\n \x01(\x08\x42\x02\x18\x01R\x07testnet\x12\x12\n\x04uris\x18\x0c \x03(\tR\x04uris\x12\x34\n\x15\x62\x65st_header_timestamp\x18\r \x01(\x03R\x15\x62\x65st_header_timestamp\x12\x18\n\x07version\x18\x0e \x01(\tR\x07version\x12\x34\n\x15num_inactive_channels\x18\x0f \x01(\rR\x15num_inactive_channels\x12$\n\x06\x63hains\x18\x10 \x03(\x0b\x32\x0c.lnrpc.ChainR\x06\x63hainsJ\x04\x08\x0b\x10\x0c\"7\n\x05\x43hain\x12\x14\n\x05\x63hain\x18\x01 \x01(\tR\x05\x63hain\x12\x18\n\x07network\x18\x02 \x01(\tR\x07network\"U\n\x12\x43onfirmationUpdate\x12\x11\n\tblock_sha\x18\x01 \x01(\x0c\x12\x14\n\x0c\x62lock_height\x18\x02 \x01(\x05\x12\x16\n\x0enum_confs_left\x18\x03 \x01(\r\"N\n\x11\x43hannelOpenUpdate\x12\x39\n\rchannel_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPointR\rchannel_point\"R\n\x12\x43hannelCloseUpdate\x12\"\n\x0c\x63losing_txid\x18\x01 \x01(\x0cR\x0c\x63losing_txid\x12\x18\n\x07success\x18\x02 \x01(\x08R\x07success\"{\n\x13\x43loseChannelRequest\x12*\n\rchannel_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\x12\x13\n\x0btarget_conf\x18\x03 \x01(\x05\x12\x14\n\x0csat_per_byte\x18\x04 \x01(\x03\"\x98\x01\n\x11\x43loseStatusUpdate\x12<\n\rclose_pending\x18\x01 \x01(\x0b\x32\x14.lnrpc.PendingUpdateH\x00R\rclose_pending\x12;\n\nchan_close\x18\x03 \x01(\x0b\x32\x19.lnrpc.ChannelCloseUpdateH\x00R\nchan_closeB\x08\n\x06update\"G\n\rPendingUpdate\x12\x12\n\x04txid\x18\x01 \x01(\x0cR\x04txid\x12\"\n\x0coutput_index\x18\x02 \x01(\rR\x0coutput_index\"\x99\x03\n\x12OpenChannelRequest\x12 \n\x0bnode_pubkey\x18\x02 \x01(\x0cR\x0bnode_pubkey\x12.\n\x12node_pubkey_string\x18\x03 \x01(\tR\x12node_pubkey_string\x12\x32\n\x14local_funding_amount\x18\x04 \x01(\x03R\x14local_funding_amount\x12\x1a\n\x08push_sat\x18\x05 \x01(\x03R\x08push_sat\x12\x13\n\x0btarget_conf\x18\x06 \x01(\x05\x12\x14\n\x0csat_per_byte\x18\x07 \x01(\x03\x12\x18\n\x07private\x18\x08 \x01(\x08R\x07private\x12$\n\rmin_htlc_msat\x18\t \x01(\x03R\rmin_htlc_msat\x12*\n\x10remote_csv_delay\x18\n \x01(\rR\x10remote_csv_delay\x12\x1c\n\tmin_confs\x18\x0b \x01(\x05R\tmin_confs\x12,\n\x11spend_unconfirmed\x18\x0c \x01(\x08R\x11spend_unconfirmed\"\x92\x01\n\x10OpenStatusUpdate\x12:\n\x0c\x63han_pending\x18\x01 \x01(\x0b\x32\x14.lnrpc.PendingUpdateH\x00R\x0c\x63han_pending\x12\x38\n\tchan_open\x18\x03 \x01(\x0b\x32\x18.lnrpc.ChannelOpenUpdateH\x00R\tchan_openB\x08\n\x06update\"\xcf\x01\n\x0bPendingHTLC\x12\x1a\n\x08incoming\x18\x01 \x01(\x08R\x08incoming\x12\x16\n\x06\x61mount\x18\x02 \x01(\x03R\x06\x61mount\x12\x1a\n\x08outpoint\x18\x03 \x01(\tR\x08outpoint\x12(\n\x0fmaturity_height\x18\x04 \x01(\rR\x0fmaturity_height\x12\x30\n\x13\x62locks_til_maturity\x18\x05 \x01(\x05R\x13\x62locks_til_maturity\x12\x14\n\x05stage\x18\x06 \x01(\rR\x05stage\"\x18\n\x16PendingChannelsRequest\"\xaa\x0c\n\x17PendingChannelsResponse\x12\x30\n\x13total_limbo_balance\x18\x01 \x01(\x03R\x13total_limbo_balance\x12g\n\x15pending_open_channels\x18\x02 \x03(\x0b\x32\x31.lnrpc.PendingChannelsResponse.PendingOpenChannelR\x15pending_open_channels\x12h\n\x18pending_closing_channels\x18\x03 \x03(\x0b\x32,.lnrpc.PendingChannelsResponse.ClosedChannelR\x18pending_closing_channels\x12y\n\x1epending_force_closing_channels\x18\x04 \x03(\x0b\x32\x31.lnrpc.PendingChannelsResponse.ForceClosedChannelR\x1epending_force_closing_channels\x12j\n\x16waiting_close_channels\x18\x05 \x03(\x0b\x32\x32.lnrpc.PendingChannelsResponse.WaitingCloseChannelR\x16waiting_close_channels\x1a\xca\x01\n\x0ePendingChannel\x12(\n\x0fremote_node_pub\x18\x01 \x01(\tR\x0fremote_node_pub\x12$\n\rchannel_point\x18\x02 \x01(\tR\rchannel_point\x12\x1a\n\x08\x63\x61pacity\x18\x03 \x01(\x03R\x08\x63\x61pacity\x12$\n\rlocal_balance\x18\x04 \x01(\x03R\rlocal_balance\x12&\n\x0eremote_balance\x18\x05 \x01(\x03R\x0eremote_balance\x1a\xf5\x01\n\x12PendingOpenChannel\x12G\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannelR\x07\x63hannel\x12\x30\n\x13\x63onfirmation_height\x18\x02 \x01(\rR\x13\x63onfirmation_height\x12\x1e\n\ncommit_fee\x18\x04 \x01(\x03R\ncommit_fee\x12$\n\rcommit_weight\x18\x05 \x01(\x03R\rcommit_weight\x12\x1e\n\nfee_per_kw\x18\x06 \x01(\x03R\nfee_per_kw\x1a{\n\x13WaitingCloseChannel\x12>\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannel\x12$\n\rlimbo_balance\x18\x02 \x01(\x03R\rlimbo_balance\x1as\n\rClosedChannel\x12>\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannel\x12\"\n\x0c\x63losing_txid\x18\x02 \x01(\tR\x0c\x63losing_txid\x1a\xeb\x02\n\x12\x46orceClosedChannel\x12G\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannelR\x07\x63hannel\x12\"\n\x0c\x63losing_txid\x18\x02 \x01(\tR\x0c\x63losing_txid\x12$\n\rlimbo_balance\x18\x03 \x01(\x03R\rlimbo_balance\x12(\n\x0fmaturity_height\x18\x04 \x01(\rR\x0fmaturity_height\x12\x30\n\x13\x62locks_til_maturity\x18\x05 \x01(\x05R\x13\x62locks_til_maturity\x12,\n\x11recovered_balance\x18\x06 \x01(\x03R\x11recovered_balance\x12\x38\n\rpending_htlcs\x18\x08 \x03(\x0b\x32\x12.lnrpc.PendingHTLCR\rpending_htlcs\"\x1a\n\x18\x43hannelEventSubscription\"\xb5\x03\n\x12\x43hannelEventUpdate\x12\x34\n\x0copen_channel\x18\x01 \x01(\x0b\x32\x0e.lnrpc.ChannelH\x00R\x0copen_channel\x12\x44\n\x0e\x63losed_channel\x18\x02 \x01(\x0b\x32\x1a.lnrpc.ChannelCloseSummaryH\x00R\x0e\x63losed_channel\x12=\n\x0e\x61\x63tive_channel\x18\x03 \x01(\x0b\x32\x13.lnrpc.ChannelPointH\x00R\x0e\x61\x63tive_channel\x12\x41\n\x10inactive_channel\x18\x04 \x01(\x0b\x32\x13.lnrpc.ChannelPointH\x00R\x10inactive_channel\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32$.lnrpc.ChannelEventUpdate.UpdateTypeR\x04type\"\\\n\nUpdateType\x12\x10\n\x0cOPEN_CHANNEL\x10\x00\x12\x12\n\x0e\x43LOSED_CHANNEL\x10\x01\x12\x12\n\x0e\x41\x43TIVE_CHANNEL\x10\x02\x12\x14\n\x10INACTIVE_CHANNEL\x10\x03\x42\t\n\x07\x63hannel\"\x16\n\x14WalletBalanceRequest\"\x9d\x01\n\x15WalletBalanceResponse\x12$\n\rtotal_balance\x18\x01 \x01(\x03R\rtotal_balance\x12,\n\x11\x63onfirmed_balance\x18\x02 \x01(\x03R\x11\x63onfirmed_balance\x12\x30\n\x13unconfirmed_balance\x18\x03 \x01(\x03R\x13unconfirmed_balance\"\x17\n\x15\x43hannelBalanceRequest\"f\n\x16\x43hannelBalanceResponse\x12\x18\n\x07\x62\x61lance\x18\x01 \x01(\x03R\x07\x62\x61lance\x12\x32\n\x14pending_open_balance\x18\x02 \x01(\x03R\x14pending_open_balance\"\xe2\x01\n\x12QueryRoutesRequest\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\x12\x0b\n\x03\x61mt\x18\x02 \x01(\x03\x12\x16\n\nnum_routes\x18\x03 \x01(\x05\x42\x02\x18\x01\x12\x18\n\x10\x66inal_cltv_delta\x18\x04 \x01(\x05\x12\"\n\tfee_limit\x18\x05 \x01(\x0b\x32\x0f.lnrpc.FeeLimit\x12\x15\n\rignored_nodes\x18\x06 \x03(\x0c\x12)\n\rignored_edges\x18\x07 \x03(\x0b\x32\x12.lnrpc.EdgeLocator\x12\x16\n\x0esource_pub_key\x18\x08 \x01(\t\"<\n\x0b\x45\x64geLocator\x12\x12\n\nchannel_id\x18\x01 \x01(\x04\x12\x19\n\x11\x64irection_reverse\x18\x02 \x01(\x08\";\n\x13QueryRoutesResponse\x12$\n\x06routes\x18\x01 \x03(\x0b\x32\x0c.lnrpc.RouteR\x06routes\"\x87\x02\n\x03Hop\x12\x18\n\x07\x63han_id\x18\x01 \x01(\x04R\x07\x63han_id\x12$\n\rchan_capacity\x18\x02 \x01(\x03R\rchan_capacity\x12*\n\x0e\x61mt_to_forward\x18\x03 \x01(\x03\x42\x02\x18\x01R\x0e\x61mt_to_forward\x12\x14\n\x03\x66\x65\x65\x18\x04 \x01(\x03\x42\x02\x18\x01R\x03\x66\x65\x65\x12\x16\n\x06\x65xpiry\x18\x05 \x01(\rR\x06\x65xpiry\x12\x30\n\x13\x61mt_to_forward_msat\x18\x06 \x01(\x03R\x13\x61mt_to_forward_msat\x12\x1a\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x03R\x08\x66\x65\x65_msat\x12\x18\n\x07pub_key\x18\x08 \x01(\tR\x07pub_key\"\xe9\x01\n\x05Route\x12(\n\x0ftotal_time_lock\x18\x01 \x01(\rR\x0ftotal_time_lock\x12\"\n\ntotal_fees\x18\x02 \x01(\x03\x42\x02\x18\x01R\ntotal_fees\x12 \n\ttotal_amt\x18\x03 \x01(\x03\x42\x02\x18\x01R\ttotal_amt\x12\x1e\n\x04hops\x18\x04 \x03(\x0b\x32\n.lnrpc.HopR\x04hops\x12(\n\x0ftotal_fees_msat\x18\x05 \x01(\x03R\x0ftotal_fees_msat\x12&\n\x0etotal_amt_msat\x18\x06 \x01(\x03R\x0etotal_amt_msat\"\"\n\x0fNodeInfoRequest\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\"\x80\x01\n\x08NodeInfo\x12(\n\x04node\x18\x01 \x01(\x0b\x32\x14.lnrpc.LightningNodeR\x04node\x12\"\n\x0cnum_channels\x18\x02 \x01(\rR\x0cnum_channels\x12&\n\x0etotal_capacity\x18\x03 \x01(\x03R\x0etotal_capacity\"\xa9\x01\n\rLightningNode\x12 \n\x0blast_update\x18\x01 \x01(\rR\x0blast_update\x12\x18\n\x07pub_key\x18\x02 \x01(\tR\x07pub_key\x12\x14\n\x05\x61lias\x18\x03 \x01(\tR\x05\x61lias\x12\x30\n\taddresses\x18\x04 \x03(\x0b\x32\x12.lnrpc.NodeAddressR\taddresses\x12\x14\n\x05\x63olor\x18\x05 \x01(\tR\x05\x63olor\";\n\x0bNodeAddress\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x12\n\x04\x61\x64\x64r\x18\x02 \x01(\tR\x04\x61\x64\x64r\"\xef\x01\n\rRoutingPolicy\x12(\n\x0ftime_lock_delta\x18\x01 \x01(\rR\x0ftime_lock_delta\x12\x1a\n\x08min_htlc\x18\x02 \x01(\x03R\x08min_htlc\x12$\n\rfee_base_msat\x18\x03 \x01(\x03R\rfee_base_msat\x12\x30\n\x13\x66\x65\x65_rate_milli_msat\x18\x04 \x01(\x03R\x13\x66\x65\x65_rate_milli_msat\x12\x1a\n\x08\x64isabled\x18\x05 \x01(\x08R\x08\x64isabled\x12$\n\rmax_htlc_msat\x18\x06 \x01(\x04R\rmax_htlc_msat\"\xbb\x02\n\x0b\x43hannelEdge\x12\x1e\n\nchannel_id\x18\x01 \x01(\x04R\nchannel_id\x12\x1e\n\nchan_point\x18\x02 \x01(\tR\nchan_point\x12 \n\x0blast_update\x18\x03 \x01(\rR\x0blast_update\x12\x1c\n\tnode1_pub\x18\x04 \x01(\tR\tnode1_pub\x12\x1c\n\tnode2_pub\x18\x05 \x01(\tR\tnode2_pub\x12\x1a\n\x08\x63\x61pacity\x18\x06 \x01(\x03R\x08\x63\x61pacity\x12\x38\n\x0cnode1_policy\x18\x07 \x01(\x0b\x32\x14.lnrpc.RoutingPolicyR\x0cnode1_policy\x12\x38\n\x0cnode2_policy\x18\x08 \x01(\x0b\x32\x14.lnrpc.RoutingPolicyR\x0cnode2_policy\"G\n\x13\x43hannelGraphRequest\x12\x30\n\x13include_unannounced\x18\x01 \x01(\x08R\x13include_unannounced\"d\n\x0c\x43hannelGraph\x12*\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.lnrpc.LightningNodeR\x05nodes\x12(\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x12.lnrpc.ChannelEdgeR\x05\x65\x64ges\"\"\n\x0f\x43hanInfoRequest\x12\x0f\n\x07\x63han_id\x18\x01 \x01(\x04\"\x14\n\x12NetworkInfoRequest\"\xbd\x03\n\x0bNetworkInfo\x12&\n\x0egraph_diameter\x18\x01 \x01(\rR\x0egraph_diameter\x12&\n\x0e\x61vg_out_degree\x18\x02 \x01(\x01R\x0e\x61vg_out_degree\x12&\n\x0emax_out_degree\x18\x03 \x01(\rR\x0emax_out_degree\x12\x1c\n\tnum_nodes\x18\x04 \x01(\rR\tnum_nodes\x12\"\n\x0cnum_channels\x18\x05 \x01(\rR\x0cnum_channels\x12\x36\n\x16total_network_capacity\x18\x06 \x01(\x03R\x16total_network_capacity\x12*\n\x10\x61vg_channel_size\x18\x07 \x01(\x01R\x10\x61vg_channel_size\x12*\n\x10min_channel_size\x18\x08 \x01(\x03R\x10min_channel_size\x12*\n\x10max_channel_size\x18\t \x01(\x03R\x10max_channel_size\x12\x38\n\x17median_channel_size_sat\x18\n \x01(\x03R\x17median_channel_size_sat\"\r\n\x0bStopRequest\"\x0e\n\x0cStopResponse\"\x1b\n\x19GraphTopologySubscription\"\xa3\x01\n\x13GraphTopologyUpdate\x12\'\n\x0cnode_updates\x18\x01 \x03(\x0b\x32\x11.lnrpc.NodeUpdate\x12\x31\n\x0f\x63hannel_updates\x18\x02 \x03(\x0b\x32\x18.lnrpc.ChannelEdgeUpdate\x12\x30\n\x0c\x63losed_chans\x18\x03 \x03(\x0b\x32\x1a.lnrpc.ClosedChannelUpdate\"]\n\nNodeUpdate\x12\x11\n\taddresses\x18\x01 \x03(\t\x12\x14\n\x0cidentity_key\x18\x02 \x01(\t\x12\x17\n\x0fglobal_features\x18\x03 \x01(\x0c\x12\r\n\x05\x61lias\x18\x04 \x01(\t\"\xc0\x01\n\x11\x43hannelEdgeUpdate\x12\x0f\n\x07\x63han_id\x18\x01 \x01(\x04\x12\'\n\nchan_point\x18\x02 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\x03\x12,\n\x0erouting_policy\x18\x04 \x01(\x0b\x32\x14.lnrpc.RoutingPolicy\x12\x18\n\x10\x61\x64vertising_node\x18\x05 \x01(\t\x12\x17\n\x0f\x63onnecting_node\x18\x06 \x01(\t\"x\n\x13\x43losedChannelUpdate\x12\x0f\n\x07\x63han_id\x18\x01 \x01(\x04\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x03\x12\x15\n\rclosed_height\x18\x03 \x01(\r\x12\'\n\nchan_point\x18\x04 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\"\xd3\x01\n\x07HopHint\x12\x18\n\x07node_id\x18\x01 \x01(\tR\x07node_id\x12\x18\n\x07\x63han_id\x18\x02 \x01(\x04R\x07\x63han_id\x12$\n\rfee_base_msat\x18\x03 \x01(\rR\rfee_base_msat\x12@\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\rR\x1b\x66\x65\x65_proportional_millionths\x12,\n\x11\x63ltv_expiry_delta\x18\x05 \x01(\rR\x11\x63ltv_expiry_delta\"9\n\tRouteHint\x12,\n\thop_hints\x18\x01 \x03(\x0b\x32\x0e.lnrpc.HopHintR\thop_hints\"\x95\x06\n\x07Invoice\x12\x12\n\x04memo\x18\x01 \x01(\tR\x04memo\x12\x1c\n\x07receipt\x18\x02 \x01(\x0c\x42\x02\x18\x01R\x07receipt\x12\x1e\n\nr_preimage\x18\x03 \x01(\x0cR\nr_preimage\x12\x16\n\x06r_hash\x18\x04 \x01(\x0cR\x06r_hash\x12\x14\n\x05value\x18\x05 \x01(\x03R\x05value\x12\x1c\n\x07settled\x18\x06 \x01(\x08\x42\x02\x18\x01R\x07settled\x12$\n\rcreation_date\x18\x07 \x01(\x03R\rcreation_date\x12 \n\x0bsettle_date\x18\x08 \x01(\x03R\x0bsettle_date\x12(\n\x0fpayment_request\x18\t \x01(\tR\x0fpayment_request\x12*\n\x10\x64\x65scription_hash\x18\n \x01(\x0cR\x10\x64\x65scription_hash\x12\x16\n\x06\x65xpiry\x18\x0b \x01(\x03R\x06\x65xpiry\x12$\n\rfallback_addr\x18\x0c \x01(\tR\rfallback_addr\x12 \n\x0b\x63ltv_expiry\x18\r \x01(\x04R\x0b\x63ltv_expiry\x12\x32\n\x0broute_hints\x18\x0e \x03(\x0b\x32\x10.lnrpc.RouteHintR\x0broute_hints\x12\x18\n\x07private\x18\x0f \x01(\x08R\x07private\x12\x1c\n\tadd_index\x18\x10 \x01(\x04R\tadd_index\x12\"\n\x0csettle_index\x18\x11 \x01(\x04R\x0csettle_index\x12\x1e\n\x08\x61mt_paid\x18\x12 \x01(\x03\x42\x02\x18\x01R\x08\x61mt_paid\x12\"\n\x0c\x61mt_paid_sat\x18\x13 \x01(\x03R\x0c\x61mt_paid_sat\x12$\n\ramt_paid_msat\x18\x14 \x01(\x03R\ramt_paid_msat\x12\x31\n\x05state\x18\x15 \x01(\x0e\x32\x1b.lnrpc.Invoice.InvoiceStateR\x05state\"A\n\x0cInvoiceState\x12\x08\n\x04OPEN\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x0c\n\x08\x43\x41NCELED\x10\x02\x12\x0c\n\x08\x41\x43\x43\x45PTED\x10\x03\"t\n\x12\x41\x64\x64InvoiceResponse\x12\x16\n\x06r_hash\x18\x01 \x01(\x0cR\x06r_hash\x12(\n\x0fpayment_request\x18\x02 \x01(\tR\x0fpayment_request\x12\x1c\n\tadd_index\x18\x10 \x01(\x04R\tadd_index\"E\n\x0bPaymentHash\x12\x1e\n\nr_hash_str\x18\x01 \x01(\tR\nr_hash_str\x12\x16\n\x06r_hash\x18\x02 \x01(\x0cR\x06r_hash\"\xa4\x01\n\x12ListInvoiceRequest\x12\"\n\x0cpending_only\x18\x01 \x01(\x08R\x0cpending_only\x12\"\n\x0cindex_offset\x18\x04 \x01(\x04R\x0cindex_offset\x12*\n\x10num_max_invoices\x18\x05 \x01(\x04R\x10num_max_invoices\x12\x1a\n\x08reversed\x18\x06 \x01(\x08R\x08reversed\"\x9f\x01\n\x13ListInvoiceResponse\x12*\n\x08invoices\x18\x01 \x03(\x0b\x32\x0e.lnrpc.InvoiceR\x08invoices\x12,\n\x11last_index_offset\x18\x02 \x01(\x04R\x11last_index_offset\x12.\n\x12\x66irst_index_offset\x18\x03 \x01(\x04R\x12\x66irst_index_offset\"W\n\x13InvoiceSubscription\x12\x1c\n\tadd_index\x18\x01 \x01(\x04R\tadd_index\x12\"\n\x0csettle_index\x18\x02 \x01(\x04R\x0csettle_index\"\xfd\x01\n\x07Payment\x12\"\n\x0cpayment_hash\x18\x01 \x01(\tR\x0cpayment_hash\x12\x18\n\x05value\x18\x02 \x01(\x03\x42\x02\x18\x01R\x05value\x12$\n\rcreation_date\x18\x03 \x01(\x03R\rcreation_date\x12\x12\n\x04path\x18\x04 \x03(\tR\x04path\x12\x10\n\x03\x66\x65\x65\x18\x05 \x01(\x03R\x03\x66\x65\x65\x12*\n\x10payment_preimage\x18\x06 \x01(\tR\x10payment_preimage\x12\x1c\n\tvalue_sat\x18\x07 \x01(\x03R\tvalue_sat\x12\x1e\n\nvalue_msat\x18\x08 \x01(\x03R\nvalue_msat\"\x15\n\x13ListPaymentsRequest\"B\n\x14ListPaymentsResponse\x12*\n\x08payments\x18\x01 \x03(\x0b\x32\x0e.lnrpc.PaymentR\x08payments\"\x1a\n\x18\x44\x65leteAllPaymentsRequest\"\x1b\n\x19\x44\x65leteAllPaymentsResponse\"C\n\x15\x41\x62\x61ndonChannelRequest\x12*\n\rchannel_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\"\x18\n\x16\x41\x62\x61ndonChannelResponse\"5\n\x11\x44\x65\x62ugLevelRequest\x12\x0c\n\x04show\x18\x01 \x01(\x08\x12\x12\n\nlevel_spec\x18\x02 \x01(\t\"6\n\x12\x44\x65\x62ugLevelResponse\x12 \n\x0bsub_systems\x18\x01 \x01(\tR\x0bsub_systems\"\x1f\n\x0cPayReqString\x12\x0f\n\x07pay_req\x18\x01 \x01(\t\"\xf2\x02\n\x06PayReq\x12 \n\x0b\x64\x65stination\x18\x01 \x01(\tR\x0b\x64\x65stination\x12\"\n\x0cpayment_hash\x18\x02 \x01(\tR\x0cpayment_hash\x12\"\n\x0cnum_satoshis\x18\x03 \x01(\x03R\x0cnum_satoshis\x12\x1c\n\ttimestamp\x18\x04 \x01(\x03R\ttimestamp\x12\x16\n\x06\x65xpiry\x18\x05 \x01(\x03R\x06\x65xpiry\x12 \n\x0b\x64\x65scription\x18\x06 \x01(\tR\x0b\x64\x65scription\x12*\n\x10\x64\x65scription_hash\x18\x07 \x01(\tR\x10\x64\x65scription_hash\x12$\n\rfallback_addr\x18\x08 \x01(\tR\rfallback_addr\x12 \n\x0b\x63ltv_expiry\x18\t \x01(\x03R\x0b\x63ltv_expiry\x12\x32\n\x0broute_hints\x18\n \x03(\x0b\x32\x10.lnrpc.RouteHintR\x0broute_hints\"\x12\n\x10\x46\x65\x65ReportRequest\"\x99\x01\n\x10\x43hannelFeeReport\x12!\n\nchan_point\x18\x01 \x01(\tR\rchannel_point\x12$\n\rbase_fee_msat\x18\x02 \x01(\x03R\rbase_fee_msat\x12 \n\x0b\x66\x65\x65_per_mil\x18\x03 \x01(\x03R\x0b\x66\x65\x65_per_mil\x12\x1a\n\x08\x66\x65\x65_rate\x18\x04 \x01(\x01R\x08\x66\x65\x65_rate\"\xbc\x01\n\x11\x46\x65\x65ReportResponse\x12;\n\x0c\x63hannel_fees\x18\x01 \x03(\x0b\x32\x17.lnrpc.ChannelFeeReportR\x0c\x63hannel_fees\x12 \n\x0b\x64\x61y_fee_sum\x18\x02 \x01(\x04R\x0b\x64\x61y_fee_sum\x12\"\n\x0cweek_fee_sum\x18\x03 \x01(\x04R\x0cweek_fee_sum\x12$\n\rmonth_fee_sum\x18\x04 \x01(\x04R\rmonth_fee_sum\"\xdb\x01\n\x13PolicyUpdateRequest\x12\x18\n\x06global\x18\x01 \x01(\x08H\x00R\x06global\x12\x35\n\nchan_point\x18\x02 \x01(\x0b\x32\x13.lnrpc.ChannelPointH\x00R\nchan_point\x12$\n\rbase_fee_msat\x18\x03 \x01(\x03R\rbase_fee_msat\x12\x1a\n\x08\x66\x65\x65_rate\x18\x04 \x01(\x01R\x08\x66\x65\x65_rate\x12(\n\x0ftime_lock_delta\x18\x05 \x01(\rR\x0ftime_lock_deltaB\x07\n\x05scope\"\x16\n\x14PolicyUpdateResponse\"\xa2\x01\n\x18\x46orwardingHistoryRequest\x12\x1e\n\nstart_time\x18\x01 \x01(\x04R\nstart_time\x12\x1a\n\x08\x65nd_time\x18\x02 \x01(\x04R\x08\x65nd_time\x12\"\n\x0cindex_offset\x18\x03 \x01(\rR\x0cindex_offset\x12&\n\x0enum_max_events\x18\x04 \x01(\rR\x0enum_max_events\"\xd1\x01\n\x0f\x46orwardingEvent\x12\x1c\n\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12\x1e\n\nchan_id_in\x18\x02 \x01(\x04R\nchan_id_in\x12 \n\x0b\x63han_id_out\x18\x04 \x01(\x04R\x0b\x63han_id_out\x12\x16\n\x06\x61mt_in\x18\x05 \x01(\x04R\x06\x61mt_in\x12\x18\n\x07\x61mt_out\x18\x06 \x01(\x04R\x07\x61mt_out\x12\x10\n\x03\x66\x65\x65\x18\x07 \x01(\x04R\x03\x66\x65\x65\x12\x1a\n\x08\x66\x65\x65_msat\x18\x08 \x01(\x04R\x08\x66\x65\x65_msat\"\x8f\x01\n\x19\x46orwardingHistoryResponse\x12\x44\n\x11\x66orwarding_events\x18\x01 \x03(\x0b\x32\x16.lnrpc.ForwardingEventR\x11\x66orwarding_events\x12,\n\x11last_offset_index\x18\x02 \x01(\rR\x11last_offset_index\"E\n\x1a\x45xportChannelBackupRequest\x12\'\n\nchan_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\"f\n\rChannelBackup\x12\x33\n\nchan_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPointR\nchan_point\x12 \n\x0b\x63han_backup\x18\x02 \x01(\x0cR\x0b\x63han_backup\"v\n\x0fMultiChanBackup\x12\x35\n\x0b\x63han_points\x18\x01 \x03(\x0b\x32\x13.lnrpc.ChannelPointR\x0b\x63han_points\x12,\n\x11multi_chan_backup\x18\x02 \x01(\x0cR\x11multi_chan_backup\"\x19\n\x17\x43hanBackupExportRequest\"\xa3\x01\n\x12\x43hanBackupSnapshot\x12G\n\x13single_chan_backups\x18\x01 \x01(\x0b\x32\x15.lnrpc.ChannelBackupsR\x13single_chan_backups\x12\x44\n\x11multi_chan_backup\x18\x02 \x01(\x0b\x32\x16.lnrpc.MultiChanBackupR\x11multi_chan_backup\"J\n\x0e\x43hannelBackups\x12\x38\n\x0c\x63han_backups\x18\x01 \x03(\x0b\x32\x14.lnrpc.ChannelBackupR\x0c\x63han_backups\"\x91\x01\n\x18RestoreChanBackupRequest\x12;\n\x0c\x63han_backups\x18\x01 \x01(\x0b\x32\x15.lnrpc.ChannelBackupsH\x00R\x0c\x63han_backups\x12.\n\x11multi_chan_backup\x18\x02 \x01(\x0cH\x00R\x11multi_chan_backupB\x08\n\x06\x62\x61\x63kup\"\x17\n\x15RestoreBackupResponse\"\x1b\n\x19\x43hannelBackupSubscription\"\x1a\n\x18VerifyChanBackupResponse*}\n\x0b\x41\x64\x64ressType\x12\x17\n\x13WITNESS_PUBKEY_HASH\x10\x00\x12\x16\n\x12NESTED_PUBKEY_HASH\x10\x01\x12\x1e\n\x1aUNUSED_WITNESS_PUBKEY_HASH\x10\x02\x12\x1d\n\x19UNUSED_NESTED_PUBKEY_HASH\x10\x03\x32\x91\x03\n\x0eWalletUnlocker\x12M\n\x07GenSeed\x12\x15.lnrpc.GenSeedRequest\x1a\x16.lnrpc.GenSeedResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/v1/genseed\x12\\\n\nInitWallet\x12\x18.lnrpc.InitWalletRequest\x1a\x19.lnrpc.InitWalletResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/initwallet:\x01*\x12\x64\n\x0cUnlockWallet\x12\x1a.lnrpc.UnlockWalletRequest\x1a\x1b.lnrpc.UnlockWalletResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/unlockwallet:\x01*\x12l\n\x0e\x43hangePassword\x12\x1c.lnrpc.ChangePasswordRequest\x1a\x1d.lnrpc.ChangePasswordResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\"\x12/v1/changepassword:\x01*2\x96&\n\tLightning\x12j\n\rWalletBalance\x12\x1b.lnrpc.WalletBalanceRequest\x1a\x1c.lnrpc.WalletBalanceResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v1/balance/blockchain\x12k\n\x0e\x43hannelBalance\x12\x1c.lnrpc.ChannelBalanceRequest\x1a\x1d.lnrpc.ChannelBalanceResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v1/balance/channels\x12\x65\n\x0fGetTransactions\x12\x1d.lnrpc.GetTransactionsRequest\x1a\x19.lnrpc.TransactionDetails\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/v1/transactions\x12\x62\n\x0b\x45stimateFee\x12\x19.lnrpc.EstimateFeeRequest\x1a\x1a.lnrpc.EstimateFeeResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v1/transactions/fee\x12[\n\tSendCoins\x12\x17.lnrpc.SendCoinsRequest\x1a\x18.lnrpc.SendCoinsResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/transactions:\x01*\x12W\n\x0bListUnspent\x12\x19.lnrpc.ListUnspentRequest\x1a\x1a.lnrpc.ListUnspentResponse\"\x11\x82\xd3\xe4\x93\x02\x0b\x12\t/v1/utxos\x12L\n\x15SubscribeTransactions\x12\x1d.lnrpc.GetTransactionsRequest\x1a\x12.lnrpc.Transaction0\x01\x12;\n\x08SendMany\x12\x16.lnrpc.SendManyRequest\x1a\x17.lnrpc.SendManyResponse\x12Y\n\nNewAddress\x12\x18.lnrpc.NewAddressRequest\x1a\x19.lnrpc.NewAddressResponse\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v1/newaddress\x12`\n\x0bSignMessage\x12\x19.lnrpc.SignMessageRequest\x1a\x1a.lnrpc.SignMessageResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\"\x0f/v1/signmessage:\x01*\x12h\n\rVerifyMessage\x12\x1b.lnrpc.VerifyMessageRequest\x1a\x1c.lnrpc.VerifyMessageResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/verifymessage:\x01*\x12Z\n\x0b\x43onnectPeer\x12\x19.lnrpc.ConnectPeerRequest\x1a\x1a.lnrpc.ConnectPeerResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\"\t/v1/peers:\x01*\x12j\n\x0e\x44isconnectPeer\x12\x1c.lnrpc.DisconnectPeerRequest\x1a\x1d.lnrpc.DisconnectPeerResponse\"\x1b\x82\xd3\xe4\x93\x02\x15*\x13/v1/peers/{pub_key}\x12Q\n\tListPeers\x12\x17.lnrpc.ListPeersRequest\x1a\x18.lnrpc.ListPeersResponse\"\x11\x82\xd3\xe4\x93\x02\x0b\x12\t/v1/peers\x12M\n\x07GetInfo\x12\x15.lnrpc.GetInfoRequest\x1a\x16.lnrpc.GetInfoResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/v1/getinfo\x12n\n\x0fPendingChannels\x12\x1d.lnrpc.PendingChannelsRequest\x1a\x1e.lnrpc.PendingChannelsResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v1/channels/pending\x12]\n\x0cListChannels\x12\x1a.lnrpc.ListChannelsRequest\x1a\x1b.lnrpc.ListChannelsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v1/channels\x12V\n\x16SubscribeChannelEvents\x12\x1f.lnrpc.ChannelEventSubscription\x1a\x19.lnrpc.ChannelEventUpdate0\x01\x12j\n\x0e\x43losedChannels\x12\x1c.lnrpc.ClosedChannelsRequest\x1a\x1d.lnrpc.ClosedChannelsResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/v1/channels/closed\x12Z\n\x0fOpenChannelSync\x12\x19.lnrpc.OpenChannelRequest\x1a\x13.lnrpc.ChannelPoint\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v1/channels:\x01*\x12\x43\n\x0bOpenChannel\x12\x19.lnrpc.OpenChannelRequest\x1a\x17.lnrpc.OpenStatusUpdate0\x01\x12\x9a\x01\n\x0c\x43loseChannel\x12\x1a.lnrpc.CloseChannelRequest\x1a\x18.lnrpc.CloseStatusUpdate\"R\x82\xd3\xe4\x93\x02L*J/v1/channels/{channel_point.funding_txid_str}/{channel_point.output_index}0\x01\x12\xa9\x01\n\x0e\x41\x62\x61ndonChannel\x12\x1c.lnrpc.AbandonChannelRequest\x1a\x1d.lnrpc.AbandonChannelResponse\"Z\x82\xd3\xe4\x93\x02T*R/v1/channels/abandon/{channel_point.funding_txid_str}/{channel_point.output_index}\x12:\n\x0bSendPayment\x12\x12.lnrpc.SendRequest\x1a\x13.lnrpc.SendResponse(\x01\x30\x01\x12`\n\x0fSendPaymentSync\x12\x12.lnrpc.SendRequest\x1a\x13.lnrpc.SendResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/channels/transactions:\x01*\x12\x41\n\x0bSendToRoute\x12\x19.lnrpc.SendToRouteRequest\x1a\x13.lnrpc.SendResponse(\x01\x30\x01\x12m\n\x0fSendToRouteSync\x12\x19.lnrpc.SendToRouteRequest\x1a\x13.lnrpc.SendResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/channels/transactions/route:\x01*\x12P\n\nAddInvoice\x12\x0e.lnrpc.Invoice\x1a\x19.lnrpc.AddInvoiceResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v1/invoices:\x01*\x12[\n\x0cListInvoices\x12\x19.lnrpc.ListInvoiceRequest\x1a\x1a.lnrpc.ListInvoiceResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v1/invoices\x12U\n\rLookupInvoice\x12\x12.lnrpc.PaymentHash\x1a\x0e.lnrpc.Invoice\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/invoice/{r_hash_str}\x12\x61\n\x11SubscribeInvoices\x12\x1a.lnrpc.InvoiceSubscription\x1a\x0e.lnrpc.Invoice\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v1/invoices/subscribe0\x01\x12P\n\x0c\x44\x65\x63odePayReq\x12\x13.lnrpc.PayReqString\x1a\r.lnrpc.PayReq\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v1/payreq/{pay_req}\x12]\n\x0cListPayments\x12\x1a.lnrpc.ListPaymentsRequest\x1a\x1b.lnrpc.ListPaymentsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v1/payments\x12l\n\x11\x44\x65leteAllPayments\x12\x1f.lnrpc.DeleteAllPaymentsRequest\x1a .lnrpc.DeleteAllPaymentsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e*\x0c/v1/payments\x12S\n\rDescribeGraph\x12\x1a.lnrpc.ChannelGraphRequest\x1a\x13.lnrpc.ChannelGraph\"\x11\x82\xd3\xe4\x93\x02\x0b\x12\t/v1/graph\x12[\n\x0bGetChanInfo\x12\x16.lnrpc.ChanInfoRequest\x1a\x12.lnrpc.ChannelEdge\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/graph/edge/{chan_id}\x12X\n\x0bGetNodeInfo\x12\x16.lnrpc.NodeInfoRequest\x1a\x0f.lnrpc.NodeInfo\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/graph/node/{pub_key}\x12n\n\x0bQueryRoutes\x12\x19.lnrpc.QueryRoutesRequest\x1a\x1a.lnrpc.QueryRoutesResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v1/graph/routes/{pub_key}/{amt}\x12W\n\x0eGetNetworkInfo\x12\x19.lnrpc.NetworkInfoRequest\x1a\x12.lnrpc.NetworkInfo\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v1/graph/info\x12\x35\n\nStopDaemon\x12\x12.lnrpc.StopRequest\x1a\x13.lnrpc.StopResponse\x12W\n\x15SubscribeChannelGraph\x12 .lnrpc.GraphTopologySubscription\x1a\x1a.lnrpc.GraphTopologyUpdate0\x01\x12\x41\n\nDebugLevel\x12\x18.lnrpc.DebugLevelRequest\x1a\x19.lnrpc.DebugLevelResponse\x12P\n\tFeeReport\x12\x17.lnrpc.FeeReportRequest\x1a\x18.lnrpc.FeeReportResponse\"\x10\x82\xd3\xe4\x93\x02\n\x12\x08/v1/fees\x12i\n\x13UpdateChannelPolicy\x12\x1a.lnrpc.PolicyUpdateRequest\x1a\x1b.lnrpc.PolicyUpdateResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/chanpolicy:\x01*\x12m\n\x11\x46orwardingHistory\x12\x1f.lnrpc.ForwardingHistoryRequest\x1a .lnrpc.ForwardingHistoryResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/v1/switch:\x01*\x12\xa3\x01\n\x13\x45xportChannelBackup\x12!.lnrpc.ExportChannelBackupRequest\x1a\x14.lnrpc.ChannelBackup\"S\x82\xd3\xe4\x93\x02M\x12K/v1/channels/backup/{chan_point.funding_txid_str}/{chan_point.output_index}\x12q\n\x17\x45xportAllChannelBackups\x12\x1e.lnrpc.ChanBackupExportRequest\x1a\x19.lnrpc.ChanBackupSnapshot\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/v1/channels/backup\x12u\n\x10VerifyChanBackup\x12\x19.lnrpc.ChanBackupSnapshot\x1a\x1f.lnrpc.VerifyChanBackupResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/channels/backup/verify:\x01*\x12~\n\x15RestoreChannelBackups\x12\x1f.lnrpc.RestoreChanBackupRequest\x1a\x1c.lnrpc.RestoreBackupResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/channels/backup/restore:\x01*\x12Z\n\x17SubscribeChannelBackups\x12 .lnrpc.ChannelBackupSubscription\x1a\x19.lnrpc.ChanBackupSnapshot\"\x00\x30\x01\x42\'Z%github.com/lightningnetwork/lnd/lnrpcb\x06proto3')
+  serialized_pb=_b('\n\trpc.proto\x12\x05lnrpc\x1a\x1cgoogle/api/annotations.proto\"A\n\x0eGenSeedRequest\x12\x19\n\x11\x61\x65zeed_passphrase\x18\x01 \x01(\x0c\x12\x14\n\x0cseed_entropy\x18\x02 \x01(\x0c\"H\n\x0fGenSeedResponse\x12\x1c\n\x14\x63ipher_seed_mnemonic\x18\x01 \x03(\t\x12\x17\n\x0f\x65nciphered_seed\x18\x02 \x01(\x0c\"\xb2\x01\n\x11InitWalletRequest\x12\x17\n\x0fwallet_password\x18\x01 \x01(\x0c\x12\x1c\n\x14\x63ipher_seed_mnemonic\x18\x02 \x03(\t\x12\x19\n\x11\x61\x65zeed_passphrase\x18\x03 \x01(\x0c\x12\x17\n\x0frecovery_window\x18\x04 \x01(\x05\x12\x32\n\x0f\x63hannel_backups\x18\x05 \x01(\x0b\x32\x19.lnrpc.ChanBackupSnapshot\"\x14\n\x12InitWalletResponse\"{\n\x13UnlockWalletRequest\x12\x17\n\x0fwallet_password\x18\x01 \x01(\x0c\x12\x17\n\x0frecovery_window\x18\x02 \x01(\x05\x12\x32\n\x0f\x63hannel_backups\x18\x03 \x01(\x0b\x32\x19.lnrpc.ChanBackupSnapshot\"\x16\n\x14UnlockWalletResponse\"G\n\x15\x43hangePasswordRequest\x12\x18\n\x10\x63urrent_password\x18\x01 \x01(\x0c\x12\x14\n\x0cnew_password\x18\x02 \x01(\x0c\"\x18\n\x16\x43hangePasswordResponse\"\xe1\x01\n\x04Utxo\x12.\n\x04type\x18\x01 \x01(\x0e\x32\x12.lnrpc.AddressTypeR\x0c\x61\x64\x64ress_type\x12\x18\n\x07\x61\x64\x64ress\x18\x02 \x01(\tR\x07\x61\x64\x64ress\x12\x1e\n\namount_sat\x18\x03 \x01(\x03R\namount_sat\x12\x1c\n\tpk_script\x18\x04 \x01(\tR\tpk_script\x12+\n\x08outpoint\x18\x05 \x01(\x0b\x32\x0f.lnrpc.OutPointR\x08outpoint\x12$\n\rconfirmations\x18\x06 \x01(\x03R\rconfirmations\"\xb9\x02\n\x0bTransaction\x12\x18\n\x07tx_hash\x18\x01 \x01(\tR\x07tx_hash\x12\x16\n\x06\x61mount\x18\x02 \x01(\x03R\x06\x61mount\x12,\n\x11num_confirmations\x18\x03 \x01(\x05R\x11num_confirmations\x12\x1e\n\nblock_hash\x18\x04 \x01(\tR\nblock_hash\x12\"\n\x0c\x62lock_height\x18\x05 \x01(\x05R\x0c\x62lock_height\x12\x1e\n\ntime_stamp\x18\x06 \x01(\x03R\ntime_stamp\x12\x1e\n\ntotal_fees\x18\x07 \x01(\x03R\ntotal_fees\x12&\n\x0e\x64\x65st_addresses\x18\x08 \x03(\tR\x0e\x64\x65st_addresses\x12\x1e\n\nraw_tx_hex\x18\t \x01(\tR\nraw_tx_hex\"\x18\n\x16GetTransactionsRequest\"L\n\x12TransactionDetails\x12\x36\n\x0ctransactions\x18\x01 \x03(\x0b\x32\x12.lnrpc.TransactionR\x0ctransactions\"7\n\x08\x46\x65\x65Limit\x12\x0f\n\x05\x66ixed\x18\x01 \x01(\x03H\x00\x12\x11\n\x07percent\x18\x02 \x01(\x03H\x00\x42\x07\n\x05limit\"\xdc\x02\n\x0bSendRequest\x12\x0c\n\x04\x64\x65st\x18\x01 \x01(\x0c\x12\x13\n\x0b\x64\x65st_string\x18\x02 \x01(\t\x12\x0b\n\x03\x61mt\x18\x03 \x01(\x03\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\x12\x1b\n\x13payment_hash_string\x18\x05 \x01(\t\x12\x17\n\x0fpayment_request\x18\x06 \x01(\t\x12\x18\n\x10\x66inal_cltv_delta\x18\x07 \x01(\x05\x12\"\n\tfee_limit\x18\x08 \x01(\x0b\x32\x0f.lnrpc.FeeLimit\x12\x1c\n\x10outgoing_chan_id\x18\t \x01(\x04\x42\x02\x30\x01\x12\x12\n\ncltv_limit\x18\n \x01(\r\x12\x31\n\x08\x64\x65st_tlv\x18\x0b \x03(\x0b\x32\x1f.lnrpc.SendRequest.DestTlvEntry\x1a.\n\x0c\x44\x65stTlvEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"\xb8\x01\n\x0cSendResponse\x12$\n\rpayment_error\x18\x01 \x01(\tR\rpayment_error\x12*\n\x10payment_preimage\x18\x02 \x01(\x0cR\x10payment_preimage\x12\x32\n\rpayment_route\x18\x03 \x01(\x0b\x32\x0c.lnrpc.RouteR\rpayment_route\x12\"\n\x0cpayment_hash\x18\x04 \x01(\x0cR\x0cpayment_hash\"j\n\x12SendToRouteRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x1b\n\x13payment_hash_string\x18\x02 \x01(\t\x12\x1b\n\x05route\x18\x04 \x01(\x0b\x32\x0c.lnrpc.RouteJ\x04\x08\x03\x10\x04\"\xb5\x02\n\x14\x43hannelAcceptRequest\x12\x13\n\x0bnode_pubkey\x18\x01 \x01(\x0c\x12\x12\n\nchain_hash\x18\x02 \x01(\x0c\x12\x17\n\x0fpending_chan_id\x18\x03 \x01(\x0c\x12\x13\n\x0b\x66unding_amt\x18\x04 \x01(\x04\x12\x10\n\x08push_amt\x18\x05 \x01(\x04\x12\x12\n\ndust_limit\x18\x06 \x01(\x04\x12\x1b\n\x13max_value_in_flight\x18\x07 \x01(\x04\x12\x17\n\x0f\x63hannel_reserve\x18\x08 \x01(\x04\x12\x10\n\x08min_htlc\x18\t \x01(\x04\x12\x12\n\nfee_per_kw\x18\n \x01(\x04\x12\x11\n\tcsv_delay\x18\x0b \x01(\r\x12\x1a\n\x12max_accepted_htlcs\x18\x0c \x01(\r\x12\x15\n\rchannel_flags\x18\r \x01(\r\"@\n\x15\x43hannelAcceptResponse\x12\x0e\n\x06\x61\x63\x63\x65pt\x18\x01 \x01(\x08\x12\x17\n\x0fpending_chan_id\x18\x02 \x01(\x0c\"\xa2\x01\n\x0c\x43hannelPoint\x12\x30\n\x12\x66unding_txid_bytes\x18\x01 \x01(\x0cH\x00R\x12\x66unding_txid_bytes\x12,\n\x10\x66unding_txid_str\x18\x02 \x01(\tH\x00R\x10\x66unding_txid_str\x12\"\n\x0coutput_index\x18\x03 \x01(\rR\x0coutput_indexB\x0e\n\x0c\x66unding_txid\"j\n\x08OutPoint\x12\x1e\n\ntxid_bytes\x18\x01 \x01(\x0cR\ntxid_bytes\x12\x1a\n\x08txid_str\x18\x02 \x01(\tR\x08txid_str\x12\"\n\x0coutput_index\x18\x03 \x01(\rR\x0coutput_index\">\n\x10LightningAddress\x12\x16\n\x06pubkey\x18\x01 \x01(\tR\x06pubkey\x12\x12\n\x04host\x18\x02 \x01(\tR\x04host\"\xa1\x01\n\x12\x45stimateFeeRequest\x12\x41\n\x0c\x41\x64\x64rToAmount\x18\x01 \x03(\x0b\x32+.lnrpc.EstimateFeeRequest.AddrToAmountEntry\x12\x13\n\x0btarget_conf\x18\x02 \x01(\x05\x1a\x33\n\x11\x41\x64\x64rToAmountEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\"c\n\x13\x45stimateFeeResponse\x12\x18\n\x07\x66\x65\x65_sat\x18\x01 \x01(\x03R\x07\x66\x65\x65_sat\x12\x32\n\x14\x66\x65\x65rate_sat_per_byte\x18\x02 \x01(\x03R\x14\x66\x65\x65rate_sat_per_byte\"\xb1\x01\n\x0fSendManyRequest\x12>\n\x0c\x41\x64\x64rToAmount\x18\x01 \x03(\x0b\x32(.lnrpc.SendManyRequest.AddrToAmountEntry\x12\x13\n\x0btarget_conf\x18\x03 \x01(\x05\x12\x14\n\x0csat_per_byte\x18\x05 \x01(\x03\x1a\x33\n\x11\x41\x64\x64rToAmountEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x03:\x02\x38\x01\"&\n\x10SendManyResponse\x12\x12\n\x04txid\x18\x01 \x01(\tR\x04txid\"m\n\x10SendCoinsRequest\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x03\x12\x13\n\x0btarget_conf\x18\x03 \x01(\x05\x12\x14\n\x0csat_per_byte\x18\x05 \x01(\x03\x12\x10\n\x08send_all\x18\x06 \x01(\x08\"\'\n\x11SendCoinsResponse\x12\x12\n\x04txid\x18\x01 \x01(\tR\x04txid\":\n\x12ListUnspentRequest\x12\x11\n\tmin_confs\x18\x01 \x01(\x05\x12\x11\n\tmax_confs\x18\x02 \x01(\x05\"8\n\x13ListUnspentResponse\x12!\n\x05utxos\x18\x01 \x03(\x0b\x32\x0b.lnrpc.UtxoR\x05utxos\"5\n\x11NewAddressRequest\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.lnrpc.AddressType\".\n\x12NewAddressResponse\x12\x18\n\x07\x61\x64\x64ress\x18\x01 \x01(\tR\x07\x61\x64\x64ress\"&\n\x12SignMessageRequest\x12\x10\n\x03msg\x18\x01 \x01(\x0cR\x03msg\"3\n\x13SignMessageResponse\x12\x1c\n\tsignature\x18\x01 \x01(\tR\tsignature\"F\n\x14VerifyMessageRequest\x12\x10\n\x03msg\x18\x01 \x01(\x0cR\x03msg\x12\x1c\n\tsignature\x18\x02 \x01(\tR\tsignature\"E\n\x15VerifyMessageResponse\x12\x14\n\x05valid\x18\x01 \x01(\x08R\x05valid\x12\x16\n\x06pubkey\x18\x02 \x01(\tR\x06pubkey\"I\n\x12\x43onnectPeerRequest\x12%\n\x04\x61\x64\x64r\x18\x01 \x01(\x0b\x32\x17.lnrpc.LightningAddress\x12\x0c\n\x04perm\x18\x02 \x01(\x08\"\x15\n\x13\x43onnectPeerResponse\"1\n\x15\x44isconnectPeerRequest\x12\x18\n\x07pub_key\x18\x01 \x01(\tR\x07pub_key\"\x18\n\x16\x44isconnectPeerResponse\"\x86\x01\n\x04HTLC\x12\x1a\n\x08incoming\x18\x01 \x01(\x08R\x08incoming\x12\x16\n\x06\x61mount\x18\x02 \x01(\x03R\x06\x61mount\x12\x1c\n\thash_lock\x18\x03 \x01(\x0cR\thash_lock\x12,\n\x11\x65xpiration_height\x18\x04 \x01(\rR\x11\x65xpiration_height\"\xa2\x07\n\x07\x43hannel\x12\x16\n\x06\x61\x63tive\x18\x01 \x01(\x08R\x06\x61\x63tive\x12$\n\rremote_pubkey\x18\x02 \x01(\tR\rremote_pubkey\x12$\n\rchannel_point\x18\x03 \x01(\tR\rchannel_point\x12\x1c\n\x07\x63han_id\x18\x04 \x01(\x04\x42\x02\x30\x01R\x07\x63han_id\x12\x1a\n\x08\x63\x61pacity\x18\x05 \x01(\x03R\x08\x63\x61pacity\x12$\n\rlocal_balance\x18\x06 \x01(\x03R\rlocal_balance\x12&\n\x0eremote_balance\x18\x07 \x01(\x03R\x0eremote_balance\x12\x1e\n\ncommit_fee\x18\x08 \x01(\x03R\ncommit_fee\x12$\n\rcommit_weight\x18\t \x01(\x03R\rcommit_weight\x12\x1e\n\nfee_per_kw\x18\n \x01(\x03R\nfee_per_kw\x12,\n\x11unsettled_balance\x18\x0b \x01(\x03R\x11unsettled_balance\x12\x30\n\x13total_satoshis_sent\x18\x0c \x01(\x03R\x13total_satoshis_sent\x12\x38\n\x17total_satoshis_received\x18\r \x01(\x03R\x17total_satoshis_received\x12 \n\x0bnum_updates\x18\x0e \x01(\x04R\x0bnum_updates\x12\x31\n\rpending_htlcs\x18\x0f \x03(\x0b\x32\x0b.lnrpc.HTLCR\rpending_htlcs\x12\x1c\n\tcsv_delay\x18\x10 \x01(\rR\tcsv_delay\x12\x18\n\x07private\x18\x11 \x01(\x08R\x07private\x12\x1c\n\tinitiator\x18\x12 \x01(\x08R\tinitiator\x12,\n\x11\x63han_status_flags\x18\x13 \x01(\tR\x11\x63han_status_flags\x12\x36\n\x16local_chan_reserve_sat\x18\x14 \x01(\x03R\x16local_chan_reserve_sat\x12\x38\n\x17remote_chan_reserve_sat\x18\x15 \x01(\x03R\x17remote_chan_reserve_sat\x12,\n\x11static_remote_key\x18\x16 \x01(\x08R\x11static_remote_key\x12\x1a\n\x08lifetime\x18\x17 \x01(\x03R\x08lifetime\x12\x16\n\x06uptime\x18\x18 \x01(\x03R\x06uptime\"l\n\x13ListChannelsRequest\x12\x13\n\x0b\x61\x63tive_only\x18\x01 \x01(\x08\x12\x15\n\rinactive_only\x18\x02 \x01(\x08\x12\x13\n\x0bpublic_only\x18\x03 \x01(\x08\x12\x14\n\x0cprivate_only\x18\x04 \x01(\x08\"B\n\x14ListChannelsResponse\x12*\n\x08\x63hannels\x18\x0b \x03(\x0b\x32\x0e.lnrpc.ChannelR\x08\x63hannels\"\xba\x04\n\x13\x43hannelCloseSummary\x12$\n\rchannel_point\x18\x01 \x01(\tR\rchannel_point\x12\x1c\n\x07\x63han_id\x18\x02 \x01(\x04\x42\x02\x30\x01R\x07\x63han_id\x12\x1e\n\nchain_hash\x18\x03 \x01(\tR\nchain_hash\x12(\n\x0f\x63losing_tx_hash\x18\x04 \x01(\tR\x0f\x63losing_tx_hash\x12$\n\rremote_pubkey\x18\x05 \x01(\tR\rremote_pubkey\x12\x1a\n\x08\x63\x61pacity\x18\x06 \x01(\x03R\x08\x63\x61pacity\x12\"\n\x0c\x63lose_height\x18\x07 \x01(\rR\x0c\x63lose_height\x12(\n\x0fsettled_balance\x18\x08 \x01(\x03R\x0fsettled_balance\x12\x30\n\x13time_locked_balance\x18\t \x01(\x03R\x13time_locked_balance\x12\x46\n\nclose_type\x18\n \x01(\x0e\x32&.lnrpc.ChannelCloseSummary.ClosureTypeR\nclose_type\"\x8a\x01\n\x0b\x43losureType\x12\x15\n\x11\x43OOPERATIVE_CLOSE\x10\x00\x12\x15\n\x11LOCAL_FORCE_CLOSE\x10\x01\x12\x16\n\x12REMOTE_FORCE_CLOSE\x10\x02\x12\x10\n\x0c\x42REACH_CLOSE\x10\x03\x12\x14\n\x10\x46UNDING_CANCELED\x10\x04\x12\r\n\tABANDONED\x10\x05\"\x94\x01\n\x15\x43losedChannelsRequest\x12\x13\n\x0b\x63ooperative\x18\x01 \x01(\x08\x12\x13\n\x0blocal_force\x18\x02 \x01(\x08\x12\x14\n\x0cremote_force\x18\x03 \x01(\x08\x12\x0e\n\x06\x62reach\x18\x04 \x01(\x08\x12\x18\n\x10\x66unding_canceled\x18\x05 \x01(\x08\x12\x11\n\tabandoned\x18\x06 \x01(\x08\"P\n\x16\x43losedChannelsResponse\x12\x36\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1a.lnrpc.ChannelCloseSummaryR\x08\x63hannels\"\xdf\x02\n\x04Peer\x12\x18\n\x07pub_key\x18\x01 \x01(\tR\x07pub_key\x12\x18\n\x07\x61\x64\x64ress\x18\x03 \x01(\tR\x07\x61\x64\x64ress\x12\x1e\n\nbytes_sent\x18\x04 \x01(\x04R\nbytes_sent\x12\x1e\n\nbytes_recv\x18\x05 \x01(\x04R\nbytes_recv\x12\x1a\n\x08sat_sent\x18\x06 \x01(\x03R\x08sat_sent\x12\x1a\n\x08sat_recv\x18\x07 \x01(\x03R\x08sat_recv\x12\x18\n\x07inbound\x18\x08 \x01(\x08R\x07inbound\x12\x1c\n\tping_time\x18\t \x01(\x03R\tping_time\x12\x32\n\tsync_type\x18\n \x01(\x0e\x32\x14.lnrpc.Peer.SyncTypeR\tsync_type\"?\n\x08SyncType\x12\x10\n\x0cUNKNOWN_SYNC\x10\x00\x12\x0f\n\x0b\x41\x43TIVE_SYNC\x10\x01\x12\x10\n\x0cPASSIVE_SYNC\x10\x02\"\x12\n\x10ListPeersRequest\"6\n\x11ListPeersResponse\x12!\n\x05peers\x18\x01 \x03(\x0b\x32\x0b.lnrpc.PeerR\x05peers\"\x10\n\x0eGetInfoRequest\"\xe7\x04\n\x0fGetInfoResponse\x12(\n\x0fidentity_pubkey\x18\x01 \x01(\tR\x0fidentity_pubkey\x12\x14\n\x05\x61lias\x18\x02 \x01(\tR\x05\x61lias\x12\x32\n\x14num_pending_channels\x18\x03 \x01(\rR\x14num_pending_channels\x12\x30\n\x13num_active_channels\x18\x04 \x01(\rR\x13num_active_channels\x12\x1c\n\tnum_peers\x18\x05 \x01(\rR\tnum_peers\x12\"\n\x0c\x62lock_height\x18\x06 \x01(\rR\x0c\x62lock_height\x12\x1e\n\nblock_hash\x18\x08 \x01(\tR\nblock_hash\x12(\n\x0fsynced_to_chain\x18\t \x01(\x08R\x0fsynced_to_chain\x12\x1c\n\x07testnet\x18\n \x01(\x08\x42\x02\x18\x01R\x07testnet\x12\x12\n\x04uris\x18\x0c \x03(\tR\x04uris\x12\x34\n\x15\x62\x65st_header_timestamp\x18\r \x01(\x03R\x15\x62\x65st_header_timestamp\x12\x18\n\x07version\x18\x0e \x01(\tR\x07version\x12\x34\n\x15num_inactive_channels\x18\x0f \x01(\rR\x15num_inactive_channels\x12$\n\x06\x63hains\x18\x10 \x03(\x0b\x32\x0c.lnrpc.ChainR\x06\x63hains\x12\x14\n\x05\x63olor\x18\x11 \x01(\tR\x05\x63olor\x12(\n\x0fsynced_to_graph\x18\x12 \x01(\x08R\x0fsynced_to_graphJ\x04\x08\x0b\x10\x0c\"7\n\x05\x43hain\x12\x14\n\x05\x63hain\x18\x01 \x01(\tR\x05\x63hain\x12\x18\n\x07network\x18\x02 \x01(\tR\x07network\"U\n\x12\x43onfirmationUpdate\x12\x11\n\tblock_sha\x18\x01 \x01(\x0c\x12\x14\n\x0c\x62lock_height\x18\x02 \x01(\x05\x12\x16\n\x0enum_confs_left\x18\x03 \x01(\r\"N\n\x11\x43hannelOpenUpdate\x12\x39\n\rchannel_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPointR\rchannel_point\"R\n\x12\x43hannelCloseUpdate\x12\"\n\x0c\x63losing_txid\x18\x01 \x01(\x0cR\x0c\x63losing_txid\x12\x18\n\x07success\x18\x02 \x01(\x08R\x07success\"{\n\x13\x43loseChannelRequest\x12*\n\rchannel_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\x12\r\n\x05\x66orce\x18\x02 \x01(\x08\x12\x13\n\x0btarget_conf\x18\x03 \x01(\x05\x12\x14\n\x0csat_per_byte\x18\x04 \x01(\x03\"\x98\x01\n\x11\x43loseStatusUpdate\x12<\n\rclose_pending\x18\x01 \x01(\x0b\x32\x14.lnrpc.PendingUpdateH\x00R\rclose_pending\x12;\n\nchan_close\x18\x03 \x01(\x0b\x32\x19.lnrpc.ChannelCloseUpdateH\x00R\nchan_closeB\x08\n\x06update\"G\n\rPendingUpdate\x12\x12\n\x04txid\x18\x01 \x01(\x0cR\x04txid\x12\"\n\x0coutput_index\x18\x02 \x01(\rR\x0coutput_index\"\x99\x03\n\x12OpenChannelRequest\x12 \n\x0bnode_pubkey\x18\x02 \x01(\x0cR\x0bnode_pubkey\x12.\n\x12node_pubkey_string\x18\x03 \x01(\tR\x12node_pubkey_string\x12\x32\n\x14local_funding_amount\x18\x04 \x01(\x03R\x14local_funding_amount\x12\x1a\n\x08push_sat\x18\x05 \x01(\x03R\x08push_sat\x12\x13\n\x0btarget_conf\x18\x06 \x01(\x05\x12\x14\n\x0csat_per_byte\x18\x07 \x01(\x03\x12\x18\n\x07private\x18\x08 \x01(\x08R\x07private\x12$\n\rmin_htlc_msat\x18\t \x01(\x03R\rmin_htlc_msat\x12*\n\x10remote_csv_delay\x18\n \x01(\rR\x10remote_csv_delay\x12\x1c\n\tmin_confs\x18\x0b \x01(\x05R\tmin_confs\x12,\n\x11spend_unconfirmed\x18\x0c \x01(\x08R\x11spend_unconfirmed\"\x92\x01\n\x10OpenStatusUpdate\x12:\n\x0c\x63han_pending\x18\x01 \x01(\x0b\x32\x14.lnrpc.PendingUpdateH\x00R\x0c\x63han_pending\x12\x38\n\tchan_open\x18\x03 \x01(\x0b\x32\x18.lnrpc.ChannelOpenUpdateH\x00R\tchan_openB\x08\n\x06update\"\xcf\x01\n\x0bPendingHTLC\x12\x1a\n\x08incoming\x18\x01 \x01(\x08R\x08incoming\x12\x16\n\x06\x61mount\x18\x02 \x01(\x03R\x06\x61mount\x12\x1a\n\x08outpoint\x18\x03 \x01(\tR\x08outpoint\x12(\n\x0fmaturity_height\x18\x04 \x01(\rR\x0fmaturity_height\x12\x30\n\x13\x62locks_til_maturity\x18\x05 \x01(\x05R\x13\x62locks_til_maturity\x12\x14\n\x05stage\x18\x06 \x01(\rR\x05stage\"\x18\n\x16PendingChannelsRequest\"\x9c\r\n\x17PendingChannelsResponse\x12\x30\n\x13total_limbo_balance\x18\x01 \x01(\x03R\x13total_limbo_balance\x12g\n\x15pending_open_channels\x18\x02 \x03(\x0b\x32\x31.lnrpc.PendingChannelsResponse.PendingOpenChannelR\x15pending_open_channels\x12h\n\x18pending_closing_channels\x18\x03 \x03(\x0b\x32,.lnrpc.PendingChannelsResponse.ClosedChannelR\x18pending_closing_channels\x12y\n\x1epending_force_closing_channels\x18\x04 \x03(\x0b\x32\x31.lnrpc.PendingChannelsResponse.ForceClosedChannelR\x1epending_force_closing_channels\x12j\n\x16waiting_close_channels\x18\x05 \x03(\x0b\x32\x32.lnrpc.PendingChannelsResponse.WaitingCloseChannelR\x16waiting_close_channels\x1a\xbc\x02\n\x0ePendingChannel\x12(\n\x0fremote_node_pub\x18\x01 \x01(\tR\x0fremote_node_pub\x12$\n\rchannel_point\x18\x02 \x01(\tR\rchannel_point\x12\x1a\n\x08\x63\x61pacity\x18\x03 \x01(\x03R\x08\x63\x61pacity\x12$\n\rlocal_balance\x18\x04 \x01(\x03R\rlocal_balance\x12&\n\x0eremote_balance\x18\x05 \x01(\x03R\x0eremote_balance\x12\x36\n\x16local_chan_reserve_sat\x18\x06 \x01(\x03R\x16local_chan_reserve_sat\x12\x38\n\x17remote_chan_reserve_sat\x18\x07 \x01(\x03R\x17remote_chan_reserve_sat\x1a\xf5\x01\n\x12PendingOpenChannel\x12G\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannelR\x07\x63hannel\x12\x30\n\x13\x63onfirmation_height\x18\x02 \x01(\rR\x13\x63onfirmation_height\x12\x1e\n\ncommit_fee\x18\x04 \x01(\x03R\ncommit_fee\x12$\n\rcommit_weight\x18\x05 \x01(\x03R\rcommit_weight\x12\x1e\n\nfee_per_kw\x18\x06 \x01(\x03R\nfee_per_kw\x1a{\n\x13WaitingCloseChannel\x12>\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannel\x12$\n\rlimbo_balance\x18\x02 \x01(\x03R\rlimbo_balance\x1as\n\rClosedChannel\x12>\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannel\x12\"\n\x0c\x63losing_txid\x18\x02 \x01(\tR\x0c\x63losing_txid\x1a\xeb\x02\n\x12\x46orceClosedChannel\x12G\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannelR\x07\x63hannel\x12\"\n\x0c\x63losing_txid\x18\x02 \x01(\tR\x0c\x63losing_txid\x12$\n\rlimbo_balance\x18\x03 \x01(\x03R\rlimbo_balance\x12(\n\x0fmaturity_height\x18\x04 \x01(\rR\x0fmaturity_height\x12\x30\n\x13\x62locks_til_maturity\x18\x05 \x01(\x05R\x13\x62locks_til_maturity\x12,\n\x11recovered_balance\x18\x06 \x01(\x03R\x11recovered_balance\x12\x38\n\rpending_htlcs\x18\x08 \x03(\x0b\x32\x12.lnrpc.PendingHTLCR\rpending_htlcs\"\x1a\n\x18\x43hannelEventSubscription\"\xb5\x03\n\x12\x43hannelEventUpdate\x12\x34\n\x0copen_channel\x18\x01 \x01(\x0b\x32\x0e.lnrpc.ChannelH\x00R\x0copen_channel\x12\x44\n\x0e\x63losed_channel\x18\x02 \x01(\x0b\x32\x1a.lnrpc.ChannelCloseSummaryH\x00R\x0e\x63losed_channel\x12=\n\x0e\x61\x63tive_channel\x18\x03 \x01(\x0b\x32\x13.lnrpc.ChannelPointH\x00R\x0e\x61\x63tive_channel\x12\x41\n\x10inactive_channel\x18\x04 \x01(\x0b\x32\x13.lnrpc.ChannelPointH\x00R\x10inactive_channel\x12\x38\n\x04type\x18\x05 \x01(\x0e\x32$.lnrpc.ChannelEventUpdate.UpdateTypeR\x04type\"\\\n\nUpdateType\x12\x10\n\x0cOPEN_CHANNEL\x10\x00\x12\x12\n\x0e\x43LOSED_CHANNEL\x10\x01\x12\x12\n\x0e\x41\x43TIVE_CHANNEL\x10\x02\x12\x14\n\x10INACTIVE_CHANNEL\x10\x03\x42\t\n\x07\x63hannel\"\x16\n\x14WalletBalanceRequest\"\x9d\x01\n\x15WalletBalanceResponse\x12$\n\rtotal_balance\x18\x01 \x01(\x03R\rtotal_balance\x12,\n\x11\x63onfirmed_balance\x18\x02 \x01(\x03R\x11\x63onfirmed_balance\x12\x30\n\x13unconfirmed_balance\x18\x03 \x01(\x03R\x13unconfirmed_balance\"\x17\n\x15\x43hannelBalanceRequest\"f\n\x16\x43hannelBalanceResponse\x12\x18\n\x07\x62\x61lance\x18\x01 \x01(\x03R\x07\x62\x61lance\x12\x32\n\x14pending_open_balance\x18\x02 \x01(\x03R\x14pending_open_balance\"\xad\x02\n\x12QueryRoutesRequest\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\x12\x0b\n\x03\x61mt\x18\x02 \x01(\x03\x12\x18\n\x10\x66inal_cltv_delta\x18\x04 \x01(\x05\x12\"\n\tfee_limit\x18\x05 \x01(\x0b\x32\x0f.lnrpc.FeeLimit\x12\x15\n\rignored_nodes\x18\x06 \x03(\x0c\x12-\n\rignored_edges\x18\x07 \x03(\x0b\x32\x12.lnrpc.EdgeLocatorB\x02\x18\x01\x12\x16\n\x0esource_pub_key\x18\x08 \x01(\t\x12\x1b\n\x13use_mission_control\x18\t \x01(\x08\x12&\n\rignored_pairs\x18\n \x03(\x0b\x32\x0f.lnrpc.NodePair\x12\x12\n\ncltv_limit\x18\x0b \x01(\rJ\x04\x08\x03\x10\x04\"$\n\x08NodePair\x12\x0c\n\x04\x66rom\x18\x01 \x01(\x0c\x12\n\n\x02to\x18\x02 \x01(\x0c\"@\n\x0b\x45\x64geLocator\x12\x16\n\nchannel_id\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x19\n\x11\x64irection_reverse\x18\x02 \x01(\x08\"_\n\x13QueryRoutesResponse\x12$\n\x06routes\x18\x01 \x03(\x0b\x32\x0c.lnrpc.RouteR\x06routes\x12\"\n\x0csuccess_prob\x18\x02 \x01(\x01R\x0csuccess_prob\"\xad\x02\n\x03Hop\x12\x1c\n\x07\x63han_id\x18\x01 \x01(\x04\x42\x02\x30\x01R\x07\x63han_id\x12$\n\rchan_capacity\x18\x02 \x01(\x03R\rchan_capacity\x12*\n\x0e\x61mt_to_forward\x18\x03 \x01(\x03\x42\x02\x18\x01R\x0e\x61mt_to_forward\x12\x14\n\x03\x66\x65\x65\x18\x04 \x01(\x03\x42\x02\x18\x01R\x03\x66\x65\x65\x12\x16\n\x06\x65xpiry\x18\x05 \x01(\rR\x06\x65xpiry\x12\x30\n\x13\x61mt_to_forward_msat\x18\x06 \x01(\x03R\x13\x61mt_to_forward_msat\x12\x1a\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x03R\x08\x66\x65\x65_msat\x12\x18\n\x07pub_key\x18\x08 \x01(\tR\x07pub_key\x12 \n\x0btlv_payload\x18\t \x01(\x08R\x0btlv_payload\"\xe9\x01\n\x05Route\x12(\n\x0ftotal_time_lock\x18\x01 \x01(\rR\x0ftotal_time_lock\x12\"\n\ntotal_fees\x18\x02 \x01(\x03\x42\x02\x18\x01R\ntotal_fees\x12 \n\ttotal_amt\x18\x03 \x01(\x03\x42\x02\x18\x01R\ttotal_amt\x12\x1e\n\x04hops\x18\x04 \x03(\x0b\x32\n.lnrpc.HopR\x04hops\x12(\n\x0ftotal_fees_msat\x18\x05 \x01(\x03R\x0ftotal_fees_msat\x12&\n\x0etotal_amt_msat\x18\x06 \x01(\x03R\x0etotal_amt_msat\"<\n\x0fNodeInfoRequest\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\x12\x18\n\x10include_channels\x18\x02 \x01(\x08\"\xb0\x01\n\x08NodeInfo\x12(\n\x04node\x18\x01 \x01(\x0b\x32\x14.lnrpc.LightningNodeR\x04node\x12\"\n\x0cnum_channels\x18\x02 \x01(\rR\x0cnum_channels\x12&\n\x0etotal_capacity\x18\x03 \x01(\x03R\x0etotal_capacity\x12.\n\x08\x63hannels\x18\x04 \x03(\x0b\x32\x12.lnrpc.ChannelEdgeR\x08\x63hannels\"\xa9\x01\n\rLightningNode\x12 \n\x0blast_update\x18\x01 \x01(\rR\x0blast_update\x12\x18\n\x07pub_key\x18\x02 \x01(\tR\x07pub_key\x12\x14\n\x05\x61lias\x18\x03 \x01(\tR\x05\x61lias\x12\x30\n\taddresses\x18\x04 \x03(\x0b\x32\x12.lnrpc.NodeAddressR\taddresses\x12\x14\n\x05\x63olor\x18\x05 \x01(\tR\x05\x63olor\";\n\x0bNodeAddress\x12\x18\n\x07network\x18\x01 \x01(\tR\x07network\x12\x12\n\x04\x61\x64\x64r\x18\x02 \x01(\tR\x04\x61\x64\x64r\"\x91\x02\n\rRoutingPolicy\x12(\n\x0ftime_lock_delta\x18\x01 \x01(\rR\x0ftime_lock_delta\x12\x1a\n\x08min_htlc\x18\x02 \x01(\x03R\x08min_htlc\x12$\n\rfee_base_msat\x18\x03 \x01(\x03R\rfee_base_msat\x12\x30\n\x13\x66\x65\x65_rate_milli_msat\x18\x04 \x01(\x03R\x13\x66\x65\x65_rate_milli_msat\x12\x1a\n\x08\x64isabled\x18\x05 \x01(\x08R\x08\x64isabled\x12$\n\rmax_htlc_msat\x18\x06 \x01(\x04R\rmax_htlc_msat\x12 \n\x0blast_update\x18\x07 \x01(\rR\x0blast_update\"\xc3\x02\n\x0b\x43hannelEdge\x12\"\n\nchannel_id\x18\x01 \x01(\x04\x42\x02\x30\x01R\nchannel_id\x12\x1e\n\nchan_point\x18\x02 \x01(\tR\nchan_point\x12$\n\x0blast_update\x18\x03 \x01(\rB\x02\x18\x01R\x0blast_update\x12\x1c\n\tnode1_pub\x18\x04 \x01(\tR\tnode1_pub\x12\x1c\n\tnode2_pub\x18\x05 \x01(\tR\tnode2_pub\x12\x1a\n\x08\x63\x61pacity\x18\x06 \x01(\x03R\x08\x63\x61pacity\x12\x38\n\x0cnode1_policy\x18\x07 \x01(\x0b\x32\x14.lnrpc.RoutingPolicyR\x0cnode1_policy\x12\x38\n\x0cnode2_policy\x18\x08 \x01(\x0b\x32\x14.lnrpc.RoutingPolicyR\x0cnode2_policy\"G\n\x13\x43hannelGraphRequest\x12\x30\n\x13include_unannounced\x18\x01 \x01(\x08R\x13include_unannounced\"d\n\x0c\x43hannelGraph\x12*\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.lnrpc.LightningNodeR\x05nodes\x12(\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x12.lnrpc.ChannelEdgeR\x05\x65\x64ges\"&\n\x0f\x43hanInfoRequest\x12\x13\n\x07\x63han_id\x18\x01 \x01(\x04\x42\x02\x30\x01\"\x14\n\x12NetworkInfoRequest\"\xe9\x03\n\x0bNetworkInfo\x12&\n\x0egraph_diameter\x18\x01 \x01(\rR\x0egraph_diameter\x12&\n\x0e\x61vg_out_degree\x18\x02 \x01(\x01R\x0e\x61vg_out_degree\x12&\n\x0emax_out_degree\x18\x03 \x01(\rR\x0emax_out_degree\x12\x1c\n\tnum_nodes\x18\x04 \x01(\rR\tnum_nodes\x12\"\n\x0cnum_channels\x18\x05 \x01(\rR\x0cnum_channels\x12\x36\n\x16total_network_capacity\x18\x06 \x01(\x03R\x16total_network_capacity\x12*\n\x10\x61vg_channel_size\x18\x07 \x01(\x01R\x10\x61vg_channel_size\x12*\n\x10min_channel_size\x18\x08 \x01(\x03R\x10min_channel_size\x12*\n\x10max_channel_size\x18\t \x01(\x03R\x10max_channel_size\x12\x38\n\x17median_channel_size_sat\x18\n \x01(\x03R\x17median_channel_size_sat\x12*\n\x10num_zombie_chans\x18\x0b \x01(\x04R\x10num_zombie_chans\"\r\n\x0bStopRequest\"\x0e\n\x0cStopResponse\"\x1b\n\x19GraphTopologySubscription\"\xa3\x01\n\x13GraphTopologyUpdate\x12\'\n\x0cnode_updates\x18\x01 \x03(\x0b\x32\x11.lnrpc.NodeUpdate\x12\x31\n\x0f\x63hannel_updates\x18\x02 \x03(\x0b\x32\x18.lnrpc.ChannelEdgeUpdate\x12\x30\n\x0c\x63losed_chans\x18\x03 \x03(\x0b\x32\x1a.lnrpc.ClosedChannelUpdate\"l\n\nNodeUpdate\x12\x11\n\taddresses\x18\x01 \x03(\t\x12\x14\n\x0cidentity_key\x18\x02 \x01(\t\x12\x17\n\x0fglobal_features\x18\x03 \x01(\x0c\x12\r\n\x05\x61lias\x18\x04 \x01(\t\x12\r\n\x05\x63olor\x18\x05 \x01(\t\"\xc4\x01\n\x11\x43hannelEdgeUpdate\x12\x13\n\x07\x63han_id\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\'\n\nchan_point\x18\x02 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\x03\x12,\n\x0erouting_policy\x18\x04 \x01(\x0b\x32\x14.lnrpc.RoutingPolicy\x12\x18\n\x10\x61\x64vertising_node\x18\x05 \x01(\t\x12\x17\n\x0f\x63onnecting_node\x18\x06 \x01(\t\"|\n\x13\x43losedChannelUpdate\x12\x13\n\x07\x63han_id\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x10\n\x08\x63\x61pacity\x18\x02 \x01(\x03\x12\x15\n\rclosed_height\x18\x03 \x01(\r\x12\'\n\nchan_point\x18\x04 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\"\xd7\x01\n\x07HopHint\x12\x18\n\x07node_id\x18\x01 \x01(\tR\x07node_id\x12\x1c\n\x07\x63han_id\x18\x02 \x01(\x04\x42\x02\x30\x01R\x07\x63han_id\x12$\n\rfee_base_msat\x18\x03 \x01(\rR\rfee_base_msat\x12@\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\rR\x1b\x66\x65\x65_proportional_millionths\x12,\n\x11\x63ltv_expiry_delta\x18\x05 \x01(\rR\x11\x63ltv_expiry_delta\"9\n\tRouteHint\x12,\n\thop_hints\x18\x01 \x03(\x0b\x32\x0e.lnrpc.HopHintR\thop_hints\"\xbf\x06\n\x07Invoice\x12\x12\n\x04memo\x18\x01 \x01(\tR\x04memo\x12\x1c\n\x07receipt\x18\x02 \x01(\x0c\x42\x02\x18\x01R\x07receipt\x12\x1e\n\nr_preimage\x18\x03 \x01(\x0cR\nr_preimage\x12\x16\n\x06r_hash\x18\x04 \x01(\x0cR\x06r_hash\x12\x14\n\x05value\x18\x05 \x01(\x03R\x05value\x12\x1c\n\x07settled\x18\x06 \x01(\x08\x42\x02\x18\x01R\x07settled\x12$\n\rcreation_date\x18\x07 \x01(\x03R\rcreation_date\x12 \n\x0bsettle_date\x18\x08 \x01(\x03R\x0bsettle_date\x12(\n\x0fpayment_request\x18\t \x01(\tR\x0fpayment_request\x12*\n\x10\x64\x65scription_hash\x18\n \x01(\x0cR\x10\x64\x65scription_hash\x12\x16\n\x06\x65xpiry\x18\x0b \x01(\x03R\x06\x65xpiry\x12$\n\rfallback_addr\x18\x0c \x01(\tR\rfallback_addr\x12 \n\x0b\x63ltv_expiry\x18\r \x01(\x04R\x0b\x63ltv_expiry\x12\x32\n\x0broute_hints\x18\x0e \x03(\x0b\x32\x10.lnrpc.RouteHintR\x0broute_hints\x12\x18\n\x07private\x18\x0f \x01(\x08R\x07private\x12\x1c\n\tadd_index\x18\x10 \x01(\x04R\tadd_index\x12\"\n\x0csettle_index\x18\x11 \x01(\x04R\x0csettle_index\x12\x1e\n\x08\x61mt_paid\x18\x12 \x01(\x03\x42\x02\x18\x01R\x08\x61mt_paid\x12\"\n\x0c\x61mt_paid_sat\x18\x13 \x01(\x03R\x0c\x61mt_paid_sat\x12$\n\ramt_paid_msat\x18\x14 \x01(\x03R\ramt_paid_msat\x12\x31\n\x05state\x18\x15 \x01(\x0e\x32\x1b.lnrpc.Invoice.InvoiceStateR\x05state\x12(\n\x05htlcs\x18\x16 \x03(\x0b\x32\x12.lnrpc.InvoiceHTLCR\x05htlcs\"A\n\x0cInvoiceState\x12\x08\n\x04OPEN\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x0c\n\x08\x43\x41NCELED\x10\x02\x12\x0c\n\x08\x41\x43\x43\x45PTED\x10\x03\"\xa8\x02\n\x0bInvoiceHTLC\x12\x1c\n\x07\x63han_id\x18\x01 \x01(\x04\x42\x02\x30\x01R\x07\x63han_id\x12\x1e\n\nhtlc_index\x18\x02 \x01(\x04R\nhtlc_index\x12\x1a\n\x08\x61mt_msat\x18\x03 \x01(\x04R\x08\x61mt_msat\x12$\n\raccept_height\x18\x04 \x01(\x05R\raccept_height\x12 \n\x0b\x61\x63\x63\x65pt_time\x18\x05 \x01(\x03R\x0b\x61\x63\x63\x65pt_time\x12\"\n\x0cresolve_time\x18\x06 \x01(\x03R\x0cresolve_time\x12$\n\rexpiry_height\x18\x07 \x01(\x05R\rexpiry_height\x12-\n\x05state\x18\x08 \x01(\x0e\x32\x17.lnrpc.InvoiceHTLCStateR\x05state\"t\n\x12\x41\x64\x64InvoiceResponse\x12\x16\n\x06r_hash\x18\x01 \x01(\x0cR\x06r_hash\x12(\n\x0fpayment_request\x18\x02 \x01(\tR\x0fpayment_request\x12\x1c\n\tadd_index\x18\x10 \x01(\x04R\tadd_index\"E\n\x0bPaymentHash\x12\x1e\n\nr_hash_str\x18\x01 \x01(\tR\nr_hash_str\x12\x16\n\x06r_hash\x18\x02 \x01(\x0cR\x06r_hash\"\xa4\x01\n\x12ListInvoiceRequest\x12\"\n\x0cpending_only\x18\x01 \x01(\x08R\x0cpending_only\x12\"\n\x0cindex_offset\x18\x04 \x01(\x04R\x0cindex_offset\x12*\n\x10num_max_invoices\x18\x05 \x01(\x04R\x10num_max_invoices\x12\x1a\n\x08reversed\x18\x06 \x01(\x08R\x08reversed\"\x9f\x01\n\x13ListInvoiceResponse\x12*\n\x08invoices\x18\x01 \x03(\x0b\x32\x0e.lnrpc.InvoiceR\x08invoices\x12,\n\x11last_index_offset\x18\x02 \x01(\x04R\x11last_index_offset\x12.\n\x12\x66irst_index_offset\x18\x03 \x01(\x04R\x12\x66irst_index_offset\"W\n\x13InvoiceSubscription\x12\x1c\n\tadd_index\x18\x01 \x01(\x04R\tadd_index\x12\"\n\x0csettle_index\x18\x02 \x01(\x04R\x0csettle_index\"\xdf\x03\n\x07Payment\x12\"\n\x0cpayment_hash\x18\x01 \x01(\tR\x0cpayment_hash\x12\x18\n\x05value\x18\x02 \x01(\x03\x42\x02\x18\x01R\x05value\x12$\n\rcreation_date\x18\x03 \x01(\x03R\rcreation_date\x12\x12\n\x04path\x18\x04 \x03(\tR\x04path\x12\x14\n\x03\x66\x65\x65\x18\x05 \x01(\x03\x42\x02\x18\x01R\x03\x66\x65\x65\x12*\n\x10payment_preimage\x18\x06 \x01(\tR\x10payment_preimage\x12\x1c\n\tvalue_sat\x18\x07 \x01(\x03R\tvalue_sat\x12\x1e\n\nvalue_msat\x18\x08 \x01(\x03R\nvalue_msat\x12(\n\x0fpayment_request\x18\t \x01(\tR\x0fpayment_request\x12\x34\n\x06status\x18\n \x01(\x0e\x32\x1c.lnrpc.Payment.PaymentStatusR\x06status\x12\x18\n\x07\x66\x65\x65_sat\x18\x0b \x01(\x03R\x07\x66\x65\x65_sat\x12\x1a\n\x08\x66\x65\x65_msat\x18\x0c \x01(\x03R\x08\x66\x65\x65_msat\"F\n\rPaymentStatus\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tIN_FLIGHT\x10\x01\x12\r\n\tSUCCEEDED\x10\x02\x12\n\n\x06\x46\x41ILED\x10\x03\"1\n\x13ListPaymentsRequest\x12\x1a\n\x12include_incomplete\x18\x01 \x01(\x08\"B\n\x14ListPaymentsResponse\x12*\n\x08payments\x18\x01 \x03(\x0b\x32\x0e.lnrpc.PaymentR\x08payments\"\x1a\n\x18\x44\x65leteAllPaymentsRequest\"\x1b\n\x19\x44\x65leteAllPaymentsResponse\"C\n\x15\x41\x62\x61ndonChannelRequest\x12*\n\rchannel_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\"\x18\n\x16\x41\x62\x61ndonChannelResponse\"5\n\x11\x44\x65\x62ugLevelRequest\x12\x0c\n\x04show\x18\x01 \x01(\x08\x12\x12\n\nlevel_spec\x18\x02 \x01(\t\"6\n\x12\x44\x65\x62ugLevelResponse\x12 \n\x0bsub_systems\x18\x01 \x01(\tR\x0bsub_systems\"\x1f\n\x0cPayReqString\x12\x0f\n\x07pay_req\x18\x01 \x01(\t\"\xf2\x02\n\x06PayReq\x12 \n\x0b\x64\x65stination\x18\x01 \x01(\tR\x0b\x64\x65stination\x12\"\n\x0cpayment_hash\x18\x02 \x01(\tR\x0cpayment_hash\x12\"\n\x0cnum_satoshis\x18\x03 \x01(\x03R\x0cnum_satoshis\x12\x1c\n\ttimestamp\x18\x04 \x01(\x03R\ttimestamp\x12\x16\n\x06\x65xpiry\x18\x05 \x01(\x03R\x06\x65xpiry\x12 \n\x0b\x64\x65scription\x18\x06 \x01(\tR\x0b\x64\x65scription\x12*\n\x10\x64\x65scription_hash\x18\x07 \x01(\tR\x10\x64\x65scription_hash\x12$\n\rfallback_addr\x18\x08 \x01(\tR\rfallback_addr\x12 \n\x0b\x63ltv_expiry\x18\t \x01(\x03R\x0b\x63ltv_expiry\x12\x32\n\x0broute_hints\x18\n \x03(\x0b\x32\x10.lnrpc.RouteHintR\x0broute_hints\"\x12\n\x10\x46\x65\x65ReportRequest\"\x99\x01\n\x10\x43hannelFeeReport\x12!\n\nchan_point\x18\x01 \x01(\tR\rchannel_point\x12$\n\rbase_fee_msat\x18\x02 \x01(\x03R\rbase_fee_msat\x12 \n\x0b\x66\x65\x65_per_mil\x18\x03 \x01(\x03R\x0b\x66\x65\x65_per_mil\x12\x1a\n\x08\x66\x65\x65_rate\x18\x04 \x01(\x01R\x08\x66\x65\x65_rate\"\xbc\x01\n\x11\x46\x65\x65ReportResponse\x12;\n\x0c\x63hannel_fees\x18\x01 \x03(\x0b\x32\x17.lnrpc.ChannelFeeReportR\x0c\x63hannel_fees\x12 \n\x0b\x64\x61y_fee_sum\x18\x02 \x01(\x04R\x0b\x64\x61y_fee_sum\x12\"\n\x0cweek_fee_sum\x18\x03 \x01(\x04R\x0cweek_fee_sum\x12$\n\rmonth_fee_sum\x18\x04 \x01(\x04R\rmonth_fee_sum\"\x81\x02\n\x13PolicyUpdateRequest\x12\x18\n\x06global\x18\x01 \x01(\x08H\x00R\x06global\x12\x35\n\nchan_point\x18\x02 \x01(\x0b\x32\x13.lnrpc.ChannelPointH\x00R\nchan_point\x12$\n\rbase_fee_msat\x18\x03 \x01(\x03R\rbase_fee_msat\x12\x1a\n\x08\x66\x65\x65_rate\x18\x04 \x01(\x01R\x08\x66\x65\x65_rate\x12(\n\x0ftime_lock_delta\x18\x05 \x01(\rR\x0ftime_lock_delta\x12$\n\rmax_htlc_msat\x18\x06 \x01(\x04R\rmax_htlc_msatB\x07\n\x05scope\"\x16\n\x14PolicyUpdateResponse\"\xa2\x01\n\x18\x46orwardingHistoryRequest\x12\x1e\n\nstart_time\x18\x01 \x01(\x04R\nstart_time\x12\x1a\n\x08\x65nd_time\x18\x02 \x01(\x04R\x08\x65nd_time\x12\"\n\x0cindex_offset\x18\x03 \x01(\rR\x0cindex_offset\x12&\n\x0enum_max_events\x18\x04 \x01(\rR\x0enum_max_events\"\x9f\x02\n\x0f\x46orwardingEvent\x12\x1c\n\ttimestamp\x18\x01 \x01(\x04R\ttimestamp\x12\"\n\nchan_id_in\x18\x02 \x01(\x04\x42\x02\x30\x01R\nchan_id_in\x12$\n\x0b\x63han_id_out\x18\x04 \x01(\x04\x42\x02\x30\x01R\x0b\x63han_id_out\x12\x16\n\x06\x61mt_in\x18\x05 \x01(\x04R\x06\x61mt_in\x12\x18\n\x07\x61mt_out\x18\x06 \x01(\x04R\x07\x61mt_out\x12\x10\n\x03\x66\x65\x65\x18\x07 \x01(\x04R\x03\x66\x65\x65\x12\x1a\n\x08\x66\x65\x65_msat\x18\x08 \x01(\x04R\x08\x66\x65\x65_msat\x12 \n\x0b\x61mt_in_msat\x18\t \x01(\x04R\x0b\x61mt_in_msat\x12\"\n\x0c\x61mt_out_msat\x18\n \x01(\x04R\x0c\x61mt_out_msat\"\x8f\x01\n\x19\x46orwardingHistoryResponse\x12\x44\n\x11\x66orwarding_events\x18\x01 \x03(\x0b\x32\x16.lnrpc.ForwardingEventR\x11\x66orwarding_events\x12,\n\x11last_offset_index\x18\x02 \x01(\rR\x11last_offset_index\"E\n\x1a\x45xportChannelBackupRequest\x12\'\n\nchan_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\"f\n\rChannelBackup\x12\x33\n\nchan_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPointR\nchan_point\x12 \n\x0b\x63han_backup\x18\x02 \x01(\x0cR\x0b\x63han_backup\"v\n\x0fMultiChanBackup\x12\x35\n\x0b\x63han_points\x18\x01 \x03(\x0b\x32\x13.lnrpc.ChannelPointR\x0b\x63han_points\x12,\n\x11multi_chan_backup\x18\x02 \x01(\x0cR\x11multi_chan_backup\"\x19\n\x17\x43hanBackupExportRequest\"\xa3\x01\n\x12\x43hanBackupSnapshot\x12G\n\x13single_chan_backups\x18\x01 \x01(\x0b\x32\x15.lnrpc.ChannelBackupsR\x13single_chan_backups\x12\x44\n\x11multi_chan_backup\x18\x02 \x01(\x0b\x32\x16.lnrpc.MultiChanBackupR\x11multi_chan_backup\"J\n\x0e\x43hannelBackups\x12\x38\n\x0c\x63han_backups\x18\x01 \x03(\x0b\x32\x14.lnrpc.ChannelBackupR\x0c\x63han_backups\"\x91\x01\n\x18RestoreChanBackupRequest\x12;\n\x0c\x63han_backups\x18\x01 \x01(\x0b\x32\x15.lnrpc.ChannelBackupsH\x00R\x0c\x63han_backups\x12.\n\x11multi_chan_backup\x18\x02 \x01(\x0cH\x00R\x11multi_chan_backupB\x08\n\x06\x62\x61\x63kup\"\x17\n\x15RestoreBackupResponse\"\x1b\n\x19\x43hannelBackupSubscription\"\x1a\n\x18VerifyChanBackupResponse\"D\n\x12MacaroonPermission\x12\x16\n\x06\x65ntity\x18\x01 \x01(\tR\x06\x65ntity\x12\x16\n\x06\x61\x63tion\x18\x02 \x01(\tR\x06\x61\x63tion\"R\n\x13\x42\x61keMacaroonRequest\x12;\n\x0bpermissions\x18\x01 \x03(\x0b\x32\x19.lnrpc.MacaroonPermissionR\x0bpermissions\"2\n\x14\x42\x61keMacaroonResponse\x12\x1a\n\x08macaroon\x18\x01 \x01(\tR\x08macaroon*}\n\x0b\x41\x64\x64ressType\x12\x17\n\x13WITNESS_PUBKEY_HASH\x10\x00\x12\x16\n\x12NESTED_PUBKEY_HASH\x10\x01\x12\x1e\n\x1aUNUSED_WITNESS_PUBKEY_HASH\x10\x02\x12\x1d\n\x19UNUSED_NESTED_PUBKEY_HASH\x10\x03*;\n\x10InvoiceHTLCState\x12\x0c\n\x08\x41\x43\x43\x45PTED\x10\x00\x12\x0b\n\x07SETTLED\x10\x01\x12\x0c\n\x08\x43\x41NCELED\x10\x02\x32\x91\x03\n\x0eWalletUnlocker\x12M\n\x07GenSeed\x12\x15.lnrpc.GenSeedRequest\x1a\x16.lnrpc.GenSeedResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/v1/genseed\x12\\\n\nInitWallet\x12\x18.lnrpc.InitWalletRequest\x1a\x19.lnrpc.InitWalletResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/initwallet:\x01*\x12\x64\n\x0cUnlockWallet\x12\x1a.lnrpc.UnlockWalletRequest\x1a\x1b.lnrpc.UnlockWalletResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/unlockwallet:\x01*\x12l\n\x0e\x43hangePassword\x12\x1c.lnrpc.ChangePasswordRequest\x1a\x1d.lnrpc.ChangePasswordResponse\"\x1d\x82\xd3\xe4\x93\x02\x17\"\x12/v1/changepassword:\x01*2\xca\'\n\tLightning\x12j\n\rWalletBalance\x12\x1b.lnrpc.WalletBalanceRequest\x1a\x1c.lnrpc.WalletBalanceResponse\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v1/balance/blockchain\x12k\n\x0e\x43hannelBalance\x12\x1c.lnrpc.ChannelBalanceRequest\x1a\x1d.lnrpc.ChannelBalanceResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v1/balance/channels\x12\x65\n\x0fGetTransactions\x12\x1d.lnrpc.GetTransactionsRequest\x1a\x19.lnrpc.TransactionDetails\"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/v1/transactions\x12\x62\n\x0b\x45stimateFee\x12\x19.lnrpc.EstimateFeeRequest\x1a\x1a.lnrpc.EstimateFeeResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v1/transactions/fee\x12[\n\tSendCoins\x12\x17.lnrpc.SendCoinsRequest\x1a\x18.lnrpc.SendCoinsResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/transactions:\x01*\x12W\n\x0bListUnspent\x12\x19.lnrpc.ListUnspentRequest\x1a\x1a.lnrpc.ListUnspentResponse\"\x11\x82\xd3\xe4\x93\x02\x0b\x12\t/v1/utxos\x12L\n\x15SubscribeTransactions\x12\x1d.lnrpc.GetTransactionsRequest\x1a\x12.lnrpc.Transaction0\x01\x12;\n\x08SendMany\x12\x16.lnrpc.SendManyRequest\x1a\x17.lnrpc.SendManyResponse\x12Y\n\nNewAddress\x12\x18.lnrpc.NewAddressRequest\x1a\x19.lnrpc.NewAddressResponse\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v1/newaddress\x12`\n\x0bSignMessage\x12\x19.lnrpc.SignMessageRequest\x1a\x1a.lnrpc.SignMessageResponse\"\x1a\x82\xd3\xe4\x93\x02\x14\"\x0f/v1/signmessage:\x01*\x12h\n\rVerifyMessage\x12\x1b.lnrpc.VerifyMessageRequest\x1a\x1c.lnrpc.VerifyMessageResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\"\x11/v1/verifymessage:\x01*\x12Z\n\x0b\x43onnectPeer\x12\x19.lnrpc.ConnectPeerRequest\x1a\x1a.lnrpc.ConnectPeerResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\"\t/v1/peers:\x01*\x12j\n\x0e\x44isconnectPeer\x12\x1c.lnrpc.DisconnectPeerRequest\x1a\x1d.lnrpc.DisconnectPeerResponse\"\x1b\x82\xd3\xe4\x93\x02\x15*\x13/v1/peers/{pub_key}\x12Q\n\tListPeers\x12\x17.lnrpc.ListPeersRequest\x1a\x18.lnrpc.ListPeersResponse\"\x11\x82\xd3\xe4\x93\x02\x0b\x12\t/v1/peers\x12M\n\x07GetInfo\x12\x15.lnrpc.GetInfoRequest\x1a\x16.lnrpc.GetInfoResponse\"\x13\x82\xd3\xe4\x93\x02\r\x12\x0b/v1/getinfo\x12n\n\x0fPendingChannels\x12\x1d.lnrpc.PendingChannelsRequest\x1a\x1e.lnrpc.PendingChannelsResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v1/channels/pending\x12]\n\x0cListChannels\x12\x1a.lnrpc.ListChannelsRequest\x1a\x1b.lnrpc.ListChannelsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v1/channels\x12V\n\x16SubscribeChannelEvents\x12\x1f.lnrpc.ChannelEventSubscription\x1a\x19.lnrpc.ChannelEventUpdate0\x01\x12j\n\x0e\x43losedChannels\x12\x1c.lnrpc.ClosedChannelsRequest\x1a\x1d.lnrpc.ClosedChannelsResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/v1/channels/closed\x12Z\n\x0fOpenChannelSync\x12\x19.lnrpc.OpenChannelRequest\x1a\x13.lnrpc.ChannelPoint\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v1/channels:\x01*\x12\x43\n\x0bOpenChannel\x12\x19.lnrpc.OpenChannelRequest\x1a\x17.lnrpc.OpenStatusUpdate0\x01\x12P\n\x0f\x43hannelAcceptor\x12\x1c.lnrpc.ChannelAcceptResponse\x1a\x1b.lnrpc.ChannelAcceptRequest(\x01\x30\x01\x12\x9a\x01\n\x0c\x43loseChannel\x12\x1a.lnrpc.CloseChannelRequest\x1a\x18.lnrpc.CloseStatusUpdate\"R\x82\xd3\xe4\x93\x02L*J/v1/channels/{channel_point.funding_txid_str}/{channel_point.output_index}0\x01\x12\xa9\x01\n\x0e\x41\x62\x61ndonChannel\x12\x1c.lnrpc.AbandonChannelRequest\x1a\x1d.lnrpc.AbandonChannelResponse\"Z\x82\xd3\xe4\x93\x02T*R/v1/channels/abandon/{channel_point.funding_txid_str}/{channel_point.output_index}\x12:\n\x0bSendPayment\x12\x12.lnrpc.SendRequest\x1a\x13.lnrpc.SendResponse(\x01\x30\x01\x12`\n\x0fSendPaymentSync\x12\x12.lnrpc.SendRequest\x1a\x13.lnrpc.SendResponse\"$\x82\xd3\xe4\x93\x02\x1e\"\x19/v1/channels/transactions:\x01*\x12\x41\n\x0bSendToRoute\x12\x19.lnrpc.SendToRouteRequest\x1a\x13.lnrpc.SendResponse(\x01\x30\x01\x12m\n\x0fSendToRouteSync\x12\x19.lnrpc.SendToRouteRequest\x1a\x13.lnrpc.SendResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/v1/channels/transactions/route:\x01*\x12P\n\nAddInvoice\x12\x0e.lnrpc.Invoice\x1a\x19.lnrpc.AddInvoiceResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v1/invoices:\x01*\x12[\n\x0cListInvoices\x12\x19.lnrpc.ListInvoiceRequest\x1a\x1a.lnrpc.ListInvoiceResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v1/invoices\x12U\n\rLookupInvoice\x12\x12.lnrpc.PaymentHash\x1a\x0e.lnrpc.Invoice\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/invoice/{r_hash_str}\x12\x61\n\x11SubscribeInvoices\x12\x1a.lnrpc.InvoiceSubscription\x1a\x0e.lnrpc.Invoice\"\x1e\x82\xd3\xe4\x93\x02\x18\x12\x16/v1/invoices/subscribe0\x01\x12P\n\x0c\x44\x65\x63odePayReq\x12\x13.lnrpc.PayReqString\x1a\r.lnrpc.PayReq\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v1/payreq/{pay_req}\x12]\n\x0cListPayments\x12\x1a.lnrpc.ListPaymentsRequest\x1a\x1b.lnrpc.ListPaymentsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e\x12\x0c/v1/payments\x12l\n\x11\x44\x65leteAllPayments\x12\x1f.lnrpc.DeleteAllPaymentsRequest\x1a .lnrpc.DeleteAllPaymentsResponse\"\x14\x82\xd3\xe4\x93\x02\x0e*\x0c/v1/payments\x12S\n\rDescribeGraph\x12\x1a.lnrpc.ChannelGraphRequest\x1a\x13.lnrpc.ChannelGraph\"\x11\x82\xd3\xe4\x93\x02\x0b\x12\t/v1/graph\x12[\n\x0bGetChanInfo\x12\x16.lnrpc.ChanInfoRequest\x1a\x12.lnrpc.ChannelEdge\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/graph/edge/{chan_id}\x12X\n\x0bGetNodeInfo\x12\x16.lnrpc.NodeInfoRequest\x1a\x0f.lnrpc.NodeInfo\" \x82\xd3\xe4\x93\x02\x1a\x12\x18/v1/graph/node/{pub_key}\x12n\n\x0bQueryRoutes\x12\x19.lnrpc.QueryRoutesRequest\x1a\x1a.lnrpc.QueryRoutesResponse\"(\x82\xd3\xe4\x93\x02\"\x12 /v1/graph/routes/{pub_key}/{amt}\x12W\n\x0eGetNetworkInfo\x12\x19.lnrpc.NetworkInfoRequest\x1a\x12.lnrpc.NetworkInfo\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v1/graph/info\x12\x35\n\nStopDaemon\x12\x12.lnrpc.StopRequest\x1a\x13.lnrpc.StopResponse\x12W\n\x15SubscribeChannelGraph\x12 .lnrpc.GraphTopologySubscription\x1a\x1a.lnrpc.GraphTopologyUpdate0\x01\x12\x41\n\nDebugLevel\x12\x18.lnrpc.DebugLevelRequest\x1a\x19.lnrpc.DebugLevelResponse\x12P\n\tFeeReport\x12\x17.lnrpc.FeeReportRequest\x1a\x18.lnrpc.FeeReportResponse\"\x10\x82\xd3\xe4\x93\x02\n\x12\x08/v1/fees\x12i\n\x13UpdateChannelPolicy\x12\x1a.lnrpc.PolicyUpdateRequest\x1a\x1b.lnrpc.PolicyUpdateResponse\"\x19\x82\xd3\xe4\x93\x02\x13\"\x0e/v1/chanpolicy:\x01*\x12m\n\x11\x46orwardingHistory\x12\x1f.lnrpc.ForwardingHistoryRequest\x1a .lnrpc.ForwardingHistoryResponse\"\x15\x82\xd3\xe4\x93\x02\x0f\"\n/v1/switch:\x01*\x12\xa3\x01\n\x13\x45xportChannelBackup\x12!.lnrpc.ExportChannelBackupRequest\x1a\x14.lnrpc.ChannelBackup\"S\x82\xd3\xe4\x93\x02M\x12K/v1/channels/backup/{chan_point.funding_txid_str}/{chan_point.output_index}\x12q\n\x17\x45xportAllChannelBackups\x12\x1e.lnrpc.ChanBackupExportRequest\x1a\x19.lnrpc.ChanBackupSnapshot\"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/v1/channels/backup\x12u\n\x10VerifyChanBackup\x12\x19.lnrpc.ChanBackupSnapshot\x1a\x1f.lnrpc.VerifyChanBackupResponse\"%\x82\xd3\xe4\x93\x02\x1f\"\x1a/v1/channels/backup/verify:\x01*\x12~\n\x15RestoreChannelBackups\x12\x1f.lnrpc.RestoreChanBackupRequest\x1a\x1c.lnrpc.RestoreBackupResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/v1/channels/backup/restore:\x01*\x12Z\n\x17SubscribeChannelBackups\x12 .lnrpc.ChannelBackupSubscription\x1a\x19.lnrpc.ChanBackupSnapshot\"\x00\x30\x01\x12`\n\x0c\x42\x61keMacaroon\x12\x1a.lnrpc.BakeMacaroonRequest\x1a\x1b.lnrpc.BakeMacaroonResponse\"\x17\x82\xd3\xe4\x93\x02\x11\"\x0c/v1/macaroon:\x01*B\'Z%github.com/lightningnetwork/lnd/lnrpcb\x06proto3')
   ,
   dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,])
 
@@ -50,16 +51,46 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=17900,
-  serialized_end=18025,
+  serialized_start=20081,
+  serialized_end=20206,
 )
 _sym_db.RegisterEnumDescriptor(_ADDRESSTYPE)
 
 AddressType = enum_type_wrapper.EnumTypeWrapper(_ADDRESSTYPE)
+_INVOICEHTLCSTATE = _descriptor.EnumDescriptor(
+  name='InvoiceHTLCState',
+  full_name='lnrpc.InvoiceHTLCState',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='ACCEPTED', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SETTLED', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='CANCELED', index=2, number=2,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=20208,
+  serialized_end=20267,
+)
+_sym_db.RegisterEnumDescriptor(_INVOICEHTLCSTATE)
+
+InvoiceHTLCState = enum_type_wrapper.EnumTypeWrapper(_INVOICEHTLCSTATE)
 WITNESS_PUBKEY_HASH = 0
 NESTED_PUBKEY_HASH = 1
 UNUSED_WITNESS_PUBKEY_HASH = 2
 UNUSED_NESTED_PUBKEY_HASH = 3
+ACCEPTED = 0
+SETTLED = 1
+CANCELED = 2
 
 
 _CHANNELCLOSESUMMARY_CLOSURETYPE = _descriptor.EnumDescriptor(
@@ -95,8 +126,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=4954,
-  serialized_end=5092,
+  serialized_start=5658,
+  serialized_end=5796,
 )
 _sym_db.RegisterEnumDescriptor(_CHANNELCLOSESUMMARY_CLOSURETYPE)
 
@@ -121,8 +152,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=5616,
-  serialized_end=5679,
+  serialized_start=6320,
+  serialized_end=6383,
 )
 _sym_db.RegisterEnumDescriptor(_PEER_SYNCTYPE)
 
@@ -151,8 +182,8 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=9731,
-  serialized_end=9823,
+  serialized_start=10613,
+  serialized_end=10705,
 )
 _sym_db.RegisterEnumDescriptor(_CHANNELEVENTUPDATE_UPDATETYPE)
 
@@ -181,11 +212,41 @@
   ],
   containing_type=None,
   serialized_options=None,
-  serialized_start=14280,
-  serialized_end=14345,
+  serialized_start=15586,
+  serialized_end=15651,
 )
 _sym_db.RegisterEnumDescriptor(_INVOICE_INVOICESTATE)
 
+_PAYMENT_PAYMENTSTATUS = _descriptor.EnumDescriptor(
+  name='PaymentStatus',
+  full_name='lnrpc.Payment.PaymentStatus',
+  filename=None,
+  file=DESCRIPTOR,
+  values=[
+    _descriptor.EnumValueDescriptor(
+      name='UNKNOWN', index=0, number=0,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='IN_FLIGHT', index=1, number=1,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='SUCCEEDED', index=2, number=2,
+      serialized_options=None,
+      type=None),
+    _descriptor.EnumValueDescriptor(
+      name='FAILED', index=3, number=3,
+      serialized_options=None,
+      type=None),
+  ],
+  containing_type=None,
+  serialized_options=None,
+  serialized_start=16969,
+  serialized_end=17039,
+)
+_sym_db.RegisterEnumDescriptor(_PAYMENT_PAYMENTSTATUS)
+
 
 _GENSEEDREQUEST = _descriptor.Descriptor(
   name='GenSeedRequest',
@@ -606,6 +667,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='dest_addresses', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='raw_tx_hex', full_name='lnrpc.Transaction.raw_tx_hex', index=8,
+      number=9, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='raw_tx_hex', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -619,7 +687,7 @@
   oneofs=[
   ],
   serialized_start=871,
-  serialized_end=1152,
+  serialized_end=1184,
 )
 
 
@@ -642,8 +710,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1154,
-  serialized_end=1178,
+  serialized_start=1186,
+  serialized_end=1210,
 )
 
 
@@ -673,8 +741,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1180,
-  serialized_end=1256,
+  serialized_start=1212,
+  serialized_end=1288,
 )
 
 
@@ -714,11 +782,48 @@
       name='limit', full_name='lnrpc.FeeLimit.limit',
       index=0, containing_type=None, fields=[]),
   ],
-  serialized_start=1258,
-  serialized_end=1313,
+  serialized_start=1290,
+  serialized_end=1345,
 )
 
 
+_SENDREQUEST_DESTTLVENTRY = _descriptor.Descriptor(
+  name='DestTlvEntry',
+  full_name='lnrpc.SendRequest.DestTlvEntry',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='key', full_name='lnrpc.SendRequest.DestTlvEntry.key', index=0,
+      number=1, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='value', full_name='lnrpc.SendRequest.DestTlvEntry.value', index=1,
+      number=2, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=_b('8\001'),
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1650,
+  serialized_end=1696,
+)
+
 _SENDREQUEST = _descriptor.Descriptor(
   name='SendRequest',
   full_name='lnrpc.SendRequest',
@@ -788,7 +893,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=_b('0\001'), file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='cltv_limit', full_name='lnrpc.SendRequest.cltv_limit', index=9,
       number=10, type=13, cpp_type=3, label=1,
@@ -796,10 +901,17 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='dest_tlv', full_name='lnrpc.SendRequest.dest_tlv', index=10,
+      number=11, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
   ],
   extensions=[
   ],
-  nested_types=[],
+  nested_types=[_SENDREQUEST_DESTTLVENTRY, ],
   enum_types=[
   ],
   serialized_options=None,
@@ -808,8 +920,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1316,
-  serialized_end=1561,
+  serialized_start=1348,
+  serialized_end=1696,
 )
 
 
@@ -860,8 +972,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1564,
-  serialized_end=1748,
+  serialized_start=1699,
+  serialized_end=1883,
 )
 
 
@@ -887,16 +999,162 @@
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
-      name='routes', full_name='lnrpc.SendToRouteRequest.routes', index=2,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
+      name='route', full_name='lnrpc.SendToRouteRequest.route', index=2,
+      number=4, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=_b('\030\001'), file=DESCRIPTOR),
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1885,
+  serialized_end=1991,
+)
+
+
+_CHANNELACCEPTREQUEST = _descriptor.Descriptor(
+  name='ChannelAcceptRequest',
+  full_name='lnrpc.ChannelAcceptRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
     _descriptor.FieldDescriptor(
-      name='route', full_name='lnrpc.SendToRouteRequest.route', index=3,
-      number=4, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
+      name='node_pubkey', full_name='lnrpc.ChannelAcceptRequest.node_pubkey', index=0,
+      number=1, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='chain_hash', full_name='lnrpc.ChannelAcceptRequest.chain_hash', index=1,
+      number=2, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='pending_chan_id', full_name='lnrpc.ChannelAcceptRequest.pending_chan_id', index=2,
+      number=3, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='funding_amt', full_name='lnrpc.ChannelAcceptRequest.funding_amt', index=3,
+      number=4, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='push_amt', full_name='lnrpc.ChannelAcceptRequest.push_amt', index=4,
+      number=5, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='dust_limit', full_name='lnrpc.ChannelAcceptRequest.dust_limit', index=5,
+      number=6, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='max_value_in_flight', full_name='lnrpc.ChannelAcceptRequest.max_value_in_flight', index=6,
+      number=7, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='channel_reserve', full_name='lnrpc.ChannelAcceptRequest.channel_reserve', index=7,
+      number=8, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='min_htlc', full_name='lnrpc.ChannelAcceptRequest.min_htlc', index=8,
+      number=9, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='fee_per_kw', full_name='lnrpc.ChannelAcceptRequest.fee_per_kw', index=9,
+      number=10, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='csv_delay', full_name='lnrpc.ChannelAcceptRequest.csv_delay', index=10,
+      number=11, type=13, cpp_type=3, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='max_accepted_htlcs', full_name='lnrpc.ChannelAcceptRequest.max_accepted_htlcs', index=11,
+      number=12, type=13, cpp_type=3, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='channel_flags', full_name='lnrpc.ChannelAcceptRequest.channel_flags', index=12,
+      number=13, type=13, cpp_type=3, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=1994,
+  serialized_end=2303,
+)
+
+
+_CHANNELACCEPTRESPONSE = _descriptor.Descriptor(
+  name='ChannelAcceptResponse',
+  full_name='lnrpc.ChannelAcceptResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='accept', full_name='lnrpc.ChannelAcceptResponse.accept', index=0,
+      number=1, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='pending_chan_id', full_name='lnrpc.ChannelAcceptResponse.pending_chan_id', index=1,
+      number=2, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
@@ -912,8 +1170,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=1751,
-  serialized_end=1885,
+  serialized_start=2305,
+  serialized_end=2369,
 )
 
 
@@ -960,8 +1218,8 @@
       name='funding_txid', full_name='lnrpc.ChannelPoint.funding_txid',
       index=0, containing_type=None, fields=[]),
   ],
-  serialized_start=1888,
-  serialized_end=2050,
+  serialized_start=2372,
+  serialized_end=2534,
 )
 
 
@@ -1005,8 +1263,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2052,
-  serialized_end=2158,
+  serialized_start=2536,
+  serialized_end=2642,
 )
 
 
@@ -1043,8 +1301,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2160,
-  serialized_end=2222,
+  serialized_start=2644,
+  serialized_end=2706,
 )
 
 
@@ -1081,8 +1339,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2335,
-  serialized_end=2386,
+  serialized_start=2819,
+  serialized_end=2870,
 )
 
 _ESTIMATEFEEREQUEST = _descriptor.Descriptor(
@@ -1118,8 +1376,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2225,
-  serialized_end=2386,
+  serialized_start=2709,
+  serialized_end=2870,
 )
 
 
@@ -1156,8 +1414,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2388,
-  serialized_end=2487,
+  serialized_start=2872,
+  serialized_end=2971,
 )
 
 
@@ -1194,8 +1452,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2335,
-  serialized_end=2386,
+  serialized_start=2819,
+  serialized_end=2870,
 )
 
 _SENDMANYREQUEST = _descriptor.Descriptor(
@@ -1238,8 +1496,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2490,
-  serialized_end=2667,
+  serialized_start=2974,
+  serialized_end=3151,
 )
 
 
@@ -1269,8 +1527,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2669,
-  serialized_end=2707,
+  serialized_start=3153,
+  serialized_end=3191,
 )
 
 
@@ -1328,8 +1586,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2709,
-  serialized_end=2818,
+  serialized_start=3193,
+  serialized_end=3302,
 )
 
 
@@ -1359,8 +1617,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2820,
-  serialized_end=2859,
+  serialized_start=3304,
+  serialized_end=3343,
 )
 
 
@@ -1397,8 +1655,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2861,
-  serialized_end=2919,
+  serialized_start=3345,
+  serialized_end=3403,
 )
 
 
@@ -1428,8 +1686,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2921,
-  serialized_end=2977,
+  serialized_start=3405,
+  serialized_end=3461,
 )
 
 
@@ -1459,8 +1717,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=2979,
-  serialized_end=3032,
+  serialized_start=3463,
+  serialized_end=3516,
 )
 
 
@@ -1490,8 +1748,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3034,
-  serialized_end=3080,
+  serialized_start=3518,
+  serialized_end=3564,
 )
 
 
@@ -1521,8 +1779,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3082,
-  serialized_end=3120,
+  serialized_start=3566,
+  serialized_end=3604,
 )
 
 
@@ -1552,8 +1810,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3122,
-  serialized_end=3173,
+  serialized_start=3606,
+  serialized_end=3657,
 )
 
 
@@ -1590,8 +1848,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3175,
-  serialized_end=3245,
+  serialized_start=3659,
+  serialized_end=3729,
 )
 
 
@@ -1628,8 +1886,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3247,
-  serialized_end=3316,
+  serialized_start=3731,
+  serialized_end=3800,
 )
 
 
@@ -1666,8 +1924,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3318,
-  serialized_end=3391,
+  serialized_start=3802,
+  serialized_end=3875,
 )
 
 
@@ -1690,8 +1948,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3393,
-  serialized_end=3414,
+  serialized_start=3877,
+  serialized_end=3898,
 )
 
 
@@ -1721,8 +1979,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3416,
-  serialized_end=3465,
+  serialized_start=3900,
+  serialized_end=3949,
 )
 
 
@@ -1745,8 +2003,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3467,
-  serialized_end=3491,
+  serialized_start=3951,
+  serialized_end=3975,
 )
 
 
@@ -1797,8 +2055,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3494,
-  serialized_end=3628,
+  serialized_start=3978,
+  serialized_end=4112,
 )
 
 
@@ -1836,7 +2094,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, json_name='chan_id', file=DESCRIPTOR),
+      serialized_options=_b('0\001'), json_name='chan_id', file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='capacity', full_name='lnrpc.Channel.capacity', index=4,
       number=5, type=3, cpp_type=2, label=1,
@@ -1942,6 +2200,41 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='chan_status_flags', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='local_chan_reserve_sat', full_name='lnrpc.Channel.local_chan_reserve_sat', index=19,
+      number=20, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='local_chan_reserve_sat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='remote_chan_reserve_sat', full_name='lnrpc.Channel.remote_chan_reserve_sat', index=20,
+      number=21, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='remote_chan_reserve_sat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='static_remote_key', full_name='lnrpc.Channel.static_remote_key', index=21,
+      number=22, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='static_remote_key', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='lifetime', full_name='lnrpc.Channel.lifetime', index=22,
+      number=23, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='lifetime', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='uptime', full_name='lnrpc.Channel.uptime', index=23,
+      number=24, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='uptime', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -1954,8 +2247,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=3631,
-  serialized_end=4345,
+  serialized_start=4115,
+  serialized_end=5045,
 )
 
 
@@ -2006,8 +2299,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=4347,
-  serialized_end=4455,
+  serialized_start=5047,
+  serialized_end=5155,
 )
 
 
@@ -2037,8 +2330,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=4457,
-  serialized_end=4523,
+  serialized_start=5157,
+  serialized_end=5223,
 )
 
 
@@ -2062,7 +2355,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, json_name='chan_id', file=DESCRIPTOR),
+      serialized_options=_b('0\001'), json_name='chan_id', file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='chain_hash', full_name='lnrpc.ChannelCloseSummary.chain_hash', index=2,
       number=3, type=9, cpp_type=9, label=1,
@@ -2132,8 +2425,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=4526,
-  serialized_end=5092,
+  serialized_start=5226,
+  serialized_end=5796,
 )
 
 
@@ -2198,8 +2491,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=5095,
-  serialized_end=5243,
+  serialized_start=5799,
+  serialized_end=5947,
 )
 
 
@@ -2229,8 +2522,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=5245,
-  serialized_end=5325,
+  serialized_start=5949,
+  serialized_end=6029,
 )
 
 
@@ -2317,8 +2610,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=5328,
-  serialized_end=5679,
+  serialized_start=6032,
+  serialized_end=6383,
 )
 
 
@@ -2341,8 +2634,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=5681,
-  serialized_end=5699,
+  serialized_start=6385,
+  serialized_end=6403,
 )
 
 
@@ -2372,8 +2665,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=5701,
-  serialized_end=5755,
+  serialized_start=6405,
+  serialized_end=6459,
 )
 
 
@@ -2396,8 +2689,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=5757,
-  serialized_end=5773,
+  serialized_start=6461,
+  serialized_end=6477,
 )
 
 
@@ -2506,6 +2799,20 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='chains', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='color', full_name='lnrpc.GetInfoResponse.color', index=14,
+      number=17, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='color', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='synced_to_graph', full_name='lnrpc.GetInfoResponse.synced_to_graph', index=15,
+      number=18, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='synced_to_graph', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -2518,8 +2825,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=5776,
-  serialized_end=6327,
+  serialized_start=6480,
+  serialized_end=7095,
 )
 
 
@@ -2556,8 +2863,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=6329,
-  serialized_end=6384,
+  serialized_start=7097,
+  serialized_end=7152,
 )
 
 
@@ -2601,8 +2908,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=6386,
-  serialized_end=6471,
+  serialized_start=7154,
+  serialized_end=7239,
 )
 
 
@@ -2632,8 +2939,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=6473,
-  serialized_end=6551,
+  serialized_start=7241,
+  serialized_end=7319,
 )
 
 
@@ -2670,8 +2977,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=6553,
-  serialized_end=6635,
+  serialized_start=7321,
+  serialized_end=7403,
 )
 
 
@@ -2722,8 +3029,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=6637,
-  serialized_end=6760,
+  serialized_start=7405,
+  serialized_end=7528,
 )
 
 
@@ -2763,8 +3070,8 @@
       name='update', full_name='lnrpc.CloseStatusUpdate.update',
       index=0, containing_type=None, fields=[]),
   ],
-  serialized_start=6763,
-  serialized_end=6915,
+  serialized_start=7531,
+  serialized_end=7683,
 )
 
 
@@ -2801,8 +3108,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=6917,
-  serialized_end=6988,
+  serialized_start=7685,
+  serialized_end=7756,
 )
 
 
@@ -2902,8 +3209,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=6991,
-  serialized_end=7400,
+  serialized_start=7759,
+  serialized_end=8168,
 )
 
 
@@ -2943,8 +3250,8 @@
       name='update', full_name='lnrpc.OpenStatusUpdate.update',
       index=0, containing_type=None, fields=[]),
   ],
-  serialized_start=7403,
-  serialized_end=7549,
+  serialized_start=8171,
+  serialized_end=8317,
 )
 
 
@@ -3009,8 +3316,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=7552,
-  serialized_end=7759,
+  serialized_start=8320,
+  serialized_end=8527,
 )
 
 
@@ -3033,8 +3340,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=7761,
-  serialized_end=7785,
+  serialized_start=8529,
+  serialized_end=8553,
 )
 
 
@@ -3080,6 +3387,20 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='remote_balance', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='local_chan_reserve_sat', full_name='lnrpc.PendingChannelsResponse.PendingChannel.local_chan_reserve_sat', index=5,
+      number=6, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='local_chan_reserve_sat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='remote_chan_reserve_sat', full_name='lnrpc.PendingChannelsResponse.PendingChannel.remote_chan_reserve_sat', index=6,
+      number=7, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='remote_chan_reserve_sat', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -3092,8 +3413,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=8308,
-  serialized_end=8510,
+  serialized_start=9076,
+  serialized_end=9392,
 )
 
 _PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL = _descriptor.Descriptor(
@@ -3150,8 +3471,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=8513,
-  serialized_end=8758,
+  serialized_start=9395,
+  serialized_end=9640,
 )
 
 _PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL = _descriptor.Descriptor(
@@ -3187,8 +3508,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=8760,
-  serialized_end=8883,
+  serialized_start=9642,
+  serialized_end=9765,
 )
 
 _PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL = _descriptor.Descriptor(
@@ -3224,8 +3545,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=8885,
-  serialized_end=9000,
+  serialized_start=9767,
+  serialized_end=9882,
 )
 
 _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL = _descriptor.Descriptor(
@@ -3296,8 +3617,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=9003,
-  serialized_end=9366,
+  serialized_start=9885,
+  serialized_end=10248,
 )
 
 _PENDINGCHANNELSRESPONSE = _descriptor.Descriptor(
@@ -3354,8 +3675,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=7788,
-  serialized_end=9366,
+  serialized_start=8556,
+  serialized_end=10248,
 )
 
 
@@ -3378,8 +3699,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=9368,
-  serialized_end=9394,
+  serialized_start=10250,
+  serialized_end=10276,
 )
 
 
@@ -3441,8 +3762,8 @@
       name='channel', full_name='lnrpc.ChannelEventUpdate.channel',
       index=0, containing_type=None, fields=[]),
   ],
-  serialized_start=9397,
-  serialized_end=9834,
+  serialized_start=10279,
+  serialized_end=10716,
 )
 
 
@@ -3465,8 +3786,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=9836,
-  serialized_end=9858,
+  serialized_start=10718,
+  serialized_end=10740,
 )
 
 
@@ -3510,8 +3831,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=9861,
-  serialized_end=10018,
+  serialized_start=10743,
+  serialized_end=10900,
 )
 
 
@@ -3534,8 +3855,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=10020,
-  serialized_end=10043,
+  serialized_start=10902,
+  serialized_end=10925,
 )
 
 
@@ -3572,8 +3893,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=10045,
-  serialized_end=10147,
+  serialized_start=10927,
+  serialized_end=11029,
 )
 
 
@@ -3599,47 +3920,99 @@
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
-      name='num_routes', full_name='lnrpc.QueryRoutesRequest.num_routes', index=2,
-      number=3, type=5, cpp_type=1, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=_b('\030\001'), file=DESCRIPTOR),
-    _descriptor.FieldDescriptor(
-      name='final_cltv_delta', full_name='lnrpc.QueryRoutesRequest.final_cltv_delta', index=3,
-      number=4, type=5, cpp_type=1, label=1,
+      name='final_cltv_delta', full_name='lnrpc.QueryRoutesRequest.final_cltv_delta', index=2,
+      number=4, type=5, cpp_type=1, label=1,
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
-      name='fee_limit', full_name='lnrpc.QueryRoutesRequest.fee_limit', index=4,
+      name='fee_limit', full_name='lnrpc.QueryRoutesRequest.fee_limit', index=3,
       number=5, type=11, cpp_type=10, label=1,
       has_default_value=False, default_value=None,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
-      name='ignored_nodes', full_name='lnrpc.QueryRoutesRequest.ignored_nodes', index=5,
+      name='ignored_nodes', full_name='lnrpc.QueryRoutesRequest.ignored_nodes', index=4,
       number=6, type=12, cpp_type=9, label=3,
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
-      name='ignored_edges', full_name='lnrpc.QueryRoutesRequest.ignored_edges', index=6,
+      name='ignored_edges', full_name='lnrpc.QueryRoutesRequest.ignored_edges', index=5,
       number=7, type=11, cpp_type=10, label=3,
       has_default_value=False, default_value=[],
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=_b('\030\001'), file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
-      name='source_pub_key', full_name='lnrpc.QueryRoutesRequest.source_pub_key', index=7,
+      name='source_pub_key', full_name='lnrpc.QueryRoutesRequest.source_pub_key', index=6,
       number=8, type=9, cpp_type=9, label=1,
       has_default_value=False, default_value=_b("").decode('utf-8'),
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='use_mission_control', full_name='lnrpc.QueryRoutesRequest.use_mission_control', index=7,
+      number=9, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='ignored_pairs', full_name='lnrpc.QueryRoutesRequest.ignored_pairs', index=8,
+      number=10, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='cltv_limit', full_name='lnrpc.QueryRoutesRequest.cltv_limit', index=9,
+      number=11, type=13, cpp_type=3, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=11032,
+  serialized_end=11333,
+)
+
+
+_NODEPAIR = _descriptor.Descriptor(
+  name='NodePair',
+  full_name='lnrpc.NodePair',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='from', full_name='lnrpc.NodePair.from', index=0,
+      number=1, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='to', full_name='lnrpc.NodePair.to', index=1,
+      number=2, type=12, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b(""),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -3652,8 +4025,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=10150,
-  serialized_end=10376,
+  serialized_start=11335,
+  serialized_end=11371,
 )
 
 
@@ -3670,7 +4043,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=_b('0\001'), file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='direction_reverse', full_name='lnrpc.EdgeLocator.direction_reverse', index=1,
       number=2, type=8, cpp_type=7, label=1,
@@ -3690,8 +4063,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=10378,
-  serialized_end=10438,
+  serialized_start=11373,
+  serialized_end=11437,
 )
 
 
@@ -3709,6 +4082,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='routes', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='success_prob', full_name='lnrpc.QueryRoutesResponse.success_prob', index=1,
+      number=2, type=1, cpp_type=5, label=1,
+      has_default_value=False, default_value=float(0),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='success_prob', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -3721,8 +4101,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=10440,
-  serialized_end=10499,
+  serialized_start=11439,
+  serialized_end=11534,
 )
 
 
@@ -3739,7 +4119,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, json_name='chan_id', file=DESCRIPTOR),
+      serialized_options=_b('0\001'), json_name='chan_id', file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='chan_capacity', full_name='lnrpc.Hop.chan_capacity', index=1,
       number=2, type=3, cpp_type=2, label=1,
@@ -3789,6 +4169,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='pub_key', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='tlv_payload', full_name='lnrpc.Hop.tlv_payload', index=8,
+      number=9, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='tlv_payload', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -3801,8 +4188,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=10502,
-  serialized_end=10765,
+  serialized_start=11537,
+  serialized_end=11838,
 )
 
 
@@ -3867,8 +4254,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=10768,
-  serialized_end=11001,
+  serialized_start=11841,
+  serialized_end=12074,
 )
 
 
@@ -3886,6 +4273,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='include_channels', full_name='lnrpc.NodeInfoRequest.include_channels', index=1,
+      number=2, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -3898,8 +4292,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=11003,
-  serialized_end=11037,
+  serialized_start=12076,
+  serialized_end=12136,
 )
 
 
@@ -3931,6 +4325,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='total_capacity', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='channels', full_name='lnrpc.NodeInfo.channels', index=3,
+      number=4, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='channels', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -3943,8 +4344,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=11040,
-  serialized_end=11168,
+  serialized_start=12139,
+  serialized_end=12315,
 )
 
 
@@ -4002,8 +4403,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=11171,
-  serialized_end=11340,
+  serialized_start=12318,
+  serialized_end=12487,
 )
 
 
@@ -4040,8 +4441,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=11342,
-  serialized_end=11401,
+  serialized_start=12489,
+  serialized_end=12548,
 )
 
 
@@ -4094,6 +4495,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='max_htlc_msat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='last_update', full_name='lnrpc.RoutingPolicy.last_update', index=6,
+      number=7, type=13, cpp_type=3, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='last_update', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -4106,8 +4514,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=11404,
-  serialized_end=11643,
+  serialized_start=12551,
+  serialized_end=12824,
 )
 
 
@@ -4124,7 +4532,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, json_name='channel_id', file=DESCRIPTOR),
+      serialized_options=_b('0\001'), json_name='channel_id', file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='chan_point', full_name='lnrpc.ChannelEdge.chan_point', index=1,
       number=2, type=9, cpp_type=9, label=1,
@@ -4138,7 +4546,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, json_name='last_update', file=DESCRIPTOR),
+      serialized_options=_b('\030\001'), json_name='last_update', file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='node1_pub', full_name='lnrpc.ChannelEdge.node1_pub', index=3,
       number=4, type=9, cpp_type=9, label=1,
@@ -4186,8 +4594,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=11646,
-  serialized_end=11961,
+  serialized_start=12827,
+  serialized_end=13150,
 )
 
 
@@ -4217,8 +4625,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=11963,
-  serialized_end=12034,
+  serialized_start=13152,
+  serialized_end=13223,
 )
 
 
@@ -4255,8 +4663,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12036,
-  serialized_end=12136,
+  serialized_start=13225,
+  serialized_end=13325,
 )
 
 
@@ -4273,7 +4681,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=_b('0\001'), file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -4286,8 +4694,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12138,
-  serialized_end=12172,
+  serialized_start=13327,
+  serialized_end=13365,
 )
 
 
@@ -4310,8 +4718,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12174,
-  serialized_end=12194,
+  serialized_start=13367,
+  serialized_end=13387,
 )
 
 
@@ -4392,6 +4800,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='median_channel_size_sat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='num_zombie_chans', full_name='lnrpc.NetworkInfo.num_zombie_chans', index=10,
+      number=11, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='num_zombie_chans', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -4404,8 +4819,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12197,
-  serialized_end=12642,
+  serialized_start=13390,
+  serialized_end=13879,
 )
 
 
@@ -4428,8 +4843,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12644,
-  serialized_end=12657,
+  serialized_start=13881,
+  serialized_end=13894,
 )
 
 
@@ -4452,8 +4867,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12659,
-  serialized_end=12673,
+  serialized_start=13896,
+  serialized_end=13910,
 )
 
 
@@ -4476,8 +4891,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12675,
-  serialized_end=12702,
+  serialized_start=13912,
+  serialized_end=13939,
 )
 
 
@@ -4521,8 +4936,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12705,
-  serialized_end=12868,
+  serialized_start=13942,
+  serialized_end=14105,
 )
 
 
@@ -4561,6 +4976,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='color', full_name='lnrpc.NodeUpdate.color', index=4,
+      number=5, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -4573,8 +4995,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12870,
-  serialized_end=12963,
+  serialized_start=14107,
+  serialized_end=14215,
 )
 
 
@@ -4591,7 +5013,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=_b('0\001'), file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='chan_point', full_name='lnrpc.ChannelEdgeUpdate.chan_point', index=1,
       number=2, type=11, cpp_type=10, label=1,
@@ -4639,8 +5061,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=12966,
-  serialized_end=13158,
+  serialized_start=14218,
+  serialized_end=14414,
 )
 
 
@@ -4657,7 +5079,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR),
+      serialized_options=_b('0\001'), file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='capacity', full_name='lnrpc.ClosedChannelUpdate.capacity', index=1,
       number=2, type=3, cpp_type=2, label=1,
@@ -4691,8 +5113,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=13160,
-  serialized_end=13280,
+  serialized_start=14416,
+  serialized_end=14540,
 )
 
 
@@ -4716,7 +5138,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, json_name='chan_id', file=DESCRIPTOR),
+      serialized_options=_b('0\001'), json_name='chan_id', file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='fee_base_msat', full_name='lnrpc.HopHint.fee_base_msat', index=2,
       number=3, type=13, cpp_type=3, label=1,
@@ -4750,8 +5172,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=13283,
-  serialized_end=13494,
+  serialized_start=14543,
+  serialized_end=14758,
 )
 
 
@@ -4781,8 +5203,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=13496,
-  serialized_end=13553,
+  serialized_start=14760,
+  serialized_end=14817,
 )
 
 
@@ -4940,6 +5362,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='state', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='htlcs', full_name='lnrpc.Invoice.htlcs', index=21,
+      number=22, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='htlcs', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -4953,8 +5382,88 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=13556,
-  serialized_end=14345,
+  serialized_start=14820,
+  serialized_end=15651,
+)
+
+
+_INVOICEHTLC = _descriptor.Descriptor(
+  name='InvoiceHTLC',
+  full_name='lnrpc.InvoiceHTLC',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='chan_id', full_name='lnrpc.InvoiceHTLC.chan_id', index=0,
+      number=1, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=_b('0\001'), json_name='chan_id', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='htlc_index', full_name='lnrpc.InvoiceHTLC.htlc_index', index=1,
+      number=2, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='htlc_index', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='amt_msat', full_name='lnrpc.InvoiceHTLC.amt_msat', index=2,
+      number=3, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='amt_msat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='accept_height', full_name='lnrpc.InvoiceHTLC.accept_height', index=3,
+      number=4, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='accept_height', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='accept_time', full_name='lnrpc.InvoiceHTLC.accept_time', index=4,
+      number=5, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='accept_time', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='resolve_time', full_name='lnrpc.InvoiceHTLC.resolve_time', index=5,
+      number=6, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='resolve_time', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='expiry_height', full_name='lnrpc.InvoiceHTLC.expiry_height', index=6,
+      number=7, type=5, cpp_type=1, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='expiry_height', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='state', full_name='lnrpc.InvoiceHTLC.state', index=7,
+      number=8, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='state', file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=15654,
+  serialized_end=15950,
 )
 
 
@@ -4998,8 +5507,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=14347,
-  serialized_end=14463,
+  serialized_start=15952,
+  serialized_end=16068,
 )
 
 
@@ -5036,8 +5545,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=14465,
-  serialized_end=14534,
+  serialized_start=16070,
+  serialized_end=16139,
 )
 
 
@@ -5088,8 +5597,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=14537,
-  serialized_end=14701,
+  serialized_start=16142,
+  serialized_end=16306,
 )
 
 
@@ -5133,8 +5642,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=14704,
-  serialized_end=14863,
+  serialized_start=16309,
+  serialized_end=16468,
 )
 
 
@@ -5171,8 +5680,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=14865,
-  serialized_end=14952,
+  serialized_start=16470,
+  serialized_end=16557,
 )
 
 
@@ -5217,7 +5726,7 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, json_name='fee', file=DESCRIPTOR),
+      serialized_options=_b('\030\001'), json_name='fee', file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='payment_preimage', full_name='lnrpc.Payment.payment_preimage', index=5,
       number=6, type=9, cpp_type=9, label=1,
@@ -5239,11 +5748,40 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='value_msat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='payment_request', full_name='lnrpc.Payment.payment_request', index=8,
+      number=9, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='payment_request', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='status', full_name='lnrpc.Payment.status', index=9,
+      number=10, type=14, cpp_type=8, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='status', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='fee_sat', full_name='lnrpc.Payment.fee_sat', index=10,
+      number=11, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='fee_sat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='fee_msat', full_name='lnrpc.Payment.fee_msat', index=11,
+      number=12, type=3, cpp_type=2, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='fee_msat', file=DESCRIPTOR),
   ],
   extensions=[
   ],
   nested_types=[],
   enum_types=[
+    _PAYMENT_PAYMENTSTATUS,
   ],
   serialized_options=None,
   is_extendable=False,
@@ -5251,8 +5789,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=14955,
-  serialized_end=15208,
+  serialized_start=16560,
+  serialized_end=17039,
 )
 
 
@@ -5263,6 +5801,13 @@
   file=DESCRIPTOR,
   containing_type=None,
   fields=[
+    _descriptor.FieldDescriptor(
+      name='include_incomplete', full_name='lnrpc.ListPaymentsRequest.include_incomplete', index=0,
+      number=1, type=8, cpp_type=7, label=1,
+      has_default_value=False, default_value=False,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -5275,8 +5820,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15210,
-  serialized_end=15231,
+  serialized_start=17041,
+  serialized_end=17090,
 )
 
 
@@ -5306,8 +5851,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15233,
-  serialized_end=15299,
+  serialized_start=17092,
+  serialized_end=17158,
 )
 
 
@@ -5330,8 +5875,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15301,
-  serialized_end=15327,
+  serialized_start=17160,
+  serialized_end=17186,
 )
 
 
@@ -5354,8 +5899,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15329,
-  serialized_end=15356,
+  serialized_start=17188,
+  serialized_end=17215,
 )
 
 
@@ -5385,8 +5930,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15358,
-  serialized_end=15425,
+  serialized_start=17217,
+  serialized_end=17284,
 )
 
 
@@ -5409,8 +5954,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15427,
-  serialized_end=15451,
+  serialized_start=17286,
+  serialized_end=17310,
 )
 
 
@@ -5447,8 +5992,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15453,
-  serialized_end=15506,
+  serialized_start=17312,
+  serialized_end=17365,
 )
 
 
@@ -5478,8 +6023,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15508,
-  serialized_end=15562,
+  serialized_start=17367,
+  serialized_end=17421,
 )
 
 
@@ -5509,8 +6054,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15564,
-  serialized_end=15595,
+  serialized_start=17423,
+  serialized_end=17454,
 )
 
 
@@ -5603,8 +6148,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15598,
-  serialized_end=15968,
+  serialized_start=17457,
+  serialized_end=17827,
 )
 
 
@@ -5627,8 +6172,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15970,
-  serialized_end=15988,
+  serialized_start=17829,
+  serialized_end=17847,
 )
 
 
@@ -5679,8 +6224,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=15991,
-  serialized_end=16144,
+  serialized_start=17850,
+  serialized_end=18003,
 )
 
 
@@ -5731,8 +6276,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=16147,
-  serialized_end=16335,
+  serialized_start=18006,
+  serialized_end=18194,
 )
 
 
@@ -5778,6 +6323,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='time_lock_delta', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='max_htlc_msat', full_name='lnrpc.PolicyUpdateRequest.max_htlc_msat', index=5,
+      number=6, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='max_htlc_msat', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -5793,8 +6345,8 @@
       name='scope', full_name='lnrpc.PolicyUpdateRequest.scope',
       index=0, containing_type=None, fields=[]),
   ],
-  serialized_start=16338,
-  serialized_end=16557,
+  serialized_start=18197,
+  serialized_end=18454,
 )
 
 
@@ -5817,8 +6369,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=16559,
-  serialized_end=16581,
+  serialized_start=18456,
+  serialized_end=18478,
 )
 
 
@@ -5869,8 +6421,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=16584,
-  serialized_end=16746,
+  serialized_start=18481,
+  serialized_end=18643,
 )
 
 
@@ -5894,14 +6446,14 @@
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, json_name='chan_id_in', file=DESCRIPTOR),
+      serialized_options=_b('0\001'), json_name='chan_id_in', file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='chan_id_out', full_name='lnrpc.ForwardingEvent.chan_id_out', index=2,
       number=4, type=4, cpp_type=4, label=1,
       has_default_value=False, default_value=0,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      serialized_options=None, json_name='chan_id_out', file=DESCRIPTOR),
+      serialized_options=_b('0\001'), json_name='chan_id_out', file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='amt_in', full_name='lnrpc.ForwardingEvent.amt_in', index=3,
       number=5, type=4, cpp_type=4, label=1,
@@ -5930,6 +6482,20 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       serialized_options=None, json_name='fee_msat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='amt_in_msat', full_name='lnrpc.ForwardingEvent.amt_in_msat', index=7,
+      number=9, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='amt_in_msat', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='amt_out_msat', full_name='lnrpc.ForwardingEvent.amt_out_msat', index=8,
+      number=10, type=4, cpp_type=4, label=1,
+      has_default_value=False, default_value=0,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='amt_out_msat', file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -5942,8 +6508,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=16749,
-  serialized_end=16958,
+  serialized_start=18646,
+  serialized_end=18933,
 )
 
 
@@ -5980,8 +6546,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=16961,
-  serialized_end=17104,
+  serialized_start=18936,
+  serialized_end=19079,
 )
 
 
@@ -6011,8 +6577,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17106,
-  serialized_end=17175,
+  serialized_start=19081,
+  serialized_end=19150,
 )
 
 
@@ -6049,8 +6615,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17177,
-  serialized_end=17279,
+  serialized_start=19152,
+  serialized_end=19254,
 )
 
 
@@ -6087,8 +6653,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17281,
-  serialized_end=17399,
+  serialized_start=19256,
+  serialized_end=19374,
 )
 
 
@@ -6111,8 +6677,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17401,
-  serialized_end=17426,
+  serialized_start=19376,
+  serialized_end=19401,
 )
 
 
@@ -6149,8 +6715,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17429,
-  serialized_end=17592,
+  serialized_start=19404,
+  serialized_end=19567,
 )
 
 
@@ -6180,8 +6746,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17594,
-  serialized_end=17668,
+  serialized_start=19569,
+  serialized_end=19643,
 )
 
 
@@ -6221,8 +6787,8 @@
       name='backup', full_name='lnrpc.RestoreChanBackupRequest.backup',
       index=0, containing_type=None, fields=[]),
   ],
-  serialized_start=17671,
-  serialized_end=17816,
+  serialized_start=19646,
+  serialized_end=19791,
 )
 
 
@@ -6245,8 +6811,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17818,
-  serialized_end=17841,
+  serialized_start=19793,
+  serialized_end=19816,
 )
 
 
@@ -6269,8 +6835,8 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17843,
-  serialized_end=17870,
+  serialized_start=19818,
+  serialized_end=19845,
 )
 
 
@@ -6293,8 +6859,108 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=17872,
-  serialized_end=17898,
+  serialized_start=19847,
+  serialized_end=19873,
+)
+
+
+_MACAROONPERMISSION = _descriptor.Descriptor(
+  name='MacaroonPermission',
+  full_name='lnrpc.MacaroonPermission',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='entity', full_name='lnrpc.MacaroonPermission.entity', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='entity', file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='action', full_name='lnrpc.MacaroonPermission.action', index=1,
+      number=2, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='action', file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=19875,
+  serialized_end=19943,
+)
+
+
+_BAKEMACAROONREQUEST = _descriptor.Descriptor(
+  name='BakeMacaroonRequest',
+  full_name='lnrpc.BakeMacaroonRequest',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='permissions', full_name='lnrpc.BakeMacaroonRequest.permissions', index=0,
+      number=1, type=11, cpp_type=10, label=3,
+      has_default_value=False, default_value=[],
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='permissions', file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=19945,
+  serialized_end=20027,
+)
+
+
+_BAKEMACAROONRESPONSE = _descriptor.Descriptor(
+  name='BakeMacaroonResponse',
+  full_name='lnrpc.BakeMacaroonResponse',
+  filename=None,
+  file=DESCRIPTOR,
+  containing_type=None,
+  fields=[
+    _descriptor.FieldDescriptor(
+      name='macaroon', full_name='lnrpc.BakeMacaroonResponse.macaroon', index=0,
+      number=1, type=9, cpp_type=9, label=1,
+      has_default_value=False, default_value=_b("").decode('utf-8'),
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      serialized_options=None, json_name='macaroon', file=DESCRIPTOR),
+  ],
+  extensions=[
+  ],
+  nested_types=[],
+  enum_types=[
+  ],
+  serialized_options=None,
+  is_extendable=False,
+  syntax='proto3',
+  extension_ranges=[],
+  oneofs=[
+  ],
+  serialized_start=20029,
+  serialized_end=20079,
 )
 
 _INITWALLETREQUEST.fields_by_name['channel_backups'].message_type = _CHANBACKUPSNAPSHOT
@@ -6308,9 +6974,10 @@
 _FEELIMIT.oneofs_by_name['limit'].fields.append(
   _FEELIMIT.fields_by_name['percent'])
 _FEELIMIT.fields_by_name['percent'].containing_oneof = _FEELIMIT.oneofs_by_name['limit']
+_SENDREQUEST_DESTTLVENTRY.containing_type = _SENDREQUEST
 _SENDREQUEST.fields_by_name['fee_limit'].message_type = _FEELIMIT
+_SENDREQUEST.fields_by_name['dest_tlv'].message_type = _SENDREQUEST_DESTTLVENTRY
 _SENDRESPONSE.fields_by_name['payment_route'].message_type = _ROUTE
-_SENDTOROUTEREQUEST.fields_by_name['routes'].message_type = _ROUTE
 _SENDTOROUTEREQUEST.fields_by_name['route'].message_type = _ROUTE
 _CHANNELPOINT.oneofs_by_name['funding_txid'].fields.append(
   _CHANNELPOINT.fields_by_name['funding_txid_bytes'])
@@ -6386,9 +7053,11 @@
 _CHANNELEVENTUPDATE.fields_by_name['inactive_channel'].containing_oneof = _CHANNELEVENTUPDATE.oneofs_by_name['channel']
 _QUERYROUTESREQUEST.fields_by_name['fee_limit'].message_type = _FEELIMIT
 _QUERYROUTESREQUEST.fields_by_name['ignored_edges'].message_type = _EDGELOCATOR
+_QUERYROUTESREQUEST.fields_by_name['ignored_pairs'].message_type = _NODEPAIR
 _QUERYROUTESRESPONSE.fields_by_name['routes'].message_type = _ROUTE
 _ROUTE.fields_by_name['hops'].message_type = _HOP
 _NODEINFO.fields_by_name['node'].message_type = _LIGHTNINGNODE
+_NODEINFO.fields_by_name['channels'].message_type = _CHANNELEDGE
 _LIGHTNINGNODE.fields_by_name['addresses'].message_type = _NODEADDRESS
 _CHANNELEDGE.fields_by_name['node1_policy'].message_type = _ROUTINGPOLICY
 _CHANNELEDGE.fields_by_name['node2_policy'].message_type = _ROUTINGPOLICY
@@ -6403,8 +7072,12 @@
 _ROUTEHINT.fields_by_name['hop_hints'].message_type = _HOPHINT
 _INVOICE.fields_by_name['route_hints'].message_type = _ROUTEHINT
 _INVOICE.fields_by_name['state'].enum_type = _INVOICE_INVOICESTATE
+_INVOICE.fields_by_name['htlcs'].message_type = _INVOICEHTLC
 _INVOICE_INVOICESTATE.containing_type = _INVOICE
+_INVOICEHTLC.fields_by_name['state'].enum_type = _INVOICEHTLCSTATE
 _LISTINVOICERESPONSE.fields_by_name['invoices'].message_type = _INVOICE
+_PAYMENT.fields_by_name['status'].enum_type = _PAYMENT_PAYMENTSTATUS
+_PAYMENT_PAYMENTSTATUS.containing_type = _PAYMENT
 _LISTPAYMENTSRESPONSE.fields_by_name['payments'].message_type = _PAYMENT
 _ABANDONCHANNELREQUEST.fields_by_name['channel_point'].message_type = _CHANNELPOINT
 _PAYREQ.fields_by_name['route_hints'].message_type = _ROUTEHINT
@@ -6430,6 +7103,7 @@
 _RESTORECHANBACKUPREQUEST.oneofs_by_name['backup'].fields.append(
   _RESTORECHANBACKUPREQUEST.fields_by_name['multi_chan_backup'])
 _RESTORECHANBACKUPREQUEST.fields_by_name['multi_chan_backup'].containing_oneof = _RESTORECHANBACKUPREQUEST.oneofs_by_name['backup']
+_BAKEMACAROONREQUEST.fields_by_name['permissions'].message_type = _MACAROONPERMISSION
 DESCRIPTOR.message_types_by_name['GenSeedRequest'] = _GENSEEDREQUEST
 DESCRIPTOR.message_types_by_name['GenSeedResponse'] = _GENSEEDRESPONSE
 DESCRIPTOR.message_types_by_name['InitWalletRequest'] = _INITWALLETREQUEST
@@ -6446,6 +7120,8 @@
 DESCRIPTOR.message_types_by_name['SendRequest'] = _SENDREQUEST
 DESCRIPTOR.message_types_by_name['SendResponse'] = _SENDRESPONSE
 DESCRIPTOR.message_types_by_name['SendToRouteRequest'] = _SENDTOROUTEREQUEST
+DESCRIPTOR.message_types_by_name['ChannelAcceptRequest'] = _CHANNELACCEPTREQUEST
+DESCRIPTOR.message_types_by_name['ChannelAcceptResponse'] = _CHANNELACCEPTRESPONSE
 DESCRIPTOR.message_types_by_name['ChannelPoint'] = _CHANNELPOINT
 DESCRIPTOR.message_types_by_name['OutPoint'] = _OUTPOINT
 DESCRIPTOR.message_types_by_name['LightningAddress'] = _LIGHTNINGADDRESS
@@ -6498,6 +7174,7 @@
 DESCRIPTOR.message_types_by_name['ChannelBalanceRequest'] = _CHANNELBALANCEREQUEST
 DESCRIPTOR.message_types_by_name['ChannelBalanceResponse'] = _CHANNELBALANCERESPONSE
 DESCRIPTOR.message_types_by_name['QueryRoutesRequest'] = _QUERYROUTESREQUEST
+DESCRIPTOR.message_types_by_name['NodePair'] = _NODEPAIR
 DESCRIPTOR.message_types_by_name['EdgeLocator'] = _EDGELOCATOR
 DESCRIPTOR.message_types_by_name['QueryRoutesResponse'] = _QUERYROUTESRESPONSE
 DESCRIPTOR.message_types_by_name['Hop'] = _HOP
@@ -6523,6 +7200,7 @@
 DESCRIPTOR.message_types_by_name['HopHint'] = _HOPHINT
 DESCRIPTOR.message_types_by_name['RouteHint'] = _ROUTEHINT
 DESCRIPTOR.message_types_by_name['Invoice'] = _INVOICE
+DESCRIPTOR.message_types_by_name['InvoiceHTLC'] = _INVOICEHTLC
 DESCRIPTOR.message_types_by_name['AddInvoiceResponse'] = _ADDINVOICERESPONSE
 DESCRIPTOR.message_types_by_name['PaymentHash'] = _PAYMENTHASH
 DESCRIPTOR.message_types_by_name['ListInvoiceRequest'] = _LISTINVOICEREQUEST
@@ -6557,485 +7235,511 @@
 DESCRIPTOR.message_types_by_name['RestoreBackupResponse'] = _RESTOREBACKUPRESPONSE
 DESCRIPTOR.message_types_by_name['ChannelBackupSubscription'] = _CHANNELBACKUPSUBSCRIPTION
 DESCRIPTOR.message_types_by_name['VerifyChanBackupResponse'] = _VERIFYCHANBACKUPRESPONSE
+DESCRIPTOR.message_types_by_name['MacaroonPermission'] = _MACAROONPERMISSION
+DESCRIPTOR.message_types_by_name['BakeMacaroonRequest'] = _BAKEMACAROONREQUEST
+DESCRIPTOR.message_types_by_name['BakeMacaroonResponse'] = _BAKEMACAROONRESPONSE
 DESCRIPTOR.enum_types_by_name['AddressType'] = _ADDRESSTYPE
+DESCRIPTOR.enum_types_by_name['InvoiceHTLCState'] = _INVOICEHTLCSTATE
 _sym_db.RegisterFileDescriptor(DESCRIPTOR)
 
-GenSeedRequest = _reflection.GeneratedProtocolMessageType('GenSeedRequest', (_message.Message,), dict(
-  DESCRIPTOR = _GENSEEDREQUEST,
-  __module__ = 'rpc_pb2'
+GenSeedRequest = _reflection.GeneratedProtocolMessageType('GenSeedRequest', (_message.Message,), {
+  'DESCRIPTOR' : _GENSEEDREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.GenSeedRequest)
-  ))
+  })
 _sym_db.RegisterMessage(GenSeedRequest)
 
-GenSeedResponse = _reflection.GeneratedProtocolMessageType('GenSeedResponse', (_message.Message,), dict(
-  DESCRIPTOR = _GENSEEDRESPONSE,
-  __module__ = 'rpc_pb2'
+GenSeedResponse = _reflection.GeneratedProtocolMessageType('GenSeedResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GENSEEDRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.GenSeedResponse)
-  ))
+  })
 _sym_db.RegisterMessage(GenSeedResponse)
 
-InitWalletRequest = _reflection.GeneratedProtocolMessageType('InitWalletRequest', (_message.Message,), dict(
-  DESCRIPTOR = _INITWALLETREQUEST,
-  __module__ = 'rpc_pb2'
+InitWalletRequest = _reflection.GeneratedProtocolMessageType('InitWalletRequest', (_message.Message,), {
+  'DESCRIPTOR' : _INITWALLETREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.InitWalletRequest)
-  ))
+  })
 _sym_db.RegisterMessage(InitWalletRequest)
 
-InitWalletResponse = _reflection.GeneratedProtocolMessageType('InitWalletResponse', (_message.Message,), dict(
-  DESCRIPTOR = _INITWALLETRESPONSE,
-  __module__ = 'rpc_pb2'
+InitWalletResponse = _reflection.GeneratedProtocolMessageType('InitWalletResponse', (_message.Message,), {
+  'DESCRIPTOR' : _INITWALLETRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.InitWalletResponse)
-  ))
+  })
 _sym_db.RegisterMessage(InitWalletResponse)
 
-UnlockWalletRequest = _reflection.GeneratedProtocolMessageType('UnlockWalletRequest', (_message.Message,), dict(
-  DESCRIPTOR = _UNLOCKWALLETREQUEST,
-  __module__ = 'rpc_pb2'
+UnlockWalletRequest = _reflection.GeneratedProtocolMessageType('UnlockWalletRequest', (_message.Message,), {
+  'DESCRIPTOR' : _UNLOCKWALLETREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.UnlockWalletRequest)
-  ))
+  })
 _sym_db.RegisterMessage(UnlockWalletRequest)
 
-UnlockWalletResponse = _reflection.GeneratedProtocolMessageType('UnlockWalletResponse', (_message.Message,), dict(
-  DESCRIPTOR = _UNLOCKWALLETRESPONSE,
-  __module__ = 'rpc_pb2'
+UnlockWalletResponse = _reflection.GeneratedProtocolMessageType('UnlockWalletResponse', (_message.Message,), {
+  'DESCRIPTOR' : _UNLOCKWALLETRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.UnlockWalletResponse)
-  ))
+  })
 _sym_db.RegisterMessage(UnlockWalletResponse)
 
-ChangePasswordRequest = _reflection.GeneratedProtocolMessageType('ChangePasswordRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CHANGEPASSWORDREQUEST,
-  __module__ = 'rpc_pb2'
+ChangePasswordRequest = _reflection.GeneratedProtocolMessageType('ChangePasswordRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CHANGEPASSWORDREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChangePasswordRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ChangePasswordRequest)
 
-ChangePasswordResponse = _reflection.GeneratedProtocolMessageType('ChangePasswordResponse', (_message.Message,), dict(
-  DESCRIPTOR = _CHANGEPASSWORDRESPONSE,
-  __module__ = 'rpc_pb2'
+ChangePasswordResponse = _reflection.GeneratedProtocolMessageType('ChangePasswordResponse', (_message.Message,), {
+  'DESCRIPTOR' : _CHANGEPASSWORDRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChangePasswordResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ChangePasswordResponse)
 
-Utxo = _reflection.GeneratedProtocolMessageType('Utxo', (_message.Message,), dict(
-  DESCRIPTOR = _UTXO,
-  __module__ = 'rpc_pb2'
+Utxo = _reflection.GeneratedProtocolMessageType('Utxo', (_message.Message,), {
+  'DESCRIPTOR' : _UTXO,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.Utxo)
-  ))
+  })
 _sym_db.RegisterMessage(Utxo)
 
-Transaction = _reflection.GeneratedProtocolMessageType('Transaction', (_message.Message,), dict(
-  DESCRIPTOR = _TRANSACTION,
-  __module__ = 'rpc_pb2'
+Transaction = _reflection.GeneratedProtocolMessageType('Transaction', (_message.Message,), {
+  'DESCRIPTOR' : _TRANSACTION,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.Transaction)
-  ))
+  })
 _sym_db.RegisterMessage(Transaction)
 
-GetTransactionsRequest = _reflection.GeneratedProtocolMessageType('GetTransactionsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _GETTRANSACTIONSREQUEST,
-  __module__ = 'rpc_pb2'
+GetTransactionsRequest = _reflection.GeneratedProtocolMessageType('GetTransactionsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _GETTRANSACTIONSREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.GetTransactionsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(GetTransactionsRequest)
 
-TransactionDetails = _reflection.GeneratedProtocolMessageType('TransactionDetails', (_message.Message,), dict(
-  DESCRIPTOR = _TRANSACTIONDETAILS,
-  __module__ = 'rpc_pb2'
+TransactionDetails = _reflection.GeneratedProtocolMessageType('TransactionDetails', (_message.Message,), {
+  'DESCRIPTOR' : _TRANSACTIONDETAILS,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.TransactionDetails)
-  ))
+  })
 _sym_db.RegisterMessage(TransactionDetails)
 
-FeeLimit = _reflection.GeneratedProtocolMessageType('FeeLimit', (_message.Message,), dict(
-  DESCRIPTOR = _FEELIMIT,
-  __module__ = 'rpc_pb2'
+FeeLimit = _reflection.GeneratedProtocolMessageType('FeeLimit', (_message.Message,), {
+  'DESCRIPTOR' : _FEELIMIT,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.FeeLimit)
-  ))
+  })
 _sym_db.RegisterMessage(FeeLimit)
 
-SendRequest = _reflection.GeneratedProtocolMessageType('SendRequest', (_message.Message,), dict(
-  DESCRIPTOR = _SENDREQUEST,
-  __module__ = 'rpc_pb2'
+SendRequest = _reflection.GeneratedProtocolMessageType('SendRequest', (_message.Message,), {
+
+  'DestTlvEntry' : _reflection.GeneratedProtocolMessageType('DestTlvEntry', (_message.Message,), {
+    'DESCRIPTOR' : _SENDREQUEST_DESTTLVENTRY,
+    '__module__' : 'rpc_pb2'
+    # @@protoc_insertion_point(class_scope:lnrpc.SendRequest.DestTlvEntry)
+    })
+  ,
+  'DESCRIPTOR' : _SENDREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.SendRequest)
-  ))
+  })
 _sym_db.RegisterMessage(SendRequest)
+_sym_db.RegisterMessage(SendRequest.DestTlvEntry)
 
-SendResponse = _reflection.GeneratedProtocolMessageType('SendResponse', (_message.Message,), dict(
-  DESCRIPTOR = _SENDRESPONSE,
-  __module__ = 'rpc_pb2'
+SendResponse = _reflection.GeneratedProtocolMessageType('SendResponse', (_message.Message,), {
+  'DESCRIPTOR' : _SENDRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.SendResponse)
-  ))
+  })
 _sym_db.RegisterMessage(SendResponse)
 
-SendToRouteRequest = _reflection.GeneratedProtocolMessageType('SendToRouteRequest', (_message.Message,), dict(
-  DESCRIPTOR = _SENDTOROUTEREQUEST,
-  __module__ = 'rpc_pb2'
+SendToRouteRequest = _reflection.GeneratedProtocolMessageType('SendToRouteRequest', (_message.Message,), {
+  'DESCRIPTOR' : _SENDTOROUTEREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.SendToRouteRequest)
-  ))
+  })
 _sym_db.RegisterMessage(SendToRouteRequest)
 
-ChannelPoint = _reflection.GeneratedProtocolMessageType('ChannelPoint', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELPOINT,
-  __module__ = 'rpc_pb2'
+ChannelAcceptRequest = _reflection.GeneratedProtocolMessageType('ChannelAcceptRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELACCEPTREQUEST,
+  '__module__' : 'rpc_pb2'
+  # @@protoc_insertion_point(class_scope:lnrpc.ChannelAcceptRequest)
+  })
+_sym_db.RegisterMessage(ChannelAcceptRequest)
+
+ChannelAcceptResponse = _reflection.GeneratedProtocolMessageType('ChannelAcceptResponse', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELACCEPTRESPONSE,
+  '__module__' : 'rpc_pb2'
+  # @@protoc_insertion_point(class_scope:lnrpc.ChannelAcceptResponse)
+  })
+_sym_db.RegisterMessage(ChannelAcceptResponse)
+
+ChannelPoint = _reflection.GeneratedProtocolMessageType('ChannelPoint', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELPOINT,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelPoint)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelPoint)
 
-OutPoint = _reflection.GeneratedProtocolMessageType('OutPoint', (_message.Message,), dict(
-  DESCRIPTOR = _OUTPOINT,
-  __module__ = 'rpc_pb2'
+OutPoint = _reflection.GeneratedProtocolMessageType('OutPoint', (_message.Message,), {
+  'DESCRIPTOR' : _OUTPOINT,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.OutPoint)
-  ))
+  })
 _sym_db.RegisterMessage(OutPoint)
 
-LightningAddress = _reflection.GeneratedProtocolMessageType('LightningAddress', (_message.Message,), dict(
-  DESCRIPTOR = _LIGHTNINGADDRESS,
-  __module__ = 'rpc_pb2'
+LightningAddress = _reflection.GeneratedProtocolMessageType('LightningAddress', (_message.Message,), {
+  'DESCRIPTOR' : _LIGHTNINGADDRESS,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.LightningAddress)
-  ))
+  })
 _sym_db.RegisterMessage(LightningAddress)
 
-EstimateFeeRequest = _reflection.GeneratedProtocolMessageType('EstimateFeeRequest', (_message.Message,), dict(
+EstimateFeeRequest = _reflection.GeneratedProtocolMessageType('EstimateFeeRequest', (_message.Message,), {
 
-  AddrToAmountEntry = _reflection.GeneratedProtocolMessageType('AddrToAmountEntry', (_message.Message,), dict(
-    DESCRIPTOR = _ESTIMATEFEEREQUEST_ADDRTOAMOUNTENTRY,
-    __module__ = 'rpc_pb2'
+  'AddrToAmountEntry' : _reflection.GeneratedProtocolMessageType('AddrToAmountEntry', (_message.Message,), {
+    'DESCRIPTOR' : _ESTIMATEFEEREQUEST_ADDRTOAMOUNTENTRY,
+    '__module__' : 'rpc_pb2'
     # @@protoc_insertion_point(class_scope:lnrpc.EstimateFeeRequest.AddrToAmountEntry)
-    ))
+    })
   ,
-  DESCRIPTOR = _ESTIMATEFEEREQUEST,
-  __module__ = 'rpc_pb2'
+  'DESCRIPTOR' : _ESTIMATEFEEREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.EstimateFeeRequest)
-  ))
+  })
 _sym_db.RegisterMessage(EstimateFeeRequest)
 _sym_db.RegisterMessage(EstimateFeeRequest.AddrToAmountEntry)
 
-EstimateFeeResponse = _reflection.GeneratedProtocolMessageType('EstimateFeeResponse', (_message.Message,), dict(
-  DESCRIPTOR = _ESTIMATEFEERESPONSE,
-  __module__ = 'rpc_pb2'
+EstimateFeeResponse = _reflection.GeneratedProtocolMessageType('EstimateFeeResponse', (_message.Message,), {
+  'DESCRIPTOR' : _ESTIMATEFEERESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.EstimateFeeResponse)
-  ))
+  })
 _sym_db.RegisterMessage(EstimateFeeResponse)
 
-SendManyRequest = _reflection.GeneratedProtocolMessageType('SendManyRequest', (_message.Message,), dict(
+SendManyRequest = _reflection.GeneratedProtocolMessageType('SendManyRequest', (_message.Message,), {
 
-  AddrToAmountEntry = _reflection.GeneratedProtocolMessageType('AddrToAmountEntry', (_message.Message,), dict(
-    DESCRIPTOR = _SENDMANYREQUEST_ADDRTOAMOUNTENTRY,
-    __module__ = 'rpc_pb2'
+  'AddrToAmountEntry' : _reflection.GeneratedProtocolMessageType('AddrToAmountEntry', (_message.Message,), {
+    'DESCRIPTOR' : _SENDMANYREQUEST_ADDRTOAMOUNTENTRY,
+    '__module__' : 'rpc_pb2'
     # @@protoc_insertion_point(class_scope:lnrpc.SendManyRequest.AddrToAmountEntry)
-    ))
+    })
   ,
-  DESCRIPTOR = _SENDMANYREQUEST,
-  __module__ = 'rpc_pb2'
+  'DESCRIPTOR' : _SENDMANYREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.SendManyRequest)
-  ))
+  })
 _sym_db.RegisterMessage(SendManyRequest)
 _sym_db.RegisterMessage(SendManyRequest.AddrToAmountEntry)
 
-SendManyResponse = _reflection.GeneratedProtocolMessageType('SendManyResponse', (_message.Message,), dict(
-  DESCRIPTOR = _SENDMANYRESPONSE,
-  __module__ = 'rpc_pb2'
+SendManyResponse = _reflection.GeneratedProtocolMessageType('SendManyResponse', (_message.Message,), {
+  'DESCRIPTOR' : _SENDMANYRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.SendManyResponse)
-  ))
+  })
 _sym_db.RegisterMessage(SendManyResponse)
 
-SendCoinsRequest = _reflection.GeneratedProtocolMessageType('SendCoinsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _SENDCOINSREQUEST,
-  __module__ = 'rpc_pb2'
+SendCoinsRequest = _reflection.GeneratedProtocolMessageType('SendCoinsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _SENDCOINSREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.SendCoinsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(SendCoinsRequest)
 
-SendCoinsResponse = _reflection.GeneratedProtocolMessageType('SendCoinsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _SENDCOINSRESPONSE,
-  __module__ = 'rpc_pb2'
+SendCoinsResponse = _reflection.GeneratedProtocolMessageType('SendCoinsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _SENDCOINSRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.SendCoinsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(SendCoinsResponse)
 
-ListUnspentRequest = _reflection.GeneratedProtocolMessageType('ListUnspentRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTUNSPENTREQUEST,
-  __module__ = 'rpc_pb2'
+ListUnspentRequest = _reflection.GeneratedProtocolMessageType('ListUnspentRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTUNSPENTREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListUnspentRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListUnspentRequest)
 
-ListUnspentResponse = _reflection.GeneratedProtocolMessageType('ListUnspentResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTUNSPENTRESPONSE,
-  __module__ = 'rpc_pb2'
+ListUnspentResponse = _reflection.GeneratedProtocolMessageType('ListUnspentResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTUNSPENTRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListUnspentResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListUnspentResponse)
 
-NewAddressRequest = _reflection.GeneratedProtocolMessageType('NewAddressRequest', (_message.Message,), dict(
-  DESCRIPTOR = _NEWADDRESSREQUEST,
-  __module__ = 'rpc_pb2'
+NewAddressRequest = _reflection.GeneratedProtocolMessageType('NewAddressRequest', (_message.Message,), {
+  'DESCRIPTOR' : _NEWADDRESSREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.NewAddressRequest)
-  ))
+  })
 _sym_db.RegisterMessage(NewAddressRequest)
 
-NewAddressResponse = _reflection.GeneratedProtocolMessageType('NewAddressResponse', (_message.Message,), dict(
-  DESCRIPTOR = _NEWADDRESSRESPONSE,
-  __module__ = 'rpc_pb2'
+NewAddressResponse = _reflection.GeneratedProtocolMessageType('NewAddressResponse', (_message.Message,), {
+  'DESCRIPTOR' : _NEWADDRESSRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.NewAddressResponse)
-  ))
+  })
 _sym_db.RegisterMessage(NewAddressResponse)
 
-SignMessageRequest = _reflection.GeneratedProtocolMessageType('SignMessageRequest', (_message.Message,), dict(
-  DESCRIPTOR = _SIGNMESSAGEREQUEST,
-  __module__ = 'rpc_pb2'
+SignMessageRequest = _reflection.GeneratedProtocolMessageType('SignMessageRequest', (_message.Message,), {
+  'DESCRIPTOR' : _SIGNMESSAGEREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.SignMessageRequest)
-  ))
+  })
 _sym_db.RegisterMessage(SignMessageRequest)
 
-SignMessageResponse = _reflection.GeneratedProtocolMessageType('SignMessageResponse', (_message.Message,), dict(
-  DESCRIPTOR = _SIGNMESSAGERESPONSE,
-  __module__ = 'rpc_pb2'
+SignMessageResponse = _reflection.GeneratedProtocolMessageType('SignMessageResponse', (_message.Message,), {
+  'DESCRIPTOR' : _SIGNMESSAGERESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.SignMessageResponse)
-  ))
+  })
 _sym_db.RegisterMessage(SignMessageResponse)
 
-VerifyMessageRequest = _reflection.GeneratedProtocolMessageType('VerifyMessageRequest', (_message.Message,), dict(
-  DESCRIPTOR = _VERIFYMESSAGEREQUEST,
-  __module__ = 'rpc_pb2'
+VerifyMessageRequest = _reflection.GeneratedProtocolMessageType('VerifyMessageRequest', (_message.Message,), {
+  'DESCRIPTOR' : _VERIFYMESSAGEREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.VerifyMessageRequest)
-  ))
+  })
 _sym_db.RegisterMessage(VerifyMessageRequest)
 
-VerifyMessageResponse = _reflection.GeneratedProtocolMessageType('VerifyMessageResponse', (_message.Message,), dict(
-  DESCRIPTOR = _VERIFYMESSAGERESPONSE,
-  __module__ = 'rpc_pb2'
+VerifyMessageResponse = _reflection.GeneratedProtocolMessageType('VerifyMessageResponse', (_message.Message,), {
+  'DESCRIPTOR' : _VERIFYMESSAGERESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.VerifyMessageResponse)
-  ))
+  })
 _sym_db.RegisterMessage(VerifyMessageResponse)
 
-ConnectPeerRequest = _reflection.GeneratedProtocolMessageType('ConnectPeerRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CONNECTPEERREQUEST,
-  __module__ = 'rpc_pb2'
+ConnectPeerRequest = _reflection.GeneratedProtocolMessageType('ConnectPeerRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CONNECTPEERREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ConnectPeerRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ConnectPeerRequest)
 
-ConnectPeerResponse = _reflection.GeneratedProtocolMessageType('ConnectPeerResponse', (_message.Message,), dict(
-  DESCRIPTOR = _CONNECTPEERRESPONSE,
-  __module__ = 'rpc_pb2'
+ConnectPeerResponse = _reflection.GeneratedProtocolMessageType('ConnectPeerResponse', (_message.Message,), {
+  'DESCRIPTOR' : _CONNECTPEERRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ConnectPeerResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ConnectPeerResponse)
 
-DisconnectPeerRequest = _reflection.GeneratedProtocolMessageType('DisconnectPeerRequest', (_message.Message,), dict(
-  DESCRIPTOR = _DISCONNECTPEERREQUEST,
-  __module__ = 'rpc_pb2'
+DisconnectPeerRequest = _reflection.GeneratedProtocolMessageType('DisconnectPeerRequest', (_message.Message,), {
+  'DESCRIPTOR' : _DISCONNECTPEERREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.DisconnectPeerRequest)
-  ))
+  })
 _sym_db.RegisterMessage(DisconnectPeerRequest)
 
-DisconnectPeerResponse = _reflection.GeneratedProtocolMessageType('DisconnectPeerResponse', (_message.Message,), dict(
-  DESCRIPTOR = _DISCONNECTPEERRESPONSE,
-  __module__ = 'rpc_pb2'
+DisconnectPeerResponse = _reflection.GeneratedProtocolMessageType('DisconnectPeerResponse', (_message.Message,), {
+  'DESCRIPTOR' : _DISCONNECTPEERRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.DisconnectPeerResponse)
-  ))
+  })
 _sym_db.RegisterMessage(DisconnectPeerResponse)
 
-HTLC = _reflection.GeneratedProtocolMessageType('HTLC', (_message.Message,), dict(
-  DESCRIPTOR = _HTLC,
-  __module__ = 'rpc_pb2'
+HTLC = _reflection.GeneratedProtocolMessageType('HTLC', (_message.Message,), {
+  'DESCRIPTOR' : _HTLC,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.HTLC)
-  ))
+  })
 _sym_db.RegisterMessage(HTLC)
 
-Channel = _reflection.GeneratedProtocolMessageType('Channel', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNEL,
-  __module__ = 'rpc_pb2'
+Channel = _reflection.GeneratedProtocolMessageType('Channel', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNEL,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.Channel)
-  ))
+  })
 _sym_db.RegisterMessage(Channel)
 
-ListChannelsRequest = _reflection.GeneratedProtocolMessageType('ListChannelsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTCHANNELSREQUEST,
-  __module__ = 'rpc_pb2'
+ListChannelsRequest = _reflection.GeneratedProtocolMessageType('ListChannelsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTCHANNELSREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListChannelsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListChannelsRequest)
 
-ListChannelsResponse = _reflection.GeneratedProtocolMessageType('ListChannelsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTCHANNELSRESPONSE,
-  __module__ = 'rpc_pb2'
+ListChannelsResponse = _reflection.GeneratedProtocolMessageType('ListChannelsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTCHANNELSRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListChannelsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListChannelsResponse)
 
-ChannelCloseSummary = _reflection.GeneratedProtocolMessageType('ChannelCloseSummary', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELCLOSESUMMARY,
-  __module__ = 'rpc_pb2'
+ChannelCloseSummary = _reflection.GeneratedProtocolMessageType('ChannelCloseSummary', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELCLOSESUMMARY,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelCloseSummary)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelCloseSummary)
 
-ClosedChannelsRequest = _reflection.GeneratedProtocolMessageType('ClosedChannelsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CLOSEDCHANNELSREQUEST,
-  __module__ = 'rpc_pb2'
+ClosedChannelsRequest = _reflection.GeneratedProtocolMessageType('ClosedChannelsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CLOSEDCHANNELSREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ClosedChannelsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ClosedChannelsRequest)
 
-ClosedChannelsResponse = _reflection.GeneratedProtocolMessageType('ClosedChannelsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _CLOSEDCHANNELSRESPONSE,
-  __module__ = 'rpc_pb2'
+ClosedChannelsResponse = _reflection.GeneratedProtocolMessageType('ClosedChannelsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _CLOSEDCHANNELSRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ClosedChannelsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ClosedChannelsResponse)
 
-Peer = _reflection.GeneratedProtocolMessageType('Peer', (_message.Message,), dict(
-  DESCRIPTOR = _PEER,
-  __module__ = 'rpc_pb2'
+Peer = _reflection.GeneratedProtocolMessageType('Peer', (_message.Message,), {
+  'DESCRIPTOR' : _PEER,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.Peer)
-  ))
+  })
 _sym_db.RegisterMessage(Peer)
 
-ListPeersRequest = _reflection.GeneratedProtocolMessageType('ListPeersRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTPEERSREQUEST,
-  __module__ = 'rpc_pb2'
+ListPeersRequest = _reflection.GeneratedProtocolMessageType('ListPeersRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTPEERSREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListPeersRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListPeersRequest)
 
-ListPeersResponse = _reflection.GeneratedProtocolMessageType('ListPeersResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTPEERSRESPONSE,
-  __module__ = 'rpc_pb2'
+ListPeersResponse = _reflection.GeneratedProtocolMessageType('ListPeersResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTPEERSRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListPeersResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListPeersResponse)
 
-GetInfoRequest = _reflection.GeneratedProtocolMessageType('GetInfoRequest', (_message.Message,), dict(
-  DESCRIPTOR = _GETINFOREQUEST,
-  __module__ = 'rpc_pb2'
+GetInfoRequest = _reflection.GeneratedProtocolMessageType('GetInfoRequest', (_message.Message,), {
+  'DESCRIPTOR' : _GETINFOREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.GetInfoRequest)
-  ))
+  })
 _sym_db.RegisterMessage(GetInfoRequest)
 
-GetInfoResponse = _reflection.GeneratedProtocolMessageType('GetInfoResponse', (_message.Message,), dict(
-  DESCRIPTOR = _GETINFORESPONSE,
-  __module__ = 'rpc_pb2'
+GetInfoResponse = _reflection.GeneratedProtocolMessageType('GetInfoResponse', (_message.Message,), {
+  'DESCRIPTOR' : _GETINFORESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.GetInfoResponse)
-  ))
+  })
 _sym_db.RegisterMessage(GetInfoResponse)
 
-Chain = _reflection.GeneratedProtocolMessageType('Chain', (_message.Message,), dict(
-  DESCRIPTOR = _CHAIN,
-  __module__ = 'rpc_pb2'
+Chain = _reflection.GeneratedProtocolMessageType('Chain', (_message.Message,), {
+  'DESCRIPTOR' : _CHAIN,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.Chain)
-  ))
+  })
 _sym_db.RegisterMessage(Chain)
 
-ConfirmationUpdate = _reflection.GeneratedProtocolMessageType('ConfirmationUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _CONFIRMATIONUPDATE,
-  __module__ = 'rpc_pb2'
+ConfirmationUpdate = _reflection.GeneratedProtocolMessageType('ConfirmationUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _CONFIRMATIONUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ConfirmationUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(ConfirmationUpdate)
 
-ChannelOpenUpdate = _reflection.GeneratedProtocolMessageType('ChannelOpenUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELOPENUPDATE,
-  __module__ = 'rpc_pb2'
+ChannelOpenUpdate = _reflection.GeneratedProtocolMessageType('ChannelOpenUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELOPENUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelOpenUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelOpenUpdate)
 
-ChannelCloseUpdate = _reflection.GeneratedProtocolMessageType('ChannelCloseUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELCLOSEUPDATE,
-  __module__ = 'rpc_pb2'
+ChannelCloseUpdate = _reflection.GeneratedProtocolMessageType('ChannelCloseUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELCLOSEUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelCloseUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelCloseUpdate)
 
-CloseChannelRequest = _reflection.GeneratedProtocolMessageType('CloseChannelRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CLOSECHANNELREQUEST,
-  __module__ = 'rpc_pb2'
+CloseChannelRequest = _reflection.GeneratedProtocolMessageType('CloseChannelRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CLOSECHANNELREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.CloseChannelRequest)
-  ))
+  })
 _sym_db.RegisterMessage(CloseChannelRequest)
 
-CloseStatusUpdate = _reflection.GeneratedProtocolMessageType('CloseStatusUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _CLOSESTATUSUPDATE,
-  __module__ = 'rpc_pb2'
+CloseStatusUpdate = _reflection.GeneratedProtocolMessageType('CloseStatusUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _CLOSESTATUSUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.CloseStatusUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(CloseStatusUpdate)
 
-PendingUpdate = _reflection.GeneratedProtocolMessageType('PendingUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _PENDINGUPDATE,
-  __module__ = 'rpc_pb2'
+PendingUpdate = _reflection.GeneratedProtocolMessageType('PendingUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _PENDINGUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.PendingUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(PendingUpdate)
 
-OpenChannelRequest = _reflection.GeneratedProtocolMessageType('OpenChannelRequest', (_message.Message,), dict(
-  DESCRIPTOR = _OPENCHANNELREQUEST,
-  __module__ = 'rpc_pb2'
+OpenChannelRequest = _reflection.GeneratedProtocolMessageType('OpenChannelRequest', (_message.Message,), {
+  'DESCRIPTOR' : _OPENCHANNELREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.OpenChannelRequest)
-  ))
+  })
 _sym_db.RegisterMessage(OpenChannelRequest)
 
-OpenStatusUpdate = _reflection.GeneratedProtocolMessageType('OpenStatusUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _OPENSTATUSUPDATE,
-  __module__ = 'rpc_pb2'
+OpenStatusUpdate = _reflection.GeneratedProtocolMessageType('OpenStatusUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _OPENSTATUSUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.OpenStatusUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(OpenStatusUpdate)
 
-PendingHTLC = _reflection.GeneratedProtocolMessageType('PendingHTLC', (_message.Message,), dict(
-  DESCRIPTOR = _PENDINGHTLC,
-  __module__ = 'rpc_pb2'
+PendingHTLC = _reflection.GeneratedProtocolMessageType('PendingHTLC', (_message.Message,), {
+  'DESCRIPTOR' : _PENDINGHTLC,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.PendingHTLC)
-  ))
+  })
 _sym_db.RegisterMessage(PendingHTLC)
 
-PendingChannelsRequest = _reflection.GeneratedProtocolMessageType('PendingChannelsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _PENDINGCHANNELSREQUEST,
-  __module__ = 'rpc_pb2'
+PendingChannelsRequest = _reflection.GeneratedProtocolMessageType('PendingChannelsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _PENDINGCHANNELSREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(PendingChannelsRequest)
 
-PendingChannelsResponse = _reflection.GeneratedProtocolMessageType('PendingChannelsResponse', (_message.Message,), dict(
+PendingChannelsResponse = _reflection.GeneratedProtocolMessageType('PendingChannelsResponse', (_message.Message,), {
 
-  PendingChannel = _reflection.GeneratedProtocolMessageType('PendingChannel', (_message.Message,), dict(
-    DESCRIPTOR = _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL,
-    __module__ = 'rpc_pb2'
+  'PendingChannel' : _reflection.GeneratedProtocolMessageType('PendingChannel', (_message.Message,), {
+    'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL,
+    '__module__' : 'rpc_pb2'
     # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.PendingChannel)
-    ))
+    })
   ,
 
-  PendingOpenChannel = _reflection.GeneratedProtocolMessageType('PendingOpenChannel', (_message.Message,), dict(
-    DESCRIPTOR = _PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL,
-    __module__ = 'rpc_pb2'
+  'PendingOpenChannel' : _reflection.GeneratedProtocolMessageType('PendingOpenChannel', (_message.Message,), {
+    'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL,
+    '__module__' : 'rpc_pb2'
     # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.PendingOpenChannel)
-    ))
+    })
   ,
 
-  WaitingCloseChannel = _reflection.GeneratedProtocolMessageType('WaitingCloseChannel', (_message.Message,), dict(
-    DESCRIPTOR = _PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL,
-    __module__ = 'rpc_pb2'
+  'WaitingCloseChannel' : _reflection.GeneratedProtocolMessageType('WaitingCloseChannel', (_message.Message,), {
+    'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL,
+    '__module__' : 'rpc_pb2'
     # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.WaitingCloseChannel)
-    ))
+    })
   ,
 
-  ClosedChannel = _reflection.GeneratedProtocolMessageType('ClosedChannel', (_message.Message,), dict(
-    DESCRIPTOR = _PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL,
-    __module__ = 'rpc_pb2'
+  'ClosedChannel' : _reflection.GeneratedProtocolMessageType('ClosedChannel', (_message.Message,), {
+    'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL,
+    '__module__' : 'rpc_pb2'
     # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.ClosedChannel)
-    ))
+    })
   ,
 
-  ForceClosedChannel = _reflection.GeneratedProtocolMessageType('ForceClosedChannel', (_message.Message,), dict(
-    DESCRIPTOR = _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL,
-    __module__ = 'rpc_pb2'
+  'ForceClosedChannel' : _reflection.GeneratedProtocolMessageType('ForceClosedChannel', (_message.Message,), {
+    'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL,
+    '__module__' : 'rpc_pb2'
     # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.ForceClosedChannel)
-    ))
+    })
   ,
-  DESCRIPTOR = _PENDINGCHANNELSRESPONSE,
-  __module__ = 'rpc_pb2'
+  'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(PendingChannelsResponse)
 _sym_db.RegisterMessage(PendingChannelsResponse.PendingChannel)
 _sym_db.RegisterMessage(PendingChannelsResponse.PendingOpenChannel)
@@ -7043,483 +7747,533 @@
 _sym_db.RegisterMessage(PendingChannelsResponse.ClosedChannel)
 _sym_db.RegisterMessage(PendingChannelsResponse.ForceClosedChannel)
 
-ChannelEventSubscription = _reflection.GeneratedProtocolMessageType('ChannelEventSubscription', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELEVENTSUBSCRIPTION,
-  __module__ = 'rpc_pb2'
+ChannelEventSubscription = _reflection.GeneratedProtocolMessageType('ChannelEventSubscription', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELEVENTSUBSCRIPTION,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelEventSubscription)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelEventSubscription)
 
-ChannelEventUpdate = _reflection.GeneratedProtocolMessageType('ChannelEventUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELEVENTUPDATE,
-  __module__ = 'rpc_pb2'
+ChannelEventUpdate = _reflection.GeneratedProtocolMessageType('ChannelEventUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELEVENTUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelEventUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelEventUpdate)
 
-WalletBalanceRequest = _reflection.GeneratedProtocolMessageType('WalletBalanceRequest', (_message.Message,), dict(
-  DESCRIPTOR = _WALLETBALANCEREQUEST,
-  __module__ = 'rpc_pb2'
+WalletBalanceRequest = _reflection.GeneratedProtocolMessageType('WalletBalanceRequest', (_message.Message,), {
+  'DESCRIPTOR' : _WALLETBALANCEREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.WalletBalanceRequest)
-  ))
+  })
 _sym_db.RegisterMessage(WalletBalanceRequest)
 
-WalletBalanceResponse = _reflection.GeneratedProtocolMessageType('WalletBalanceResponse', (_message.Message,), dict(
-  DESCRIPTOR = _WALLETBALANCERESPONSE,
-  __module__ = 'rpc_pb2'
+WalletBalanceResponse = _reflection.GeneratedProtocolMessageType('WalletBalanceResponse', (_message.Message,), {
+  'DESCRIPTOR' : _WALLETBALANCERESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.WalletBalanceResponse)
-  ))
+  })
 _sym_db.RegisterMessage(WalletBalanceResponse)
 
-ChannelBalanceRequest = _reflection.GeneratedProtocolMessageType('ChannelBalanceRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELBALANCEREQUEST,
-  __module__ = 'rpc_pb2'
+ChannelBalanceRequest = _reflection.GeneratedProtocolMessageType('ChannelBalanceRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELBALANCEREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelBalanceRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelBalanceRequest)
 
-ChannelBalanceResponse = _reflection.GeneratedProtocolMessageType('ChannelBalanceResponse', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELBALANCERESPONSE,
-  __module__ = 'rpc_pb2'
+ChannelBalanceResponse = _reflection.GeneratedProtocolMessageType('ChannelBalanceResponse', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELBALANCERESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelBalanceResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelBalanceResponse)
 
-QueryRoutesRequest = _reflection.GeneratedProtocolMessageType('QueryRoutesRequest', (_message.Message,), dict(
-  DESCRIPTOR = _QUERYROUTESREQUEST,
-  __module__ = 'rpc_pb2'
+QueryRoutesRequest = _reflection.GeneratedProtocolMessageType('QueryRoutesRequest', (_message.Message,), {
+  'DESCRIPTOR' : _QUERYROUTESREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.QueryRoutesRequest)
-  ))
+  })
 _sym_db.RegisterMessage(QueryRoutesRequest)
 
-EdgeLocator = _reflection.GeneratedProtocolMessageType('EdgeLocator', (_message.Message,), dict(
-  DESCRIPTOR = _EDGELOCATOR,
-  __module__ = 'rpc_pb2'
+NodePair = _reflection.GeneratedProtocolMessageType('NodePair', (_message.Message,), {
+  'DESCRIPTOR' : _NODEPAIR,
+  '__module__' : 'rpc_pb2'
+  # @@protoc_insertion_point(class_scope:lnrpc.NodePair)
+  })
+_sym_db.RegisterMessage(NodePair)
+
+EdgeLocator = _reflection.GeneratedProtocolMessageType('EdgeLocator', (_message.Message,), {
+  'DESCRIPTOR' : _EDGELOCATOR,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.EdgeLocator)
-  ))
+  })
 _sym_db.RegisterMessage(EdgeLocator)
 
-QueryRoutesResponse = _reflection.GeneratedProtocolMessageType('QueryRoutesResponse', (_message.Message,), dict(
-  DESCRIPTOR = _QUERYROUTESRESPONSE,
-  __module__ = 'rpc_pb2'
+QueryRoutesResponse = _reflection.GeneratedProtocolMessageType('QueryRoutesResponse', (_message.Message,), {
+  'DESCRIPTOR' : _QUERYROUTESRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.QueryRoutesResponse)
-  ))
+  })
 _sym_db.RegisterMessage(QueryRoutesResponse)
 
-Hop = _reflection.GeneratedProtocolMessageType('Hop', (_message.Message,), dict(
-  DESCRIPTOR = _HOP,
-  __module__ = 'rpc_pb2'
+Hop = _reflection.GeneratedProtocolMessageType('Hop', (_message.Message,), {
+  'DESCRIPTOR' : _HOP,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.Hop)
-  ))
+  })
 _sym_db.RegisterMessage(Hop)
 
-Route = _reflection.GeneratedProtocolMessageType('Route', (_message.Message,), dict(
-  DESCRIPTOR = _ROUTE,
-  __module__ = 'rpc_pb2'
+Route = _reflection.GeneratedProtocolMessageType('Route', (_message.Message,), {
+  'DESCRIPTOR' : _ROUTE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.Route)
-  ))
+  })
 _sym_db.RegisterMessage(Route)
 
-NodeInfoRequest = _reflection.GeneratedProtocolMessageType('NodeInfoRequest', (_message.Message,), dict(
-  DESCRIPTOR = _NODEINFOREQUEST,
-  __module__ = 'rpc_pb2'
+NodeInfoRequest = _reflection.GeneratedProtocolMessageType('NodeInfoRequest', (_message.Message,), {
+  'DESCRIPTOR' : _NODEINFOREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.NodeInfoRequest)
-  ))
+  })
 _sym_db.RegisterMessage(NodeInfoRequest)
 
-NodeInfo = _reflection.GeneratedProtocolMessageType('NodeInfo', (_message.Message,), dict(
-  DESCRIPTOR = _NODEINFO,
-  __module__ = 'rpc_pb2'
+NodeInfo = _reflection.GeneratedProtocolMessageType('NodeInfo', (_message.Message,), {
+  'DESCRIPTOR' : _NODEINFO,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.NodeInfo)
-  ))
+  })
 _sym_db.RegisterMessage(NodeInfo)
 
-LightningNode = _reflection.GeneratedProtocolMessageType('LightningNode', (_message.Message,), dict(
-  DESCRIPTOR = _LIGHTNINGNODE,
-  __module__ = 'rpc_pb2'
+LightningNode = _reflection.GeneratedProtocolMessageType('LightningNode', (_message.Message,), {
+  'DESCRIPTOR' : _LIGHTNINGNODE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.LightningNode)
-  ))
+  })
 _sym_db.RegisterMessage(LightningNode)
 
-NodeAddress = _reflection.GeneratedProtocolMessageType('NodeAddress', (_message.Message,), dict(
-  DESCRIPTOR = _NODEADDRESS,
-  __module__ = 'rpc_pb2'
+NodeAddress = _reflection.GeneratedProtocolMessageType('NodeAddress', (_message.Message,), {
+  'DESCRIPTOR' : _NODEADDRESS,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.NodeAddress)
-  ))
+  })
 _sym_db.RegisterMessage(NodeAddress)
 
-RoutingPolicy = _reflection.GeneratedProtocolMessageType('RoutingPolicy', (_message.Message,), dict(
-  DESCRIPTOR = _ROUTINGPOLICY,
-  __module__ = 'rpc_pb2'
+RoutingPolicy = _reflection.GeneratedProtocolMessageType('RoutingPolicy', (_message.Message,), {
+  'DESCRIPTOR' : _ROUTINGPOLICY,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.RoutingPolicy)
-  ))
+  })
 _sym_db.RegisterMessage(RoutingPolicy)
 
-ChannelEdge = _reflection.GeneratedProtocolMessageType('ChannelEdge', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELEDGE,
-  __module__ = 'rpc_pb2'
+ChannelEdge = _reflection.GeneratedProtocolMessageType('ChannelEdge', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELEDGE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelEdge)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelEdge)
 
-ChannelGraphRequest = _reflection.GeneratedProtocolMessageType('ChannelGraphRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELGRAPHREQUEST,
-  __module__ = 'rpc_pb2'
+ChannelGraphRequest = _reflection.GeneratedProtocolMessageType('ChannelGraphRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELGRAPHREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelGraphRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelGraphRequest)
 
-ChannelGraph = _reflection.GeneratedProtocolMessageType('ChannelGraph', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELGRAPH,
-  __module__ = 'rpc_pb2'
+ChannelGraph = _reflection.GeneratedProtocolMessageType('ChannelGraph', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELGRAPH,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelGraph)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelGraph)
 
-ChanInfoRequest = _reflection.GeneratedProtocolMessageType('ChanInfoRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CHANINFOREQUEST,
-  __module__ = 'rpc_pb2'
+ChanInfoRequest = _reflection.GeneratedProtocolMessageType('ChanInfoRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CHANINFOREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChanInfoRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ChanInfoRequest)
 
-NetworkInfoRequest = _reflection.GeneratedProtocolMessageType('NetworkInfoRequest', (_message.Message,), dict(
-  DESCRIPTOR = _NETWORKINFOREQUEST,
-  __module__ = 'rpc_pb2'
+NetworkInfoRequest = _reflection.GeneratedProtocolMessageType('NetworkInfoRequest', (_message.Message,), {
+  'DESCRIPTOR' : _NETWORKINFOREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.NetworkInfoRequest)
-  ))
+  })
 _sym_db.RegisterMessage(NetworkInfoRequest)
 
-NetworkInfo = _reflection.GeneratedProtocolMessageType('NetworkInfo', (_message.Message,), dict(
-  DESCRIPTOR = _NETWORKINFO,
-  __module__ = 'rpc_pb2'
+NetworkInfo = _reflection.GeneratedProtocolMessageType('NetworkInfo', (_message.Message,), {
+  'DESCRIPTOR' : _NETWORKINFO,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.NetworkInfo)
-  ))
+  })
 _sym_db.RegisterMessage(NetworkInfo)
 
-StopRequest = _reflection.GeneratedProtocolMessageType('StopRequest', (_message.Message,), dict(
-  DESCRIPTOR = _STOPREQUEST,
-  __module__ = 'rpc_pb2'
+StopRequest = _reflection.GeneratedProtocolMessageType('StopRequest', (_message.Message,), {
+  'DESCRIPTOR' : _STOPREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.StopRequest)
-  ))
+  })
 _sym_db.RegisterMessage(StopRequest)
 
-StopResponse = _reflection.GeneratedProtocolMessageType('StopResponse', (_message.Message,), dict(
-  DESCRIPTOR = _STOPRESPONSE,
-  __module__ = 'rpc_pb2'
+StopResponse = _reflection.GeneratedProtocolMessageType('StopResponse', (_message.Message,), {
+  'DESCRIPTOR' : _STOPRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.StopResponse)
-  ))
+  })
 _sym_db.RegisterMessage(StopResponse)
 
-GraphTopologySubscription = _reflection.GeneratedProtocolMessageType('GraphTopologySubscription', (_message.Message,), dict(
-  DESCRIPTOR = _GRAPHTOPOLOGYSUBSCRIPTION,
-  __module__ = 'rpc_pb2'
+GraphTopologySubscription = _reflection.GeneratedProtocolMessageType('GraphTopologySubscription', (_message.Message,), {
+  'DESCRIPTOR' : _GRAPHTOPOLOGYSUBSCRIPTION,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.GraphTopologySubscription)
-  ))
+  })
 _sym_db.RegisterMessage(GraphTopologySubscription)
 
-GraphTopologyUpdate = _reflection.GeneratedProtocolMessageType('GraphTopologyUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _GRAPHTOPOLOGYUPDATE,
-  __module__ = 'rpc_pb2'
+GraphTopologyUpdate = _reflection.GeneratedProtocolMessageType('GraphTopologyUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _GRAPHTOPOLOGYUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.GraphTopologyUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(GraphTopologyUpdate)
 
-NodeUpdate = _reflection.GeneratedProtocolMessageType('NodeUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _NODEUPDATE,
-  __module__ = 'rpc_pb2'
+NodeUpdate = _reflection.GeneratedProtocolMessageType('NodeUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _NODEUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.NodeUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(NodeUpdate)
 
-ChannelEdgeUpdate = _reflection.GeneratedProtocolMessageType('ChannelEdgeUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELEDGEUPDATE,
-  __module__ = 'rpc_pb2'
+ChannelEdgeUpdate = _reflection.GeneratedProtocolMessageType('ChannelEdgeUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELEDGEUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelEdgeUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelEdgeUpdate)
 
-ClosedChannelUpdate = _reflection.GeneratedProtocolMessageType('ClosedChannelUpdate', (_message.Message,), dict(
-  DESCRIPTOR = _CLOSEDCHANNELUPDATE,
-  __module__ = 'rpc_pb2'
+ClosedChannelUpdate = _reflection.GeneratedProtocolMessageType('ClosedChannelUpdate', (_message.Message,), {
+  'DESCRIPTOR' : _CLOSEDCHANNELUPDATE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ClosedChannelUpdate)
-  ))
+  })
 _sym_db.RegisterMessage(ClosedChannelUpdate)
 
-HopHint = _reflection.GeneratedProtocolMessageType('HopHint', (_message.Message,), dict(
-  DESCRIPTOR = _HOPHINT,
-  __module__ = 'rpc_pb2'
+HopHint = _reflection.GeneratedProtocolMessageType('HopHint', (_message.Message,), {
+  'DESCRIPTOR' : _HOPHINT,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.HopHint)
-  ))
+  })
 _sym_db.RegisterMessage(HopHint)
 
-RouteHint = _reflection.GeneratedProtocolMessageType('RouteHint', (_message.Message,), dict(
-  DESCRIPTOR = _ROUTEHINT,
-  __module__ = 'rpc_pb2'
+RouteHint = _reflection.GeneratedProtocolMessageType('RouteHint', (_message.Message,), {
+  'DESCRIPTOR' : _ROUTEHINT,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.RouteHint)
-  ))
+  })
 _sym_db.RegisterMessage(RouteHint)
 
-Invoice = _reflection.GeneratedProtocolMessageType('Invoice', (_message.Message,), dict(
-  DESCRIPTOR = _INVOICE,
-  __module__ = 'rpc_pb2'
+Invoice = _reflection.GeneratedProtocolMessageType('Invoice', (_message.Message,), {
+  'DESCRIPTOR' : _INVOICE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.Invoice)
-  ))
+  })
 _sym_db.RegisterMessage(Invoice)
 
-AddInvoiceResponse = _reflection.GeneratedProtocolMessageType('AddInvoiceResponse', (_message.Message,), dict(
-  DESCRIPTOR = _ADDINVOICERESPONSE,
-  __module__ = 'rpc_pb2'
+InvoiceHTLC = _reflection.GeneratedProtocolMessageType('InvoiceHTLC', (_message.Message,), {
+  'DESCRIPTOR' : _INVOICEHTLC,
+  '__module__' : 'rpc_pb2'
+  # @@protoc_insertion_point(class_scope:lnrpc.InvoiceHTLC)
+  })
+_sym_db.RegisterMessage(InvoiceHTLC)
+
+AddInvoiceResponse = _reflection.GeneratedProtocolMessageType('AddInvoiceResponse', (_message.Message,), {
+  'DESCRIPTOR' : _ADDINVOICERESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.AddInvoiceResponse)
-  ))
+  })
 _sym_db.RegisterMessage(AddInvoiceResponse)
 
-PaymentHash = _reflection.GeneratedProtocolMessageType('PaymentHash', (_message.Message,), dict(
-  DESCRIPTOR = _PAYMENTHASH,
-  __module__ = 'rpc_pb2'
+PaymentHash = _reflection.GeneratedProtocolMessageType('PaymentHash', (_message.Message,), {
+  'DESCRIPTOR' : _PAYMENTHASH,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.PaymentHash)
-  ))
+  })
 _sym_db.RegisterMessage(PaymentHash)
 
-ListInvoiceRequest = _reflection.GeneratedProtocolMessageType('ListInvoiceRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTINVOICEREQUEST,
-  __module__ = 'rpc_pb2'
+ListInvoiceRequest = _reflection.GeneratedProtocolMessageType('ListInvoiceRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTINVOICEREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListInvoiceRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListInvoiceRequest)
 
-ListInvoiceResponse = _reflection.GeneratedProtocolMessageType('ListInvoiceResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTINVOICERESPONSE,
-  __module__ = 'rpc_pb2'
+ListInvoiceResponse = _reflection.GeneratedProtocolMessageType('ListInvoiceResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTINVOICERESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListInvoiceResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListInvoiceResponse)
 
-InvoiceSubscription = _reflection.GeneratedProtocolMessageType('InvoiceSubscription', (_message.Message,), dict(
-  DESCRIPTOR = _INVOICESUBSCRIPTION,
-  __module__ = 'rpc_pb2'
+InvoiceSubscription = _reflection.GeneratedProtocolMessageType('InvoiceSubscription', (_message.Message,), {
+  'DESCRIPTOR' : _INVOICESUBSCRIPTION,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.InvoiceSubscription)
-  ))
+  })
 _sym_db.RegisterMessage(InvoiceSubscription)
 
-Payment = _reflection.GeneratedProtocolMessageType('Payment', (_message.Message,), dict(
-  DESCRIPTOR = _PAYMENT,
-  __module__ = 'rpc_pb2'
+Payment = _reflection.GeneratedProtocolMessageType('Payment', (_message.Message,), {
+  'DESCRIPTOR' : _PAYMENT,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.Payment)
-  ))
+  })
 _sym_db.RegisterMessage(Payment)
 
-ListPaymentsRequest = _reflection.GeneratedProtocolMessageType('ListPaymentsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _LISTPAYMENTSREQUEST,
-  __module__ = 'rpc_pb2'
+ListPaymentsRequest = _reflection.GeneratedProtocolMessageType('ListPaymentsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _LISTPAYMENTSREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListPaymentsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ListPaymentsRequest)
 
-ListPaymentsResponse = _reflection.GeneratedProtocolMessageType('ListPaymentsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _LISTPAYMENTSRESPONSE,
-  __module__ = 'rpc_pb2'
+ListPaymentsResponse = _reflection.GeneratedProtocolMessageType('ListPaymentsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _LISTPAYMENTSRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ListPaymentsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ListPaymentsResponse)
 
-DeleteAllPaymentsRequest = _reflection.GeneratedProtocolMessageType('DeleteAllPaymentsRequest', (_message.Message,), dict(
-  DESCRIPTOR = _DELETEALLPAYMENTSREQUEST,
-  __module__ = 'rpc_pb2'
+DeleteAllPaymentsRequest = _reflection.GeneratedProtocolMessageType('DeleteAllPaymentsRequest', (_message.Message,), {
+  'DESCRIPTOR' : _DELETEALLPAYMENTSREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.DeleteAllPaymentsRequest)
-  ))
+  })
 _sym_db.RegisterMessage(DeleteAllPaymentsRequest)
 
-DeleteAllPaymentsResponse = _reflection.GeneratedProtocolMessageType('DeleteAllPaymentsResponse', (_message.Message,), dict(
-  DESCRIPTOR = _DELETEALLPAYMENTSRESPONSE,
-  __module__ = 'rpc_pb2'
+DeleteAllPaymentsResponse = _reflection.GeneratedProtocolMessageType('DeleteAllPaymentsResponse', (_message.Message,), {
+  'DESCRIPTOR' : _DELETEALLPAYMENTSRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.DeleteAllPaymentsResponse)
-  ))
+  })
 _sym_db.RegisterMessage(DeleteAllPaymentsResponse)
 
-AbandonChannelRequest = _reflection.GeneratedProtocolMessageType('AbandonChannelRequest', (_message.Message,), dict(
-  DESCRIPTOR = _ABANDONCHANNELREQUEST,
-  __module__ = 'rpc_pb2'
+AbandonChannelRequest = _reflection.GeneratedProtocolMessageType('AbandonChannelRequest', (_message.Message,), {
+  'DESCRIPTOR' : _ABANDONCHANNELREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.AbandonChannelRequest)
-  ))
+  })
 _sym_db.RegisterMessage(AbandonChannelRequest)
 
-AbandonChannelResponse = _reflection.GeneratedProtocolMessageType('AbandonChannelResponse', (_message.Message,), dict(
-  DESCRIPTOR = _ABANDONCHANNELRESPONSE,
-  __module__ = 'rpc_pb2'
+AbandonChannelResponse = _reflection.GeneratedProtocolMessageType('AbandonChannelResponse', (_message.Message,), {
+  'DESCRIPTOR' : _ABANDONCHANNELRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.AbandonChannelResponse)
-  ))
+  })
 _sym_db.RegisterMessage(AbandonChannelResponse)
 
-DebugLevelRequest = _reflection.GeneratedProtocolMessageType('DebugLevelRequest', (_message.Message,), dict(
-  DESCRIPTOR = _DEBUGLEVELREQUEST,
-  __module__ = 'rpc_pb2'
+DebugLevelRequest = _reflection.GeneratedProtocolMessageType('DebugLevelRequest', (_message.Message,), {
+  'DESCRIPTOR' : _DEBUGLEVELREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.DebugLevelRequest)
-  ))
+  })
 _sym_db.RegisterMessage(DebugLevelRequest)
 
-DebugLevelResponse = _reflection.GeneratedProtocolMessageType('DebugLevelResponse', (_message.Message,), dict(
-  DESCRIPTOR = _DEBUGLEVELRESPONSE,
-  __module__ = 'rpc_pb2'
+DebugLevelResponse = _reflection.GeneratedProtocolMessageType('DebugLevelResponse', (_message.Message,), {
+  'DESCRIPTOR' : _DEBUGLEVELRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.DebugLevelResponse)
-  ))
+  })
 _sym_db.RegisterMessage(DebugLevelResponse)
 
-PayReqString = _reflection.GeneratedProtocolMessageType('PayReqString', (_message.Message,), dict(
-  DESCRIPTOR = _PAYREQSTRING,
-  __module__ = 'rpc_pb2'
+PayReqString = _reflection.GeneratedProtocolMessageType('PayReqString', (_message.Message,), {
+  'DESCRIPTOR' : _PAYREQSTRING,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.PayReqString)
-  ))
+  })
 _sym_db.RegisterMessage(PayReqString)
 
-PayReq = _reflection.GeneratedProtocolMessageType('PayReq', (_message.Message,), dict(
-  DESCRIPTOR = _PAYREQ,
-  __module__ = 'rpc_pb2'
+PayReq = _reflection.GeneratedProtocolMessageType('PayReq', (_message.Message,), {
+  'DESCRIPTOR' : _PAYREQ,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.PayReq)
-  ))
+  })
 _sym_db.RegisterMessage(PayReq)
 
-FeeReportRequest = _reflection.GeneratedProtocolMessageType('FeeReportRequest', (_message.Message,), dict(
-  DESCRIPTOR = _FEEREPORTREQUEST,
-  __module__ = 'rpc_pb2'
+FeeReportRequest = _reflection.GeneratedProtocolMessageType('FeeReportRequest', (_message.Message,), {
+  'DESCRIPTOR' : _FEEREPORTREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.FeeReportRequest)
-  ))
+  })
 _sym_db.RegisterMessage(FeeReportRequest)
 
-ChannelFeeReport = _reflection.GeneratedProtocolMessageType('ChannelFeeReport', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELFEEREPORT,
-  __module__ = 'rpc_pb2'
+ChannelFeeReport = _reflection.GeneratedProtocolMessageType('ChannelFeeReport', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELFEEREPORT,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelFeeReport)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelFeeReport)
 
-FeeReportResponse = _reflection.GeneratedProtocolMessageType('FeeReportResponse', (_message.Message,), dict(
-  DESCRIPTOR = _FEEREPORTRESPONSE,
-  __module__ = 'rpc_pb2'
+FeeReportResponse = _reflection.GeneratedProtocolMessageType('FeeReportResponse', (_message.Message,), {
+  'DESCRIPTOR' : _FEEREPORTRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.FeeReportResponse)
-  ))
+  })
 _sym_db.RegisterMessage(FeeReportResponse)
 
-PolicyUpdateRequest = _reflection.GeneratedProtocolMessageType('PolicyUpdateRequest', (_message.Message,), dict(
-  DESCRIPTOR = _POLICYUPDATEREQUEST,
-  __module__ = 'rpc_pb2'
+PolicyUpdateRequest = _reflection.GeneratedProtocolMessageType('PolicyUpdateRequest', (_message.Message,), {
+  'DESCRIPTOR' : _POLICYUPDATEREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.PolicyUpdateRequest)
-  ))
+  })
 _sym_db.RegisterMessage(PolicyUpdateRequest)
 
-PolicyUpdateResponse = _reflection.GeneratedProtocolMessageType('PolicyUpdateResponse', (_message.Message,), dict(
-  DESCRIPTOR = _POLICYUPDATERESPONSE,
-  __module__ = 'rpc_pb2'
+PolicyUpdateResponse = _reflection.GeneratedProtocolMessageType('PolicyUpdateResponse', (_message.Message,), {
+  'DESCRIPTOR' : _POLICYUPDATERESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.PolicyUpdateResponse)
-  ))
+  })
 _sym_db.RegisterMessage(PolicyUpdateResponse)
 
-ForwardingHistoryRequest = _reflection.GeneratedProtocolMessageType('ForwardingHistoryRequest', (_message.Message,), dict(
-  DESCRIPTOR = _FORWARDINGHISTORYREQUEST,
-  __module__ = 'rpc_pb2'
+ForwardingHistoryRequest = _reflection.GeneratedProtocolMessageType('ForwardingHistoryRequest', (_message.Message,), {
+  'DESCRIPTOR' : _FORWARDINGHISTORYREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ForwardingHistoryRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ForwardingHistoryRequest)
 
-ForwardingEvent = _reflection.GeneratedProtocolMessageType('ForwardingEvent', (_message.Message,), dict(
-  DESCRIPTOR = _FORWARDINGEVENT,
-  __module__ = 'rpc_pb2'
+ForwardingEvent = _reflection.GeneratedProtocolMessageType('ForwardingEvent', (_message.Message,), {
+  'DESCRIPTOR' : _FORWARDINGEVENT,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ForwardingEvent)
-  ))
+  })
 _sym_db.RegisterMessage(ForwardingEvent)
 
-ForwardingHistoryResponse = _reflection.GeneratedProtocolMessageType('ForwardingHistoryResponse', (_message.Message,), dict(
-  DESCRIPTOR = _FORWARDINGHISTORYRESPONSE,
-  __module__ = 'rpc_pb2'
+ForwardingHistoryResponse = _reflection.GeneratedProtocolMessageType('ForwardingHistoryResponse', (_message.Message,), {
+  'DESCRIPTOR' : _FORWARDINGHISTORYRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ForwardingHistoryResponse)
-  ))
+  })
 _sym_db.RegisterMessage(ForwardingHistoryResponse)
 
-ExportChannelBackupRequest = _reflection.GeneratedProtocolMessageType('ExportChannelBackupRequest', (_message.Message,), dict(
-  DESCRIPTOR = _EXPORTCHANNELBACKUPREQUEST,
-  __module__ = 'rpc_pb2'
+ExportChannelBackupRequest = _reflection.GeneratedProtocolMessageType('ExportChannelBackupRequest', (_message.Message,), {
+  'DESCRIPTOR' : _EXPORTCHANNELBACKUPREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ExportChannelBackupRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ExportChannelBackupRequest)
 
-ChannelBackup = _reflection.GeneratedProtocolMessageType('ChannelBackup', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELBACKUP,
-  __module__ = 'rpc_pb2'
+ChannelBackup = _reflection.GeneratedProtocolMessageType('ChannelBackup', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELBACKUP,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelBackup)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelBackup)
 
-MultiChanBackup = _reflection.GeneratedProtocolMessageType('MultiChanBackup', (_message.Message,), dict(
-  DESCRIPTOR = _MULTICHANBACKUP,
-  __module__ = 'rpc_pb2'
+MultiChanBackup = _reflection.GeneratedProtocolMessageType('MultiChanBackup', (_message.Message,), {
+  'DESCRIPTOR' : _MULTICHANBACKUP,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.MultiChanBackup)
-  ))
+  })
 _sym_db.RegisterMessage(MultiChanBackup)
 
-ChanBackupExportRequest = _reflection.GeneratedProtocolMessageType('ChanBackupExportRequest', (_message.Message,), dict(
-  DESCRIPTOR = _CHANBACKUPEXPORTREQUEST,
-  __module__ = 'rpc_pb2'
+ChanBackupExportRequest = _reflection.GeneratedProtocolMessageType('ChanBackupExportRequest', (_message.Message,), {
+  'DESCRIPTOR' : _CHANBACKUPEXPORTREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChanBackupExportRequest)
-  ))
+  })
 _sym_db.RegisterMessage(ChanBackupExportRequest)
 
-ChanBackupSnapshot = _reflection.GeneratedProtocolMessageType('ChanBackupSnapshot', (_message.Message,), dict(
-  DESCRIPTOR = _CHANBACKUPSNAPSHOT,
-  __module__ = 'rpc_pb2'
+ChanBackupSnapshot = _reflection.GeneratedProtocolMessageType('ChanBackupSnapshot', (_message.Message,), {
+  'DESCRIPTOR' : _CHANBACKUPSNAPSHOT,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChanBackupSnapshot)
-  ))
+  })
 _sym_db.RegisterMessage(ChanBackupSnapshot)
 
-ChannelBackups = _reflection.GeneratedProtocolMessageType('ChannelBackups', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELBACKUPS,
-  __module__ = 'rpc_pb2'
+ChannelBackups = _reflection.GeneratedProtocolMessageType('ChannelBackups', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELBACKUPS,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelBackups)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelBackups)
 
-RestoreChanBackupRequest = _reflection.GeneratedProtocolMessageType('RestoreChanBackupRequest', (_message.Message,), dict(
-  DESCRIPTOR = _RESTORECHANBACKUPREQUEST,
-  __module__ = 'rpc_pb2'
+RestoreChanBackupRequest = _reflection.GeneratedProtocolMessageType('RestoreChanBackupRequest', (_message.Message,), {
+  'DESCRIPTOR' : _RESTORECHANBACKUPREQUEST,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.RestoreChanBackupRequest)
-  ))
+  })
 _sym_db.RegisterMessage(RestoreChanBackupRequest)
 
-RestoreBackupResponse = _reflection.GeneratedProtocolMessageType('RestoreBackupResponse', (_message.Message,), dict(
-  DESCRIPTOR = _RESTOREBACKUPRESPONSE,
-  __module__ = 'rpc_pb2'
+RestoreBackupResponse = _reflection.GeneratedProtocolMessageType('RestoreBackupResponse', (_message.Message,), {
+  'DESCRIPTOR' : _RESTOREBACKUPRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.RestoreBackupResponse)
-  ))
+  })
 _sym_db.RegisterMessage(RestoreBackupResponse)
 
-ChannelBackupSubscription = _reflection.GeneratedProtocolMessageType('ChannelBackupSubscription', (_message.Message,), dict(
-  DESCRIPTOR = _CHANNELBACKUPSUBSCRIPTION,
-  __module__ = 'rpc_pb2'
+ChannelBackupSubscription = _reflection.GeneratedProtocolMessageType('ChannelBackupSubscription', (_message.Message,), {
+  'DESCRIPTOR' : _CHANNELBACKUPSUBSCRIPTION,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.ChannelBackupSubscription)
-  ))
+  })
 _sym_db.RegisterMessage(ChannelBackupSubscription)
 
-VerifyChanBackupResponse = _reflection.GeneratedProtocolMessageType('VerifyChanBackupResponse', (_message.Message,), dict(
-  DESCRIPTOR = _VERIFYCHANBACKUPRESPONSE,
-  __module__ = 'rpc_pb2'
+VerifyChanBackupResponse = _reflection.GeneratedProtocolMessageType('VerifyChanBackupResponse', (_message.Message,), {
+  'DESCRIPTOR' : _VERIFYCHANBACKUPRESPONSE,
+  '__module__' : 'rpc_pb2'
   # @@protoc_insertion_point(class_scope:lnrpc.VerifyChanBackupResponse)
-  ))
+  })
 _sym_db.RegisterMessage(VerifyChanBackupResponse)
 
+MacaroonPermission = _reflection.GeneratedProtocolMessageType('MacaroonPermission', (_message.Message,), {
+  'DESCRIPTOR' : _MACAROONPERMISSION,
+  '__module__' : 'rpc_pb2'
+  # @@protoc_insertion_point(class_scope:lnrpc.MacaroonPermission)
+  })
+_sym_db.RegisterMessage(MacaroonPermission)
+
+BakeMacaroonRequest = _reflection.GeneratedProtocolMessageType('BakeMacaroonRequest', (_message.Message,), {
+  'DESCRIPTOR' : _BAKEMACAROONREQUEST,
+  '__module__' : 'rpc_pb2'
+  # @@protoc_insertion_point(class_scope:lnrpc.BakeMacaroonRequest)
+  })
+_sym_db.RegisterMessage(BakeMacaroonRequest)
+
+BakeMacaroonResponse = _reflection.GeneratedProtocolMessageType('BakeMacaroonResponse', (_message.Message,), {
+  'DESCRIPTOR' : _BAKEMACAROONRESPONSE,
+  '__module__' : 'rpc_pb2'
+  # @@protoc_insertion_point(class_scope:lnrpc.BakeMacaroonResponse)
+  })
+_sym_db.RegisterMessage(BakeMacaroonResponse)
+
 
 DESCRIPTOR._options = None
-_SENDTOROUTEREQUEST.fields_by_name['routes']._options = None
+_SENDREQUEST_DESTTLVENTRY._options = None
+_SENDREQUEST.fields_by_name['outgoing_chan_id']._options = None
 _ESTIMATEFEEREQUEST_ADDRTOAMOUNTENTRY._options = None
 _SENDMANYREQUEST_ADDRTOAMOUNTENTRY._options = None
+_CHANNEL.fields_by_name['chan_id']._options = None
+_CHANNELCLOSESUMMARY.fields_by_name['chan_id']._options = None
 _GETINFORESPONSE.fields_by_name['testnet']._options = None
-_QUERYROUTESREQUEST.fields_by_name['num_routes']._options = None
+_QUERYROUTESREQUEST.fields_by_name['ignored_edges']._options = None
+_EDGELOCATOR.fields_by_name['channel_id']._options = None
+_HOP.fields_by_name['chan_id']._options = None
 _HOP.fields_by_name['amt_to_forward']._options = None
 _HOP.fields_by_name['fee']._options = None
 _ROUTE.fields_by_name['total_fees']._options = None
 _ROUTE.fields_by_name['total_amt']._options = None
+_CHANNELEDGE.fields_by_name['channel_id']._options = None
+_CHANNELEDGE.fields_by_name['last_update']._options = None
+_CHANINFOREQUEST.fields_by_name['chan_id']._options = None
+_CHANNELEDGEUPDATE.fields_by_name['chan_id']._options = None
+_CLOSEDCHANNELUPDATE.fields_by_name['chan_id']._options = None
+_HOPHINT.fields_by_name['chan_id']._options = None
 _INVOICE.fields_by_name['receipt']._options = None
 _INVOICE.fields_by_name['settled']._options = None
 _INVOICE.fields_by_name['amt_paid']._options = None
+_INVOICEHTLC.fields_by_name['chan_id']._options = None
 _PAYMENT.fields_by_name['value']._options = None
+_PAYMENT.fields_by_name['fee']._options = None
+_FORWARDINGEVENT.fields_by_name['chan_id_in']._options = None
+_FORWARDINGEVENT.fields_by_name['chan_id_out']._options = None
 
 _WALLETUNLOCKER = _descriptor.ServiceDescriptor(
   name='WalletUnlocker',
@@ -7527,8 +8281,8 @@
   file=DESCRIPTOR,
   index=0,
   serialized_options=None,
-  serialized_start=18028,
-  serialized_end=18429,
+  serialized_start=20270,
+  serialized_end=20671,
   methods=[
   _descriptor.MethodDescriptor(
     name='GenSeed',
@@ -7578,8 +8332,8 @@
   file=DESCRIPTOR,
   index=1,
   serialized_options=None,
-  serialized_start=18432,
-  serialized_end=23318,
+  serialized_start=20674,
+  serialized_end=25740,
   methods=[
   _descriptor.MethodDescriptor(
     name='WalletBalance',
@@ -7770,10 +8524,19 @@
     output_type=_OPENSTATUSUPDATE,
     serialized_options=None,
   ),
+  _descriptor.MethodDescriptor(
+    name='ChannelAcceptor',
+    full_name='lnrpc.Lightning.ChannelAcceptor',
+    index=21,
+    containing_service=None,
+    input_type=_CHANNELACCEPTRESPONSE,
+    output_type=_CHANNELACCEPTREQUEST,
+    serialized_options=None,
+  ),
   _descriptor.MethodDescriptor(
     name='CloseChannel',
     full_name='lnrpc.Lightning.CloseChannel',
-    index=21,
+    index=22,
     containing_service=None,
     input_type=_CLOSECHANNELREQUEST,
     output_type=_CLOSESTATUSUPDATE,
@@ -7782,7 +8545,7 @@
   _descriptor.MethodDescriptor(
     name='AbandonChannel',
     full_name='lnrpc.Lightning.AbandonChannel',
-    index=22,
+    index=23,
     containing_service=None,
     input_type=_ABANDONCHANNELREQUEST,
     output_type=_ABANDONCHANNELRESPONSE,
@@ -7791,7 +8554,7 @@
   _descriptor.MethodDescriptor(
     name='SendPayment',
     full_name='lnrpc.Lightning.SendPayment',
-    index=23,
+    index=24,
     containing_service=None,
     input_type=_SENDREQUEST,
     output_type=_SENDRESPONSE,
@@ -7800,7 +8563,7 @@
   _descriptor.MethodDescriptor(
     name='SendPaymentSync',
     full_name='lnrpc.Lightning.SendPaymentSync',
-    index=24,
+    index=25,
     containing_service=None,
     input_type=_SENDREQUEST,
     output_type=_SENDRESPONSE,
@@ -7809,7 +8572,7 @@
   _descriptor.MethodDescriptor(
     name='SendToRoute',
     full_name='lnrpc.Lightning.SendToRoute',
-    index=25,
+    index=26,
     containing_service=None,
     input_type=_SENDTOROUTEREQUEST,
     output_type=_SENDRESPONSE,
@@ -7818,7 +8581,7 @@
   _descriptor.MethodDescriptor(
     name='SendToRouteSync',
     full_name='lnrpc.Lightning.SendToRouteSync',
-    index=26,
+    index=27,
     containing_service=None,
     input_type=_SENDTOROUTEREQUEST,
     output_type=_SENDRESPONSE,
@@ -7827,7 +8590,7 @@
   _descriptor.MethodDescriptor(
     name='AddInvoice',
     full_name='lnrpc.Lightning.AddInvoice',
-    index=27,
+    index=28,
     containing_service=None,
     input_type=_INVOICE,
     output_type=_ADDINVOICERESPONSE,
@@ -7836,7 +8599,7 @@
   _descriptor.MethodDescriptor(
     name='ListInvoices',
     full_name='lnrpc.Lightning.ListInvoices',
-    index=28,
+    index=29,
     containing_service=None,
     input_type=_LISTINVOICEREQUEST,
     output_type=_LISTINVOICERESPONSE,
@@ -7845,7 +8608,7 @@
   _descriptor.MethodDescriptor(
     name='LookupInvoice',
     full_name='lnrpc.Lightning.LookupInvoice',
-    index=29,
+    index=30,
     containing_service=None,
     input_type=_PAYMENTHASH,
     output_type=_INVOICE,
@@ -7854,7 +8617,7 @@
   _descriptor.MethodDescriptor(
     name='SubscribeInvoices',
     full_name='lnrpc.Lightning.SubscribeInvoices',
-    index=30,
+    index=31,
     containing_service=None,
     input_type=_INVOICESUBSCRIPTION,
     output_type=_INVOICE,
@@ -7863,7 +8626,7 @@
   _descriptor.MethodDescriptor(
     name='DecodePayReq',
     full_name='lnrpc.Lightning.DecodePayReq',
-    index=31,
+    index=32,
     containing_service=None,
     input_type=_PAYREQSTRING,
     output_type=_PAYREQ,
@@ -7872,7 +8635,7 @@
   _descriptor.MethodDescriptor(
     name='ListPayments',
     full_name='lnrpc.Lightning.ListPayments',
-    index=32,
+    index=33,
     containing_service=None,
     input_type=_LISTPAYMENTSREQUEST,
     output_type=_LISTPAYMENTSRESPONSE,
@@ -7881,7 +8644,7 @@
   _descriptor.MethodDescriptor(
     name='DeleteAllPayments',
     full_name='lnrpc.Lightning.DeleteAllPayments',
-    index=33,
+    index=34,
     containing_service=None,
     input_type=_DELETEALLPAYMENTSREQUEST,
     output_type=_DELETEALLPAYMENTSRESPONSE,
@@ -7890,7 +8653,7 @@
   _descriptor.MethodDescriptor(
     name='DescribeGraph',
     full_name='lnrpc.Lightning.DescribeGraph',
-    index=34,
+    index=35,
     containing_service=None,
     input_type=_CHANNELGRAPHREQUEST,
     output_type=_CHANNELGRAPH,
@@ -7899,7 +8662,7 @@
   _descriptor.MethodDescriptor(
     name='GetChanInfo',
     full_name='lnrpc.Lightning.GetChanInfo',
-    index=35,
+    index=36,
     containing_service=None,
     input_type=_CHANINFOREQUEST,
     output_type=_CHANNELEDGE,
@@ -7908,7 +8671,7 @@
   _descriptor.MethodDescriptor(
     name='GetNodeInfo',
     full_name='lnrpc.Lightning.GetNodeInfo',
-    index=36,
+    index=37,
     containing_service=None,
     input_type=_NODEINFOREQUEST,
     output_type=_NODEINFO,
@@ -7917,7 +8680,7 @@
   _descriptor.MethodDescriptor(
     name='QueryRoutes',
     full_name='lnrpc.Lightning.QueryRoutes',
-    index=37,
+    index=38,
     containing_service=None,
     input_type=_QUERYROUTESREQUEST,
     output_type=_QUERYROUTESRESPONSE,
@@ -7926,7 +8689,7 @@
   _descriptor.MethodDescriptor(
     name='GetNetworkInfo',
     full_name='lnrpc.Lightning.GetNetworkInfo',
-    index=38,
+    index=39,
     containing_service=None,
     input_type=_NETWORKINFOREQUEST,
     output_type=_NETWORKINFO,
@@ -7935,7 +8698,7 @@
   _descriptor.MethodDescriptor(
     name='StopDaemon',
     full_name='lnrpc.Lightning.StopDaemon',
-    index=39,
+    index=40,
     containing_service=None,
     input_type=_STOPREQUEST,
     output_type=_STOPRESPONSE,
@@ -7944,7 +8707,7 @@
   _descriptor.MethodDescriptor(
     name='SubscribeChannelGraph',
     full_name='lnrpc.Lightning.SubscribeChannelGraph',
-    index=40,
+    index=41,
     containing_service=None,
     input_type=_GRAPHTOPOLOGYSUBSCRIPTION,
     output_type=_GRAPHTOPOLOGYUPDATE,
@@ -7953,7 +8716,7 @@
   _descriptor.MethodDescriptor(
     name='DebugLevel',
     full_name='lnrpc.Lightning.DebugLevel',
-    index=41,
+    index=42,
     containing_service=None,
     input_type=_DEBUGLEVELREQUEST,
     output_type=_DEBUGLEVELRESPONSE,
@@ -7962,7 +8725,7 @@
   _descriptor.MethodDescriptor(
     name='FeeReport',
     full_name='lnrpc.Lightning.FeeReport',
-    index=42,
+    index=43,
     containing_service=None,
     input_type=_FEEREPORTREQUEST,
     output_type=_FEEREPORTRESPONSE,
@@ -7971,7 +8734,7 @@
   _descriptor.MethodDescriptor(
     name='UpdateChannelPolicy',
     full_name='lnrpc.Lightning.UpdateChannelPolicy',
-    index=43,
+    index=44,
     containing_service=None,
     input_type=_POLICYUPDATEREQUEST,
     output_type=_POLICYUPDATERESPONSE,
@@ -7980,7 +8743,7 @@
   _descriptor.MethodDescriptor(
     name='ForwardingHistory',
     full_name='lnrpc.Lightning.ForwardingHistory',
-    index=44,
+    index=45,
     containing_service=None,
     input_type=_FORWARDINGHISTORYREQUEST,
     output_type=_FORWARDINGHISTORYRESPONSE,
@@ -7989,7 +8752,7 @@
   _descriptor.MethodDescriptor(
     name='ExportChannelBackup',
     full_name='lnrpc.Lightning.ExportChannelBackup',
-    index=45,
+    index=46,
     containing_service=None,
     input_type=_EXPORTCHANNELBACKUPREQUEST,
     output_type=_CHANNELBACKUP,
@@ -7998,7 +8761,7 @@
   _descriptor.MethodDescriptor(
     name='ExportAllChannelBackups',
     full_name='lnrpc.Lightning.ExportAllChannelBackups',
-    index=46,
+    index=47,
     containing_service=None,
     input_type=_CHANBACKUPEXPORTREQUEST,
     output_type=_CHANBACKUPSNAPSHOT,
@@ -8007,7 +8770,7 @@
   _descriptor.MethodDescriptor(
     name='VerifyChanBackup',
     full_name='lnrpc.Lightning.VerifyChanBackup',
-    index=47,
+    index=48,
     containing_service=None,
     input_type=_CHANBACKUPSNAPSHOT,
     output_type=_VERIFYCHANBACKUPRESPONSE,
@@ -8016,7 +8779,7 @@
   _descriptor.MethodDescriptor(
     name='RestoreChannelBackups',
     full_name='lnrpc.Lightning.RestoreChannelBackups',
-    index=48,
+    index=49,
     containing_service=None,
     input_type=_RESTORECHANBACKUPREQUEST,
     output_type=_RESTOREBACKUPRESPONSE,
@@ -8025,12 +8788,21 @@
   _descriptor.MethodDescriptor(
     name='SubscribeChannelBackups',
     full_name='lnrpc.Lightning.SubscribeChannelBackups',
-    index=49,
+    index=50,
     containing_service=None,
     input_type=_CHANNELBACKUPSUBSCRIPTION,
     output_type=_CHANBACKUPSNAPSHOT,
     serialized_options=None,
   ),
+  _descriptor.MethodDescriptor(
+    name='BakeMacaroon',
+    full_name='lnrpc.Lightning.BakeMacaroon',
+    index=51,
+    containing_service=None,
+    input_type=_BAKEMACAROONREQUEST,
+    output_type=_BAKEMACAROONRESPONSE,
+    serialized_options=_b('\202\323\344\223\002\021\"\014/v1/macaroon:\001*'),
+  ),
 ])
 _sym_db.RegisterServiceDescriptor(_LIGHTNING)
 
diff --git a/home.admin/config.scripts/lndlibs/rpc_pb2_grpc.py b/home.admin/config.scripts/lndlibs/rpc_pb2_grpc.py
--- a/home.admin/config.scripts/lndlibs/rpc_pb2_grpc.py
+++ b/home.admin/config.scripts/lndlibs/rpc_pb2_grpc.py
@@ -280,6 +280,11 @@ def __init__(self, channel):
         request_serializer=rpc__pb2.OpenChannelRequest.SerializeToString,
         response_deserializer=rpc__pb2.OpenStatusUpdate.FromString,
         )
+    self.ChannelAcceptor = channel.stream_stream(
+        '/lnrpc.Lightning/ChannelAcceptor',
+        request_serializer=rpc__pb2.ChannelAcceptResponse.SerializeToString,
+        response_deserializer=rpc__pb2.ChannelAcceptRequest.FromString,
+        )
     self.CloseChannel = channel.unary_stream(
         '/lnrpc.Lightning/CloseChannel',
         request_serializer=rpc__pb2.CloseChannelRequest.SerializeToString,
@@ -425,6 +430,11 @@ def __init__(self, channel):
         request_serializer=rpc__pb2.ChannelBackupSubscription.SerializeToString,
         response_deserializer=rpc__pb2.ChanBackupSnapshot.FromString,
         )
+    self.BakeMacaroon = channel.unary_unary(
+        '/lnrpc.Lightning/BakeMacaroon',
+        request_serializer=rpc__pb2.BakeMacaroonRequest.SerializeToString,
+        response_deserializer=rpc__pb2.BakeMacaroonResponse.FromString,
+        )
 
 
 class LightningServicer(object):
@@ -435,7 +445,7 @@ def WalletBalance(self, request, context):
     """* lncli: `walletbalance`
     WalletBalance returns total unspent outputs(confirmed and unconfirmed), all
     confirmed unspent outputs and all unconfirmed unspent outputs under control
-    of the wallet. 
+    of the wallet.
     """
     context.set_code(grpc.StatusCode.UNIMPLEMENTED)
     context.set_details('Method not implemented!')
@@ -600,7 +610,7 @@ def ListChannels(self, request, context):
     raise NotImplementedError('Method not implemented!')
 
   def SubscribeChannelEvents(self, request, context):
-    """* lncli: `subscribechannelevents`
+    """*
     SubscribeChannelEvents creates a uni-directional stream from the server to
     the client in which any updates relevant to the state of the channels are
     sent over. Events include new active channels, inactive channels, and closed
@@ -612,7 +622,7 @@ def SubscribeChannelEvents(self, request, context):
 
   def ClosedChannels(self, request, context):
     """* lncli: `closedchannels`
-    ClosedChannels returns a description of all the closed channels that 
+    ClosedChannels returns a description of all the closed channels that
     this node was a participant in.
     """
     context.set_code(grpc.StatusCode.UNIMPLEMENTED)
@@ -642,6 +652,18 @@ def OpenChannel(self, request, context):
     context.set_details('Method not implemented!')
     raise NotImplementedError('Method not implemented!')
 
+  def ChannelAcceptor(self, request_iterator, context):
+    """*
+    ChannelAcceptor dispatches a bi-directional streaming RPC in which
+    OpenChannel requests are sent to the client and the client responds with
+    a boolean that tells LND whether or not to accept the channel. This allows
+    node operators to specify their own criteria for accepting inbound channels
+    through a single persistent connection.
+    """
+    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+    context.set_details('Method not implemented!')
+    raise NotImplementedError('Method not implemented!')
+
   def CloseChannel(self, request, context):
     """* lncli: `closechannel`
     CloseChannel attempts to close an active channel identified by its channel
@@ -822,7 +844,7 @@ def QueryRoutes(self, request, context):
     """* lncli: `queryroutes`
     QueryRoutes attempts to query the daemon's Channel Router for a possible
     route to a target destination capable of carrying a specific amount of
-    satoshis. The retuned route contains the full details required to craft and
+    satoshis. The returned route contains the full details required to craft and
     send an HTLC, also including the necessary information that should be
     present within the Sphinx packet encapsulated within the HTLC.
     """
@@ -967,6 +989,16 @@ def SubscribeChannelBackups(self, request, context):
     context.set_details('Method not implemented!')
     raise NotImplementedError('Method not implemented!')
 
+  def BakeMacaroon(self, request, context):
+    """* lncli: `bakemacaroon`
+    BakeMacaroon allows the creation of a new macaroon with custom read and
+    write permissions. No first-party caveats are added since this can be done
+    offline.
+    """
+    context.set_code(grpc.StatusCode.UNIMPLEMENTED)
+    context.set_details('Method not implemented!')
+    raise NotImplementedError('Method not implemented!')
+
 
 def add_LightningServicer_to_server(servicer, server):
   rpc_method_handlers = {
@@ -1075,6 +1107,11 @@ def add_LightningServicer_to_server(servicer, server):
           request_deserializer=rpc__pb2.OpenChannelRequest.FromString,
           response_serializer=rpc__pb2.OpenStatusUpdate.SerializeToString,
       ),
+      'ChannelAcceptor': grpc.stream_stream_rpc_method_handler(
+          servicer.ChannelAcceptor,
+          request_deserializer=rpc__pb2.ChannelAcceptResponse.FromString,
+          response_serializer=rpc__pb2.ChannelAcceptRequest.SerializeToString,
+      ),
       'CloseChannel': grpc.unary_stream_rpc_method_handler(
           servicer.CloseChannel,
           request_deserializer=rpc__pb2.CloseChannelRequest.FromString,
@@ -1220,6 +1257,11 @@ def add_LightningServicer_to_server(servicer, server):
           request_deserializer=rpc__pb2.ChannelBackupSubscription.FromString,
           response_serializer=rpc__pb2.ChanBackupSnapshot.SerializeToString,
       ),
+      'BakeMacaroon': grpc.unary_unary_rpc_method_handler(
+          servicer.BakeMacaroon,
+          request_deserializer=rpc__pb2.BakeMacaroonRequest.FromString,
+          response_serializer=rpc__pb2.BakeMacaroonResponse.SerializeToString,
+      ),
   }
   generic_handler = grpc.method_handlers_generic_handler(
       'lnrpc.Lightning', rpc_method_handlers)


Test patch: