diff --git a/.gitignore b/.gitignore index ee9eac99..f2cb5db5 100644 --- a/.gitignore +++ b/.gitignore @@ -176,3 +176,5 @@ venv.bak/ # VSCode .vscode !/node_launcher/node_set/lib + +*.DS_Store diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..b00b838b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "node_launcher/gui/assets/Bitcoin-Icons"] + path = node_launcher/gui/assets/Bitcoin-Icons + url = https://github.com/BitcoinDesign/Bitcoin-Icons diff --git a/README.md b/README.md index 40bc8984..32e4fe9d 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,7 @@ 2. [Send a payment with the Joule Chrome extension](https://medium.com/@pierre_rochard/bitcoin-lightning-joule-chrome-extension-ac149bb05cb9) # Requirements -1. ~300 GB of download bandwidth -2. ~10 GB of disk space (~300 GB if you want the Bitcoin transaction index, makes for a faster LND) -3. Windows 7+ or macOS 10.12.6+ +Windows 10 or macOS 10.15.3+ Linux works but it is not packaged, follow the developer steps below to run it from the Linux command line. @@ -18,6 +16,10 @@ Please submit a pull request if you want to add Linux packaging! A .deb and .rpm Download and open the latest release for your operating system: https://github.com/PierreRochard/node-launcher/releases +# Requirements for full node +1. 500 GB of download bandwidth +2. 500 GB of free disk space + # Node Launcher 1. Creates a node launcher data directory @@ -25,8 +27,6 @@ https://github.com/PierreRochard/node-launcher/releases * Windows: `%localappdata%/Node\ Launcher/` 2. Finds available ports for Bitcoin and LND, testnet and mainnet 3. When launched, Bitcoin nodes use the `datadir` directory specified in `bitcoin.conf` (or the default data directory) -4. If you don't have >300 GB of disk space free, Bitcoin nodes will fall back to pruned -5. Pruning still requires downloading data, so make sure you can handle downloading ~300 GB of data ![macos](https://raw.githubusercontent.com/PierreRochard/node-launcher/master/macos.png) diff --git a/node_launcher/app_logging.py b/node_launcher/app_logging.py new file mode 100644 index 00000000..6d8a4ad7 --- /dev/null +++ b/node_launcher/app_logging.py @@ -0,0 +1,3 @@ +import structlog + +log = structlog.get_logger() diff --git a/node_launcher/cli.py b/node_launcher/cli.py new file mode 100644 index 00000000..6bd46a3c --- /dev/null +++ b/node_launcher/cli.py @@ -0,0 +1,44 @@ +import sys +from typing import Optional + +from node_launcher.except_hook import except_hook +from node_launcher.gui.qt import QObject +from node_launcher.app_logging import log +from node_launcher.constants import OPERATING_SYSTEM +from node_launcher.node_set.bitcoind.bitcoind_node import BitcoindNode +from node_launcher.node_set.lib.hard_drives import HardDrives +from node_launcher.node_set.lib.node_status import NodeStatus +from node_launcher.node_set.lnd.lnd_node import LndNode +from node_launcher.node_set.tor.tor_node import TorNode + + +class CLI(QObject): + tor_node: TorNode + bitcoind_node: Optional[BitcoindNode] + lnd_node: LndNode + + def __init__(self): + super().__init__() + self.full_node_partition = HardDrives().get_full_node_partition() + self.tor_node = TorNode(operating_system=OPERATING_SYSTEM) + self.bitcoind_node = BitcoindNode(operating_system=OPERATING_SYSTEM, partition=self.full_node_partition) + self.lnd_node = LndNode(operating_system=OPERATING_SYSTEM, bitcoind_partition=self.full_node_partition) + + def start(self): + self.tor_node.software.update() + self.bitcoind_node.software.update() + self.lnd_node.software.update() + + + +if __name__ == '__main__': + + sys.excepthook = except_hook + + log.info( + 'constants', + OPERATING_SYSTEM=OPERATING_SYSTEM + ) + + cli = CLI() + sys.exit(cli.start()) diff --git a/node_launcher/constants.py b/node_launcher/constants.py index 1ecb2c78..049863aa 100644 --- a/node_launcher/constants.py +++ b/node_launcher/constants.py @@ -3,14 +3,16 @@ import platform from typing import Dict -NODE_LAUNCHER_RELEASE = '.'.join(map(str, (7, 1, 0))) - -TARGET_TOR_RELEASE = '8.5.4' -TARGET_WINDOWS_TOR_VERSION = '0.4.0.5' -TOR_WEBSITE = 'http://www.torproject.org/dist/torbrowser/' - -TARGET_BITCOIN_RELEASE = 'v0.18.1' -TARGET_LND_RELEASE = 'v0.7.1-beta' +NODE_LAUNCHER_RELEASE = '.'.join( + map( + str, + ( + 7, + 0, + 0 + ) + ) +) class StringConstant(object): @@ -33,6 +35,17 @@ def __repr__(self): return self.name +class NodeSoftwareName(StringConstant): + pass + + +TOR: NodeSoftwareName = NodeSoftwareName('tor') +BITCOIND: NodeSoftwareName = NodeSoftwareName('bitcoin') +LND: NodeSoftwareName = NodeSoftwareName('lnd') +NODE_LAUNCHER: NodeSoftwareName = NodeSoftwareName('node-launcher') +TEST_SOFTWARE: NodeSoftwareName = NodeSoftwareName('test-software') + + class Network(StringConstant): pass @@ -54,57 +67,68 @@ class OperatingSystem(StringConstant): IS_LINUX = OPERATING_SYSTEM == LINUX IS_WINDOWS = OPERATING_SYSTEM == WINDOWS -# Only relevant for Windows -LOCALAPPDATA = os.path.abspath(os.environ.get('LOCALAPPDATA', '')) -APPDATA = os.path.abspath(os.environ.get('APPDATA', '')) -PROGRAMS = os.environ.get('Programw6432', '') - - -NODE_LAUNCHER_DATA_PATH: Dict[OperatingSystem, str] = { - DARWIN: expanduser('~/Library/Application Support/Node Launcher/'), - LINUX: expanduser('~/.node_launcher'), - WINDOWS: os.path.join(LOCALAPPDATA, 'Node Launcher') -} +NODE_LAUNCHER_DATA_PATH: Dict[OperatingSystem, str] = {} +TOR_DIR_PATH: Dict[OperatingSystem, str] = {} +BITCOIN_DATA_PATH: Dict[OperatingSystem, str] = {} +LND_DIR_PATH: Dict[OperatingSystem, str] = {} + +if IS_WINDOWS: + LOCALAPPDATA = os.path.abspath(os.environ.get('LOCALAPPDATA', '')) + APPDATA = os.path.abspath(os.environ.get('APPDATA', '')) + PROGRAMS = os.environ.get('Programw6432', '') + NODE_LAUNCHER_DATA_PATH[WINDOWS] = os.path.join(LOCALAPPDATA, 'Node Launcher') + TOR_DIR_PATH[WINDOWS] = os.path.join(APPDATA, 'tor') + BITCOIN_DATA_PATH[WINDOWS] = os.path.join(APPDATA, 'Bitcoin') + LND_DIR_PATH[WINDOWS] = os.path.join(LOCALAPPDATA, 'Lnd') +elif IS_LINUX: + NODE_LAUNCHER_DATA_PATH[LINUX] = expanduser('~/.node_launcher') + TOR_DIR_PATH[LINUX] = '/var/tmp/dist/tor/etc/tor/' + BITCOIN_DATA_PATH[LINUX] = expanduser('~/.bitcoin') + LND_DIR_PATH[LINUX] = expanduser('~/.lnd/') +elif IS_MACOS: + NODE_LAUNCHER_DATA_PATH[DARWIN] = expanduser('~/Library/Application Support/Node Launcher/') + TOR_DIR_PATH[DARWIN] = '/var/tmp/dist/tor/etc/tor/' + BITCOIN_DATA_PATH[DARWIN] = expanduser('~/Library/Application Support/Bitcoin/') + LND_DIR_PATH[DARWIN] = expanduser('~/Library/Application Support/Lnd/') try: os.mkdir(os.path.join(NODE_LAUNCHER_DATA_PATH[OPERATING_SYSTEM])) except FileExistsError: pass -LND_DIR_PATH: Dict[OperatingSystem, str] = { - DARWIN: expanduser('~/Library/Application Support/Lnd/'), - LINUX: expanduser('~/.lnd/'), - WINDOWS: os.path.join(LOCALAPPDATA, 'Lnd') -} - -BITCOIN_DATA_PATH: Dict[OperatingSystem, str] = { - DARWIN: expanduser('~/Library/Application Support/Bitcoin/'), - LINUX: expanduser('~/.bitcoin'), - WINDOWS: os.path.join(APPDATA, 'Bitcoin') -} - -TOR_DIR_PATH: Dict[OperatingSystem, str] = { - DARWIN: '/var/tmp/dist/tor/etc/tor/', - LINUX: '/var/tmp/dist/tor/etc/tor/', - WINDOWS: os.path.join(APPDATA, 'tor'), -} - TOR_SERVICE_PATH = os.path.join(NODE_LAUNCHER_DATA_PATH[OPERATING_SYSTEM], 'tor-service') UPGRADE = 'Please download the latest version of the Node Launcher: ' \ - '' \ - 'https://github.com/PierreRochard/node-launcher/releases' \ - '' + '' \ + 'https://github.com/PierreRochard/node-launcher/releases' \ + '' GIGABYTE = 1000000000 +if IS_WINDOWS: + from keyring.backends.Windows import WinVaultKeyring + + keyring = WinVaultKeyring() + +if IS_MACOS: + from keyring.backends.macOS import Keyring + + keyring = Keyring() + +if IS_LINUX: + from keyring.backends.SecretService import Keyring + + keyring = Keyring() + AUTOPRUNE_GB = 150 # How many megabytes to keep # Total Bitcoin (mainnet) data directory size minus blocks is ~3 GB # We are targeting 10 GB, so 10 - 3 = 7 MAINNET_PRUNE = 7000 -TESTNET_PRUNE = 1000 +MINIMUM_GB = 10 +MAXIMUM_GB = 450 + BITCOIN_TESTNET_PEER_PORT = 18333 BITCOIN_MAINNET_PEER_PORT = 8333 @@ -115,117 +139,3 @@ class OperatingSystem(StringConstant): LND_DEFAULT_PEER_PORT = 9735 LND_DEFAULT_GRPC_PORT = 10009 LND_DEFAULT_REST_PORT = 8080 - -LNCLI_COMMANDS = [ - 'abandonchannel', - 'addinvoice', - 'changepassword', - 'channelbalance', - 'closeallchannels', - 'closechannel', - 'closedchannels', - 'connect', - 'create', - 'debuglevel', - 'decodepayreq', - 'describegraph', - 'disconnect', - 'feereport', - 'fwdinghistory', - 'getchaninfo', - 'getinfo', - 'getnetworkinfo', - 'getnodeinfo', - 'help', - 'listchaintxns', - 'listchannels', - 'listinvoices', - 'listpayments', - 'listpeers', - 'lookupinvoice', - 'newaddress', - 'openchannel', - 'payinvoice', - 'pendingchannels', - 'queryroutes', - 'sendcoins', - 'sendmany', - 'sendpayment', - 'sendtoroute', - 'signmessage', - 'stop', - 'unlock', - 'updatechanpolicy', - 'verifymessage', - 'walletbalance' -] - -BITCOIN_CLI_COMMANDS = [ - 'getbestblockhash', - 'addnode', - 'clearbanned', - 'combinepsbt', - 'combinerawtransaction', - 'converttopsbt', - 'createmultisig', - 'createpsbt', - 'createrawtransaction', - 'decodepsbt', - 'decoderawtransaction', - 'decodescript', - 'disconnectnode', - 'estimatesmartfee', - 'finalizepsbt', - 'generatetoaddress', - 'getaddednodeinfo', - 'getblock', - 'getblockchaininfo', - 'getblockcount', - 'getblockhash', - 'getblockheader', - 'getblockstats', - 'getblocktemplate', - 'getchaintips', - 'getchaintxstats', - 'getconnectioncount', - 'getdifficulty', - 'getmemoryinfo', - 'getmempoolancestors', - 'getmempooldescendants', - 'getmempoolentry', - 'getmempoolinfo', - 'getmininginfo', - 'getnettotals', - 'getnetworkhashps', - 'getnetworkinfo', - 'getpeerinfo', - 'getrawmempool', - 'getrawtransaction', - 'gettxout', - 'gettxoutproof', - 'gettxoutsetinfo', - 'getzmqnotifications', - 'help', - 'listbanned', - 'logging', - 'ping', - 'preciousblock', - 'prioritisetransaction', - 'pruneblockchain', - 'savemempool', - 'scantxoutset', - 'sendrawtransaction', - 'setban', - 'setnetworkactive', - 'signmessagewithprivkey', - 'signrawtransaction', - 'signrawtransactionwithkey', - 'stop', - 'submitblock', - 'testmempoolaccept', - 'uptime', - 'validateaddress', - 'verifychain', - 'verifymessage', - 'verifytxoutproof' -] diff --git a/node_launcher/except_hook.py b/node_launcher/except_hook.py index 06873cf6..148479ee 100644 --- a/node_launcher/except_hook.py +++ b/node_launcher/except_hook.py @@ -2,8 +2,7 @@ import traceback from io import StringIO -from PySide2.QtCore import Qt -from PySide2.QtWidgets import QMessageBox +from node_launcher.gui.qt import Qt, QMessageBox from node_launcher.constants import NODE_LAUNCHER_RELEASE @@ -36,7 +35,7 @@ def except_hook(exception_type, exception_value, traceback_object): if __name__ == '__main__': - from PySide2 import QtWidgets + from node_launcher.gui.qt import QtWidgets sys.excepthook = except_hook app = QtWidgets.QApplication([]) diff --git a/node_launcher/gui/application.py b/node_launcher/gui/application.py index 037eda87..b2fd5f62 100644 --- a/node_launcher/gui/application.py +++ b/node_launcher/gui/application.py @@ -1,18 +1,28 @@ -from PySide2 import QtCore -from PySide2.QtCore import QCoreApplication, Slot, Qt, QThreadPool -from PySide2.QtWidgets import QApplication, QWidget, QMessageBox +import sys + +from node_launcher.gui.qt import ( + QtCore, + QCoreApplication, + Slot, + Qt, + QApplication, + QWidget, + QMessageBox, + QThreadPool +) from node_launcher.constants import NODE_LAUNCHER_RELEASE, UPGRADE from node_launcher.gui.components.thread_worker import Worker from node_launcher.gui.system_tray import SystemTray -from node_launcher.logging import log +from node_launcher.app_logging import log from node_launcher.node_set import NodeSet from node_launcher.launcher_software import LauncherSoftware +from node_launcher.node_set.lib.hard_drives import HardDrives class Application(QApplication): def __init__(self): - super().__init__() + super().__init__(sys.argv) self.parent = QWidget() self.parent.hide() @@ -20,13 +30,14 @@ def __init__(self): self.setQuitOnLastWindowClosed(False) self.aboutToQuit.connect(self.quit_app) - self.node_set = NodeSet() + self.full_node_partition = HardDrives().get_full_node_partition() + self.node_set = NodeSet(full_node_partition=self.full_node_partition) self.system_tray = SystemTray(self.parent, self.node_set) + self.threadpool = QThreadPool() def start(self): - threadpool = QThreadPool() worker = Worker(fn=self.check_version) - threadpool.start(worker) + self.threadpool.start(worker) self.system_tray.show() self.node_set.start() @@ -35,7 +46,9 @@ def start(self): @staticmethod def check_version(): + log.debug('Checking Node Launcher version') latest_version = LauncherSoftware().get_latest_release_version() + log.debug('Node Launcher', latest_version=latest_version, NODE_LAUNCHER_RELEASE=NODE_LAUNCHER_RELEASE) if latest_version is None: return latest_major, latest_minor, latest_bugfix = latest_version.split('.') @@ -64,12 +77,15 @@ def check_version(): def quit_app(self): log.debug('quit_app') self.system_tray.show_message(title='Stopping LND...') - self.node_set.lnd_node.stop() + response = self.node_set.lnd_node.stop() + if response is False: + self.node_set.lnd_node.process.kill() self.node_set.lnd_node.process.waitForFinished(-1) - self.node_set.bitcoind_node.stop() - self.system_tray.show_message(title='Stopping bitcoind...') - self.node_set.bitcoind_node.process.waitForFinished(-1) + if self.node_set.bitcoind_node: + self.node_set.bitcoind_node.stop() + self.system_tray.show_message(title='Stopping bitcoind...') + self.node_set.bitcoind_node.process.waitForFinished(-1) self.node_set.tor_node.process.kill() self.node_set.tor_node.process.waitForFinished(-1) diff --git a/node_launcher/gui/assets/Bitcoin-Icons b/node_launcher/gui/assets/Bitcoin-Icons new file mode 160000 index 00000000..b816cb66 --- /dev/null +++ b/node_launcher/gui/assets/Bitcoin-Icons @@ -0,0 +1 @@ +Subproject commit b816cb6689bfdc9db90bc9827115b2b25023e335 diff --git a/node_launcher/gui/assets/__init__.py b/node_launcher/gui/assets/__init__.py index e69de29b..5b24d540 100644 --- a/node_launcher/gui/assets/__init__.py +++ b/node_launcher/gui/assets/__init__.py @@ -0,0 +1 @@ +from .asset_access import asset_access diff --git a/node_launcher/gui/assets/asset_access.py b/node_launcher/gui/assets/asset_access.py index 6b9d5d31..4ef2a114 100644 --- a/node_launcher/gui/assets/asset_access.py +++ b/node_launcher/gui/assets/asset_access.py @@ -1,5 +1,8 @@ import os import sys +from typing import Optional + +from node_launcher.app_logging import log class AssetAccess(object): @@ -8,17 +11,19 @@ class AssetAccess(object): def assets_directory(self): if getattr(sys, 'frozen', False): # noinspection PyUnresolvedReferences,PyProtectedMember - return os.path.join(sys._MEIPASS, 'assets') + assets_directory = os.path.join(sys._MEIPASS, 'node_launcher/gui/assets/') else: class_file_path = os.path.realpath(__file__) directory_path = os.path.join(class_file_path, os.path.pardir) - abs_directory_path = os.path.abspath(directory_path) - return abs_directory_path + assets_directory = os.path.abspath(directory_path) + log.debug('Getting assets directory', assets_directory=assets_directory) + return assets_directory - def get_asset_full_path(self, asset_name: str) -> str: + def get_asset_full_path(self, asset_name: str) -> Optional[str]: asset_path = os.path.join(self.assets_directory, asset_name) if not os.path.isfile(asset_path): - raise Exception(f'{asset_path} not found') + log.error(f'{asset_path} not found') + return None return asset_path diff --git a/node_launcher/gui/assets/bitcoin-mainnet.png b/node_launcher/gui/assets/bitcoin-mainnet.png deleted file mode 100644 index 77ebadd1..00000000 Binary files a/node_launcher/gui/assets/bitcoin-mainnet.png and /dev/null differ diff --git a/node_launcher/gui/assets/bitcoin-testnet.png b/node_launcher/gui/assets/bitcoin-testnet.png deleted file mode 100644 index ae26b0f6..00000000 Binary files a/node_launcher/gui/assets/bitcoin-testnet.png and /dev/null differ diff --git a/node_launcher/gui/assets/bitcoin_logo.png b/node_launcher/gui/assets/bitcoin_logo.png deleted file mode 100644 index 5006c0bf..00000000 Binary files a/node_launcher/gui/assets/bitcoin_logo.png and /dev/null differ diff --git a/node_launcher/gui/assets/bitcoin_logo.xcf b/node_launcher/gui/assets/bitcoin_logo.xcf deleted file mode 100644 index 5a3252ba..00000000 Binary files a/node_launcher/gui/assets/bitcoin_logo.xcf and /dev/null differ diff --git a/node_launcher/gui/assets/bitcoin_logo_blue.png b/node_launcher/gui/assets/bitcoin_logo_blue.png deleted file mode 100644 index 61fdccf1..00000000 Binary files a/node_launcher/gui/assets/bitcoin_logo_blue.png and /dev/null differ diff --git a/node_launcher/gui/assets/bitcoin_logo_green.png b/node_launcher/gui/assets/bitcoin_logo_green.png deleted file mode 100644 index a856c5f8..00000000 Binary files a/node_launcher/gui/assets/bitcoin_logo_green.png and /dev/null differ diff --git a/node_launcher/gui/assets/bitcoin_logo_red.png b/node_launcher/gui/assets/bitcoin_logo_red.png deleted file mode 100644 index dbbf8bca..00000000 Binary files a/node_launcher/gui/assets/bitcoin_logo_red.png and /dev/null differ diff --git a/node_launcher/gui/assets/system_tray_icon.png b/node_launcher/gui/assets/system_tray_icon.png deleted file mode 100644 index 5993abc8..00000000 Binary files a/node_launcher/gui/assets/system_tray_icon.png and /dev/null differ diff --git a/node_launcher/gui/assets/system_tray_icon.xcf b/node_launcher/gui/assets/system_tray_icon.xcf deleted file mode 100644 index 27779225..00000000 Binary files a/node_launcher/gui/assets/system_tray_icon.xcf and /dev/null differ diff --git a/node_launcher/gui/assets/system_tray_icon_green.png b/node_launcher/gui/assets/system_tray_icon_green.png deleted file mode 100644 index 4411aca2..00000000 Binary files a/node_launcher/gui/assets/system_tray_icon_green.png and /dev/null differ diff --git a/node_launcher/gui/assets/system_tray_icon_orange.png b/node_launcher/gui/assets/system_tray_icon_orange.png deleted file mode 100644 index 8be42f31..00000000 Binary files a/node_launcher/gui/assets/system_tray_icon_orange.png and /dev/null differ diff --git a/node_launcher/gui/assets/system_tray_icon_red.png b/node_launcher/gui/assets/system_tray_icon_red.png deleted file mode 100644 index 3363391d..00000000 Binary files a/node_launcher/gui/assets/system_tray_icon_red.png and /dev/null differ diff --git a/node_launcher/gui/assets/system_tray_icon_success.xcf b/node_launcher/gui/assets/system_tray_icon_success.xcf deleted file mode 100644 index f0a3366c..00000000 Binary files a/node_launcher/gui/assets/system_tray_icon_success.xcf and /dev/null differ diff --git a/node_launcher/gui/assets/system_tray_icon_yellow.png b/node_launcher/gui/assets/system_tray_icon_yellow.png deleted file mode 100644 index e473c9b6..00000000 Binary files a/node_launcher/gui/assets/system_tray_icon_yellow.png and /dev/null differ diff --git a/node_launcher/gui/components/copy_button.py b/node_launcher/gui/components/copy_button.py index 60ec2d91..0bf15243 100644 --- a/node_launcher/gui/components/copy_button.py +++ b/node_launcher/gui/components/copy_button.py @@ -1,6 +1,4 @@ -from PySide2.QtCore import QTimer -from PySide2.QtGui import QClipboard -from PySide2.QtWidgets import QVBoxLayout, QPushButton +from node_launcher.gui.qt import QTimer, QGuiApplication, QVBoxLayout, QPushButton class CopyButton(QVBoxLayout): @@ -15,7 +13,7 @@ def __init__(self, button_text: str, copy_text: str): self.timer = QTimer(self.parentWidget()) def copy(self): - QClipboard().setText(self.copy_text) + QGuiApplication.clipboard() self.button.setText('Copied!') self.button.repaint() self.timer.singleShot(1000, self.remove_text) diff --git a/node_launcher/gui/components/grid_layout.py b/node_launcher/gui/components/grid_layout.py index f3a29173..7c3dbee5 100644 --- a/node_launcher/gui/components/grid_layout.py +++ b/node_launcher/gui/components/grid_layout.py @@ -1,5 +1,4 @@ -from PySide2 import QtWidgets -from PySide2.QtWidgets import QWidget +from node_launcher.gui.qt import QtWidgets, QWidget class QGridLayout(QtWidgets.QGridLayout): diff --git a/node_launcher/gui/components/horizontal_line.py b/node_launcher/gui/components/horizontal_line.py index cdee07df..67713c0c 100644 --- a/node_launcher/gui/components/horizontal_line.py +++ b/node_launcher/gui/components/horizontal_line.py @@ -1,4 +1,4 @@ -from PySide2.QtWidgets import QFrame +from node_launcher.gui.qt import QFrame class HorizontalLine(QFrame): diff --git a/node_launcher/gui/components/image_label.py b/node_launcher/gui/components/image_label.py index e89c0f30..ac48b8af 100644 --- a/node_launcher/gui/components/image_label.py +++ b/node_launcher/gui/components/image_label.py @@ -1,6 +1,4 @@ -from PySide2 import QtWidgets -from PySide2.QtCore import Qt -from PySide2.QtGui import QPixmap +from node_launcher.gui.qt import QtWidgets, Qt, QPixmap from node_launcher.gui.assets import asset_access diff --git a/node_launcher/gui/components/output_widget.py b/node_launcher/gui/components/output_widget.py index e0b87725..8dbb5e24 100644 --- a/node_launcher/gui/components/output_widget.py +++ b/node_launcher/gui/components/output_widget.py @@ -1,4 +1,4 @@ -from PySide2.QtWidgets import QGridLayout, QTextEdit, QWidget +from node_launcher.gui.qt import QGridLayout, QTextEdit, QWidget class OutputWidget(QWidget): diff --git a/node_launcher/gui/components/selectable_text.py b/node_launcher/gui/components/selectable_text.py index 9bc0517b..6ef2156a 100644 --- a/node_launcher/gui/components/selectable_text.py +++ b/node_launcher/gui/components/selectable_text.py @@ -1,5 +1,4 @@ -from PySide2.QtCore import Qt -from PySide2.QtWidgets import QLabel +from node_launcher.gui.qt import Qt, QLabel class SelectableText(QLabel): diff --git a/node_launcher/gui/components/thread_worker.py b/node_launcher/gui/components/thread_worker.py index 483d872c..94e1a4ed 100644 --- a/node_launcher/gui/components/thread_worker.py +++ b/node_launcher/gui/components/thread_worker.py @@ -1,11 +1,13 @@ import time +import traceback +import sys -from PySide2.QtCore import QRunnable, Slot, QThreadPool, Signal, QObject, QTimer +import grpc -import traceback, sys - -from PySide2.QtWidgets import QMainWindow, QVBoxLayout, QLabel, QPushButton, \ - QWidget, QApplication +from node_launcher.gui.qt import ( + QMainWindow, QVBoxLayout, QLabel, QPushButton, + QWidget, QApplication, QRunnable, Slot, QThreadPool, Signal, QObject, QTimer +) class WorkerSignals(QObject): @@ -28,7 +30,7 @@ class WorkerSignals(QObject): """ finished = Signal() - error = Signal(tuple) + error = Signal(str) result = Signal(object) progress = Signal(int) @@ -69,15 +71,16 @@ def run(self): # Retrieve args/kwargs here; and fire processing using them try: result = self.fn(*self.args, **self.kwargs) + except grpc.RpcError as e: + self.signals.error.emit(e.args[0].details) except: traceback.print_exc() exctype, value = sys.exc_info()[:2] self.signals.error.emit((exctype, value, traceback.format_exc())) else: - self.signals.result.emit( - result) # Return the result of the processing + self.signals.result.emit(result) finally: - self.signals.finished.emit() # Done + self.signals.finished.emit() class MainWindow(QMainWindow): diff --git a/node_launcher/gui/components/warning_text.py b/node_launcher/gui/components/warning_text.py index aea5b692..6541b326 100644 --- a/node_launcher/gui/components/warning_text.py +++ b/node_launcher/gui/components/warning_text.py @@ -1,5 +1,4 @@ -from PySide2.QtCore import Qt -from PySide2.QtWidgets import QLabel +from node_launcher.gui.qt import QLabel class WarningText(QLabel): diff --git a/node_launcher/gui/menu/menu.py b/node_launcher/gui/menu/menu.py index cd0c969a..91661d3d 100644 --- a/node_launcher/gui/menu/menu.py +++ b/node_launcher/gui/menu/menu.py @@ -1,78 +1,41 @@ -import webbrowser +from node_launcher.gui.qt import QCoreApplication, QGuiApplication, QMenu, QProgressBar, QWidgetAction, QWidget, \ + QVBoxLayout, QLabel -from PySide2.QtCore import QCoreApplication -from PySide2.QtGui import QClipboard -from PySide2.QtWidgets import QMenu - -from .nodes_manage.nodes_manage import NodesManageDialog -from node_launcher.gui.utilities import reveal +from node_launcher.gui.reveal_directory import reveal_directory from node_launcher.node_set import NodeSet class Menu(QMenu): - def __init__(self, node_set: NodeSet, system_tray): + def __init__(self, node_set: NodeSet, system_tray, parent): super().__init__() self.node_set = node_set self.system_tray = system_tray - # Tor - self.tor_status_action = self.addAction('Tor: off') - self.tor_status_action.setEnabled(False) - self.node_set.tor_node.status.connect( - lambda line: self.tor_status_action.setText('Tor: ' + line.replace('_', ' ')) - ) - - # Bitcoind - self.bitcoind_status_action = self.addAction('Bitcoind: off') - self.bitcoind_status_action.setEnabled(False) - self.node_set.bitcoind_node.status.connect( - lambda line: self.bitcoind_status_action.setText('Bitcoind: ' + line.replace('_', ' ')) - ) - - # LND - self.lnd_status_action = self.addAction('LND: off') - self.lnd_status_action.setEnabled(False) - self.node_set.lnd_node.status.connect( - lambda line: self.lnd_status_action.setText('LND: ' + line.replace('_', ' ')) - ) + widget = QWidget() + layout = QVBoxLayout() + self.bar = QProgressBar() + self.bar.setMaximum(0) + self.bar.setMinimum(0) + layout.addWidget(self.bar) + self.remaining_time_label = QLabel('Calculating remaining time...') + layout.addWidget(self.remaining_time_label) + layout.setContentsMargins(20, 15, 20, 15) + layout.setSpacing(5) + widget.setLayout(layout) + berAction = QWidgetAction(self) + berAction.setDefaultWidget(widget) + self.addAction(berAction) - self.nodes_manage_dialog = NodesManageDialog( - node_set=self.node_set, - system_tray=self.system_tray - ) - self.node_manage_action = self.addAction('Manage Nodes') - self.node_manage_action.triggered.connect( - self.nodes_manage_dialog.show - ) self.addSeparator() + # Todo: add debug - # Joule - self.joule_status_action = self.addAction('Joule Browser UI') - self.joule_status_action.setEnabled(False) - self.joule_url_action = self.addAction('Copy Node URL (REST)') - self.joule_macaroons_action = self.addAction('Show Macaroons') - self.joule_url_action.triggered.connect(self.copy_rest_url) - self.joule_macaroons_action.triggered.connect(self.reveal_macaroon_path) - - self.addSeparator() - - # Zap - self.zap_status_action = self.addAction('Zap Desktop UI') - self.zap_status_action.setEnabled(False) - self.zap_open_action = self.addAction('Open Zap Desktop') - self.zap_open_action.triggered.connect( - lambda: webbrowser.open(self.node_set.lnd_node.configuration.lndconnect_url) + self.node_set.bitcoind_node.process.percentage_progress_signal.connect( + self.set_progress_bar_percentage ) - # Todo: reenable when Zap mobile supports Tor - # self.zap_qr_code_label = ZapQrcodeLabel( - # configuration=self.node_set.lnd_node.configuration - # ) - # self.show_zap_qrcode_action = self.addAction('Pair Zap Mobile') - # self.show_zap_qrcode_action.triggered.connect( - # self.zap_qr_code_label.show - # ) - self.addSeparator() + self.node_set.bitcoind_node.process.remaining_time_signal.connect( + self.set_progress_bar_remaining_time + ) # Quit self.quit_action = self.addAction('Quit') @@ -80,8 +43,16 @@ def __init__(self, node_set: NodeSet, system_tray): lambda _: QCoreApplication.exit(0) ) + def set_progress_bar_percentage(self, percentage: int): + self.bar.setMaximum(100) + self.bar.setMinimum(0) + self.bar.setValue(percentage) + + def set_progress_bar_remaining_time(self, remaining_time: str): + self.remaining_time_label.setText(remaining_time) + def copy_rest_url(self): - QClipboard().setText(self.node_set.lnd_node.configuration.rest_url) + QGuiApplication.clipboard().setText(self.node_set.lnd_node.configuration.rest_url) def reveal_macaroon_path(self): - reveal(self.node_set.lnd_node.configuration.macaroon_path) + reveal_directory(self.node_set.lnd_node.configuration.macaroon_path) diff --git a/node_launcher/gui/menu/nodes_manage/__init__.py b/node_launcher/gui/menu/menu_actions/__init__.py similarity index 100% rename from node_launcher/gui/menu/nodes_manage/__init__.py rename to node_launcher/gui/menu/menu_actions/__init__.py diff --git a/node_launcher/gui/menu/menu_actions/menu_action.py b/node_launcher/gui/menu/menu_actions/menu_action.py new file mode 100644 index 00000000..74c539ac --- /dev/null +++ b/node_launcher/gui/menu/menu_actions/menu_action.py @@ -0,0 +1,9 @@ +from node_launcher.gui.qt import QIcon, QAction + + +class MenuAction(QAction): + def __init__(self, text: str, icon: QIcon = None, parent=None): + if icon is not None: + super().__init__(icon, parent) + else: + super().__init__(text, parent) diff --git a/node_launcher/gui/menu/menu_actions/separator_action.py b/node_launcher/gui/menu/menu_actions/separator_action.py new file mode 100644 index 00000000..81ef3551 --- /dev/null +++ b/node_launcher/gui/menu/menu_actions/separator_action.py @@ -0,0 +1,7 @@ +from node_launcher.gui.qt import QAction + + +class SeparatorAction(QAction): + def __init__(self): + super().__init__() + self.setSeparator(True) diff --git a/node_launcher/gui/menu/nodes_manage/manage_dialogs/configuration.py b/node_launcher/gui/menu/nodes_manage/manage_dialogs/configuration.py deleted file mode 100644 index a61e3689..00000000 --- a/node_launcher/gui/menu/nodes_manage/manage_dialogs/configuration.py +++ /dev/null @@ -1,210 +0,0 @@ - -from PySide2.QtCore import Qt -from PySide2.QtWidgets import QDialog, QGridLayout, QTableWidget, QTableWidgetItem, QPushButton, QMessageBox - -from node_launcher.node_set.lib.configuration import ConfigurationProperty - -from node_launcher.node_set.lib.network_node import NetworkNode - -# noinspection PyUnresolvedReferences -editDisabledFlags = Qt.ItemFlags() ^ Qt.ItemIsEnabled - - -class ConfigurationDialog(QDialog): - - def __init__(self, node): - super().__init__() - - self.node: NetworkNode = node - - self.delete_popup = None - - self.layout = QGridLayout() - - self.table = QTableWidget(0, 3) - self.table.setHorizontalHeaderLabels(['Id', 'Key', 'Value']) - - self.table.setColumnHidden(0, True) - - self.node.configuration.configuration_changed.connect( - self.handle_configuration_change - ) - - self.table.cellChanged.connect(self.handle_cell_change) - - self.layout.addWidget(self.table, 0, 0, 1, 2) - - self.deleteButton = QPushButton('Remove Selected Row') - self.deleteButton.clicked.connect( - self.handle_delete_action - ) - self.layout.addWidget(self.deleteButton, 1, 0) - - self.addButton = QPushButton('Add Configuration') - self.addButton.clicked.connect( - self.handle_add_action - ) - self.layout.addWidget(self.addButton, 1, 1) - - self.setLayout(self.layout) - - ################################# - # Add/Update/Get for table rows # - ################################# - - def add_row(self, key, value, identifier): - """ - Adds a new row with key and value. - - :param key: Key for the new row - :param value: Value for the new row - :param identifier: Identifier for the new row - :return: None - """ - - row_index = self.table.rowCount() - self.table.insertRow(row_index) - self.update_row(key, value, identifier=identifier, row_index=row_index) - - def update_row(self, key, value, identifier=None, row_index=None): - """ - Updates a table row by row index or identifier, with key and value. - - :param key: Key for that row - :param value: Value for that row - :param identifier: identifier of the row to be updated - :param row_index: Index of the row to be updated - :return: None - """ - - if identifier is None and row_index is None: - return - - # Disconnecting cellChanged event so we don't get a feedback loop - self.table.cellChanged.disconnect() - - if row_index is not None: - for column_index, cell_text in enumerate([identifier, key, value]): - item = QTableWidgetItem() - item.setText(str(cell_text) if cell_text is not None else '') - - if column_index != 2: - item.setFlags(editDisabledFlags) - - self.table.setItem(row_index, column_index, item) - elif identifier is not None: - for row_index in range(self.table.rowCount()): - row_identifier = self.table.item(row_index, 0).text() - if row_identifier == identifier: - key_item = QTableWidgetItem() - key_item.setText(key) - key_item.setFlags(editDisabledFlags) - value_item = QTableWidgetItem() - value_item.setText(str(value)) - self.table.setItem(row_index, 1, key_item) - self.table.setItem(row_index, 2, value_item) - break - - # Connecting the cellChanged event again - self.table.cellChanged.connect(self.handle_cell_change) - - self.table.resizeColumnsToContents() - - def remove_row(self, row_index): - tableItem = self.table.item(row_index, 0) - if tableItem is not None: - identifier = self.table.item(row_index, 0).text() - - if identifier: - self.node.configuration.remove_configuration_by_identifier(identifier, signal=False) - - self.table.removeRow(row_index) - - ################## - # Event Handlers # - ################## - - def handle_configuration_change(self, old_value: ConfigurationProperty, new_value: ConfigurationProperty): - """ - Handles the event of a configuration change and updates the table. - - :param old_value: Previous value for this configuration - :param new_value: New value for this configuration - :return: None - """ - - if new_value is not None: - if old_value is not None: - self.update_row(new_value.name, new_value.value, identifier=old_value.identifier) - else: - self.add_row(new_value.name, new_value.value, new_value.identifier) - else: - for row_index in range(self.table.rowCount()): - row_identifier = self.table.item(row_index, 0).text() - if row_identifier == old_value.identifier: - self.table.removeRow(row_index) - - def handle_cell_change(self, row_index: int, column_index: int): - """ - Handles the event of a cell value change in the UI. - Updates the configuration assuming that it is valid. - Otherwise just keeps what was there before - - :param row_index: Index of the row that changed - :param column_index: Index of the column that changed - :return: None - """ - - key = self.table.item(row_index, 1).text() - if key == '': - self.table.removeRow(row_index) - return - - if column_index == 2: - - identifier = self.table.item(row_index, 0).text() - key = self.table.item(row_index, 1).text() - value = self.table.item(row_index, 2).text() - - if identifier: - old_configuration: ConfigurationProperty = self.node.configuration.get_configuration_by_identifier(identifier) - new_configuration: ConfigurationProperty = self.node.configuration.edit_configuration(identifier, value, signal=False) - if new_configuration is None: - self.update_row(old_configuration.name, old_configuration.value, identifier=old_configuration.identifier) - else: - configuration: ConfigurationProperty = self.node.configuration.append_configuration(key, value, signal=False) - self.table.item(row_index, 0).setText(configuration.identifier) - self.table.item(row_index, 0).setFlags(editDisabledFlags) - self.table.item(row_index, 1).setFlags(editDisabledFlags) - - def handle_confirm_deletion(self): - items = list(self.table.selectedItems()) - - for i, item in enumerate(items): - self.remove_row(item.row()) - - self.delete_popup = None - - def handle_delete_action(self): - keys = [] - for item in list(self.table.selectedItems()): - keys.append(self.table.item(item.row(), 1).text()) - - if keys: - self.delete_popup = QMessageBox() - self.delete_popup.setWindowTitle('Confirm deletion') - self.delete_popup.setText('Are you sure you want to delete ' + ', '.join(keys) + '?') - self.delete_popup.show() - self.delete_popup.buttonClicked.connect(self.handle_confirm_deletion) - - def handle_add_action(self): - - self.table.cellChanged.disconnect() - - row_index = self.table.rowCount() - self.table.insertRow(row_index) - identifierItem = QTableWidgetItem() - identifierItem.setFlags(editDisabledFlags) - self.table.setItem(row_index, 0, identifierItem) - - self.table.cellChanged.connect(self.handle_cell_change) diff --git a/node_launcher/gui/menu/nodes_manage/manage_dialogs/console.py b/node_launcher/gui/menu/nodes_manage/manage_dialogs/console.py deleted file mode 100644 index 5b304450..00000000 --- a/node_launcher/gui/menu/nodes_manage/manage_dialogs/console.py +++ /dev/null @@ -1,125 +0,0 @@ - -from PySide2.QtCore import Qt, SIGNAL, QProcess, QByteArray -from PySide2.QtWidgets import QDialog, QGridLayout, QTextEdit, QLineEdit, QCompleter - -from pygments import highlight -from pygments.formatters.html import HtmlFormatter -from pygments.lexers.data import JsonLexer - -from node_launcher.logging import log - - -class ConsoleDialog(QDialog): - - def __init__(self, node): - super().__init__() - - self.node = node - - self.show_help = True - - self.layout = QGridLayout() - self.setLayout(self.layout) - - self.output_area = QTextEdit() - self.output_area.setReadOnly(True) - self.output_area.acceptRichText = True - self.output_area.document().setMaximumBlockCount(5000) - self.layout.addWidget(self.output_area) - - self.input_area = QLineEdit() - self.completer = QCompleter() - # noinspection PyUnresolvedReferences - self.completer.setCaseSensitivity(Qt.CaseInsensitive) - self.input_area.setCompleter(self.completer) - self.input_area.setFocus() - self.layout.addWidget(self.input_area) - - self.connect(self.input_area, SIGNAL("returnPressed(void)"), - self.execute_user_command) - - @property - def cli(self): - try: - return self.node.software.cli - except AttributeError: - return None - - @property - def cli_args(self): - try: - return self.node.configuration.cli_args - except AttributeError: - return None - - def showEvent(self, event): - super().showEvent(event) - - if self.show_help: - success = self.run_command('help') - if success: - self.show_help = False - - def execute_user_command(self): - cmd = str(self.input_area.text()) - self.input_area.clear() - self.run_command(cmd) - - def run_command(self, command): - try: - if self.cli is None or self.cli_args is None: - self.output_area.append('Node starting up, please try again later...') - return False - - self.output_area.append(f'> {command}\n') - - process = QProcess() - process.setProgram(self.cli) - process.setCurrentReadChannel(0) - - # noinspection PyUnresolvedReferences - process.readyReadStandardError.connect( - lambda: self.handle_cli_error_output(process) - ) - - # noinspection PyUnresolvedReferences - process.readyReadStandardOutput.connect( - lambda: self.handle_cli_output(process) - ) - - args = command.split(' ') - if args[0] == self.cli.split('/')[-1]: - args.pop(0) - process.setArguments(self.cli_args + args) - process.start() - - log.info( - 'run_command', - program=self.cli, - args=self.cli_args, - cmd=command - ) - - return True - except Exception: - self.output_area.append('Node starting up, please try again later...') - return False - - def handle_cli_error_output(self, cli_process: QProcess): - output: QByteArray = cli_process.readAllStandardError() - message = output.data().decode('utf-8').strip() - self.output_area.append(message) - - def handle_cli_output(self, cli_process: QProcess): - output: QByteArray = cli_process.readAllStandardOutput() - message = output.data().decode('utf-8').strip() - - if message.startswith('{') or message.startswith('['): - formatter = HtmlFormatter() - formatter.noclasses = True - formatter.linenos = False - formatter.nobackground = True - message = highlight(message, JsonLexer(), formatter) - self.output_area.insertHtml(message) - else: - self.output_area.append(message) diff --git a/node_launcher/gui/menu/nodes_manage/manage_dialogs/logs.py b/node_launcher/gui/menu/nodes_manage/manage_dialogs/logs.py deleted file mode 100644 index 82a9091b..00000000 --- a/node_launcher/gui/menu/nodes_manage/manage_dialogs/logs.py +++ /dev/null @@ -1,24 +0,0 @@ - -from PySide2.QtWidgets import QDialog, QGridLayout, QTextEdit - - -class LogsDialog(QDialog): - - def __init__(self, node): - super().__init__() - - self.node = node - - self.layout = QGridLayout() - self.setLayout(self.layout) - - self.output_area = QTextEdit() - self.output_area.setReadOnly(True) - self.output_area.acceptRichText = True - self.output_area.document().setMaximumBlockCount(5000) - - self.layout.addWidget(self.output_area) - - self.node.process.log_line.connect( - lambda line: self.output_area.append(line) - ) diff --git a/node_launcher/gui/menu/nodes_manage/node_manage/node_manage.py b/node_launcher/gui/menu/nodes_manage/node_manage/node_manage.py deleted file mode 100644 index 3b48b742..00000000 --- a/node_launcher/gui/menu/nodes_manage/node_manage/node_manage.py +++ /dev/null @@ -1,27 +0,0 @@ - -from PySide2.QtWidgets import QTabWidget, QDialog, QGridLayout - -from node_launcher.gui.menu.nodes_manage.node_manage.node_manage_configuration import node_tabs - -from node_launcher.node_set.lib.network_node import NetworkNode - - -class NodeManageDialog(QDialog): - - def __init__(self, node: NetworkNode): - super().__init__() - - self.network = node.network - self.node = node - - self.layout = QGridLayout() - self.setLayout(self.layout) - - self.tabs = QTabWidget() - self.layout.addWidget(self.tabs) - - self.tab_dialogs = [] - - for node_tab in node_tabs[self.network]: - tab_dialog = node_tab['class'](self.node) - self.tabs.addTab(tab_dialog, node_tab['title']) diff --git a/node_launcher/gui/menu/nodes_manage/node_manage/node_manage_configuration.py b/node_launcher/gui/menu/nodes_manage/node_manage/node_manage_configuration.py deleted file mode 100644 index 2d26106d..00000000 --- a/node_launcher/gui/menu/nodes_manage/node_manage/node_manage_configuration.py +++ /dev/null @@ -1,44 +0,0 @@ -from node_launcher.gui.menu.nodes_manage.manage_dialogs.configuration import ConfigurationDialog -from node_launcher.gui.menu.nodes_manage.manage_dialogs.console import ConsoleDialog -from node_launcher.gui.menu.nodes_manage.manage_dialogs.logs import LogsDialog - -node_tabs = { - 'tor': [ - { - 'title': 'Logs', - 'class': LogsDialog - }, - { - 'title': 'Configuration', - 'class': ConfigurationDialog - } - ], - 'bitcoin': [ - { - 'title': 'Logs', - 'class': LogsDialog - }, - { - 'title': 'Configuration', - 'class': ConfigurationDialog - }, - { - 'title': 'Console', - 'class': ConsoleDialog - } - ], - 'lnd': [ - { - 'title': 'Logs', - 'class': LogsDialog - }, - { - 'title': 'Configuration', - 'class': ConfigurationDialog - }, - { - 'title': 'Console', - 'class': ConsoleDialog - } - ], -} diff --git a/node_launcher/gui/menu/nodes_manage/nodes_manage.py b/node_launcher/gui/menu/nodes_manage/nodes_manage.py deleted file mode 100644 index e079ea82..00000000 --- a/node_launcher/gui/menu/nodes_manage/nodes_manage.py +++ /dev/null @@ -1,49 +0,0 @@ - -from PySide2.QtCore import Qt -from PySide2.QtWidgets import QTabWidget, QDialog, QVBoxLayout - -from node_launcher.node_set import NodeSet - -from .node_manage.node_manage import NodeManageDialog - - -class NodesManageDialog(QDialog): - - def __init__(self, node_set: NodeSet, system_tray): - # noinspection PyUnresolvedReferences - super().__init__( - f=Qt.WindowMinimizeButtonHint|Qt.WindowMaximizeButtonHint|Qt.WindowCloseButtonHint - ) - - # Dialog properties - self.setWindowTitle('Manage Nodes') - self.setMinimumSize(1200, 800) - self.layout = QVBoxLayout() - self.setLayout(self.layout) - - # Locally storing provided parameters - self.node_set = node_set - self.system_tray = system_tray - - # Initializing the main tabs widget - self.tabs = QTabWidget() - self.layout.addWidget(self.tabs) - - # Initializing tor tab - self.tor_tab = NodeManageDialog(self.node_set.tor_node) - self.tabs.addTab(self.tor_tab, 'Tor') - - # Initializing bitcoind tab - self.bitcoind_tab = NodeManageDialog(self.node_set.bitcoind_node) - self.tabs.addTab(self.bitcoind_tab, 'Bitcoind') - - # Initializing lnd tab - self.lnd_tab = NodeManageDialog(self.node_set.lnd_node) - self.tabs.addTab(self.lnd_tab, 'Lnd') - - def show(self): - super().show() - - self.showMaximized() - self.raise_() - self.activateWindow() diff --git a/node_launcher/gui/qt.py b/node_launcher/gui/qt.py new file mode 100644 index 00000000..3c9a9d11 --- /dev/null +++ b/node_launcher/gui/qt.py @@ -0,0 +1,62 @@ +from PyQt5 import QtGui, QtWidgets, QtCore +from PyQt5.QtWidgets import QVBoxLayout, QLabel +from PyQt5.QtCore import ( + QCoreApplication, + pyqtSignal as Signal, + pyqtSignal as SIGNAL, + pyqtSlot as Slot, + QTimer, + Qt, + QProcess, + QByteArray, + QFileSystemWatcher, + QThreadPool, + QRunnable, + QObject, + QProcessEnvironment, + QAbstractItemModel, + QModelIndex +) +from PyQt5.QtWidgets import ( + QErrorMessage, + QApplication, + QWidget, + QMessageBox, + QDialog, + QTabWidget, + QDialogButtonBox, + QVBoxLayout, + QFrame, + QPushButton, + QGridLayout, + QGroupBox, + QLabel, + QFileDialog, + QMenu, + QTextEdit, + QColorDialog, + QLineEdit, + QSystemTrayIcon, + QCheckBox, + QCompleter, + QMainWindow, + QTableWidget, + QTableWidgetItem, + QAction, + QTreeWidget, + QTreeWidgetItem, + QProgressBar, + QWidgetAction, + +) +from PyQt5.QtGui import ( + QPixmap, + QGuiApplication, + QFont, + QKeySequence, + QPalette, + QColor, + QIcon, + QCursor, + QImage +) diff --git a/node_launcher/gui/utilities.py b/node_launcher/gui/reveal_directory.py similarity index 90% rename from node_launcher/gui/utilities.py rename to node_launcher/gui/reveal_directory.py index 0e4c4fca..18d766ae 100644 --- a/node_launcher/gui/utilities.py +++ b/node_launcher/gui/reveal_directory.py @@ -1,13 +1,12 @@ import os import subprocess - from pathlib import Path -from PySide2.QtWidgets import QErrorMessage +from node_launcher.gui.qt import QErrorMessage from node_launcher.constants import IS_MACOS, IS_LINUX, IS_WINDOWS, OPERATING_SYSTEM -def reveal(path: str): +def reveal_directory(path: str): try: if IS_MACOS: contents = os.listdir(path) diff --git a/node_launcher/gui/system_tray.py b/node_launcher/gui/system_tray.py index 51536f5a..22cfc002 100644 --- a/node_launcher/gui/system_tray.py +++ b/node_launcher/gui/system_tray.py @@ -1,45 +1,63 @@ -from PySide2.QtGui import QIcon, QPixmap -from PySide2.QtWidgets import QSystemTrayIcon, QWidget - -from .assets.asset_access import asset_access -from .menu.menu import Menu +from node_launcher.gui.qt import QIcon, QPixmap, QImage, QSystemTrayIcon, QWidget +from node_launcher.gui.assets.asset_access import asset_access +from node_launcher.gui.menu.menu import Menu from node_launcher.node_set import NodeSet +from node_launcher.app_logging import log class SystemTray(QSystemTrayIcon): def __init__(self, parent: QWidget, node_set: NodeSet): super(SystemTray, self).__init__(parent=parent) self.node_set = node_set - self.set_red() - self.menu = Menu(node_set=node_set, system_tray=self) + self.set_zero() + self.menu = Menu(node_set=node_set, system_tray=self, parent=parent) self.setContextMenu(self.menu) - self.node_set.bitcoind_node.process.notification.connect( - self.show_message - ) + if self.node_set.bitcoind_node: + self.node_set.bitcoind_node.process.notification.connect( + self.show_message + ) self.node_set.lnd_node.process.notification.connect( self.show_message ) - self.node_set.lnd_node.process.set_icon_color.connect( + self.node_set.set_icon_number.connect( self.set_icon ) - def set_icon(self, color: str): - path = asset_access.get_asset_full_path(f'bitcoin_logo_{color}.png') - pixmap = QPixmap(path) - icon = QIcon(pixmap) + @staticmethod + def get_path(number: int): + base_path = 'Bitcoin-Icons/png/filled/node' + if number == 1: + word = 'connection' + elif number == 4: + return base_path + '.png' + else: + word = 'connections' + return base_path + f'-{number} {word}.png' + + def set_icon(self, number: int): + path = asset_access.get_asset_full_path(self.get_path(number)) + image = QImage(path) + image.invertPixels() + icon = QIcon(QPixmap.fromImage(image)) self.setIcon(icon) - def set_red(self): - self.set_icon('red') + def set_zero(self): + self.set_icon(0) + + def set_one(self): + self.set_icon(1) + + def set_two(self): + self.set_icon(2) - def set_blue(self): - self.set_icon('blue') + def set_three(self): + self.set_icon(3) - def set_green(self): - self.set_icon('green') + def set_four(self): + self.set_icon(4) def show_message(self, title: str, @@ -47,4 +65,5 @@ def show_message(self, icon=QSystemTrayIcon.Information, timeout: int = 10): milliseconds_timeout_hint = timeout * 1000 + log.debug('show_message', title=title, message=message, timeout=timeout) self.showMessage(title, message, icon, milliseconds_timeout_hint) diff --git a/node_launcher/launcher_software.py b/node_launcher/launcher_software.py index a54047c2..dcad1afd 100644 --- a/node_launcher/launcher_software.py +++ b/node_launcher/launcher_software.py @@ -2,19 +2,14 @@ import requests -from node_launcher.constants import NODE_LAUNCHER_RELEASE -from node_launcher.node_set.lib.software import Software +from node_launcher.constants import NODE_LAUNCHER -class LauncherSoftware(Software): - def __init__(self): - super().__init__(software_name='node-launcher', - release_version=NODE_LAUNCHER_RELEASE) - self.github_team = 'lightning-power-users' - - def get_latest_release_version(self) -> Optional[str]: +class LauncherSoftware(object): + @staticmethod + def get_latest_release_version() -> Optional[str]: github_url = 'https://api.github.com' - releases_url = github_url + f'/repos/{self.github_team}/{self.software_name}/releases' + releases_url = github_url + f'/repos/lightning-power-users/{NODE_LAUNCHER}/releases' try: response = requests.get(releases_url) except requests.exceptions.RequestException: diff --git a/node_launcher/logging.py b/node_launcher/logging.py deleted file mode 100644 index 55f60f73..00000000 --- a/node_launcher/logging.py +++ /dev/null @@ -1,78 +0,0 @@ -import logging.config -import os - -import structlog - -from node_launcher.constants import NODE_LAUNCHER_DATA_PATH, OPERATING_SYSTEM - -timestamper = structlog.processors.TimeStamper(fmt='%Y-%m-%d %H:%M:%S') -pre_chain = [ - # Add the log level and a timestamp to the event_dict if the log entry - # is not from structlog. - structlog.stdlib.add_log_level, - timestamper, -] - -logging.config.dictConfig({ - 'version': 1, - 'disable_existing_loggers': False, - 'formatters': { - 'plain': { - '()': structlog.stdlib.ProcessorFormatter, - 'processor': structlog.dev.ConsoleRenderer(colors=False), - 'foreign_pre_chain': pre_chain, - }, - 'colored': { - '()': structlog.stdlib.ProcessorFormatter, - 'processor': structlog.dev.ConsoleRenderer(colors=True), - 'foreign_pre_chain': pre_chain, - }, - }, - 'handlers': { - 'default': { - 'level': 'DEBUG', - 'class': 'logging.StreamHandler', - 'formatter': 'colored', - }, - 'file': { - 'level': 'DEBUG', - 'class': 'logging.handlers.WatchedFileHandler', - 'filename': os.path.join(NODE_LAUNCHER_DATA_PATH[OPERATING_SYSTEM], - 'debug.log'), - 'formatter': 'plain', - }, - }, - 'loggers': { - '': { - 'handlers': ['default', 'file'], - 'level': 'DEBUG', - 'propagate': True, - }, - } -}) - - -def dropper(logger, method_name, event_dict): - for key in event_dict[0][0].keys(): - if 'rpcpass' in key: - event_dict[0][0][key] = 'masked_password' - return event_dict - - -structlog.configure( - processors=[ - structlog.stdlib.add_log_level, - structlog.stdlib.PositionalArgumentsFormatter(), - timestamper, - structlog.processors.StackInfoRenderer(), - structlog.processors.format_exc_info, - structlog.stdlib.ProcessorFormatter.wrap_for_formatter, - dropper - ], - context_class=dict, - logger_factory=structlog.stdlib.LoggerFactory(), - wrapper_class=structlog.stdlib.BoundLogger, - cache_logger_on_first_use=True, -) - -log = structlog.get_logger() diff --git a/node_launcher/node_set/bitcoind/bitcoind_configuration.py b/node_launcher/node_set/bitcoind/bitcoind_configuration.py index 67df2b02..9ead270b 100644 --- a/node_launcher/node_set/bitcoind/bitcoind_configuration.py +++ b/node_launcher/node_set/bitcoind/bitcoind_configuration.py @@ -7,24 +7,23 @@ OPERATING_SYSTEM, BITCOIN_DATA_PATH, BITCOIN_MAINNET_PEER_PORT, - BITCOIN_MAINNET_RPC_PORT, - MAINNET_PRUNE + BITCOIN_MAINNET_RPC_PORT, MAINNET_PRUNE ) -from node_launcher.logging import log +from node_launcher.app_logging import log from node_launcher.node_set.lib.configuration import Configuration from node_launcher.node_set.lib.get_random_password import get_random_password -from node_launcher.node_set.lib.hard_drives import HardDrives -from node_launcher.port_utilities import get_zmq_port +from node_launcher.node_set.lib.hard_drives import Partition from node_launcher.node_set.bitcoind.bitcoind_configuration_keys import keys_info as bitcoind_keys_info +from node_launcher.port_utilities import get_zmq_port class BitcoindConfiguration(Configuration): - hard_drives: HardDrives zmq_block_port: int zmq_tx_port: int + partition: Partition - def __init__(self): - self.hard_drives = HardDrives() + def __init__(self, partition: Partition): + self.partition = partition file_name = 'bitcoin.conf' bitcoin_data_path = BITCOIN_DATA_PATH[OPERATING_SYSTEM] configuration_file_path = os.path.join(bitcoin_data_path, file_name) @@ -43,27 +42,26 @@ def check(self): if ('datadir' not in self or not os.path.exists(self['datadir'])): - self.autoconfigure_datadir() + self['datadir'] = self.partition.bitcoin_dir_path if os.path.exists(os.path.join(self['datadir'], 'blocks')): if 'prune' not in self: self.set_prune(False) else: if 'prune' not in self: - should_prune = self.hard_drives.should_prune(self['datadir']) + should_prune = not self.partition.can_archive self.set_prune(should_prune) - - wallet_paths = self.get_wallet_paths() + self['reindex'] = 0 self.set_default_configuration('server', True) - self.set_default_configuration('disablewallet', not wallet_paths) - self.set_default_configuration('timeout', 6000) self.set_default_configuration('rpcuser', 'default_user') self.set_default_configuration('rpcpassword', get_random_password()) + self['coinstatsindex'] = True + self.zmq_block_port = get_zmq_port() self.zmq_tx_port = get_zmq_port() @@ -73,7 +71,6 @@ def check(self): self['proxy'] = '127.0.0.1:9050' self['listen'] = True self['bind'] = '127.0.0.1' - self['debug'] = 'tor' self['discover'] = True # noinspection PyBroadException @@ -91,83 +88,13 @@ def check(self): ) self['dbcache'] = 1000 - # self.config_snapshot = self.snapshot.copy() - # self.file_watcher.fileChanged.connect(self.config_file_changed) - - def autoconfigure_datadir(self): - default_datadir = BITCOIN_DATA_PATH[OPERATING_SYSTEM] - big_drive = self.hard_drives.get_big_drive() - default_is_big_enough = not self.hard_drives.should_prune( - input_directory=default_datadir - ) - default_is_biggest = self.hard_drives.is_default_partition(big_drive) - log.info( - 'autoconfigure_datadir', - default_is_big_enough=default_is_big_enough, - default_is_biggest=default_is_biggest - ) - if default_is_big_enough or default_is_biggest: - self['datadir'] = default_datadir - log.info( - 'autoconfigure_datadir', - datadir=default_datadir - ) - return - - if not self.hard_drives.should_prune(big_drive.mountpoint): - datadir = os.path.join(big_drive.mountpoint, 'Bitcoin') - self['datadir'] = datadir - log.info( - 'autoconfigure_datadir', - datadir=datadir - ) - if not os.path.exists(self['datadir']): - os.mkdir(self['datadir']) + def set_prune(self, should_prune: bool): + if should_prune: + self['prune'] = MAINNET_PRUNE else: - self['datadir'] = default_datadir - log.info( - 'autoconfigure_datadir', - datadir=default_datadir - ) - - def get_wallet_paths(self): - exclude_files = { - 'addr.dat', - 'banlist.dat', - 'fee_estimates.dat', - 'mempool.dat', - 'peers.dat' - } - candidate_paths = [] - datadir = self['datadir'] - wallet_dir = self['main.walletdir'] - wallets = self['main.wallet'] - for file in os.listdir(datadir): - if file not in exclude_files: - path = os.path.join(datadir, file) - candidate_paths.append(path) - default_walletdir = os.path.join(datadir, 'wallets') - if os.path.exists(default_walletdir): - for file in os.listdir(default_walletdir): - if file not in exclude_files: - candidate_paths.append( - os.path.join(default_walletdir, file)) - if wallet_dir is not None: - for file in os.listdir(wallet_dir): - if file not in exclude_files: - candidate_paths += os.path.join( - os.path.join(wallet_dir, file)) - dat_files = [f for f in candidate_paths if f.endswith('.dat') - and not f.startswith('blk')] - dat_files = set(dat_files) - wallet_paths = set(dat_files - exclude_files) - if wallets is not None: - if isinstance(wallets, list): - for wallet in wallets: - wallet_paths.add(wallet) - else: - wallet_paths.add(wallets) - return wallet_paths + self['prune'] = 0 + self['txindex'] = not should_prune + self['blockfilterindex'] = not should_prune @property def node_port(self): @@ -181,80 +108,3 @@ def rpc_port(self): if self['rpcport'] is not None: return self['rpcport'] return BITCOIN_MAINNET_RPC_PORT - - def set_prune(self, should_prune: bool): - if should_prune: - self['prune'] = MAINNET_PRUNE - else: - self['prune'] = 0 - - self['txindex'] = not should_prune - - def config_file_changed(self): - # Refresh config file - self.file_watcher.blockSignals(True) - self.initialize_cache_and_model_repository() - self.file_watcher.blockSignals(False) - if self['zmqpubrawblock']: - self.zmq_block_port = int(self['zmqpubrawblock'].split(':')[-1]) - if self['zmqpubrawtx']: - self.zmq_tx_port = int(self['zmqpubrawtx'].split(':')[-1]) - # Some text editors do not modify the file, they delete and replace the file - # Check if file is still in file_watcher list of files, if not add back - files_watched = self.file_watcher.files() - if len(files_watched) == 0: - self.file_watcher.addPath(self.path) - - @property - def restart_required(self): - old_config = self.config_snapshot.copy() - new_config = self.snapshot - - # First check that both config files are still on the same network - old_config_network = 'testnet' in old_config.keys() - new_config_network = 'testnet' in new_config.keys() - - if (old_config_network == new_config_network) and self.running: - common_fields = [ - 'rpcuser', 'rpcpassword', 'disablewallet', 'datadir', 'disablewallet', - 'zmqpubrawblock', 'zmqpubrawtx', 'prune', 'txindex', 'timeout' - ] - - for field in common_fields: - - # First check if field is found in both configs - found_in_old_config = field in old_config.keys() - found_in_new_config = field in new_config.keys() - if found_in_old_config != found_in_new_config: - return True - - # Now check that values are the same - if found_in_old_config: - if old_config[field] != new_config[field]: - return True - - else: - # Only check mainnet fields if currently running mainnet - mainnet_fields = [ - 'rpcport', 'port' - ] - - for field in mainnet_fields: - # First check if field is found in both configs - found_in_old_config = field in old_config.keys() - found_in_new_config = field in new_config.keys() - if found_in_old_config != found_in_new_config: - return True - - # Now check that values are the same - if found_in_old_config: - if old_config[field] != new_config[field]: - return True - - return False - elif self.running: - # Network has changed and the node is running - Restart is required - return True - - return False - diff --git a/node_launcher/node_set/bitcoind/bitcoind_configuration_keys.py b/node_launcher/node_set/bitcoind/bitcoind_configuration_keys.py index 92460675..1b1d88cc 100644 --- a/node_launcher/node_set/bitcoind/bitcoind_configuration_keys.py +++ b/node_launcher/node_set/bitcoind/bitcoind_configuration_keys.py @@ -1,7 +1,7 @@ from functools import partial -from node_launcher.utilities.validators import is_binary, is_address_with_port, is_address, is_port, \ +from node_launcher.node_set.lib.validators import is_binary, is_address_with_port, is_address, is_port, \ is_positive_integer, is_non_empty, is_user_and_pass, is_ip_or_subnet, is_folder_path, is_ratio, \ is_non_negative_integer, is_integer_in_range, is_tcp_address_with_port diff --git a/node_launcher/node_set/bitcoind/bitcoind_node.py b/node_launcher/node_set/bitcoind/bitcoind_node.py index 9d1d9474..181d7595 100644 --- a/node_launcher/node_set/bitcoind/bitcoind_node.py +++ b/node_launcher/node_set/bitcoind/bitcoind_node.py @@ -1,49 +1,50 @@ -from PySide2.QtCore import QProcess +from _signal import SIGTERM +from psutil import process_iter + +from node_launcher.gui.qt import QProcess +from node_launcher.constants import OperatingSystem, BITCOIND +from node_launcher.app_logging import log from node_launcher.node_set.bitcoind.bitcoind_rpc_client import Proxy from node_launcher.node_set.lib.network_node import NetworkNode +from node_launcher.node_set.lib.node_status import NodeStatus +from node_launcher.node_set.lib.software import Software from .bitcoind_process import BitcoindProcess -from .bitcoind_software import BitcoindSoftware from .bitcoind_configuration import BitcoindConfiguration +from ..lib.hard_drives import Partition class BitcoindNode(NetworkNode): configuration: BitcoindConfiguration process: BitcoindProcess - software: BitcoindSoftware - - def __init__(self): - super().__init__( - network='bitcoin', - Software=BitcoindSoftware, - Configuration=BitcoindConfiguration, - Process=BitcoindProcess - ) + software: Software + + def __init__(self, operating_system: OperatingSystem, partition: Partition): + super().__init__(operating_system=operating_system, + node_software_name=BITCOIND, + bitcoind_partition=partition) self.tor_synced = False def handle_log_line(self, log_line: str): - if 'You need to rebuild the database using -reindex to go back to unpruned mode.' in log_line: - if not self.configuration['prune']: - self.restart = True - self.configuration.set_prune(True) - self.stop() - elif 'Error: Prune: last wallet synchronisation goes beyond pruned data.' in log_line: - self.restart = True - self.configuration['disablewallet'] = True - self.stop() + if 'Bitcoin Core is probably already running.' in log_line: + for proc in process_iter(): + try: + name = proc.name() + if name == 'bitcoind': + proc.send_signal(SIGTERM) + except Exception as e: + log.debug('proc exception', {'exception': e}) + pass + self.update_status(NodeStatus.RESTART) @property def bitcoin_cli(self) -> str: command = [ f'"{self.software.bitcoin_cli}"', - f'-conf="{self.configuration.path}"', + f'-conf="{self.configuration.file.path}"', ] return ' '.join(command) - @property - def prerequisites_synced(self): - return self.tor_synced - def stop(self): if self.process.state() == QProcess.Running: self.process.expecting_shutdown = True diff --git a/node_launcher/node_set/bitcoind/bitcoind_process.py b/node_launcher/node_set/bitcoind/bitcoind_process.py index c781db53..90493ec3 100644 --- a/node_launcher/node_set/bitcoind/bitcoind_process.py +++ b/node_launcher/node_set/bitcoind/bitcoind_process.py @@ -1,8 +1,10 @@ +import re from datetime import datetime, timedelta +from decimal import Decimal import humanize -from PySide2.QtWidgets import QSystemTrayIcon +from node_launcher.gui.qt import QSystemTrayIcon from node_launcher.node_set.lib.managed_process import ManagedProcess from node_launcher.node_set.lib.node_status import NodeStatus @@ -16,12 +18,8 @@ def __init__(self, binary, args): self.timestamp_changes = [] def process_output_line(self, line: str): - if 'mapBlockIndex.size() = ' in line: - self.update_status(NodeStatus.SYNCING) - elif 'Leaving InitialBlockDownload' in line: - self.update_status(NodeStatus.SYNCED) - elif 'progress=1.000000' in line: - self.update_status(NodeStatus.SYNCED) + if 'Bitcoin Core version' in line: + self.update_status(NodeStatus.PROCESS_STARTED) elif 'Shutdown: done' in line: if self.expecting_shutdown: return @@ -31,35 +29,6 @@ def process_output_line(self, line: str): 'Please check Bitcoin Output', QSystemTrayIcon.Critical ) - elif 'UpdateTip' in line: - line_segments = line.split(' ') - timestamp = line_segments[0] - for line_segment in line_segments: - if 'progress' in line_segment: - new_progress = round(float(line_segment.split('=')[-1]), 4) - new_timestamp = datetime.strptime( - timestamp, - '%Y-%m-%dT%H:%M:%SZ' - ) - if new_progress != self.old_progress: - if self.old_progress is not None: - change = new_progress - self.old_progress - if change: - timestamp_change = new_timestamp - self.old_timestamp - total_left = 1 - new_progress - time_left = ((total_left / change)*timestamp_change).seconds - self.timestamp_changes.append(time_left) - if len(self.timestamp_changes) > 100: - self.timestamp_changes.pop(0) - average_time_left = sum(self.timestamp_changes)/len(self.timestamp_changes) - humanized = humanize.naturaltime(-timedelta(seconds=average_time_left)) - self.status.emit(f'{new_progress * 100:.2f}% synced, ETA: {humanized}') - else: - if round(new_progress*100) == 100: - continue - self.status.emit(f'{new_progress*100:.2f}% synced') - self.old_progress = new_progress - self.old_timestamp = new_timestamp elif 'Bitcoin Core is probably already running' in line: self.update_status(NodeStatus.RUNTIME_ERROR) self.notification.emit( @@ -67,3 +36,38 @@ def process_output_line(self, line: str): 'Bitcoin Core is already running', QSystemTrayIcon.Critical ) + + match = re.search(r'progress=\d.\d\d\d\d\d\d', line) + if not match: + return + self.update_status(NodeStatus.PROCESS_STARTED) + line_segments = line.split(' ') + timestamp_string = line_segments[0] + parsed_timestamp = datetime.strptime( + timestamp_string, + '%Y-%m-%dT%H:%M:%SZ' + ) + new_progress = Decimal(match.group().split('=')[-1]) + if new_progress > Decimal('0.99'): + self.update_status(NodeStatus.SYNCED) + return + if not self.old_progress or new_progress == self.old_progress: + self.old_progress = new_progress + self.old_timestamp = parsed_timestamp + return + change = new_progress - self.old_progress + timestamp_change = parsed_timestamp - self.old_timestamp + if not change or not timestamp_change: + return + total_left = 1 - new_progress + remaining_time = ((total_left / change) * timestamp_change.seconds) + self.timestamp_changes.append(remaining_time) + if len(self.timestamp_changes) > 10: + self.timestamp_changes.pop(0) + average_remaining_time = sum(self.timestamp_changes) / len(self.timestamp_changes) + humanized_remaining_time = humanize.naturaltime(-timedelta(seconds=int(average_remaining_time))) + self.remaining_time_signal.emit(humanized_remaining_time) + percentage_progress = int(new_progress*100) + self.percentage_progress_signal.emit(percentage_progress) + self.old_progress = new_progress + self.old_timestamp = parsed_timestamp \ No newline at end of file diff --git a/node_launcher/node_set/bitcoind/bitcoind_software.py b/node_launcher/node_set/bitcoind/bitcoind_software.py deleted file mode 100644 index 474f48cd..00000000 --- a/node_launcher/node_set/bitcoind/bitcoind_software.py +++ /dev/null @@ -1,60 +0,0 @@ -from node_launcher.constants import ( - IS_LINUX, - IS_MACOS, - IS_WINDOWS, - OPERATING_SYSTEM, - TARGET_BITCOIN_RELEASE -) -from node_launcher.node_set.lib.software import Software - - -class BitcoindSoftware(Software): - def __init__(self): - super().__init__( - software_name='bitcoind', - release_version=TARGET_BITCOIN_RELEASE - ) - self.release_version = TARGET_BITCOIN_RELEASE.replace('v', '') - if IS_WINDOWS: - os_name = 'win64' - elif IS_MACOS: - os_name = 'osx64' - elif IS_LINUX: - os_name = 'x86_64-linux-gnu' - else: - raise Exception(f'{OPERATING_SYSTEM} is not supported') - self.download_name = f'bitcoin-{self.release_version}-{os_name}' - self.download_url = f'https://bitcoincore.org' \ - f'/bin' \ - f'/bitcoin-core-{self.release_version}' \ - f'/{self.download_destination_file_name}' - - @property - def daemon(self): - return self.bitcoind - - @property - def cli(self): - return self.bitcoin_cli - - @property - def bitcoin_qt(self) -> str: - return self.executable_path('bitcoin-qt') - - @property - def bitcoin_cli(self) -> str: - return self.executable_path('bitcoin-cli') - - @property - def bitcoind(self) -> str: - return self.executable_path('bitcoind') - - @property - def uncompressed_directory_name(self) -> str: - if IS_LINUX: - name = '-'.join(self.download_name.split('-')[0:2]) - else: - name = '-'.join(self.download_name.split('-')[:-1]) - if name.count('.') == 3: - name = '.'.join(name.split('.')[:-1]) - return name diff --git a/node_launcher/node_set/lib/configuration.py b/node_launcher/node_set/lib/configuration.py index a11c8efe..1c9b9d9f 100644 --- a/node_launcher/node_set/lib/configuration.py +++ b/node_launcher/node_set/lib/configuration.py @@ -1,17 +1,11 @@ from typing import List, Optional -from PySide2.QtCore import Signal, QObject from node_launcher.node_set.lib.configuration_file import ConfigurationFile from node_launcher.node_set.lib.configuration_property import ConfigurationProperty -class Configuration(QObject): - - configuration_changed = Signal(ConfigurationProperty, ConfigurationProperty) - +class Configuration(object): def __init__(self, name: str, path: str, assign_op: str = '=', keys_info=None): - super().__init__() - self._name = name self._file = ConfigurationFile(path=path, assign_op=assign_op) self._configurations: List[ConfigurationProperty] = [] @@ -94,7 +88,7 @@ def get_configuration_by_identifier(self, identifier: str) -> Optional[Configura def __delitem__(self, key): return self.remove_configuration_by_name(key) - def remove_configuration_by_name(self, name: str, signal: bool = True) -> List[ConfigurationProperty]: + def remove_configuration_by_name(self, name: str) -> List[ConfigurationProperty]: new_configurations: List[ConfigurationProperty] = [] removed_configurations = [] for configuration in self._configurations: @@ -102,18 +96,11 @@ def remove_configuration_by_name(self, name: str, signal: bool = True) -> List[C new_configurations.append(configuration) else: removed_configurations.append(configuration) - self._configurations = new_configurations - - if signal: - for configuration in removed_configurations: - self.configuration_changed.emit(configuration, None) - self.save() - return removed_configurations - def remove_configuration_by_identifier(self, identifier: str, signal: bool = True) -> Optional[ConfigurationProperty]: + def remove_configuration_by_identifier(self, identifier: str) -> Optional[ConfigurationProperty]: new_configurations: List[ConfigurationProperty] = [] removed_configuration: ConfigurationProperty = None for configuration in self._configurations: @@ -121,14 +108,8 @@ def remove_configuration_by_identifier(self, identifier: str, signal: bool = Tru new_configurations.append(configuration) else: removed_configuration = configuration - self._configurations = new_configurations - - if signal and removed_configuration: - self.configuration_changed.emit(removed_configuration, None) - self.save() - return removed_configuration # Add / Modify @@ -145,89 +126,50 @@ def __setitem__(self, key, value): else: return self.replace_configuration(key, value) - def set_default_configuration(self, name: str, value, signal: bool = True) -> List[ConfigurationProperty]: + def set_default_configuration(self, name: str, value) -> List[ConfigurationProperty]: existing_configurations = self.get_configurations_by_name(name) - if not existing_configurations: added_configuration = self.append_configuration(name, value) if added_configuration is not None: - - if signal: - self.configuration_changed.emit(None, added_configuration) - self.save() - return [added_configuration] - return existing_configurations - def edit_configuration(self, identifier: str, value, signal: bool = True) -> Optional[ConfigurationProperty]: + def edit_configuration(self, identifier: str, value) -> Optional[ConfigurationProperty]: for configuration in self._configurations: if configuration.identifier == identifier: - if not self._is_valid_configuration(configuration.name, value): return None - - old_configuration = configuration.copy() configuration.value = value - - if signal: - self.configuration_changed.emit(old_configuration, configuration) - self.save() - return configuration - return None - def replace_configuration(self, name: str, value, signal: bool = True) -> Optional[ConfigurationProperty]: - - removed_configurations = self.remove_configuration_by_name(name, signal=False) - + def replace_configuration(self, name: str, value) -> Optional[ConfigurationProperty]: + removed_configurations = self.remove_configuration_by_name(name) identifier = None if len(removed_configurations) > 0: identifier = removed_configurations[0].identifier - - added_configuration = self.append_configuration(name, value, identifier, signal=False) - - if added_configuration is not None: - if signal: - for i in range(len(removed_configurations)): - if i == 0: - self.configuration_changed.emit(removed_configurations[0], added_configuration) - else: - self.configuration_changed.emit(removed_configurations[i], None) - else: + added_configuration = self.append_configuration(name, value, identifier) + if added_configuration is None: for configuration in removed_configurations: self.append_configuration(configuration.name, configuration.value, configuration.identifier, False) - self.save() - return added_configuration - def append_configuration(self, name: str, value, identifier=None, signal: bool = True) -> Optional[ConfigurationProperty]: - + def append_configuration(self, name: str, value, identifier=None) -> Optional[ConfigurationProperty]: if isinstance(value, bool): value = 1 if value else 0 - if isinstance(value, str): try: value = int(value) except ValueError: pass - if not self._is_valid_configuration(name, value): return None - if identifier is None: identifier = self._generate_identifier() - configuration = ConfigurationProperty(identifier, name, value) self._configurations.append(configuration) - - if signal: - self.configuration_changed.emit(None, configuration) - self.save() - return configuration diff --git a/node_launcher/node_set/lib/configuration_file.py b/node_launcher/node_set/lib/configuration_file.py index d09494f3..d001ddca 100644 --- a/node_launcher/node_set/lib/configuration_file.py +++ b/node_launcher/node_set/lib/configuration_file.py @@ -4,15 +4,12 @@ from typing import List, Tuple from node_launcher.constants import NODE_LAUNCHER_RELEASE -from node_launcher.logging import log -from PySide2.QtCore import QFileSystemWatcher, Signal, QObject +from node_launcher.app_logging import log from node_launcher.node_set.lib.configuration_property import ConfigurationProperty -class ConfigurationFile(QObject): - file_watcher: QFileSystemWatcher - +class ConfigurationFile(object): def __init__(self, path: str, assign_op: str = '='): super().__init__() self.path = path diff --git a/node_launcher/node_set/lib/configuration_property.py b/node_launcher/node_set/lib/configuration_property.py index 465a80ed..b35435fa 100644 --- a/node_launcher/node_set/lib/configuration_property.py +++ b/node_launcher/node_set/lib/configuration_property.py @@ -1,5 +1,5 @@ -class ConfigurationProperty: +class ConfigurationProperty(object): def __init__(self, identifier: str, name: str, value): self.identifier: str = identifier diff --git a/node_launcher/node_set/lib/constants.py b/node_launcher/node_set/lib/constants.py index e67210ab..da534c67 100644 --- a/node_launcher/node_set/lib/constants.py +++ b/node_launcher/node_set/lib/constants.py @@ -1,2 +1,86 @@ -DEFAULT_WINDOWS_COMPRESSED_SUFFIX = '.zip' -DEFAULT_COMPRESSED_SUFFIX = '.tar.gz' +from node_launcher.constants import LND, TOR, BITCOIND, WINDOWS, LINUX, DARWIN + +TARGET_TOR_RELEASE = '11.0.6' +TARGET_WINDOWS_TOR_VERSION = '0.4.6.9' + +TARGET_BITCOIN_RELEASE = 'v22.0' +TARGET_LND_RELEASE = 'v0.14.1-beta' + +SOFTWARE_METADATA = { + TOR: { + 'release_url': f'http://www.torproject.org/dist/torbrowser/{TARGET_TOR_RELEASE}', + 'cli_name': None + }, + BITCOIND: { + 'release_url': f'https://bitcoincore.org/bin/bitcoin-core-{TARGET_BITCOIN_RELEASE.replace("v", "")}', + 'cli_name': 'bitcoin-cli' + }, + LND: { + 'release_url': f'https://github.com/lightningnetwork/lnd/releases/download/{TARGET_LND_RELEASE}', + 'cli_name': 'lncli' + } +} + +OS_SOFTWARE_METADATA = { + TOR: { + WINDOWS: { + 'compressed_suffix': '.zip', + 'download_name': 'tor-win64-{release_version}', + 'release_version': TARGET_WINDOWS_TOR_VERSION, + 'daemon_name': 'tor' + }, + LINUX: { + 'compressed_suffix': '.tar.xz', + 'download_name': 'tor-browser-linux64-{release_version}_en-US', + 'release_version': TARGET_TOR_RELEASE, + 'daemon_name': 'tor' + }, + DARWIN: { + 'compressed_suffix': '.dmg', + 'download_name': 'TorBrowser-{release_version}-osx64_en-US', + 'release_version': TARGET_TOR_RELEASE, + 'daemon_name': 'tor.real' + } + }, + BITCOIND: { + WINDOWS: { + 'compressed_suffix': '.zip', + 'download_name': f'bitcoin-{TARGET_BITCOIN_RELEASE.replace("v", "")}-win64', + 'release_version': TARGET_BITCOIN_RELEASE.replace('v', ''), + 'daemon_name': 'bitcoind' + }, + LINUX: { + 'compressed_suffix': '.tar.gz', + 'download_name': f'bitcoin-{TARGET_BITCOIN_RELEASE.replace("v", "")}-x86_64-linux-gnu', + 'release_version': TARGET_BITCOIN_RELEASE.replace('v', ''), + 'daemon_name': 'bitcoind' + }, + DARWIN: { + 'compressed_suffix': '.tar.gz', + 'download_name': f'bitcoin-{TARGET_BITCOIN_RELEASE.replace("v", "")}-osx64', + 'release_version': TARGET_BITCOIN_RELEASE.replace('v', ''), + 'daemon_name': 'bitcoind' + } + + }, + LND: { + WINDOWS: { + 'compressed_suffix': '.zip', + 'download_name': f'lnd-windows-amd64-{TARGET_LND_RELEASE}', + 'release_version': TARGET_LND_RELEASE, + 'daemon_name': 'lnd' + }, + LINUX: { + 'compressed_suffix': '.tar.gz', + 'download_name': f'lnd-linux-amd64-{TARGET_LND_RELEASE}', + 'release_version': TARGET_LND_RELEASE, + 'daemon_name': 'lnd' + }, + DARWIN: { + 'compressed_suffix': '.tar.gz', + 'download_name': f'lnd-darwin-amd64-{TARGET_LND_RELEASE}', + 'release_version': TARGET_LND_RELEASE, + 'daemon_name': 'lnd' + } + } +} diff --git a/node_launcher/node_set/lib/hard_drives.py b/node_launcher/node_set/lib/hard_drives.py index 16c3ccab..d0b48bb0 100644 --- a/node_launcher/node_set/lib/hard_drives.py +++ b/node_launcher/node_set/lib/hard_drives.py @@ -2,49 +2,105 @@ import os from dataclasses import dataclass from pathlib import Path -from typing import List +from typing import List, Optional import psutil as psutil from node_launcher.constants import ( - AUTOPRUNE_GB, + MINIMUM_GB, BITCOIN_DATA_PATH, GIGABYTE, - OPERATING_SYSTEM + OPERATING_SYSTEM, MAXIMUM_GB ) -from node_launcher.logging import log +from node_launcher.app_logging import log @dataclass class Partition(object): - mountpoint: str - gb_free: int + mount_point: str + capacity_gb: int + free_gb_incl_bitcoin_dir: int + has_bitcoin_dir: bool + bitcoin_dir_size: int + has_error: bool + can_archive: bool + can_full_node: bool + is_default_partition: bool + bitcoin_dir_path: Optional[str] class HardDrives(object): + @staticmethod - def get_gb(path: str) -> int: + def is_default_partition(path: str): + default_partition = os.path.join(BITCOIN_DATA_PATH[OPERATING_SYSTEM], os.pardir) + default_partition = Path(default_partition).drive + partition = Path(path).drive + return default_partition == partition + + @staticmethod + def get_dir_size(start_path: str) -> int: + total_size = 0 + entries = None try: - capacity, used, free, percent = psutil.disk_usage(path) + for dirpath, dirnames, filenames in os.walk(start_path): + for f in filenames: + fp = os.path.join(dirpath, f) + # skip if it is symbolic link + if not os.path.islink(fp): + total_size += os.path.getsize(fp) except: log.warning( - 'get_gb', + 'get_dir_size', + start_path=start_path, + total_size=total_size, + entries=entries, + exc_info=True + ) + total_size_gb = math.floor(total_size / GIGABYTE) + return total_size_gb + + def analyze_partition(self, path: str) -> Partition: + has_bitcoin_dir = False + is_default_partition = False + bitcoin_dir_size = 0 + try: + psutil_disk_usage = psutil.disk_usage(path) + log.debug('psutil_disk_usage', path=path, psutil_disk_usage=psutil_disk_usage) + except: + log.warning( + 'analyze_partition', path=path, exc_info=True ) - return 0 + return Partition(mount_point=path, free_gb_incl_bitcoin_dir=0, capacity_gb=0, has_bitcoin_dir=False, + has_error=True, bitcoin_dir_size=bitcoin_dir_size, + is_default_partition=is_default_partition, can_full_node=False, can_archive=False, bitcoin_dir_path=None) - free_gb = math.floor(free / GIGABYTE) - log.info( - 'get_gb', - path=path, - capacity=capacity, - used=used, - free=free, - percent=percent, - free_gb=free_gb - ) - return free_gb + capacity, used, free, percent = [math.floor(n / GIGABYTE) for n in psutil_disk_usage] + free_incl_bitcoin_dir = free + + is_default_partition = self.is_default_partition(path) + if is_default_partition: + bitcoin_dir_path = BITCOIN_DATA_PATH[OPERATING_SYSTEM] + else: + bitcoin_dir_path = os.path.join(path, 'Bitcoin') + if os.path.exists(bitcoin_dir_path): + bitcoin_dir_size = self.get_dir_size(bitcoin_dir_path) + log.info('has bitcoin directory', + datadir=bitcoin_dir_path, + bitcoin_dir_size=bitcoin_dir_size, + is_default_partition=is_default_partition) + free_incl_bitcoin_dir += bitcoin_dir_size + has_bitcoin_dir = True + + can_full_node = free_incl_bitcoin_dir > MINIMUM_GB + can_archive = free_incl_bitcoin_dir < MAXIMUM_GB + return Partition(mount_point=path, free_gb_incl_bitcoin_dir=free_incl_bitcoin_dir, + has_bitcoin_dir=has_bitcoin_dir, has_error=False, + capacity_gb=capacity, bitcoin_dir_size=bitcoin_dir_size, can_full_node=can_full_node, + can_archive=can_archive, + is_default_partition=is_default_partition, bitcoin_dir_path=bitcoin_dir_path) def list_partitions(self) -> List[Partition]: partitions = [] @@ -56,77 +112,31 @@ def list_partitions(self) -> List[Partition]: exc_info=True ) return partitions - partition_paths = [p.mountpoint for p in ps if 'removable' not in p.opts] + partition_paths = [ + p.mountpoint for p in ps + if 'removable' not in p.opts + and not p.mountpoint.startswith('/System/Volumes') + ] log.info( 'partition_paths', partition_paths=partition_paths ) for path in partition_paths: - free_gb = self.get_gb(path) - partitions.append(Partition(path, free_gb), ) + partition = self.analyze_partition(path) + log.debug('analyze_partition', path=path, partition=partition) + partitions.append(partition) return partitions - def get_big_drive(self) -> Partition: + def get_full_node_partition(self) -> Optional[Partition]: partitions = self.list_partitions() - max_free_space = max([p.gb_free for p in partitions]) for partition in partitions: - if partition.gb_free == max_free_space: - log.info( - 'get_big_drive', - partition=partition - ) + log.debug('get_full_node_partition', partition=partition) + if partition.can_full_node and partition.has_bitcoin_dir: return partition - - @staticmethod - def is_default_partition(partition: Partition): - default_partition = os.path.join(BITCOIN_DATA_PATH[OPERATING_SYSTEM], os.pardir) - default_partition = Path(default_partition).drive - partition = Path(partition.mountpoint).drive - return default_partition == partition - - @staticmethod - def should_prune(input_directory: str) -> bool: - directory = os.path.realpath(input_directory) - try: - total, used, free, percent = psutil.disk_usage(directory) - except: - log.warning( - 'should_prune_disk_usage', - input_directory=input_directory, - directory=directory, - exc_info=True - ) - return False - free_gb = math.floor(free / GIGABYTE) - should_prune = free_gb < AUTOPRUNE_GB - log.info( - 'should_prune', - input_directory=input_directory, - total=total, - used=used, - free=free, - percent=percent, - free_gb=free_gb, - should_prune=should_prune - ) - return should_prune - - def get_dir_size(self, start_path: str) -> int: - total_size = 0 - entries = None - try: - entries = os.scandir(start_path) - for entry in entries: - if entry.is_dir(follow_symlinks=False): - total_size += self.get_dir_size(entry.path) - elif entry.is_file(follow_symlinks=False): - total_size += entry.stat().st_size - except: - log.warning( - 'get_dir_size', - start_path=start_path, - total_size=total_size, - entries=entries, - exc_info=True - ) - return total_size + elif partition.can_full_node and partition.is_default_partition: + return partition + elif partition.can_full_node: + return partition + else: + continue + return None diff --git a/node_launcher/node_set/lib/managed_process.py b/node_launcher/node_set/lib/managed_process.py index 0e6fa3ec..9a18789d 100644 --- a/node_launcher/node_set/lib/managed_process.py +++ b/node_launcher/node_set/lib/managed_process.py @@ -1,18 +1,20 @@ import os +from typing import Optional -from PySide2.QtCore import QProcess, QByteArray, Signal, QProcessEnvironment -from PySide2.QtWidgets import QSystemTrayIcon +from node_launcher.app_logging import log from node_launcher.constants import IS_LINUX - -from node_launcher.logging import log +from node_launcher.gui.qt import QProcess, QByteArray, Signal, QProcessEnvironment, QSystemTrayIcon from node_launcher.node_set.lib.node_status import NodeStatus class ManagedProcess(QProcess): status = Signal(str) - sync_progress = Signal(str) notification = Signal(str, str, QSystemTrayIcon.MessageIcon) log_line = Signal(str) + current_status: Optional[str] = None + + remaining_time_signal = Signal(str) + percentage_progress_signal = Signal(int) def __init__(self, binary: str, args): super().__init__() @@ -26,6 +28,7 @@ def __init__(self, binary: str, args): self.finished.connect(self.handle_process_finish) self.expecting_shutdown = False self.current_status = None + self.current_description = None if IS_LINUX: env = QProcessEnvironment.systemEnvironment() @@ -33,11 +36,13 @@ def __init__(self, binary: str, args): self.setProcessEnvironment(env) def update_status(self, new_status: NodeStatus): + if new_status == self.current_status: + return log.debug('update_status', binary=self.binary, new_status=new_status, current_status=self.current_status) - self.current_status = new_status + self.current_status = str(new_status) self.status.emit(str(new_status)) def process_output_line(self, line): @@ -45,6 +50,7 @@ def process_output_line(self, line): def handle_output(self): while self.canReadLine(): + # noinspection PyTypeChecker line_bytes: QByteArray = self.readLine() try: line_str = line_bytes.data().decode('utf-8').strip() @@ -63,3 +69,10 @@ def handle_process_finish(self, exit_code: int, log.debug('process finish', binary=self.binary, exit_code=exit_code, exit_status=exit_status) self.update_status(NodeStatus.STOPPED) + + def start(self, **kwargs): + self.stop() + super().start(**kwargs) + + def stop(self): + pass diff --git a/node_launcher/node_set/lib/network_node.py b/node_launcher/node_set/lib/network_node.py index 20251e18..033a789a 100644 --- a/node_launcher/node_set/lib/network_node.py +++ b/node_launcher/node_set/lib/network_node.py @@ -1,23 +1,58 @@ -from PySide2.QtCore import Signal, QObject, QProcess +from typing import Optional -from node_launcher.logging import log +from node_launcher.gui.qt import Signal, QObject, QProcess +from node_launcher.constants import NodeSoftwareName, OperatingSystem, TOR, BITCOIND, LND +from node_launcher.app_logging import log +from node_launcher.node_set.bitcoind.bitcoind_configuration import BitcoindConfiguration +from node_launcher.node_set.bitcoind.bitcoind_process import BitcoindProcess +from node_launcher.node_set.lib.hard_drives import Partition +from node_launcher.node_set.lib.managed_process import ManagedProcess from node_launcher.node_set.lib.node_status import NodeStatus +from node_launcher.node_set.lib.software import Software +from node_launcher.node_set.lnd.lnd_configuration import LndConfiguration +from node_launcher.node_set.lnd.lnd_process import LndProcess +from node_launcher.node_set.tor.tor_configuration import TorConfiguration class NetworkNode(QObject): - current_status: NodeStatus - network: str + node_software_name: NodeSoftwareName + + current_status: Optional[NodeStatus] status = Signal(str) - def __init__(self, network: str, Software, Configuration, Process): + def __init__(self, operating_system: OperatingSystem, + node_software_name: NodeSoftwareName, + bitcoind_partition: Optional[Partition]): super().__init__() - self.network = network + self.node_software_name = node_software_name self.current_status = None + self.software = Software(operating_system=operating_system, node_software_name=node_software_name) + if node_software_name == LND: + self.configuration = LndConfiguration(bitcoind_partition=bitcoind_partition) + self.process = LndProcess(self.software.daemon, self.configuration.args) + elif node_software_name == BITCOIND: + self.configuration = BitcoindConfiguration(partition=bitcoind_partition) + self.process = BitcoindProcess(self.software.daemon, self.configuration.args) + else: + self.configuration = TorConfiguration() + self.process = ManagedProcess(self.software.daemon, self.configuration.args) + + self.software = Software(operating_system=operating_system, + node_software_name=node_software_name) - self.software = Software() - self.configuration = Configuration() - self.process = Process(self.software.daemon, self.configuration.args) + if node_software_name == TOR: + self.configuration = TorConfiguration() + self.process = ManagedProcess(self.software.daemon, + self.configuration.args) + elif node_software_name == BITCOIND: + self.configuration = BitcoindConfiguration(partition=bitcoind_partition) + self.process = BitcoindProcess(self.software.daemon, + self.configuration.args) + elif node_software_name == LND: + self.configuration = LndConfiguration(bitcoind_partition=bitcoind_partition) + self.process = LndProcess(self.software.daemon, + self.configuration.args) self.connect_events() self.restart = False @@ -38,14 +73,15 @@ def connect_events(self): self.process.status.connect(self.update_status) self.process.log_line.connect(self.handle_log_line) - def update_status(self, new_status: NodeStatus): - log.debug(f'update_status {self.network} node', - network=self.network, + def update_status(self, new_status: NodeStatus, new_description: str = None): + log.debug(f'update_status {self.node_software_name} node', + network=self.node_software_name, old_status=self.current_status, new_status=new_status) + if not new_description: + new_description = str(new_status) self.current_status = new_status self.status.emit(str(new_status)) - self.start_process() if new_status == NodeStatus.STOPPED and self.restart: self.update_status(NodeStatus.RESTART) @@ -54,14 +90,18 @@ def prerequisites_synced(self): return True def start_process(self): - software_ready = self.current_status == NodeStatus.SOFTWARE_READY - if software_ready and self.prerequisites_synced: - # Todo: run in threads so they don't block the GUI - self.update_status(NodeStatus.LOADING_CONFIGURATION) - self.configuration.load() - self.update_status(NodeStatus.CHECKING_CONFIGURATION) - self.configuration.check() - self.update_status(NodeStatus.CONFIGURATION_READY) - self.update_status(NodeStatus.STARTING_PROCESS) - self.process.start() - self.update_status(NodeStatus.PROCESS_STARTED) + log.debug('Start process', node_software_name=self.node_software_name, + current_status=self.current_status) + if self.process.state() == QProcess.Running: + log.debug('Process already running') + return + + # Todo: run in threads so they don't block the GUI + self.update_status(NodeStatus.LOADING_CONFIGURATION) + self.configuration.load() + self.update_status(NodeStatus.CHECKING_CONFIGURATION) + self.configuration.check() + self.update_status(NodeStatus.CONFIGURATION_READY) + self.update_status(NodeStatus.STARTING_PROCESS) + self.process.start() + self.update_status(NodeStatus.PROCESS_STARTED) diff --git a/node_launcher/node_set/lib/node_status.py b/node_launcher/node_set/lib/node_status.py index 0a42ee75..f49ae13d 100644 --- a/node_launcher/node_set/lib/node_status.py +++ b/node_launcher/node_set/lib/node_status.py @@ -2,7 +2,9 @@ class Status(StringConstant): - pass + def __init__(self, name: str, description: str): + super().__init__(name) + self.description = description class NodeStatus(object): @@ -22,10 +24,12 @@ class NodeStatus(object): UNLOCK_READY = StringConstant('UNLOCK_READY') SYNCING = StringConstant('SYNCING') + BITCOIND_SYNCED = StringConstant('BITCOIND_SYNCED') SYNCED = StringConstant('SYNCED') STOPPED = StringConstant('STOPPED') RUNTIME_ERROR = StringConstant('RUNTIME_ERROR') + LIBRARY_ERROR = StringConstant('LIBRARY_ERROR') RESTART = StringConstant('RESTART') diff --git a/node_launcher/node_set/lib/os_metadata.py b/node_launcher/node_set/lib/os_metadata.py new file mode 100644 index 00000000..12a29808 --- /dev/null +++ b/node_launcher/node_set/lib/os_metadata.py @@ -0,0 +1,23 @@ +from dataclasses import dataclass, field + +from node_launcher.constants import NodeSoftwareName, OperatingSystem +from node_launcher.node_set.lib.constants import OS_SOFTWARE_METADATA + + +@dataclass +class OsMetadata: + node_software_name: NodeSoftwareName + operating_system: OperatingSystem + compressed_suffix: str = field(init=False) + download_name: str = field(init=False) + release_version: str = field(init=False) + daemon_name: str = field(init=False) + + def __post_init__(self): + metadata = OS_SOFTWARE_METADATA[self.node_software_name][self.operating_system] + self.compressed_suffix = metadata['compressed_suffix'] + self.release_version = metadata['release_version'] + self.download_name = metadata['download_name'].format( + release_version=self.release_version + ) + self.daemon_name = metadata['daemon_name'] diff --git a/node_launcher/node_set/lib/software.py b/node_launcher/node_set/lib/software.py index 2c88b57c..7d1038ba 100644 --- a/node_launcher/node_set/lib/software.py +++ b/node_launcher/node_set/lib/software.py @@ -6,52 +6,58 @@ from zipfile import ZipFile, BadZipFile import requests -from PySide2.QtCore import QThreadPool, QObject, Signal +from node_launcher.gui.qt import QThreadPool, QObject, Signal -from node_launcher.constants import ( - NODE_LAUNCHER_DATA_PATH, - OPERATING_SYSTEM, - IS_WINDOWS -) +from node_launcher.constants import NodeSoftwareName, OperatingSystem from node_launcher.gui.components.thread_worker import Worker -from node_launcher.logging import log -from .constants import ( - DEFAULT_COMPRESSED_SUFFIX, - DEFAULT_WINDOWS_COMPRESSED_SUFFIX -) +from node_launcher.app_logging import log +from node_launcher.node_set.lib.software_metadata import SoftwareMetadata from .node_status import SoftwareStatus class Software(QObject): + node_software_name: NodeSoftwareName + metadata: SoftwareMetadata current_status: SoftwareStatus - software_name: str - github_team: str status = Signal(str) download_progress = Signal(str) - def __init__(self, software_name: str, release_version: str): + def __init__(self, operating_system: OperatingSystem, + node_software_name: NodeSoftwareName): super().__init__() - self.software_name = software_name - self.release_version = release_version - self.compressed_suffix = DEFAULT_COMPRESSED_SUFFIX - if IS_WINDOWS: - self.compressed_suffix = DEFAULT_WINDOWS_COMPRESSED_SUFFIX + self.node_software_name = node_software_name + self.metadata = SoftwareMetadata(node_software_name, operating_system=operating_system) + self.threadpool = QThreadPool() def update_status(self, new_status: SoftwareStatus): - log.debug(f'update_status {self.software_name} software', + log.debug(f'update_status {self.node_software_name} software', new_status=new_status) self.current_status = new_status self.status.emit(str(new_status)) + @property + def daemon(self): + latest_executable = self.metadata.executable_path( + self.metadata.os_metadata.daemon_name + ) + return latest_executable + + @property + def cli(self): + latest_executable = self.metadata.executable_path( + self.metadata.cli_name + ) + return latest_executable + def update(self): self.update_status(SoftwareStatus.CHECKING_DOWNLOAD) - is_downloaded = os.path.isfile(self.download_destination_file_path) - is_installed = os.path.isdir(self.version_path) + is_downloaded = os.path.isfile(self.metadata.download_destination_file_path) + is_installed = os.path.isdir(self.metadata.version_path) if is_downloaded and is_installed: self.link_static_bin( - source_directory=self.downloaded_bin_path, - destination_directory=self.static_bin_path + source_directory=self.metadata.downloaded_bin_path, + destination_directory=self.metadata.static_bin_path ) self.update_status(SoftwareStatus.SOFTWARE_READY) elif not is_downloaded: @@ -65,19 +71,19 @@ def start_update_worker(self): worker = Worker( self.download, progress_callback=None, - source_url=self.download_url, - destination_directory=self.software_directory, - destination_file=self.download_destination_file_name + source_url=self.metadata.download_url, + destination_directory=self.metadata.software_directory, + destination_file=self.metadata.download_destination_file_name ) worker.signals.progress.connect(self.emit_download_progress) worker.signals.result.connect( lambda: self.update_status(SoftwareStatus.SOFTWARE_DOWNLOADED) ) worker.signals.result.connect(self.install) - QThreadPool().start(worker) + self.threadpool.start(worker) def emit_download_progress(self, percent): - msg = f'{percent}% finished downloading {self.software_name} software' + msg = f'{percent}% finished downloading {self.node_software_name} software' self.download_progress.emit(msg) @staticmethod @@ -119,12 +125,12 @@ def install(self): # Todo: move to a thread so it doesn't block the GUI self.update_status(SoftwareStatus.INSTALLING_SOFTWARE) self.extract( - source=self.download_destination_file_path, - destination=self.software_directory + source=self.metadata.download_destination_file_path, + destination=self.metadata.software_directory ) self.link_static_bin( - source_directory=self.downloaded_bin_path, - destination_directory=self.static_bin_path + source_directory=self.metadata.downloaded_bin_path, + destination_directory=self.metadata.static_bin_path ) self.update_status(SoftwareStatus.SOFTWARE_INSTALLED) self.update_status(SoftwareStatus.SOFTWARE_READY) @@ -134,16 +140,16 @@ def extract(self, source: str, destination: str): log.debug('Extracting downloaded software', source=source, destination=destination) - if self.compressed_suffix == '.zip': + if self.metadata.os_metadata.compressed_suffix == '.zip': try: with ZipFile(source) as zip_file: - if self.software_name != 'tor': + if self.node_software_name != 'tor': zip_file.extractall(path=destination) else: - os.makedirs(self.downloaded_bin_path, exist_ok=True) + os.makedirs(self.metadata.downloaded_bin_path, exist_ok=True) for file in zip_file.filelist: if file.filename.endswith('dll') or file.filename.endswith('exe'): - destination_exe = os.path.join(self.downloaded_bin_path, file.filename.split('/')[-1]) + destination_exe = os.path.join(self.metadata.downloaded_bin_path, file.filename.split('/')[-1]) with zip_file.open(file.filename) as zf, open(destination_exe, 'wb') as f: shutil.copyfileobj(zf, f) except BadZipFile: @@ -151,21 +157,21 @@ def extract(self, source: str, destination: str): os.remove(source) self.update() - elif 'tar' in self.compressed_suffix: + elif 'tar' in self.metadata.os_metadata.compressed_suffix: with tarfile.open(source) as tar: - if self.software_name != 'tor': + if self.node_software_name != 'tor': tar.extractall(path=destination) else: - os.makedirs(self.downloaded_bin_path, exist_ok=True) + os.makedirs(self.metadata.downloaded_bin_path, exist_ok=True) tor_files = [ - 'libcrypto.so.1.0.0', - 'libevent-2.1.so.6', - 'libssl.so.1.0.0', + 'libcrypto.so.1.1', + 'libevent-2.1.so.7', + 'libssl.so.1.1', 'tor' ] for tor_file in tor_files: file_name = 'tor-browser_en-US/Browser/TorBrowser/Tor/' + tor_file - destination_file = os.path.join(self.downloaded_bin_path, tor_file) + destination_file = os.path.join(self.metadata.downloaded_bin_path, tor_file) extracted_file = tar.extractfile(file_name) with open(destination_file, 'wb') as f: shutil.copyfileobj(extracted_file, f) @@ -173,7 +179,7 @@ def extract(self, source: str, destination: str): st = os.stat(destination_file) os.chmod(destination_file, st.st_mode | stat.S_IEXEC) - elif self.compressed_suffix == '.dmg': + elif self.metadata.os_metadata.compressed_suffix == '.dmg': log.debug('Attaching disk image', source=source) escaped_source = source.replace(' ', '\ ') result = subprocess.run( @@ -188,15 +194,23 @@ def extract(self, source: str, destination: str): self.update() return # app_source_path = '/Volumes/Tor Browser/Tor Browser.app' + app_source_path = os.path.join( '/Volumes', 'Tor Browser', 'Tor Browser.app', 'Contents', - 'MacOS', 'Tor', 'tor.real' + 'MacOS', 'Tor' ) - log.debug('Copying app from disk image', - app_source_path=app_source_path, - destination=self.downloaded_bin_path) - os.makedirs(self.downloaded_bin_path, exist_ok=True) - shutil.copy(src=app_source_path, dst=self.downloaded_bin_path) + file_names = [ + 'tor.real', + 'libevent-2.1.7.dylib' + ] + os.makedirs(self.metadata.downloaded_bin_path, exist_ok=True) + for file_name in file_names: + log.debug('Copying app from disk image', + app_source_path=app_source_path, + destination=self.metadata.downloaded_bin_path) + source_path = os.path.join(app_source_path, file_name) + shutil.copy(src=source_path, dst=self.metadata.downloaded_bin_path) + disk_image_path = '/Volumes/Tor\ Browser' log.debug('Detaching disk image', disk_image_path=disk_image_path) subprocess.run([ @@ -217,47 +231,3 @@ def link_static_bin(source_directory, destination_directory): if os.path.exists(destination): os.remove(destination) os.link(source, destination) - - @property - def launcher_data_path(self) -> str: - data = NODE_LAUNCHER_DATA_PATH[OPERATING_SYSTEM] - return data - - @property - def software_directory(self) -> str: - path = os.path.join(self.launcher_data_path, self.software_name) - return path - - @property - def download_destination_file_name(self) -> str: - return self.download_name + self.compressed_suffix - - @property - def download_destination_file_path(self) -> str: - return os.path.join(self.software_directory, - self.download_destination_file_name) - - @property - def version_path(self) -> str: - path = os.path.join(self.software_directory, - self.uncompressed_directory_name) - return path - - @property - def downloaded_bin_path(self) -> str: - return os.path.join(self.version_path, 'bin') - - @property - def static_bin_path(self) -> str: - path = os.path.join(self.launcher_data_path, 'bin') - return path - - def executable_path(self, name): - if IS_WINDOWS: - name += '.exe' - latest_executable = os.path.join(self.static_bin_path, name) - return latest_executable - - @property - def uncompressed_directory_name(self) -> str: - return self.download_name diff --git a/node_launcher/node_set/lib/software_metadata.py b/node_launcher/node_set/lib/software_metadata.py new file mode 100644 index 00000000..cb32e296 --- /dev/null +++ b/node_launcher/node_set/lib/software_metadata.py @@ -0,0 +1,90 @@ +from dataclasses import dataclass, field +import os + +from node_launcher.constants import ( + BITCOIND, + IS_LINUX, + IS_WINDOWS, + NODE_LAUNCHER_DATA_PATH, + NodeSoftwareName, + OperatingSystem) +from node_launcher.node_set.lib.constants import SOFTWARE_METADATA +from node_launcher.node_set.lib.os_metadata import OsMetadata + + +@dataclass +class SoftwareMetadata: + node_software_name: NodeSoftwareName + operating_system: OperatingSystem + github_team: str = field(init=False) + download_url: str = field(init=False) + cli_name: str = field(init=False) + os_metadata: OsMetadata = field(init=False) + + def __post_init__(self): + self.os_metadata = OsMetadata( + operating_system=self.operating_system, + node_software_name=self.node_software_name + ) + self.download_url = '/'.join([ + SOFTWARE_METADATA[self.node_software_name]['release_url'], + self.download_destination_file_name + ]) + + if self.node_software_name == 'lnd': + self.downloaded_bin_path = self.version_path + else: + self.downloaded_bin_path = os.path.join(self.version_path, 'bin') + self.cli_name = SOFTWARE_METADATA[self.node_software_name]['cli_name'] + + @property + def launcher_data_path(self) -> str: + data = NODE_LAUNCHER_DATA_PATH[self.operating_system] + return data + + @property + def software_directory(self) -> str: + path = os.path.join(self.launcher_data_path, str(self.node_software_name)) + return path + + @property + def download_destination_file_name(self) -> str: + return self.os_metadata.download_name + self.os_metadata.compressed_suffix + + @property + def download_destination_file_path(self) -> str: + return os.path.join(self.software_directory, + self.download_destination_file_name) + + @property + def version_path(self) -> str: + path = os.path.join(self.software_directory, + self.uncompressed_directory_name) + return path + + @property + def static_bin_path(self) -> str: + current_directory = os.path.dirname(os.path.abspath(__file__)) + path = os.path.join(current_directory, 'bin') + return path + + def executable_path(self, name): + if IS_WINDOWS: + name += '.exe' + latest_executable = os.path.join(self.static_bin_path, name) + return latest_executable + + @property + def uncompressed_directory_name(self) -> str: + if self.node_software_name == BITCOIND: + if IS_LINUX: + name = '-'.join(self.os_metadata.download_name.split('-')[0:2]) + else: + name = '-'.join(self.os_metadata.download_name.split('-')[:-1]) + if name == 'bitcoin-0.19.0.1': + return name + elif name.count('.') == 3: + name = '.'.join(name.split('.')[:-1]) + return name + + return self.os_metadata.download_name diff --git a/node_launcher/utilities/validators.py b/node_launcher/node_set/lib/validators.py similarity index 99% rename from node_launcher/utilities/validators.py rename to node_launcher/node_set/lib/validators.py index e028934c..2eb56dcc 100644 --- a/node_launcher/utilities/validators.py +++ b/node_launcher/node_set/lib/validators.py @@ -14,7 +14,7 @@ def hex_to_decimal(x: str) -> int: def is_non_empty(x) -> bool: - return len(x) > 0 + return len(str(x)) > 0 def is_integer(x) -> bool: diff --git a/node_launcher/node_set/lnd/lnd_client/lnd_client.py b/node_launcher/node_set/lnd/lnd_client/lnd_client.py index c44b96a8..46450061 100644 --- a/node_launcher/node_set/lnd/lnd_client/lnd_client.py +++ b/node_launcher/node_set/lnd/lnd_client/lnd_client.py @@ -1,22 +1,20 @@ import codecs import os -from typing import List +from typing import List, Optional -# noinspection PyPackageRequirements import grpc -# noinspection PyProtectedMember,PyPackageRequirements from google.protobuf.json_format import MessageToDict -# noinspection PyProtectedMember -from grpc._channel import _Rendezvous -from grpc._plugin_wrapping import (_AuthMetadataContext, - _AuthMetadataPluginCallback) from node_launcher.constants import LND_DIR_PATH, OPERATING_SYSTEM -from node_launcher.logging import log -from . import rpc_pb2 as ln -from . import rpc_pb2_grpc as lnrpc +from node_launcher.app_logging import log +from .v0131beta import rpc_pb2 as ln +from .v0131beta import rpc_pb2_grpc as lnrpc +from .v0131beta import walletunlocker_pb2 as wallet_unlocker, walletunlocker_pb2_grpc as wallet_unlocker_rpc + os.environ['GRPC_SSL_CIPHER_SUITES'] = 'HIGH+ECDSA' +# os.environ['GRPC_VERBOSITY'] = 'DEBUG' +# os.environ['GRPC_TRACE'] = 'all' class DefaultModel(dict): @@ -34,6 +32,50 @@ def __getattribute__(self, name): return None +class LndBalances(object): + # Ordered by liquidity + active_off_chain_balance: int = 0 + pending_htlc_balance: int = 0 + confirmed_on_chain_balance: int = 0 + timelocked_on_chain_balance: int = 0 + unconfirmed_off_chain_balance: int = 0 + unconfirmed_on_chain_balance: int = 0 + inactive_off_chain_balance: int = 0 + reserve_off_chain_balance: int = 0 + + def total_offchain(self): + return ( + self.active_off_chain_balance + + self.pending_htlc_balance + + self.unconfirmed_off_chain_balance + + self.inactive_off_chain_balance + ) + + def total_onchain(self): + return ( + self.confirmed_on_chain_balance + + self.timelocked_on_chain_balance + + self.unconfirmed_on_chain_balance + ) + + def total_balance(self): + return ( + self.active_off_chain_balance + + self.pending_htlc_balance + + self.confirmed_on_chain_balance + + self.timelocked_on_chain_balance + + self.unconfirmed_off_chain_balance + + self.unconfirmed_on_chain_balance + + self.inactive_off_chain_balance + ) + + def __repr__(self): + return f'Total: {self.total_balance()} \n' \ + f'Reserve: {self.reserve_off_chain_balance} \n' \ + f'Offchain: {self.total_offchain()} \n' \ + f'Onchain: {self.total_onchain()} \n' + + class LndClient(object): def __init__(self, lnd_configuration=None, lnddir: str = LND_DIR_PATH[OPERATING_SYSTEM], @@ -43,9 +85,20 @@ def __init__(self, lnd_configuration=None, self._lnddir = lnddir self._grpc_port = grpc_port self._grpc_host = grpc_host - self._macaroon_path = macaroon_path + if macaroon_path is not None: + self._macaroon_path = macaroon_path + else: + self._macaroon_path = os.path.join( + lnddir, + 'data', + 'chain', + 'bitcoin', + 'mainnet' + ) + self._lnd_client = None self._wallet_unlocker = None + self._wallet_unlocker_stub: Optional[wallet_unlocker_rpc.WalletUnlockerStub] = None self.grpc_options = [ ('grpc.max_receive_message_length', 33554432), @@ -53,13 +106,10 @@ def __init__(self, lnd_configuration=None, ] def reset(self): - self._lnd_client = None self._wallet_unlocker = None @property def lnd_client(self): - if self._lnd_client is not None: - return self._lnd_client auth_credentials = grpc.metadata_call_credentials( self.metadata_callback) @@ -72,20 +122,28 @@ def lnd_client(self): credentials, options=self.grpc_options ) - self._lnd_client = lnrpc.LightningStub(grpc_channel) - return self._lnd_client + return lnrpc.LightningStub(grpc_channel) @property - def wallet_unlocker(self): - if self._wallet_unlocker is not None: - return self._wallet_unlocker + def tls_cert_key(self) -> bytes: + with open(self.tls_cert_path, 'rb') as r: + tls_cert_key = r.read() + assert tls_cert_key.startswith(b'-----BEGIN CERTIFICATE-----') + return tls_cert_key - grpc_channel = grpc.secure_channel( - f'{self.grpc_host}:{self.grpc_port}', - credentials=self.get_cert_credentials() - ) - self._wallet_unlocker = lnrpc.WalletUnlockerStub(grpc_channel) - return self._wallet_unlocker + @property + def grpc_address(self) -> str: + address = str(self.grpc_host) + ':' + str(self.grpc_port) + log.info(f'gRPC client using address {address}') + return address + + @property + def wallet_unlocker_stub(self) -> wallet_unlocker_rpc.WalletUnlockerStub: + if self._wallet_unlocker_stub is None: + ssl_creds = grpc.ssl_channel_credentials(self.tls_cert_key) + _w_channel = grpc.secure_channel(self.grpc_address, ssl_creds) + self._wallet_unlocker_stub = wallet_unlocker_rpc.WalletUnlockerStub(_w_channel) + return self._wallet_unlocker_stub @property def lnddir(self) -> str: @@ -130,8 +188,8 @@ def get_cert_credentials(self): # noinspection PyUnusedLocal def metadata_callback(self, - context: _AuthMetadataPluginCallback, - callback: _AuthMetadataContext): + context: grpc.AuthMetadataPluginCallback, + callback: grpc.AuthMetadataContext): admin_macaroon_path = os.path.join(self.macaroon_path, 'admin.macaroon') with open(admin_macaroon_path, 'rb') as f: macaroon_bytes = f.read() @@ -139,42 +197,42 @@ def metadata_callback(self, # noinspection PyCallingNonCallable callback([('macaroon', macaroon)], None) - def generate_seed(self, seed_password: str = None) -> ln.GenSeedResponse: - request = ln.GenSeedRequest() + def generate_seed(self, seed_password: str = None) -> wallet_unlocker.GenSeedResponse: + request = wallet_unlocker.GenSeedRequest() if seed_password is not None: request.aezeed_passphrase = seed_password.encode('latin1') - response = self.wallet_unlocker.GenSeed(request) + response = self.wallet_unlocker_stub.GenSeed(request) return response def initialize_wallet(self, wallet_password: str, seed: List[str], seed_password: str = None, - recovery_window: int = None) -> ln.InitWalletResponse: - request = ln.InitWalletRequest() + recovery_window: int = None) -> wallet_unlocker.InitWalletResponse: + request = wallet_unlocker.InitWalletRequest() request.wallet_password = wallet_password.encode('latin1') request.cipher_seed_mnemonic.extend(seed) if seed_password is not None: request.aezeed_passphrase = seed_password.encode('latin1') if recovery_window is not None: request.recovery_window = recovery_window - response = self.wallet_unlocker.InitWallet(request) + response = self.wallet_unlocker_stub.InitWallet(request) return response - def unlock(self, wallet_password: str) -> ln.UnlockWalletResponse: - request = ln.UnlockWalletRequest() + def unlock(self, wallet_password: str) -> wallet_unlocker.UnlockWalletResponse: + request = wallet_unlocker.UnlockWalletRequest() request.wallet_password = wallet_password.encode('latin1') - response = self.wallet_unlocker.UnlockWallet(request) + response = self.wallet_unlocker_stub.UnlockWallet(request) return response def get_info(self) -> ln.GetInfoResponse: request = ln.GetInfoRequest() - response = self.lnd_client.GetInfo(request, timeout=1) + response = self.lnd_client.GetInfo(request) return response def get_node_info(self, pub_key: str) -> ln.NodeInfo: request = ln.NodeInfoRequest() request.pub_key = pub_key - response = self.lnd_client.GetNodeInfo(request, timeout=30) + response = self.lnd_client.GetNodeInfo(request) return response def get_chan_info(self, chan_id: int) -> ln.ChannelEdge: @@ -190,6 +248,92 @@ def connect_peer(self, pubkey: str, host: str, response = self.lnd_client.ConnectPeer(request, timeout=timeout) return response + def channel_balance(self) -> ln.ChannelBalanceResponse: + request = ln.ChannelBalanceRequest() + response = self.lnd_client.ChannelBalance(request) + return response + + def wallet_balance(self) -> ln.WalletBalanceResponse: + request = ln.WalletBalanceRequest() + response = self.lnd_client.WalletBalance(request) + return response + + def list_unspent(self) -> ln.ListUnspentResponse: + request = ln.ListUnspentRequest(min_confs=0, max_confs=10000000) + response = self.lnd_client.ListUnspent(request) + return response + + def get_lnd_balances(self) -> LndBalances: + log.debug('get_lnd_balances') + b = LndBalances() + + open_channels = self.list_channels() + log.debug('open_channels', count=len(open_channels)) + for oc in open_channels: + if oc.active: + b.active_off_chain_balance += oc.local_balance + else: + b.inactive_off_chain_balance += oc.local_balance + b.reserve_off_chain_balance += oc.local_chan_reserve_sat + b.pending_htlc_balance += oc.unsettled_balance + + channel_balance = self.channel_balance() + log.debug('channel_balance', channel_balance=channel_balance) + log.debug('calculated', + active_off_chain_balance=b.active_off_chain_balance, + inactive_off_chain_balance=b.inactive_off_chain_balance, + total_off_chain_balance=b.active_off_chain_balance + b.inactive_off_chain_balance, + reserve_off_chain_balance=b.reserve_off_chain_balance, + pending_htlc_balance=b.pending_htlc_balance, + ) + assert b.active_off_chain_balance + b.inactive_off_chain_balance == channel_balance.balance + + pending_channels = self.pending_channels() + for pc in pending_channels.pending_open_channels: + b.unconfirmed_off_chain_balance += pc.channel.local_balance + b.reserve_off_chain_balance += pc.channel.local_chan_reserve_sat + for pc in pending_channels.waiting_close_channels: + b.unconfirmed_on_chain_balance += pc.channel.local_balance + for pc in pending_channels.pending_force_closing_channels: + b.timelocked_on_chain_balance += pc.limbo_balance + + log.debug('calculated', + unconfirmed_off_chain_balance=b.unconfirmed_off_chain_balance) + assert b.timelocked_on_chain_balance == pending_channels.total_limbo_balance + assert b.unconfirmed_off_chain_balance == channel_balance.pending_open_balance + + wallet_balance = self.wallet_balance() + b.confirmed_on_chain_balance = wallet_balance.confirmed_balance + log.debug('wallet_balance', + confirmed_balance=wallet_balance.confirmed_balance, + unconfirmed_balance=wallet_balance.unconfirmed_balance) + log.debug('calculated', + unconfirmed_on_chain_balance=b.unconfirmed_on_chain_balance, + timelocked_on_chain_balance=b.timelocked_on_chain_balance, + total_unspendable_on_chain_balance=b.unconfirmed_on_chain_balance + b.timelocked_on_chain_balance) + + utxos = self.list_unspent().utxos + total_on_chain = 0 + for utxo in utxos: + total_on_chain += utxo.amount_sat + + log.debug('utxo calculated', total_on_chain=total_on_chain) + log.debug('channel and balance calculated', + total=b.unconfirmed_on_chain_balance + b.confirmed_on_chain_balance, + unconfirmed=b.unconfirmed_on_chain_balance, + confirmed=b.confirmed_on_chain_balance) + assert total_on_chain == b.unconfirmed_on_chain_balance + b.confirmed_on_chain_balance + + return b + + def list_all(self): + return { + 'peers': self.list_peers(), + 'open_channels': self.list_channels(), + 'pending_channels': self.list_pending_channels(), + 'closed_channels': self.closed_channels() + } + def list_peers(self) -> List[ln.Peer]: request = ln.ListPeersRequest() response = self.lnd_client.ListPeers(request) @@ -201,16 +345,20 @@ def list_channels(self) -> List[ln.Channel]: request.inactive_only = False request.public_only = False request.private_only = False - response = self.lnd_client.ListChannels(request, timeout=30) + response = self.lnd_client.ListChannels(request) return response.channels - def list_pending_channels(self) -> List[PendingChannels]: + def pending_channels(self) -> ln.PendingChannelsResponse: request = ln.PendingChannelsRequest() - response = self.lnd_client.PendingChannels(request, timeout=5) + response = self.lnd_client.PendingChannels(request) + return response + + def list_pending_channels(self) -> List[PendingChannels]: + response = self.pending_channels() pending_channels = [] pending_types = [ 'pending_open_channels', - 'pending_closing_channels', + # 'pending_closing_channels', DEPRECATED 'pending_force_closing_channels', 'waiting_close_channels' ] @@ -265,12 +413,8 @@ def closed_channels(self): def stop(self): request = ln.StopRequest() - try: - response = self.lnd_client.StopDaemon(request) - except _Rendezvous: - log.error('stop lnd error', exc_info=True) - response = self.stop() - return response + response = self.lnd_client.StopDaemon(request) + log.debug('lnd stop response', response=response) def debug_level(self, show: bool = None, level_spec: str = None): request = ln.DebugLevelRequest() diff --git a/node_launcher/node_set/lnd/lnd_client/lnd_client_cli.py b/node_launcher/node_set/lnd/lnd_client/lnd_client_cli.py new file mode 100644 index 00000000..16863246 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/lnd_client_cli.py @@ -0,0 +1,52 @@ +import os +import sys + +from node_launcher.node_set.lnd.lnd_client import LndClient + +sys.path.append(os.getcwd()) +print(sys.path) + +if __name__ == '__main__': + import argparse + + parser = argparse.ArgumentParser( + description='LND Client CLI' + ) + + parser.add_argument( + '--verbose', + '-v', + action='store_true', + help='Display additional information for debugging' + ) + + parser.add_argument( + '-d', + type=str, + help='Path to LND directory' + ) + + parser.add_argument( + '-host', + type=str, + help='gRPC Host' + ) + + parser.add_argument( + '-port', + type=str, + help='gRPC Port' + ) + + parser.add_argument( + 'action', + type=str + ) + args = parser.parse_args() + lnd_client = LndClient(lnddir=args.d, + grpc_host=args.host, + grpc_port=args.port) + + if args.action == 'balances': + balances = lnd_client.get_lnd_balances() + print(balances) diff --git a/node_launcher/node_set/lnd/lnd_client/rpc_pb2.py b/node_launcher/node_set/lnd/lnd_client/rpc_pb2.py deleted file mode 100644 index 49ef0a01..00000000 --- a/node_launcher/node_set/lnd/lnd_client/rpc_pb2.py +++ /dev/null @@ -1,6780 +0,0 @@ -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: rpc.proto - -import sys -_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1')) -from google.protobuf import descriptor as _descriptor -from google.protobuf import message as _message -from google.protobuf import reflection as _reflection -from google.protobuf import symbol_database as _symbol_database -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 - - -DESCRIPTOR = _descriptor.FileDescriptor( - name='rpc.proto', - package='lnrpc', - syntax='proto3', - serialized_options=None, - 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\"~\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\"\x14\n\x12InitWalletResponse\"G\n\x13UnlockWalletRequest\x12\x17\n\x0fwallet_password\x18\x01 \x01(\x0c\x12\x17\n\x0frecovery_window\x18\x02 \x01(\x05\"\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\"\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\"\xc7\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\"\x94\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\"e\n\x12SendToRouteRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x1b\n\x13payment_hash_string\x18\x02 \x01(\t\x12\x1c\n\x06routes\x18\x03 \x03(\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\">\n\x10LightningAddress\x12\x16\n\x06pubkey\x18\x01 \x01(\tR\x06pubkey\x12\x12\n\x04host\x18\x02 \x01(\tR\x04host\"\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\"[\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\"\'\n\x11SendCoinsResponse\x12\x12\n\x04txid\x18\x01 \x01(\tR\x04txid\"\x87\x01\n\x11NewAddressRequest\x12\x32\n\x04type\x18\x01 \x01(\x0e\x32$.lnrpc.NewAddressRequest.AddressType\">\n\x0b\x41\x64\x64ressType\x12\x17\n\x13WITNESS_PUBKEY_HASH\x10\x00\x12\x16\n\x12NESTED_PUBKEY_HASH\x10\x01\".\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\"\xfe\x04\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\"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\"\xea\x01\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\n\x10ListPeersRequest\"6\n\x11ListPeersResponse\x12!\n\x05peers\x18\x01 \x03(\x0b\x32\x0b.lnrpc.PeerR\x05peers\"\x10\n\x0eGetInfoRequest\"\x8f\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\x18\n\x07testnet\x18\n \x01(\x08R\x07testnet\x12\x16\n\x06\x63hains\x18\x0b \x03(\tR\x06\x63hains\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\"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\"\xd9\x01\n\x11\x43loseStatusUpdate\x12<\n\rclose_pending\x18\x01 \x01(\x0b\x32\x14.lnrpc.PendingUpdateH\x00R\rclose_pending\x12?\n\x0c\x63onfirmation\x18\x02 \x01(\x0b\x32\x19.lnrpc.ConfirmationUpdateH\x00R\x0c\x63onfirmation\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\"\xd3\x01\n\x10OpenStatusUpdate\x12:\n\x0c\x63han_pending\x18\x01 \x01(\x0b\x32\x14.lnrpc.PendingUpdateH\x00R\x0c\x63han_pending\x12?\n\x0c\x63onfirmation\x18\x02 \x01(\x0b\x32\x19.lnrpc.ConfirmationUpdateH\x00R\x0c\x63onfirmation\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\"\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\"\x84\x01\n\x12QueryRoutesRequest\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\x12\x0b\n\x03\x61mt\x18\x02 \x01(\x03\x12\x12\n\nnum_routes\x18\x03 \x01(\x05\x12\x18\n\x10\x66inal_cltv_delta\x18\x04 \x01(\x05\x12\"\n\tfee_limit\x18\x05 \x01(\x0b\x32\x0f.lnrpc.FeeLimit\";\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\"\xc9\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\"\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\"\x83\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\"\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\"\x97\x05\n\x07Invoice\x12\x12\n\x04memo\x18\x01 \x01(\tR\x04memo\x12\x18\n\x07receipt\x18\x02 \x01(\x0cR\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\x18\n\x07settled\x18\x06 \x01(\x08R\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\"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\"\xb5\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\"\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_index2\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\xdb\x1e\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[\n\tSendCoins\x12\x17.lnrpc.SendCoinsRequest\x1a\x18.lnrpc.SendCoinsResponse\"\x1b\x82\xd3\xe4\x93\x02\x15\"\x10/v1/transactions:\x01*\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\x44\n\x0bSignMessage\x12\x19.lnrpc.SignMessageRequest\x1a\x1a.lnrpc.SignMessageResponse\x12J\n\rVerifyMessage\x12\x1b.lnrpc.VerifyMessageRequest\x1a\x1c.lnrpc.VerifyMessageResponse\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\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*b\x06proto3') - , - dependencies=[google_dot_api_dot_annotations__pb2.DESCRIPTOR,]) - - - -_NEWADDRESSREQUEST_ADDRESSTYPE = _descriptor.EnumDescriptor( - name='AddressType', - full_name='lnrpc.NewAddressRequest.AddressType', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='WITNESS_PUBKEY_HASH', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='NESTED_PUBKEY_HASH', index=1, number=1, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=2095, - serialized_end=2157, -) -_sym_db.RegisterEnumDescriptor(_NEWADDRESSREQUEST_ADDRESSTYPE) - -_CHANNELCLOSESUMMARY_CLOSURETYPE = _descriptor.EnumDescriptor( - name='ClosureType', - full_name='lnrpc.ChannelCloseSummary.ClosureType', - filename=None, - file=DESCRIPTOR, - values=[ - _descriptor.EnumValueDescriptor( - name='COOPERATIVE_CLOSE', index=0, number=0, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='LOCAL_FORCE_CLOSE', index=1, number=1, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='REMOTE_FORCE_CLOSE', index=2, number=2, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='BREACH_CLOSE', index=3, number=3, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='FUNDING_CANCELED', index=4, number=4, - serialized_options=None, - type=None), - _descriptor.EnumValueDescriptor( - name='ABANDONED', index=5, number=5, - serialized_options=None, - type=None), - ], - containing_type=None, - serialized_options=None, - serialized_start=4003, - serialized_end=4141, -) -_sym_db.RegisterEnumDescriptor(_CHANNELCLOSESUMMARY_CLOSURETYPE) - - -_GENSEEDREQUEST = _descriptor.Descriptor( - name='GenSeedRequest', - full_name='lnrpc.GenSeedRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='aezeed_passphrase', full_name='lnrpc.GenSeedRequest.aezeed_passphrase', 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='seed_entropy', full_name='lnrpc.GenSeedRequest.seed_entropy', 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=50, - serialized_end=115, -) - - -_GENSEEDRESPONSE = _descriptor.Descriptor( - name='GenSeedResponse', - full_name='lnrpc.GenSeedResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='cipher_seed_mnemonic', full_name='lnrpc.GenSeedResponse.cipher_seed_mnemonic', index=0, - number=1, type=9, 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='enciphered_seed', full_name='lnrpc.GenSeedResponse.enciphered_seed', 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=117, - serialized_end=189, -) - - -_INITWALLETREQUEST = _descriptor.Descriptor( - name='InitWalletRequest', - full_name='lnrpc.InitWalletRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='wallet_password', full_name='lnrpc.InitWalletRequest.wallet_password', 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='cipher_seed_mnemonic', full_name='lnrpc.InitWalletRequest.cipher_seed_mnemonic', index=1, - number=2, type=9, 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='aezeed_passphrase', full_name='lnrpc.InitWalletRequest.aezeed_passphrase', 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='recovery_window', full_name='lnrpc.InitWalletRequest.recovery_window', 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=191, - serialized_end=317, -) - - -_INITWALLETRESPONSE = _descriptor.Descriptor( - name='InitWalletResponse', - full_name='lnrpc.InitWalletResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=319, - serialized_end=339, -) - - -_UNLOCKWALLETREQUEST = _descriptor.Descriptor( - name='UnlockWalletRequest', - full_name='lnrpc.UnlockWalletRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='wallet_password', full_name='lnrpc.UnlockWalletRequest.wallet_password', 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='recovery_window', full_name='lnrpc.UnlockWalletRequest.recovery_window', index=1, - number=2, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=341, - serialized_end=412, -) - - -_UNLOCKWALLETRESPONSE = _descriptor.Descriptor( - name='UnlockWalletResponse', - full_name='lnrpc.UnlockWalletResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=414, - serialized_end=436, -) - - -_CHANGEPASSWORDREQUEST = _descriptor.Descriptor( - name='ChangePasswordRequest', - full_name='lnrpc.ChangePasswordRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='current_password', full_name='lnrpc.ChangePasswordRequest.current_password', 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='new_password', full_name='lnrpc.ChangePasswordRequest.new_password', 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=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=438, - serialized_end=509, -) - - -_CHANGEPASSWORDRESPONSE = _descriptor.Descriptor( - name='ChangePasswordResponse', - full_name='lnrpc.ChangePasswordResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=511, - serialized_end=535, -) - - -_TRANSACTION = _descriptor.Descriptor( - name='Transaction', - full_name='lnrpc.Transaction', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='tx_hash', full_name='lnrpc.Transaction.tx_hash', 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='tx_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amount', full_name='lnrpc.Transaction.amount', index=1, - number=2, 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='amount', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_confirmations', full_name='lnrpc.Transaction.num_confirmations', 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=None, json_name='num_confirmations', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='block_hash', full_name='lnrpc.Transaction.block_hash', index=3, - number=4, 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='block_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='block_height', full_name='lnrpc.Transaction.block_height', index=4, - number=5, 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='block_height', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='time_stamp', full_name='lnrpc.Transaction.time_stamp', 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='time_stamp', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total_fees', full_name='lnrpc.Transaction.total_fees', 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='total_fees', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='dest_addresses', full_name='lnrpc.Transaction.dest_addresses', index=7, - number=8, type=9, 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, json_name='dest_addresses', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=538, - serialized_end=819, -) - - -_GETTRANSACTIONSREQUEST = _descriptor.Descriptor( - name='GetTransactionsRequest', - full_name='lnrpc.GetTransactionsRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=821, - serialized_end=845, -) - - -_TRANSACTIONDETAILS = _descriptor.Descriptor( - name='TransactionDetails', - full_name='lnrpc.TransactionDetails', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='transactions', full_name='lnrpc.TransactionDetails.transactions', 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='transactions', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=847, - serialized_end=923, -) - - -_FEELIMIT = _descriptor.Descriptor( - name='FeeLimit', - full_name='lnrpc.FeeLimit', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='fixed', full_name='lnrpc.FeeLimit.fixed', index=0, - number=1, 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='percent', full_name='lnrpc.FeeLimit.percent', index=1, - number=2, 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='limit', full_name='lnrpc.FeeLimit.limit', - index=0, containing_type=None, fields=[]), - ], - serialized_start=925, - serialized_end=980, -) - - -_SENDREQUEST = _descriptor.Descriptor( - name='SendRequest', - full_name='lnrpc.SendRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='dest', full_name='lnrpc.SendRequest.dest', 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='dest_string', full_name='lnrpc.SendRequest.dest_string', 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amt', full_name='lnrpc.SendRequest.amt', index=2, - number=3, 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='payment_hash', full_name='lnrpc.SendRequest.payment_hash', index=3, - number=4, 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='payment_hash_string', full_name='lnrpc.SendRequest.payment_hash_string', 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), - _descriptor.FieldDescriptor( - name='payment_request', full_name='lnrpc.SendRequest.payment_request', index=5, - number=6, 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='final_cltv_delta', full_name='lnrpc.SendRequest.final_cltv_delta', 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_limit', full_name='lnrpc.SendRequest.fee_limit', index=7, - number=8, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=983, - serialized_end=1182, -) - - -_SENDRESPONSE = _descriptor.Descriptor( - name='SendResponse', - full_name='lnrpc.SendResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='payment_error', full_name='lnrpc.SendResponse.payment_error', 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='payment_error', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='payment_preimage', full_name='lnrpc.SendResponse.payment_preimage', 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, json_name='payment_preimage', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='payment_route', full_name='lnrpc.SendResponse.payment_route', index=2, - number=3, 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, json_name='payment_route', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1185, - serialized_end=1333, -) - - -_SENDTOROUTEREQUEST = _descriptor.Descriptor( - name='SendToRouteRequest', - full_name='lnrpc.SendToRouteRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='payment_hash', full_name='lnrpc.SendToRouteRequest.payment_hash', 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='payment_hash_string', full_name='lnrpc.SendToRouteRequest.payment_hash_string', 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, 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=[], - 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=1335, - serialized_end=1436, -) - - -_CHANNELPOINT = _descriptor.Descriptor( - name='ChannelPoint', - full_name='lnrpc.ChannelPoint', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='funding_txid_bytes', full_name='lnrpc.ChannelPoint.funding_txid_bytes', 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, json_name='funding_txid_bytes', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='funding_txid_str', full_name='lnrpc.ChannelPoint.funding_txid_str', 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='funding_txid_str', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='output_index', full_name='lnrpc.ChannelPoint.output_index', index=2, - number=3, 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='output_index', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='funding_txid', full_name='lnrpc.ChannelPoint.funding_txid', - index=0, containing_type=None, fields=[]), - ], - serialized_start=1439, - serialized_end=1601, -) - - -_LIGHTNINGADDRESS = _descriptor.Descriptor( - name='LightningAddress', - full_name='lnrpc.LightningAddress', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='pubkey', full_name='lnrpc.LightningAddress.pubkey', 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='pubkey', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='host', full_name='lnrpc.LightningAddress.host', 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='host', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1603, - serialized_end=1665, -) - - -_SENDMANYREQUEST_ADDRTOAMOUNTENTRY = _descriptor.Descriptor( - name='AddrToAmountEntry', - full_name='lnrpc.SendManyRequest.AddrToAmountEntry', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='key', full_name='lnrpc.SendManyRequest.AddrToAmountEntry.key', 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='lnrpc.SendManyRequest.AddrToAmountEntry.value', index=1, - number=2, 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=_b('8\001'), - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1794, - serialized_end=1845, -) - -_SENDMANYREQUEST = _descriptor.Descriptor( - name='SendManyRequest', - full_name='lnrpc.SendManyRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='AddrToAmount', full_name='lnrpc.SendManyRequest.AddrToAmount', 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='target_conf', full_name='lnrpc.SendManyRequest.target_conf', index=1, - 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=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sat_per_byte', full_name='lnrpc.SendManyRequest.sat_per_byte', index=2, - 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_SENDMANYREQUEST_ADDRTOAMOUNTENTRY, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1668, - serialized_end=1845, -) - - -_SENDMANYRESPONSE = _descriptor.Descriptor( - name='SendManyResponse', - full_name='lnrpc.SendManyResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='txid', full_name='lnrpc.SendManyResponse.txid', 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='txid', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1847, - serialized_end=1885, -) - - -_SENDCOINSREQUEST = _descriptor.Descriptor( - name='SendCoinsRequest', - full_name='lnrpc.SendCoinsRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='addr', full_name='lnrpc.SendCoinsRequest.addr', 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amount', full_name='lnrpc.SendCoinsRequest.amount', index=1, - number=2, 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='target_conf', full_name='lnrpc.SendCoinsRequest.target_conf', 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=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sat_per_byte', full_name='lnrpc.SendCoinsRequest.sat_per_byte', index=3, - 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1887, - serialized_end=1978, -) - - -_SENDCOINSRESPONSE = _descriptor.Descriptor( - name='SendCoinsResponse', - full_name='lnrpc.SendCoinsResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='txid', full_name='lnrpc.SendCoinsResponse.txid', 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='txid', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=1980, - serialized_end=2019, -) - - -_NEWADDRESSREQUEST = _descriptor.Descriptor( - name='NewAddressRequest', - full_name='lnrpc.NewAddressRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='type', full_name='lnrpc.NewAddressRequest.type', index=0, - number=1, 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _NEWADDRESSREQUEST_ADDRESSTYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2022, - serialized_end=2157, -) - - -_NEWADDRESSRESPONSE = _descriptor.Descriptor( - name='NewAddressResponse', - full_name='lnrpc.NewAddressResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='address', full_name='lnrpc.NewAddressResponse.address', 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='address', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2159, - serialized_end=2205, -) - - -_SIGNMESSAGEREQUEST = _descriptor.Descriptor( - name='SignMessageRequest', - full_name='lnrpc.SignMessageRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='msg', full_name='lnrpc.SignMessageRequest.msg', 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, json_name='msg', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2207, - serialized_end=2245, -) - - -_SIGNMESSAGERESPONSE = _descriptor.Descriptor( - name='SignMessageResponse', - full_name='lnrpc.SignMessageResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='signature', full_name='lnrpc.SignMessageResponse.signature', 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='signature', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2247, - serialized_end=2298, -) - - -_VERIFYMESSAGEREQUEST = _descriptor.Descriptor( - name='VerifyMessageRequest', - full_name='lnrpc.VerifyMessageRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='msg', full_name='lnrpc.VerifyMessageRequest.msg', 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, json_name='msg', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='signature', full_name='lnrpc.VerifyMessageRequest.signature', 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='signature', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2300, - serialized_end=2370, -) - - -_VERIFYMESSAGERESPONSE = _descriptor.Descriptor( - name='VerifyMessageResponse', - full_name='lnrpc.VerifyMessageResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='valid', full_name='lnrpc.VerifyMessageResponse.valid', 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, json_name='valid', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pubkey', full_name='lnrpc.VerifyMessageResponse.pubkey', 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='pubkey', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2372, - serialized_end=2441, -) - - -_CONNECTPEERREQUEST = _descriptor.Descriptor( - name='ConnectPeerRequest', - full_name='lnrpc.ConnectPeerRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='addr', full_name='lnrpc.ConnectPeerRequest.addr', index=0, - number=1, 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='perm', full_name='lnrpc.ConnectPeerRequest.perm', 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=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2443, - serialized_end=2516, -) - - -_CONNECTPEERRESPONSE = _descriptor.Descriptor( - name='ConnectPeerResponse', - full_name='lnrpc.ConnectPeerResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2518, - serialized_end=2539, -) - - -_DISCONNECTPEERREQUEST = _descriptor.Descriptor( - name='DisconnectPeerRequest', - full_name='lnrpc.DisconnectPeerRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='pub_key', full_name='lnrpc.DisconnectPeerRequest.pub_key', 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='pub_key', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2541, - serialized_end=2590, -) - - -_DISCONNECTPEERRESPONSE = _descriptor.Descriptor( - name='DisconnectPeerResponse', - full_name='lnrpc.DisconnectPeerResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2592, - serialized_end=2616, -) - - -_HTLC = _descriptor.Descriptor( - name='HTLC', - full_name='lnrpc.HTLC', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='incoming', full_name='lnrpc.HTLC.incoming', 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, json_name='incoming', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amount', full_name='lnrpc.HTLC.amount', index=1, - number=2, 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='amount', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='hash_lock', full_name='lnrpc.HTLC.hash_lock', 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, json_name='hash_lock', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='expiration_height', full_name='lnrpc.HTLC.expiration_height', index=3, - number=4, 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='expiration_height', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2619, - serialized_end=2753, -) - - -_CHANNEL = _descriptor.Descriptor( - name='Channel', - full_name='lnrpc.Channel', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='active', full_name='lnrpc.Channel.active', 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, json_name='active', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='remote_pubkey', full_name='lnrpc.Channel.remote_pubkey', 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='remote_pubkey', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='channel_point', full_name='lnrpc.Channel.channel_point', index=2, - number=3, 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='channel_point', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chan_id', full_name='lnrpc.Channel.chan_id', 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, 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, - 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='capacity', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='local_balance', full_name='lnrpc.Channel.local_balance', 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_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='remote_balance', full_name='lnrpc.Channel.remote_balance', 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_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='commit_fee', full_name='lnrpc.Channel.commit_fee', index=7, - number=8, 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='commit_fee', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='commit_weight', full_name='lnrpc.Channel.commit_weight', index=8, - number=9, 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='commit_weight', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_per_kw', full_name='lnrpc.Channel.fee_per_kw', index=9, - number=10, 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_per_kw', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='unsettled_balance', full_name='lnrpc.Channel.unsettled_balance', 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='unsettled_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total_satoshis_sent', full_name='lnrpc.Channel.total_satoshis_sent', 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='total_satoshis_sent', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total_satoshis_received', full_name='lnrpc.Channel.total_satoshis_received', index=12, - number=13, 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='total_satoshis_received', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_updates', full_name='lnrpc.Channel.num_updates', index=13, - number=14, 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_updates', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pending_htlcs', full_name='lnrpc.Channel.pending_htlcs', index=14, - number=15, 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='pending_htlcs', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='csv_delay', full_name='lnrpc.Channel.csv_delay', index=15, - number=16, 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='csv_delay', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='private', full_name='lnrpc.Channel.private', index=16, - number=17, 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='private', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=2756, - serialized_end=3394, -) - - -_LISTCHANNELSREQUEST = _descriptor.Descriptor( - name='ListChannelsRequest', - full_name='lnrpc.ListChannelsRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='active_only', full_name='lnrpc.ListChannelsRequest.active_only', 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='inactive_only', full_name='lnrpc.ListChannelsRequest.inactive_only', 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), - _descriptor.FieldDescriptor( - name='public_only', full_name='lnrpc.ListChannelsRequest.public_only', index=2, - number=3, 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='private_only', full_name='lnrpc.ListChannelsRequest.private_only', index=3, - number=4, 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=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3396, - serialized_end=3504, -) - - -_LISTCHANNELSRESPONSE = _descriptor.Descriptor( - name='ListChannelsResponse', - full_name='lnrpc.ListChannelsResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channels', full_name='lnrpc.ListChannelsResponse.channels', index=0, - 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, json_name='channels', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3506, - serialized_end=3572, -) - - -_CHANNELCLOSESUMMARY = _descriptor.Descriptor( - name='ChannelCloseSummary', - full_name='lnrpc.ChannelCloseSummary', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel_point', full_name='lnrpc.ChannelCloseSummary.channel_point', 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='channel_point', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chan_id', full_name='lnrpc.ChannelCloseSummary.chan_id', 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='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, - 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='chain_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='closing_tx_hash', full_name='lnrpc.ChannelCloseSummary.closing_tx_hash', index=3, - number=4, 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='closing_tx_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='remote_pubkey', full_name='lnrpc.ChannelCloseSummary.remote_pubkey', 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, json_name='remote_pubkey', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='capacity', full_name='lnrpc.ChannelCloseSummary.capacity', 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='capacity', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='close_height', full_name='lnrpc.ChannelCloseSummary.close_height', 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='close_height', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='settled_balance', full_name='lnrpc.ChannelCloseSummary.settled_balance', index=7, - number=8, 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='settled_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='time_locked_balance', full_name='lnrpc.ChannelCloseSummary.time_locked_balance', index=8, - number=9, 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='time_locked_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='close_type', full_name='lnrpc.ChannelCloseSummary.close_type', 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='close_type', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - _CHANNELCLOSESUMMARY_CLOSURETYPE, - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=3575, - serialized_end=4141, -) - - -_CLOSEDCHANNELSREQUEST = _descriptor.Descriptor( - name='ClosedChannelsRequest', - full_name='lnrpc.ClosedChannelsRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='cooperative', full_name='lnrpc.ClosedChannelsRequest.cooperative', 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='local_force', full_name='lnrpc.ClosedChannelsRequest.local_force', 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), - _descriptor.FieldDescriptor( - name='remote_force', full_name='lnrpc.ClosedChannelsRequest.remote_force', index=2, - number=3, 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='breach', full_name='lnrpc.ClosedChannelsRequest.breach', index=3, - number=4, 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='funding_canceled', full_name='lnrpc.ClosedChannelsRequest.funding_canceled', index=4, - number=5, 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='abandoned', full_name='lnrpc.ClosedChannelsRequest.abandoned', index=5, - number=6, 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=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4144, - serialized_end=4292, -) - - -_CLOSEDCHANNELSRESPONSE = _descriptor.Descriptor( - name='ClosedChannelsResponse', - full_name='lnrpc.ClosedChannelsResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channels', full_name='lnrpc.ClosedChannelsResponse.channels', 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='channels', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4294, - serialized_end=4374, -) - - -_PEER = _descriptor.Descriptor( - name='Peer', - full_name='lnrpc.Peer', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='pub_key', full_name='lnrpc.Peer.pub_key', 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='pub_key', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='address', full_name='lnrpc.Peer.address', index=1, - number=3, 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='address', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='bytes_sent', full_name='lnrpc.Peer.bytes_sent', 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='bytes_sent', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='bytes_recv', full_name='lnrpc.Peer.bytes_recv', index=3, - 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, json_name='bytes_recv', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sat_sent', full_name='lnrpc.Peer.sat_sent', index=4, - 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='sat_sent', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sat_recv', full_name='lnrpc.Peer.sat_recv', index=5, - 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='sat_recv', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='inbound', full_name='lnrpc.Peer.inbound', index=6, - number=8, 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='inbound', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='ping_time', full_name='lnrpc.Peer.ping_time', index=7, - number=9, 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='ping_time', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4377, - serialized_end=4611, -) - - -_LISTPEERSREQUEST = _descriptor.Descriptor( - name='ListPeersRequest', - full_name='lnrpc.ListPeersRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4613, - serialized_end=4631, -) - - -_LISTPEERSRESPONSE = _descriptor.Descriptor( - name='ListPeersResponse', - full_name='lnrpc.ListPeersResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='peers', full_name='lnrpc.ListPeersResponse.peers', 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='peers', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4633, - serialized_end=4687, -) - - -_GETINFOREQUEST = _descriptor.Descriptor( - name='GetInfoRequest', - full_name='lnrpc.GetInfoRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4689, - serialized_end=4705, -) - - -_GETINFORESPONSE = _descriptor.Descriptor( - name='GetInfoResponse', - full_name='lnrpc.GetInfoResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='identity_pubkey', full_name='lnrpc.GetInfoResponse.identity_pubkey', 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='identity_pubkey', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='alias', full_name='lnrpc.GetInfoResponse.alias', 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='alias', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_pending_channels', full_name='lnrpc.GetInfoResponse.num_pending_channels', index=2, - number=3, 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='num_pending_channels', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_active_channels', full_name='lnrpc.GetInfoResponse.num_active_channels', index=3, - number=4, 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='num_active_channels', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_peers', full_name='lnrpc.GetInfoResponse.num_peers', index=4, - number=5, 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='num_peers', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='block_height', full_name='lnrpc.GetInfoResponse.block_height', index=5, - number=6, 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='block_height', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='block_hash', full_name='lnrpc.GetInfoResponse.block_hash', 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, json_name='block_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='synced_to_chain', full_name='lnrpc.GetInfoResponse.synced_to_chain', 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, json_name='synced_to_chain', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='testnet', full_name='lnrpc.GetInfoResponse.testnet', index=8, - number=10, 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='testnet', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chains', full_name='lnrpc.GetInfoResponse.chains', index=9, - number=11, type=9, 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, json_name='chains', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='uris', full_name='lnrpc.GetInfoResponse.uris', index=10, - number=12, type=9, 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, json_name='uris', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='best_header_timestamp', full_name='lnrpc.GetInfoResponse.best_header_timestamp', index=11, - number=13, 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='best_header_timestamp', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='version', full_name='lnrpc.GetInfoResponse.version', index=12, - number=14, 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='version', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_inactive_channels', full_name='lnrpc.GetInfoResponse.num_inactive_channels', index=13, - number=15, 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='num_inactive_channels', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=4708, - serialized_end=5235, -) - - -_CONFIRMATIONUPDATE = _descriptor.Descriptor( - name='ConfirmationUpdate', - full_name='lnrpc.ConfirmationUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='block_sha', full_name='lnrpc.ConfirmationUpdate.block_sha', 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='block_height', full_name='lnrpc.ConfirmationUpdate.block_height', index=1, - number=2, 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='num_confs_left', full_name='lnrpc.ConfirmationUpdate.num_confs_left', index=2, - number=3, 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=5237, - serialized_end=5322, -) - - -_CHANNELOPENUPDATE = _descriptor.Descriptor( - name='ChannelOpenUpdate', - full_name='lnrpc.ChannelOpenUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel_point', full_name='lnrpc.ChannelOpenUpdate.channel_point', index=0, - number=1, 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, json_name='channel_point', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5324, - serialized_end=5402, -) - - -_CHANNELCLOSEUPDATE = _descriptor.Descriptor( - name='ChannelCloseUpdate', - full_name='lnrpc.ChannelCloseUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='closing_txid', full_name='lnrpc.ChannelCloseUpdate.closing_txid', 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, json_name='closing_txid', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='success', full_name='lnrpc.ChannelCloseUpdate.success', 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, json_name='success', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5404, - serialized_end=5486, -) - - -_CLOSECHANNELREQUEST = _descriptor.Descriptor( - name='CloseChannelRequest', - full_name='lnrpc.CloseChannelRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel_point', full_name='lnrpc.CloseChannelRequest.channel_point', index=0, - number=1, 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='force', full_name='lnrpc.CloseChannelRequest.force', 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), - _descriptor.FieldDescriptor( - name='target_conf', full_name='lnrpc.CloseChannelRequest.target_conf', 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=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='sat_per_byte', full_name='lnrpc.CloseChannelRequest.sat_per_byte', index=3, - number=4, 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5488, - serialized_end=5611, -) - - -_CLOSESTATUSUPDATE = _descriptor.Descriptor( - name='CloseStatusUpdate', - full_name='lnrpc.CloseStatusUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='close_pending', full_name='lnrpc.CloseStatusUpdate.close_pending', index=0, - number=1, 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, json_name='close_pending', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='confirmation', full_name='lnrpc.CloseStatusUpdate.confirmation', index=1, - number=2, 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, json_name='confirmation', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chan_close', full_name='lnrpc.CloseStatusUpdate.chan_close', index=2, - number=3, 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, json_name='chan_close', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='update', full_name='lnrpc.CloseStatusUpdate.update', - index=0, containing_type=None, fields=[]), - ], - serialized_start=5614, - serialized_end=5831, -) - - -_PENDINGUPDATE = _descriptor.Descriptor( - name='PendingUpdate', - full_name='lnrpc.PendingUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='txid', full_name='lnrpc.PendingUpdate.txid', 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, json_name='txid', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='output_index', full_name='lnrpc.PendingUpdate.output_index', index=1, - number=2, 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='output_index', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5833, - serialized_end=5904, -) - - -_OPENCHANNELREQUEST = _descriptor.Descriptor( - name='OpenChannelRequest', - full_name='lnrpc.OpenChannelRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='node_pubkey', full_name='lnrpc.OpenChannelRequest.node_pubkey', index=0, - 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, json_name='node_pubkey', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='node_pubkey_string', full_name='lnrpc.OpenChannelRequest.node_pubkey_string', index=1, - number=3, 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='node_pubkey_string', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='local_funding_amount', full_name='lnrpc.OpenChannelRequest.local_funding_amount', index=2, - number=4, 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_funding_amount', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='push_sat', full_name='lnrpc.OpenChannelRequest.push_sat', index=3, - 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='push_sat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='target_conf', full_name='lnrpc.OpenChannelRequest.target_conf', index=4, - number=6, 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='sat_per_byte', full_name='lnrpc.OpenChannelRequest.sat_per_byte', index=5, - 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='private', full_name='lnrpc.OpenChannelRequest.private', index=6, - number=8, 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='private', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='min_htlc_msat', full_name='lnrpc.OpenChannelRequest.min_htlc_msat', index=7, - number=9, 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='min_htlc_msat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='remote_csv_delay', full_name='lnrpc.OpenChannelRequest.remote_csv_delay', index=8, - number=10, 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='remote_csv_delay', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='min_confs', full_name='lnrpc.OpenChannelRequest.min_confs', index=9, - number=11, 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='min_confs', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='spend_unconfirmed', full_name='lnrpc.OpenChannelRequest.spend_unconfirmed', index=10, - number=12, 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='spend_unconfirmed', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=5907, - serialized_end=6316, -) - - -_OPENSTATUSUPDATE = _descriptor.Descriptor( - name='OpenStatusUpdate', - full_name='lnrpc.OpenStatusUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='chan_pending', full_name='lnrpc.OpenStatusUpdate.chan_pending', index=0, - number=1, 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, json_name='chan_pending', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='confirmation', full_name='lnrpc.OpenStatusUpdate.confirmation', index=1, - number=2, 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, json_name='confirmation', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chan_open', full_name='lnrpc.OpenStatusUpdate.chan_open', index=2, - number=3, 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, json_name='chan_open', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='update', full_name='lnrpc.OpenStatusUpdate.update', - index=0, containing_type=None, fields=[]), - ], - serialized_start=6319, - serialized_end=6530, -) - - -_PENDINGHTLC = _descriptor.Descriptor( - name='PendingHTLC', - full_name='lnrpc.PendingHTLC', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='incoming', full_name='lnrpc.PendingHTLC.incoming', 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, json_name='incoming', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amount', full_name='lnrpc.PendingHTLC.amount', index=1, - number=2, 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='amount', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='outpoint', full_name='lnrpc.PendingHTLC.outpoint', index=2, - number=3, 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='outpoint', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='maturity_height', full_name='lnrpc.PendingHTLC.maturity_height', index=3, - number=4, 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='maturity_height', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='blocks_til_maturity', full_name='lnrpc.PendingHTLC.blocks_til_maturity', index=4, - number=5, 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='blocks_til_maturity', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='stage', full_name='lnrpc.PendingHTLC.stage', index=5, - number=6, 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='stage', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6533, - serialized_end=6740, -) - - -_PENDINGCHANNELSREQUEST = _descriptor.Descriptor( - name='PendingChannelsRequest', - full_name='lnrpc.PendingChannelsRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6742, - serialized_end=6766, -) - - -_PENDINGCHANNELSRESPONSE_PENDINGCHANNEL = _descriptor.Descriptor( - name='PendingChannel', - full_name='lnrpc.PendingChannelsResponse.PendingChannel', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='remote_node_pub', full_name='lnrpc.PendingChannelsResponse.PendingChannel.remote_node_pub', 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='remote_node_pub', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='channel_point', full_name='lnrpc.PendingChannelsResponse.PendingChannel.channel_point', 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='channel_point', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='capacity', full_name='lnrpc.PendingChannelsResponse.PendingChannel.capacity', index=2, - number=3, 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='capacity', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='local_balance', full_name='lnrpc.PendingChannelsResponse.PendingChannel.local_balance', index=3, - number=4, 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_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='remote_balance', full_name='lnrpc.PendingChannelsResponse.PendingChannel.remote_balance', 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='remote_balance', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7289, - serialized_end=7491, -) - -_PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL = _descriptor.Descriptor( - name='PendingOpenChannel', - full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.channel', index=0, - number=1, 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, json_name='channel', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='confirmation_height', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.confirmation_height', index=1, - number=2, 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='confirmation_height', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='commit_fee', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.commit_fee', index=2, - number=4, 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='commit_fee', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='commit_weight', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.commit_weight', index=3, - 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='commit_weight', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_per_kw', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.fee_per_kw', index=4, - 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='fee_per_kw', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7494, - serialized_end=7739, -) - -_PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL = _descriptor.Descriptor( - name='WaitingCloseChannel', - full_name='lnrpc.PendingChannelsResponse.WaitingCloseChannel', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel', full_name='lnrpc.PendingChannelsResponse.WaitingCloseChannel.channel', index=0, - number=1, 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='limbo_balance', full_name='lnrpc.PendingChannelsResponse.WaitingCloseChannel.limbo_balance', index=1, - number=2, 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='limbo_balance', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7741, - serialized_end=7864, -) - -_PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL = _descriptor.Descriptor( - name='ClosedChannel', - full_name='lnrpc.PendingChannelsResponse.ClosedChannel', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel', full_name='lnrpc.PendingChannelsResponse.ClosedChannel.channel', index=0, - number=1, 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='closing_txid', full_name='lnrpc.PendingChannelsResponse.ClosedChannel.closing_txid', 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='closing_txid', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7866, - serialized_end=7981, -) - -_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL = _descriptor.Descriptor( - name='ForceClosedChannel', - full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.channel', index=0, - number=1, 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, json_name='channel', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='closing_txid', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.closing_txid', 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='closing_txid', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='limbo_balance', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.limbo_balance', index=2, - number=3, 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='limbo_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='maturity_height', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.maturity_height', index=3, - number=4, 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='maturity_height', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='blocks_til_maturity', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.blocks_til_maturity', index=4, - number=5, 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='blocks_til_maturity', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='recovered_balance', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.recovered_balance', 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='recovered_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pending_htlcs', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.pending_htlcs', index=6, - number=8, 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='pending_htlcs', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=7984, - serialized_end=8347, -) - -_PENDINGCHANNELSRESPONSE = _descriptor.Descriptor( - name='PendingChannelsResponse', - full_name='lnrpc.PendingChannelsResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='total_limbo_balance', full_name='lnrpc.PendingChannelsResponse.total_limbo_balance', index=0, - number=1, 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='total_limbo_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pending_open_channels', full_name='lnrpc.PendingChannelsResponse.pending_open_channels', index=1, - number=2, 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='pending_open_channels', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pending_closing_channels', full_name='lnrpc.PendingChannelsResponse.pending_closing_channels', index=2, - number=3, 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='pending_closing_channels', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pending_force_closing_channels', full_name='lnrpc.PendingChannelsResponse.pending_force_closing_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='pending_force_closing_channels', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='waiting_close_channels', full_name='lnrpc.PendingChannelsResponse.waiting_close_channels', index=4, - number=5, 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='waiting_close_channels', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[_PENDINGCHANNELSRESPONSE_PENDINGCHANNEL, _PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL, _PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL, _PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL, _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL, ], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=6769, - serialized_end=8347, -) - - -_WALLETBALANCEREQUEST = _descriptor.Descriptor( - name='WalletBalanceRequest', - full_name='lnrpc.WalletBalanceRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8349, - serialized_end=8371, -) - - -_WALLETBALANCERESPONSE = _descriptor.Descriptor( - name='WalletBalanceResponse', - full_name='lnrpc.WalletBalanceResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='total_balance', full_name='lnrpc.WalletBalanceResponse.total_balance', index=0, - number=1, 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='total_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='confirmed_balance', full_name='lnrpc.WalletBalanceResponse.confirmed_balance', index=1, - number=2, 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='confirmed_balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='unconfirmed_balance', full_name='lnrpc.WalletBalanceResponse.unconfirmed_balance', index=2, - number=3, 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='unconfirmed_balance', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8374, - serialized_end=8531, -) - - -_CHANNELBALANCEREQUEST = _descriptor.Descriptor( - name='ChannelBalanceRequest', - full_name='lnrpc.ChannelBalanceRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8533, - serialized_end=8556, -) - - -_CHANNELBALANCERESPONSE = _descriptor.Descriptor( - name='ChannelBalanceResponse', - full_name='lnrpc.ChannelBalanceResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='balance', full_name='lnrpc.ChannelBalanceResponse.balance', index=0, - number=1, 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='balance', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pending_open_balance', full_name='lnrpc.ChannelBalanceResponse.pending_open_balance', index=1, - number=2, 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='pending_open_balance', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8558, - serialized_end=8660, -) - - -_QUERYROUTESREQUEST = _descriptor.Descriptor( - name='QueryRoutesRequest', - full_name='lnrpc.QueryRoutesRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='pub_key', full_name='lnrpc.QueryRoutesRequest.pub_key', 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amt', full_name='lnrpc.QueryRoutesRequest.amt', index=1, - number=2, 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, 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=None, 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, - 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, - 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8663, - serialized_end=8795, -) - - -_QUERYROUTESRESPONSE = _descriptor.Descriptor( - name='QueryRoutesResponse', - full_name='lnrpc.QueryRoutesResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='routes', full_name='lnrpc.QueryRoutesResponse.routes', 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='routes', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8797, - serialized_end=8856, -) - - -_HOP = _descriptor.Descriptor( - name='Hop', - full_name='lnrpc.Hop', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='chan_id', full_name='lnrpc.Hop.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=None, 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, - 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_capacity', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amt_to_forward', full_name='lnrpc.Hop.amt_to_forward', index=2, - number=3, 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=_b('\030\001'), json_name='amt_to_forward', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee', full_name='lnrpc.Hop.fee', index=3, - number=4, 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=_b('\030\001'), json_name='fee', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='expiry', full_name='lnrpc.Hop.expiry', index=4, - number=5, 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='expiry', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amt_to_forward_msat', full_name='lnrpc.Hop.amt_to_forward_msat', 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='amt_to_forward_msat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_msat', full_name='lnrpc.Hop.fee_msat', 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='fee_msat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='pub_key', full_name='lnrpc.Hop.pub_key', index=7, - 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, json_name='pub_key', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=8859, - serialized_end=9122, -) - - -_ROUTE = _descriptor.Descriptor( - name='Route', - full_name='lnrpc.Route', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='total_time_lock', full_name='lnrpc.Route.total_time_lock', index=0, - number=1, 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='total_time_lock', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total_fees', full_name='lnrpc.Route.total_fees', index=1, - number=2, 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=_b('\030\001'), json_name='total_fees', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total_amt', full_name='lnrpc.Route.total_amt', index=2, - number=3, 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=_b('\030\001'), json_name='total_amt', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='hops', full_name='lnrpc.Route.hops', 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='hops', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total_fees_msat', full_name='lnrpc.Route.total_fees_msat', 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='total_fees_msat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total_amt_msat', full_name='lnrpc.Route.total_amt_msat', 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='total_amt_msat', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9125, - serialized_end=9358, -) - - -_NODEINFOREQUEST = _descriptor.Descriptor( - name='NodeInfoRequest', - full_name='lnrpc.NodeInfoRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='pub_key', full_name='lnrpc.NodeInfoRequest.pub_key', 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9360, - serialized_end=9394, -) - - -_NODEINFO = _descriptor.Descriptor( - name='NodeInfo', - full_name='lnrpc.NodeInfo', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='node', full_name='lnrpc.NodeInfo.node', index=0, - number=1, 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, json_name='node', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_channels', full_name='lnrpc.NodeInfo.num_channels', index=1, - number=2, 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='num_channels', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total_capacity', full_name='lnrpc.NodeInfo.total_capacity', index=2, - number=3, 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='total_capacity', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9397, - serialized_end=9525, -) - - -_LIGHTNINGNODE = _descriptor.Descriptor( - name='LightningNode', - full_name='lnrpc.LightningNode', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='last_update', full_name='lnrpc.LightningNode.last_update', index=0, - number=1, 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), - _descriptor.FieldDescriptor( - name='pub_key', full_name='lnrpc.LightningNode.pub_key', 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='pub_key', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='alias', full_name='lnrpc.LightningNode.alias', index=2, - number=3, 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='alias', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='addresses', full_name='lnrpc.LightningNode.addresses', 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='addresses', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='color', full_name='lnrpc.LightningNode.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, json_name='color', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9528, - serialized_end=9697, -) - - -_NODEADDRESS = _descriptor.Descriptor( - name='NodeAddress', - full_name='lnrpc.NodeAddress', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='network', full_name='lnrpc.NodeAddress.network', 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='network', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='addr', full_name='lnrpc.NodeAddress.addr', 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='addr', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9699, - serialized_end=9758, -) - - -_ROUTINGPOLICY = _descriptor.Descriptor( - name='RoutingPolicy', - full_name='lnrpc.RoutingPolicy', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='time_lock_delta', full_name='lnrpc.RoutingPolicy.time_lock_delta', index=0, - number=1, 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='time_lock_delta', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='min_htlc', full_name='lnrpc.RoutingPolicy.min_htlc', index=1, - number=2, 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='min_htlc', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_base_msat', full_name='lnrpc.RoutingPolicy.fee_base_msat', index=2, - number=3, 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_base_msat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_rate_milli_msat', full_name='lnrpc.RoutingPolicy.fee_rate_milli_msat', index=3, - number=4, 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_rate_milli_msat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='disabled', full_name='lnrpc.RoutingPolicy.disabled', index=4, - number=5, 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='disabled', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9761, - serialized_end=9962, -) - - -_CHANNELEDGE = _descriptor.Descriptor( - name='ChannelEdge', - full_name='lnrpc.ChannelEdge', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel_id', full_name='lnrpc.ChannelEdge.channel_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=None, 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, - 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='chan_point', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='last_update', full_name='lnrpc.ChannelEdge.last_update', index=2, - number=3, 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), - _descriptor.FieldDescriptor( - name='node1_pub', full_name='lnrpc.ChannelEdge.node1_pub', index=3, - number=4, 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='node1_pub', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='node2_pub', full_name='lnrpc.ChannelEdge.node2_pub', 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, json_name='node2_pub', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='capacity', full_name='lnrpc.ChannelEdge.capacity', 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='capacity', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='node1_policy', full_name='lnrpc.ChannelEdge.node1_policy', index=6, - number=7, 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, json_name='node1_policy', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='node2_policy', full_name='lnrpc.ChannelEdge.node2_policy', index=7, - number=8, 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, json_name='node2_policy', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=9965, - serialized_end=10280, -) - - -_CHANNELGRAPHREQUEST = _descriptor.Descriptor( - name='ChannelGraphRequest', - full_name='lnrpc.ChannelGraphRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='include_unannounced', full_name='lnrpc.ChannelGraphRequest.include_unannounced', 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, json_name='include_unannounced', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10282, - serialized_end=10353, -) - - -_CHANNELGRAPH = _descriptor.Descriptor( - name='ChannelGraph', - full_name='lnrpc.ChannelGraph', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='nodes', full_name='lnrpc.ChannelGraph.nodes', 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='nodes', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='edges', full_name='lnrpc.ChannelGraph.edges', index=1, - number=2, 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='edges', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10355, - serialized_end=10455, -) - - -_CHANINFOREQUEST = _descriptor.Descriptor( - name='ChanInfoRequest', - full_name='lnrpc.ChanInfoRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='chan_id', full_name='lnrpc.ChanInfoRequest.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=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10457, - serialized_end=10491, -) - - -_NETWORKINFOREQUEST = _descriptor.Descriptor( - name='NetworkInfoRequest', - full_name='lnrpc.NetworkInfoRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10493, - serialized_end=10513, -) - - -_NETWORKINFO = _descriptor.Descriptor( - name='NetworkInfo', - full_name='lnrpc.NetworkInfo', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='graph_diameter', full_name='lnrpc.NetworkInfo.graph_diameter', index=0, - number=1, 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='graph_diameter', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='avg_out_degree', full_name='lnrpc.NetworkInfo.avg_out_degree', 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='avg_out_degree', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='max_out_degree', full_name='lnrpc.NetworkInfo.max_out_degree', index=2, - number=3, 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='max_out_degree', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_nodes', full_name='lnrpc.NetworkInfo.num_nodes', index=3, - number=4, 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='num_nodes', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_channels', full_name='lnrpc.NetworkInfo.num_channels', index=4, - number=5, 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='num_channels', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='total_network_capacity', full_name='lnrpc.NetworkInfo.total_network_capacity', 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='total_network_capacity', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='avg_channel_size', full_name='lnrpc.NetworkInfo.avg_channel_size', index=6, - number=7, 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='avg_channel_size', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='min_channel_size', full_name='lnrpc.NetworkInfo.min_channel_size', index=7, - number=8, 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='min_channel_size', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='max_channel_size', full_name='lnrpc.NetworkInfo.max_channel_size', index=8, - number=9, 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='max_channel_size', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10516, - serialized_end=10903, -) - - -_STOPREQUEST = _descriptor.Descriptor( - name='StopRequest', - full_name='lnrpc.StopRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10905, - serialized_end=10918, -) - - -_STOPRESPONSE = _descriptor.Descriptor( - name='StopResponse', - full_name='lnrpc.StopResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10920, - serialized_end=10934, -) - - -_GRAPHTOPOLOGYSUBSCRIPTION = _descriptor.Descriptor( - name='GraphTopologySubscription', - full_name='lnrpc.GraphTopologySubscription', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10936, - serialized_end=10963, -) - - -_GRAPHTOPOLOGYUPDATE = _descriptor.Descriptor( - name='GraphTopologyUpdate', - full_name='lnrpc.GraphTopologyUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='node_updates', full_name='lnrpc.GraphTopologyUpdate.node_updates', 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='channel_updates', full_name='lnrpc.GraphTopologyUpdate.channel_updates', index=1, - number=2, 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='closed_chans', full_name='lnrpc.GraphTopologyUpdate.closed_chans', index=2, - number=3, 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=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=10966, - serialized_end=11129, -) - - -_NODEUPDATE = _descriptor.Descriptor( - name='NodeUpdate', - full_name='lnrpc.NodeUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='addresses', full_name='lnrpc.NodeUpdate.addresses', index=0, - number=1, type=9, 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='identity_key', full_name='lnrpc.NodeUpdate.identity_key', 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='global_features', full_name='lnrpc.NodeUpdate.global_features', 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='alias', full_name='lnrpc.NodeUpdate.alias', index=3, - number=4, 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=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11131, - serialized_end=11224, -) - - -_CHANNELEDGEUPDATE = _descriptor.Descriptor( - name='ChannelEdgeUpdate', - full_name='lnrpc.ChannelEdgeUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='chan_id', full_name='lnrpc.ChannelEdgeUpdate.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=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chan_point', full_name='lnrpc.ChannelEdgeUpdate.chan_point', index=1, - number=2, 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='capacity', full_name='lnrpc.ChannelEdgeUpdate.capacity', index=2, - number=3, 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='routing_policy', full_name='lnrpc.ChannelEdgeUpdate.routing_policy', index=3, - 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=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='advertising_node', full_name='lnrpc.ChannelEdgeUpdate.advertising_node', 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), - _descriptor.FieldDescriptor( - name='connecting_node', full_name='lnrpc.ChannelEdgeUpdate.connecting_node', index=5, - number=6, 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=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11227, - serialized_end=11419, -) - - -_CLOSEDCHANNELUPDATE = _descriptor.Descriptor( - name='ClosedChannelUpdate', - full_name='lnrpc.ClosedChannelUpdate', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='chan_id', full_name='lnrpc.ClosedChannelUpdate.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=None, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='capacity', full_name='lnrpc.ClosedChannelUpdate.capacity', index=1, - number=2, 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, file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='closed_height', full_name='lnrpc.ClosedChannelUpdate.closed_height', index=2, - number=3, 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='chan_point', full_name='lnrpc.ClosedChannelUpdate.chan_point', index=3, - 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=None, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11421, - serialized_end=11541, -) - - -_HOPHINT = _descriptor.Descriptor( - name='HopHint', - full_name='lnrpc.HopHint', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='node_id', full_name='lnrpc.HopHint.node_id', 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='node_id', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chan_id', full_name='lnrpc.HopHint.chan_id', 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='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, - 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_base_msat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_proportional_millionths', full_name='lnrpc.HopHint.fee_proportional_millionths', index=3, - number=4, 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='fee_proportional_millionths', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cltv_expiry_delta', full_name='lnrpc.HopHint.cltv_expiry_delta', index=4, - number=5, 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='cltv_expiry_delta', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11544, - serialized_end=11755, -) - - -_ROUTEHINT = _descriptor.Descriptor( - name='RouteHint', - full_name='lnrpc.RouteHint', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='hop_hints', full_name='lnrpc.RouteHint.hop_hints', 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='hop_hints', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11757, - serialized_end=11814, -) - - -_INVOICE = _descriptor.Descriptor( - name='Invoice', - full_name='lnrpc.Invoice', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='memo', full_name='lnrpc.Invoice.memo', 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='memo', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='receipt', full_name='lnrpc.Invoice.receipt', 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, json_name='receipt', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='r_preimage', full_name='lnrpc.Invoice.r_preimage', 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, json_name='r_preimage', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='r_hash', full_name='lnrpc.Invoice.r_hash', index=3, - number=4, 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, json_name='r_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='lnrpc.Invoice.value', 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='value', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='settled', full_name='lnrpc.Invoice.settled', index=5, - number=6, 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='settled', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='creation_date', full_name='lnrpc.Invoice.creation_date', 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='creation_date', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='settle_date', full_name='lnrpc.Invoice.settle_date', index=7, - number=8, 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='settle_date', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='payment_request', full_name='lnrpc.Invoice.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='description_hash', full_name='lnrpc.Invoice.description_hash', index=9, - number=10, 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, json_name='description_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='expiry', full_name='lnrpc.Invoice.expiry', 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='expiry', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fallback_addr', full_name='lnrpc.Invoice.fallback_addr', index=11, - number=12, 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='fallback_addr', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cltv_expiry', full_name='lnrpc.Invoice.cltv_expiry', index=12, - number=13, 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='cltv_expiry', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='route_hints', full_name='lnrpc.Invoice.route_hints', index=13, - number=14, 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='route_hints', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='private', full_name='lnrpc.Invoice.private', index=14, - number=15, 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='private', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='add_index', full_name='lnrpc.Invoice.add_index', index=15, - number=16, 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='add_index', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='settle_index', full_name='lnrpc.Invoice.settle_index', index=16, - number=17, 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='settle_index', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amt_paid', full_name='lnrpc.Invoice.amt_paid', index=17, - number=18, 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=_b('\030\001'), json_name='amt_paid', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amt_paid_sat', full_name='lnrpc.Invoice.amt_paid_sat', index=18, - number=19, 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='amt_paid_sat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amt_paid_msat', full_name='lnrpc.Invoice.amt_paid_msat', 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='amt_paid_msat', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=11817, - serialized_end=12480, -) - - -_ADDINVOICERESPONSE = _descriptor.Descriptor( - name='AddInvoiceResponse', - full_name='lnrpc.AddInvoiceResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='r_hash', full_name='lnrpc.AddInvoiceResponse.r_hash', 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, json_name='r_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='payment_request', full_name='lnrpc.AddInvoiceResponse.payment_request', 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='payment_request', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='add_index', full_name='lnrpc.AddInvoiceResponse.add_index', index=2, - number=16, 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='add_index', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=12482, - serialized_end=12598, -) - - -_PAYMENTHASH = _descriptor.Descriptor( - name='PaymentHash', - full_name='lnrpc.PaymentHash', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='r_hash_str', full_name='lnrpc.PaymentHash.r_hash_str', 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='r_hash_str', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='r_hash', full_name='lnrpc.PaymentHash.r_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, json_name='r_hash', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=12600, - serialized_end=12669, -) - - -_LISTINVOICEREQUEST = _descriptor.Descriptor( - name='ListInvoiceRequest', - full_name='lnrpc.ListInvoiceRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='pending_only', full_name='lnrpc.ListInvoiceRequest.pending_only', 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, json_name='pending_only', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='index_offset', full_name='lnrpc.ListInvoiceRequest.index_offset', index=1, - 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='index_offset', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_max_invoices', full_name='lnrpc.ListInvoiceRequest.num_max_invoices', index=2, - 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, json_name='num_max_invoices', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='reversed', full_name='lnrpc.ListInvoiceRequest.reversed', index=3, - number=6, 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='reversed', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=12672, - serialized_end=12836, -) - - -_LISTINVOICERESPONSE = _descriptor.Descriptor( - name='ListInvoiceResponse', - full_name='lnrpc.ListInvoiceResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='invoices', full_name='lnrpc.ListInvoiceResponse.invoices', 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='invoices', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='last_index_offset', full_name='lnrpc.ListInvoiceResponse.last_index_offset', 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='last_index_offset', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='first_index_offset', full_name='lnrpc.ListInvoiceResponse.first_index_offset', 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='first_index_offset', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=12839, - serialized_end=12998, -) - - -_INVOICESUBSCRIPTION = _descriptor.Descriptor( - name='InvoiceSubscription', - full_name='lnrpc.InvoiceSubscription', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='add_index', full_name='lnrpc.InvoiceSubscription.add_index', 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, json_name='add_index', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='settle_index', full_name='lnrpc.InvoiceSubscription.settle_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='settle_index', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13000, - serialized_end=13087, -) - - -_PAYMENT = _descriptor.Descriptor( - name='Payment', - full_name='lnrpc.Payment', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='payment_hash', full_name='lnrpc.Payment.payment_hash', 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='payment_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value', full_name='lnrpc.Payment.value', index=1, - number=2, 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=_b('\030\001'), json_name='value', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='creation_date', full_name='lnrpc.Payment.creation_date', index=2, - number=3, 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='creation_date', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='path', full_name='lnrpc.Payment.path', index=3, - number=4, type=9, 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, json_name='path', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee', full_name='lnrpc.Payment.fee', 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='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, - 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_preimage', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value_sat', full_name='lnrpc.Payment.value_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='value_sat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='value_msat', full_name='lnrpc.Payment.value_msat', index=7, - number=8, 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='value_msat', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13090, - serialized_end=13343, -) - - -_LISTPAYMENTSREQUEST = _descriptor.Descriptor( - name='ListPaymentsRequest', - full_name='lnrpc.ListPaymentsRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13345, - serialized_end=13366, -) - - -_LISTPAYMENTSRESPONSE = _descriptor.Descriptor( - name='ListPaymentsResponse', - full_name='lnrpc.ListPaymentsResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='payments', full_name='lnrpc.ListPaymentsResponse.payments', 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='payments', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13368, - serialized_end=13434, -) - - -_DELETEALLPAYMENTSREQUEST = _descriptor.Descriptor( - name='DeleteAllPaymentsRequest', - full_name='lnrpc.DeleteAllPaymentsRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13436, - serialized_end=13462, -) - - -_DELETEALLPAYMENTSRESPONSE = _descriptor.Descriptor( - name='DeleteAllPaymentsResponse', - full_name='lnrpc.DeleteAllPaymentsResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13464, - serialized_end=13491, -) - - -_ABANDONCHANNELREQUEST = _descriptor.Descriptor( - name='AbandonChannelRequest', - full_name='lnrpc.AbandonChannelRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel_point', full_name='lnrpc.AbandonChannelRequest.channel_point', index=0, - number=1, 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), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13493, - serialized_end=13560, -) - - -_ABANDONCHANNELRESPONSE = _descriptor.Descriptor( - name='AbandonChannelResponse', - full_name='lnrpc.AbandonChannelResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13562, - serialized_end=13586, -) - - -_DEBUGLEVELREQUEST = _descriptor.Descriptor( - name='DebugLevelRequest', - full_name='lnrpc.DebugLevelRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='show', full_name='lnrpc.DebugLevelRequest.show', 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='level_spec', full_name='lnrpc.DebugLevelRequest.level_spec', 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13588, - serialized_end=13641, -) - - -_DEBUGLEVELRESPONSE = _descriptor.Descriptor( - name='DebugLevelResponse', - full_name='lnrpc.DebugLevelResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='sub_systems', full_name='lnrpc.DebugLevelResponse.sub_systems', 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='sub_systems', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13643, - serialized_end=13697, -) - - -_PAYREQSTRING = _descriptor.Descriptor( - name='PayReqString', - full_name='lnrpc.PayReqString', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='pay_req', full_name='lnrpc.PayReqString.pay_req', 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, file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13699, - serialized_end=13730, -) - - -_PAYREQ = _descriptor.Descriptor( - name='PayReq', - full_name='lnrpc.PayReq', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='destination', full_name='lnrpc.PayReq.destination', 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='destination', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='payment_hash', full_name='lnrpc.PayReq.payment_hash', 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='payment_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_satoshis', full_name='lnrpc.PayReq.num_satoshis', index=2, - number=3, 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='num_satoshis', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='timestamp', full_name='lnrpc.PayReq.timestamp', index=3, - number=4, 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='timestamp', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='expiry', full_name='lnrpc.PayReq.expiry', 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='expiry', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='description', full_name='lnrpc.PayReq.description', index=5, - number=6, 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='description', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='description_hash', full_name='lnrpc.PayReq.description_hash', index=6, - number=7, 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='description_hash', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fallback_addr', full_name='lnrpc.PayReq.fallback_addr', index=7, - 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, json_name='fallback_addr', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='cltv_expiry', full_name='lnrpc.PayReq.cltv_expiry', index=8, - number=9, 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='cltv_expiry', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='route_hints', full_name='lnrpc.PayReq.route_hints', index=9, - 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, json_name='route_hints', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=13733, - serialized_end=14103, -) - - -_FEEREPORTREQUEST = _descriptor.Descriptor( - name='FeeReportRequest', - full_name='lnrpc.FeeReportRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=14105, - serialized_end=14123, -) - - -_CHANNELFEEREPORT = _descriptor.Descriptor( - name='ChannelFeeReport', - full_name='lnrpc.ChannelFeeReport', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='chan_point', full_name='lnrpc.ChannelFeeReport.chan_point', 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='channel_point', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='base_fee_msat', full_name='lnrpc.ChannelFeeReport.base_fee_msat', index=1, - number=2, 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='base_fee_msat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_per_mil', full_name='lnrpc.ChannelFeeReport.fee_per_mil', index=2, - number=3, 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_per_mil', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_rate', full_name='lnrpc.ChannelFeeReport.fee_rate', index=3, - number=4, 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='fee_rate', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=14126, - serialized_end=14279, -) - - -_FEEREPORTRESPONSE = _descriptor.Descriptor( - name='FeeReportResponse', - full_name='lnrpc.FeeReportResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='channel_fees', full_name='lnrpc.FeeReportResponse.channel_fees', 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='channel_fees', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='day_fee_sum', full_name='lnrpc.FeeReportResponse.day_fee_sum', 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='day_fee_sum', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='week_fee_sum', full_name='lnrpc.FeeReportResponse.week_fee_sum', 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='week_fee_sum', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='month_fee_sum', full_name='lnrpc.FeeReportResponse.month_fee_sum', 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, json_name='month_fee_sum', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=14282, - serialized_end=14470, -) - - -_POLICYUPDATEREQUEST = _descriptor.Descriptor( - name='PolicyUpdateRequest', - full_name='lnrpc.PolicyUpdateRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='global', full_name='lnrpc.PolicyUpdateRequest.global', 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, json_name='global', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chan_point', full_name='lnrpc.PolicyUpdateRequest.chan_point', index=1, - number=2, 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, json_name='chan_point', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='base_fee_msat', full_name='lnrpc.PolicyUpdateRequest.base_fee_msat', index=2, - number=3, 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='base_fee_msat', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee_rate', full_name='lnrpc.PolicyUpdateRequest.fee_rate', index=3, - number=4, 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='fee_rate', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='time_lock_delta', full_name='lnrpc.PolicyUpdateRequest.time_lock_delta', index=4, - number=5, 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='time_lock_delta', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - _descriptor.OneofDescriptor( - name='scope', full_name='lnrpc.PolicyUpdateRequest.scope', - index=0, containing_type=None, fields=[]), - ], - serialized_start=14473, - serialized_end=14692, -) - - -_POLICYUPDATERESPONSE = _descriptor.Descriptor( - name='PolicyUpdateResponse', - full_name='lnrpc.PolicyUpdateResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=14694, - serialized_end=14716, -) - - -_FORWARDINGHISTORYREQUEST = _descriptor.Descriptor( - name='ForwardingHistoryRequest', - full_name='lnrpc.ForwardingHistoryRequest', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='start_time', full_name='lnrpc.ForwardingHistoryRequest.start_time', 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, json_name='start_time', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='end_time', full_name='lnrpc.ForwardingHistoryRequest.end_time', 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='end_time', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='index_offset', full_name='lnrpc.ForwardingHistoryRequest.index_offset', index=2, - number=3, 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='index_offset', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='num_max_events', full_name='lnrpc.ForwardingHistoryRequest.num_max_events', index=3, - number=4, 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='num_max_events', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=14719, - serialized_end=14881, -) - - -_FORWARDINGEVENT = _descriptor.Descriptor( - name='ForwardingEvent', - full_name='lnrpc.ForwardingEvent', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='timestamp', full_name='lnrpc.ForwardingEvent.timestamp', 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, json_name='timestamp', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='chan_id_in', full_name='lnrpc.ForwardingEvent.chan_id_in', 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='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), - _descriptor.FieldDescriptor( - name='amt_in', full_name='lnrpc.ForwardingEvent.amt_in', index=3, - 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, json_name='amt_in', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='amt_out', full_name='lnrpc.ForwardingEvent.amt_out', index=4, - 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='amt_out', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='fee', full_name='lnrpc.ForwardingEvent.fee', index=5, - 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, json_name='fee', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=14884, - serialized_end=15065, -) - - -_FORWARDINGHISTORYRESPONSE = _descriptor.Descriptor( - name='ForwardingHistoryResponse', - full_name='lnrpc.ForwardingHistoryResponse', - filename=None, - file=DESCRIPTOR, - containing_type=None, - fields=[ - _descriptor.FieldDescriptor( - name='forwarding_events', full_name='lnrpc.ForwardingHistoryResponse.forwarding_events', 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='forwarding_events', file=DESCRIPTOR), - _descriptor.FieldDescriptor( - name='last_offset_index', full_name='lnrpc.ForwardingHistoryResponse.last_offset_index', index=1, - number=2, 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_offset_index', file=DESCRIPTOR), - ], - extensions=[ - ], - nested_types=[], - enum_types=[ - ], - serialized_options=None, - is_extendable=False, - syntax='proto3', - extension_ranges=[], - oneofs=[ - ], - serialized_start=15068, - serialized_end=15211, -) - -_TRANSACTIONDETAILS.fields_by_name['transactions'].message_type = _TRANSACTION -_FEELIMIT.oneofs_by_name['limit'].fields.append( - _FEELIMIT.fields_by_name['fixed']) -_FEELIMIT.fields_by_name['fixed'].containing_oneof = _FEELIMIT.oneofs_by_name['limit'] -_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.fields_by_name['fee_limit'].message_type = _FEELIMIT -_SENDRESPONSE.fields_by_name['payment_route'].message_type = _ROUTE -_SENDTOROUTEREQUEST.fields_by_name['routes'].message_type = _ROUTE -_CHANNELPOINT.oneofs_by_name['funding_txid'].fields.append( - _CHANNELPOINT.fields_by_name['funding_txid_bytes']) -_CHANNELPOINT.fields_by_name['funding_txid_bytes'].containing_oneof = _CHANNELPOINT.oneofs_by_name['funding_txid'] -_CHANNELPOINT.oneofs_by_name['funding_txid'].fields.append( - _CHANNELPOINT.fields_by_name['funding_txid_str']) -_CHANNELPOINT.fields_by_name['funding_txid_str'].containing_oneof = _CHANNELPOINT.oneofs_by_name['funding_txid'] -_SENDMANYREQUEST_ADDRTOAMOUNTENTRY.containing_type = _SENDMANYREQUEST -_SENDMANYREQUEST.fields_by_name['AddrToAmount'].message_type = _SENDMANYREQUEST_ADDRTOAMOUNTENTRY -_NEWADDRESSREQUEST.fields_by_name['type'].enum_type = _NEWADDRESSREQUEST_ADDRESSTYPE -_NEWADDRESSREQUEST_ADDRESSTYPE.containing_type = _NEWADDRESSREQUEST -_CONNECTPEERREQUEST.fields_by_name['addr'].message_type = _LIGHTNINGADDRESS -_CHANNEL.fields_by_name['pending_htlcs'].message_type = _HTLC -_LISTCHANNELSRESPONSE.fields_by_name['channels'].message_type = _CHANNEL -_CHANNELCLOSESUMMARY.fields_by_name['close_type'].enum_type = _CHANNELCLOSESUMMARY_CLOSURETYPE -_CHANNELCLOSESUMMARY_CLOSURETYPE.containing_type = _CHANNELCLOSESUMMARY -_CLOSEDCHANNELSRESPONSE.fields_by_name['channels'].message_type = _CHANNELCLOSESUMMARY -_LISTPEERSRESPONSE.fields_by_name['peers'].message_type = _PEER -_CHANNELOPENUPDATE.fields_by_name['channel_point'].message_type = _CHANNELPOINT -_CLOSECHANNELREQUEST.fields_by_name['channel_point'].message_type = _CHANNELPOINT -_CLOSESTATUSUPDATE.fields_by_name['close_pending'].message_type = _PENDINGUPDATE -_CLOSESTATUSUPDATE.fields_by_name['confirmation'].message_type = _CONFIRMATIONUPDATE -_CLOSESTATUSUPDATE.fields_by_name['chan_close'].message_type = _CHANNELCLOSEUPDATE -_CLOSESTATUSUPDATE.oneofs_by_name['update'].fields.append( - _CLOSESTATUSUPDATE.fields_by_name['close_pending']) -_CLOSESTATUSUPDATE.fields_by_name['close_pending'].containing_oneof = _CLOSESTATUSUPDATE.oneofs_by_name['update'] -_CLOSESTATUSUPDATE.oneofs_by_name['update'].fields.append( - _CLOSESTATUSUPDATE.fields_by_name['confirmation']) -_CLOSESTATUSUPDATE.fields_by_name['confirmation'].containing_oneof = _CLOSESTATUSUPDATE.oneofs_by_name['update'] -_CLOSESTATUSUPDATE.oneofs_by_name['update'].fields.append( - _CLOSESTATUSUPDATE.fields_by_name['chan_close']) -_CLOSESTATUSUPDATE.fields_by_name['chan_close'].containing_oneof = _CLOSESTATUSUPDATE.oneofs_by_name['update'] -_OPENSTATUSUPDATE.fields_by_name['chan_pending'].message_type = _PENDINGUPDATE -_OPENSTATUSUPDATE.fields_by_name['confirmation'].message_type = _CONFIRMATIONUPDATE -_OPENSTATUSUPDATE.fields_by_name['chan_open'].message_type = _CHANNELOPENUPDATE -_OPENSTATUSUPDATE.oneofs_by_name['update'].fields.append( - _OPENSTATUSUPDATE.fields_by_name['chan_pending']) -_OPENSTATUSUPDATE.fields_by_name['chan_pending'].containing_oneof = _OPENSTATUSUPDATE.oneofs_by_name['update'] -_OPENSTATUSUPDATE.oneofs_by_name['update'].fields.append( - _OPENSTATUSUPDATE.fields_by_name['confirmation']) -_OPENSTATUSUPDATE.fields_by_name['confirmation'].containing_oneof = _OPENSTATUSUPDATE.oneofs_by_name['update'] -_OPENSTATUSUPDATE.oneofs_by_name['update'].fields.append( - _OPENSTATUSUPDATE.fields_by_name['chan_open']) -_OPENSTATUSUPDATE.fields_by_name['chan_open'].containing_oneof = _OPENSTATUSUPDATE.oneofs_by_name['update'] -_PENDINGCHANNELSRESPONSE_PENDINGCHANNEL.containing_type = _PENDINGCHANNELSRESPONSE -_PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL.fields_by_name['channel'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL -_PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL.containing_type = _PENDINGCHANNELSRESPONSE -_PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL.fields_by_name['channel'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL -_PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL.containing_type = _PENDINGCHANNELSRESPONSE -_PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL.fields_by_name['channel'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL -_PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL.containing_type = _PENDINGCHANNELSRESPONSE -_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL.fields_by_name['channel'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL -_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL.fields_by_name['pending_htlcs'].message_type = _PENDINGHTLC -_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL.containing_type = _PENDINGCHANNELSRESPONSE -_PENDINGCHANNELSRESPONSE.fields_by_name['pending_open_channels'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL -_PENDINGCHANNELSRESPONSE.fields_by_name['pending_closing_channels'].message_type = _PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL -_PENDINGCHANNELSRESPONSE.fields_by_name['pending_force_closing_channels'].message_type = _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL -_PENDINGCHANNELSRESPONSE.fields_by_name['waiting_close_channels'].message_type = _PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL -_QUERYROUTESREQUEST.fields_by_name['fee_limit'].message_type = _FEELIMIT -_QUERYROUTESRESPONSE.fields_by_name['routes'].message_type = _ROUTE -_ROUTE.fields_by_name['hops'].message_type = _HOP -_NODEINFO.fields_by_name['node'].message_type = _LIGHTNINGNODE -_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 -_CHANNELGRAPH.fields_by_name['nodes'].message_type = _LIGHTNINGNODE -_CHANNELGRAPH.fields_by_name['edges'].message_type = _CHANNELEDGE -_GRAPHTOPOLOGYUPDATE.fields_by_name['node_updates'].message_type = _NODEUPDATE -_GRAPHTOPOLOGYUPDATE.fields_by_name['channel_updates'].message_type = _CHANNELEDGEUPDATE -_GRAPHTOPOLOGYUPDATE.fields_by_name['closed_chans'].message_type = _CLOSEDCHANNELUPDATE -_CHANNELEDGEUPDATE.fields_by_name['chan_point'].message_type = _CHANNELPOINT -_CHANNELEDGEUPDATE.fields_by_name['routing_policy'].message_type = _ROUTINGPOLICY -_CLOSEDCHANNELUPDATE.fields_by_name['chan_point'].message_type = _CHANNELPOINT -_ROUTEHINT.fields_by_name['hop_hints'].message_type = _HOPHINT -_INVOICE.fields_by_name['route_hints'].message_type = _ROUTEHINT -_LISTINVOICERESPONSE.fields_by_name['invoices'].message_type = _INVOICE -_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 -_FEEREPORTRESPONSE.fields_by_name['channel_fees'].message_type = _CHANNELFEEREPORT -_POLICYUPDATEREQUEST.fields_by_name['chan_point'].message_type = _CHANNELPOINT -_POLICYUPDATEREQUEST.oneofs_by_name['scope'].fields.append( - _POLICYUPDATEREQUEST.fields_by_name['global']) -_POLICYUPDATEREQUEST.fields_by_name['global'].containing_oneof = _POLICYUPDATEREQUEST.oneofs_by_name['scope'] -_POLICYUPDATEREQUEST.oneofs_by_name['scope'].fields.append( - _POLICYUPDATEREQUEST.fields_by_name['chan_point']) -_POLICYUPDATEREQUEST.fields_by_name['chan_point'].containing_oneof = _POLICYUPDATEREQUEST.oneofs_by_name['scope'] -_FORWARDINGHISTORYRESPONSE.fields_by_name['forwarding_events'].message_type = _FORWARDINGEVENT -DESCRIPTOR.message_types_by_name['GenSeedRequest'] = _GENSEEDREQUEST -DESCRIPTOR.message_types_by_name['GenSeedResponse'] = _GENSEEDRESPONSE -DESCRIPTOR.message_types_by_name['InitWalletRequest'] = _INITWALLETREQUEST -DESCRIPTOR.message_types_by_name['InitWalletResponse'] = _INITWALLETRESPONSE -DESCRIPTOR.message_types_by_name['UnlockWalletRequest'] = _UNLOCKWALLETREQUEST -DESCRIPTOR.message_types_by_name['UnlockWalletResponse'] = _UNLOCKWALLETRESPONSE -DESCRIPTOR.message_types_by_name['ChangePasswordRequest'] = _CHANGEPASSWORDREQUEST -DESCRIPTOR.message_types_by_name['ChangePasswordResponse'] = _CHANGEPASSWORDRESPONSE -DESCRIPTOR.message_types_by_name['Transaction'] = _TRANSACTION -DESCRIPTOR.message_types_by_name['GetTransactionsRequest'] = _GETTRANSACTIONSREQUEST -DESCRIPTOR.message_types_by_name['TransactionDetails'] = _TRANSACTIONDETAILS -DESCRIPTOR.message_types_by_name['FeeLimit'] = _FEELIMIT -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['ChannelPoint'] = _CHANNELPOINT -DESCRIPTOR.message_types_by_name['LightningAddress'] = _LIGHTNINGADDRESS -DESCRIPTOR.message_types_by_name['SendManyRequest'] = _SENDMANYREQUEST -DESCRIPTOR.message_types_by_name['SendManyResponse'] = _SENDMANYRESPONSE -DESCRIPTOR.message_types_by_name['SendCoinsRequest'] = _SENDCOINSREQUEST -DESCRIPTOR.message_types_by_name['SendCoinsResponse'] = _SENDCOINSRESPONSE -DESCRIPTOR.message_types_by_name['NewAddressRequest'] = _NEWADDRESSREQUEST -DESCRIPTOR.message_types_by_name['NewAddressResponse'] = _NEWADDRESSRESPONSE -DESCRIPTOR.message_types_by_name['SignMessageRequest'] = _SIGNMESSAGEREQUEST -DESCRIPTOR.message_types_by_name['SignMessageResponse'] = _SIGNMESSAGERESPONSE -DESCRIPTOR.message_types_by_name['VerifyMessageRequest'] = _VERIFYMESSAGEREQUEST -DESCRIPTOR.message_types_by_name['VerifyMessageResponse'] = _VERIFYMESSAGERESPONSE -DESCRIPTOR.message_types_by_name['ConnectPeerRequest'] = _CONNECTPEERREQUEST -DESCRIPTOR.message_types_by_name['ConnectPeerResponse'] = _CONNECTPEERRESPONSE -DESCRIPTOR.message_types_by_name['DisconnectPeerRequest'] = _DISCONNECTPEERREQUEST -DESCRIPTOR.message_types_by_name['DisconnectPeerResponse'] = _DISCONNECTPEERRESPONSE -DESCRIPTOR.message_types_by_name['HTLC'] = _HTLC -DESCRIPTOR.message_types_by_name['Channel'] = _CHANNEL -DESCRIPTOR.message_types_by_name['ListChannelsRequest'] = _LISTCHANNELSREQUEST -DESCRIPTOR.message_types_by_name['ListChannelsResponse'] = _LISTCHANNELSRESPONSE -DESCRIPTOR.message_types_by_name['ChannelCloseSummary'] = _CHANNELCLOSESUMMARY -DESCRIPTOR.message_types_by_name['ClosedChannelsRequest'] = _CLOSEDCHANNELSREQUEST -DESCRIPTOR.message_types_by_name['ClosedChannelsResponse'] = _CLOSEDCHANNELSRESPONSE -DESCRIPTOR.message_types_by_name['Peer'] = _PEER -DESCRIPTOR.message_types_by_name['ListPeersRequest'] = _LISTPEERSREQUEST -DESCRIPTOR.message_types_by_name['ListPeersResponse'] = _LISTPEERSRESPONSE -DESCRIPTOR.message_types_by_name['GetInfoRequest'] = _GETINFOREQUEST -DESCRIPTOR.message_types_by_name['GetInfoResponse'] = _GETINFORESPONSE -DESCRIPTOR.message_types_by_name['ConfirmationUpdate'] = _CONFIRMATIONUPDATE -DESCRIPTOR.message_types_by_name['ChannelOpenUpdate'] = _CHANNELOPENUPDATE -DESCRIPTOR.message_types_by_name['ChannelCloseUpdate'] = _CHANNELCLOSEUPDATE -DESCRIPTOR.message_types_by_name['CloseChannelRequest'] = _CLOSECHANNELREQUEST -DESCRIPTOR.message_types_by_name['CloseStatusUpdate'] = _CLOSESTATUSUPDATE -DESCRIPTOR.message_types_by_name['PendingUpdate'] = _PENDINGUPDATE -DESCRIPTOR.message_types_by_name['OpenChannelRequest'] = _OPENCHANNELREQUEST -DESCRIPTOR.message_types_by_name['OpenStatusUpdate'] = _OPENSTATUSUPDATE -DESCRIPTOR.message_types_by_name['PendingHTLC'] = _PENDINGHTLC -DESCRIPTOR.message_types_by_name['PendingChannelsRequest'] = _PENDINGCHANNELSREQUEST -DESCRIPTOR.message_types_by_name['PendingChannelsResponse'] = _PENDINGCHANNELSRESPONSE -DESCRIPTOR.message_types_by_name['WalletBalanceRequest'] = _WALLETBALANCEREQUEST -DESCRIPTOR.message_types_by_name['WalletBalanceResponse'] = _WALLETBALANCERESPONSE -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['QueryRoutesResponse'] = _QUERYROUTESRESPONSE -DESCRIPTOR.message_types_by_name['Hop'] = _HOP -DESCRIPTOR.message_types_by_name['Route'] = _ROUTE -DESCRIPTOR.message_types_by_name['NodeInfoRequest'] = _NODEINFOREQUEST -DESCRIPTOR.message_types_by_name['NodeInfo'] = _NODEINFO -DESCRIPTOR.message_types_by_name['LightningNode'] = _LIGHTNINGNODE -DESCRIPTOR.message_types_by_name['NodeAddress'] = _NODEADDRESS -DESCRIPTOR.message_types_by_name['RoutingPolicy'] = _ROUTINGPOLICY -DESCRIPTOR.message_types_by_name['ChannelEdge'] = _CHANNELEDGE -DESCRIPTOR.message_types_by_name['ChannelGraphRequest'] = _CHANNELGRAPHREQUEST -DESCRIPTOR.message_types_by_name['ChannelGraph'] = _CHANNELGRAPH -DESCRIPTOR.message_types_by_name['ChanInfoRequest'] = _CHANINFOREQUEST -DESCRIPTOR.message_types_by_name['NetworkInfoRequest'] = _NETWORKINFOREQUEST -DESCRIPTOR.message_types_by_name['NetworkInfo'] = _NETWORKINFO -DESCRIPTOR.message_types_by_name['StopRequest'] = _STOPREQUEST -DESCRIPTOR.message_types_by_name['StopResponse'] = _STOPRESPONSE -DESCRIPTOR.message_types_by_name['GraphTopologySubscription'] = _GRAPHTOPOLOGYSUBSCRIPTION -DESCRIPTOR.message_types_by_name['GraphTopologyUpdate'] = _GRAPHTOPOLOGYUPDATE -DESCRIPTOR.message_types_by_name['NodeUpdate'] = _NODEUPDATE -DESCRIPTOR.message_types_by_name['ChannelEdgeUpdate'] = _CHANNELEDGEUPDATE -DESCRIPTOR.message_types_by_name['ClosedChannelUpdate'] = _CLOSEDCHANNELUPDATE -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['AddInvoiceResponse'] = _ADDINVOICERESPONSE -DESCRIPTOR.message_types_by_name['PaymentHash'] = _PAYMENTHASH -DESCRIPTOR.message_types_by_name['ListInvoiceRequest'] = _LISTINVOICEREQUEST -DESCRIPTOR.message_types_by_name['ListInvoiceResponse'] = _LISTINVOICERESPONSE -DESCRIPTOR.message_types_by_name['InvoiceSubscription'] = _INVOICESUBSCRIPTION -DESCRIPTOR.message_types_by_name['Payment'] = _PAYMENT -DESCRIPTOR.message_types_by_name['ListPaymentsRequest'] = _LISTPAYMENTSREQUEST -DESCRIPTOR.message_types_by_name['ListPaymentsResponse'] = _LISTPAYMENTSRESPONSE -DESCRIPTOR.message_types_by_name['DeleteAllPaymentsRequest'] = _DELETEALLPAYMENTSREQUEST -DESCRIPTOR.message_types_by_name['DeleteAllPaymentsResponse'] = _DELETEALLPAYMENTSRESPONSE -DESCRIPTOR.message_types_by_name['AbandonChannelRequest'] = _ABANDONCHANNELREQUEST -DESCRIPTOR.message_types_by_name['AbandonChannelResponse'] = _ABANDONCHANNELRESPONSE -DESCRIPTOR.message_types_by_name['DebugLevelRequest'] = _DEBUGLEVELREQUEST -DESCRIPTOR.message_types_by_name['DebugLevelResponse'] = _DEBUGLEVELRESPONSE -DESCRIPTOR.message_types_by_name['PayReqString'] = _PAYREQSTRING -DESCRIPTOR.message_types_by_name['PayReq'] = _PAYREQ -DESCRIPTOR.message_types_by_name['FeeReportRequest'] = _FEEREPORTREQUEST -DESCRIPTOR.message_types_by_name['ChannelFeeReport'] = _CHANNELFEEREPORT -DESCRIPTOR.message_types_by_name['FeeReportResponse'] = _FEEREPORTRESPONSE -DESCRIPTOR.message_types_by_name['PolicyUpdateRequest'] = _POLICYUPDATEREQUEST -DESCRIPTOR.message_types_by_name['PolicyUpdateResponse'] = _POLICYUPDATERESPONSE -DESCRIPTOR.message_types_by_name['ForwardingHistoryRequest'] = _FORWARDINGHISTORYREQUEST -DESCRIPTOR.message_types_by_name['ForwardingEvent'] = _FORWARDINGEVENT -DESCRIPTOR.message_types_by_name['ForwardingHistoryResponse'] = _FORWARDINGHISTORYRESPONSE -_sym_db.RegisterFileDescriptor(DESCRIPTOR) - -GenSeedRequest = _reflection.GeneratedProtocolMessageType('GenSeedRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.GenSeedResponse) - )) -_sym_db.RegisterMessage(GenSeedResponse) - -InitWalletRequest = _reflection.GeneratedProtocolMessageType('InitWalletRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.InitWalletResponse) - )) -_sym_db.RegisterMessage(InitWalletResponse) - -UnlockWalletRequest = _reflection.GeneratedProtocolMessageType('UnlockWalletRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.UnlockWalletResponse) - )) -_sym_db.RegisterMessage(UnlockWalletResponse) - -ChangePasswordRequest = _reflection.GeneratedProtocolMessageType('ChangePasswordRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ChangePasswordResponse) - )) -_sym_db.RegisterMessage(ChangePasswordResponse) - -Transaction = _reflection.GeneratedProtocolMessageType('Transaction', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.GetTransactionsRequest) - )) -_sym_db.RegisterMessage(GetTransactionsRequest) - -TransactionDetails = _reflection.GeneratedProtocolMessageType('TransactionDetails', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.FeeLimit) - )) -_sym_db.RegisterMessage(FeeLimit) - -SendRequest = _reflection.GeneratedProtocolMessageType('SendRequest', (_message.Message,), dict( - DESCRIPTOR = _SENDREQUEST, - __module__ = 'rpc_pb2' - # @@protoc_insertion_point(class_scope:lnrpc.SendRequest) - )) -_sym_db.RegisterMessage(SendRequest) - -SendResponse = _reflection.GeneratedProtocolMessageType('SendResponse', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.SendToRouteRequest) - )) -_sym_db.RegisterMessage(SendToRouteRequest) - -ChannelPoint = _reflection.GeneratedProtocolMessageType('ChannelPoint', (_message.Message,), dict( - DESCRIPTOR = _CHANNELPOINT, - __module__ = 'rpc_pb2' - # @@protoc_insertion_point(class_scope:lnrpc.ChannelPoint) - )) -_sym_db.RegisterMessage(ChannelPoint) - -LightningAddress = _reflection.GeneratedProtocolMessageType('LightningAddress', (_message.Message,), dict( - DESCRIPTOR = _LIGHTNINGADDRESS, - __module__ = 'rpc_pb2' - # @@protoc_insertion_point(class_scope:lnrpc.LightningAddress) - )) -_sym_db.RegisterMessage(LightningAddress) - -SendManyRequest = _reflection.GeneratedProtocolMessageType('SendManyRequest', (_message.Message,), dict( - - AddrToAmountEntry = _reflection.GeneratedProtocolMessageType('AddrToAmountEntry', (_message.Message,), dict( - DESCRIPTOR = _SENDMANYREQUEST_ADDRTOAMOUNTENTRY, - __module__ = 'rpc_pb2' - # @@protoc_insertion_point(class_scope:lnrpc.SendManyRequest.AddrToAmountEntry) - )) - , - 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' - # @@protoc_insertion_point(class_scope:lnrpc.SendManyResponse) - )) -_sym_db.RegisterMessage(SendManyResponse) - -SendCoinsRequest = _reflection.GeneratedProtocolMessageType('SendCoinsRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.SendCoinsResponse) - )) -_sym_db.RegisterMessage(SendCoinsResponse) - -NewAddressRequest = _reflection.GeneratedProtocolMessageType('NewAddressRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.NewAddressResponse) - )) -_sym_db.RegisterMessage(NewAddressResponse) - -SignMessageRequest = _reflection.GeneratedProtocolMessageType('SignMessageRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.SignMessageResponse) - )) -_sym_db.RegisterMessage(SignMessageResponse) - -VerifyMessageRequest = _reflection.GeneratedProtocolMessageType('VerifyMessageRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.VerifyMessageResponse) - )) -_sym_db.RegisterMessage(VerifyMessageResponse) - -ConnectPeerRequest = _reflection.GeneratedProtocolMessageType('ConnectPeerRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ConnectPeerResponse) - )) -_sym_db.RegisterMessage(ConnectPeerResponse) - -DisconnectPeerRequest = _reflection.GeneratedProtocolMessageType('DisconnectPeerRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.DisconnectPeerResponse) - )) -_sym_db.RegisterMessage(DisconnectPeerResponse) - -HTLC = _reflection.GeneratedProtocolMessageType('HTLC', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.Channel) - )) -_sym_db.RegisterMessage(Channel) - -ListChannelsRequest = _reflection.GeneratedProtocolMessageType('ListChannelsRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ListChannelsResponse) - )) -_sym_db.RegisterMessage(ListChannelsResponse) - -ChannelCloseSummary = _reflection.GeneratedProtocolMessageType('ChannelCloseSummary', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ClosedChannelsRequest) - )) -_sym_db.RegisterMessage(ClosedChannelsRequest) - -ClosedChannelsResponse = _reflection.GeneratedProtocolMessageType('ClosedChannelsResponse', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.Peer) - )) -_sym_db.RegisterMessage(Peer) - -ListPeersRequest = _reflection.GeneratedProtocolMessageType('ListPeersRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ListPeersResponse) - )) -_sym_db.RegisterMessage(ListPeersResponse) - -GetInfoRequest = _reflection.GeneratedProtocolMessageType('GetInfoRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.GetInfoResponse) - )) -_sym_db.RegisterMessage(GetInfoResponse) - -ConfirmationUpdate = _reflection.GeneratedProtocolMessageType('ConfirmationUpdate', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ChannelOpenUpdate) - )) -_sym_db.RegisterMessage(ChannelOpenUpdate) - -ChannelCloseUpdate = _reflection.GeneratedProtocolMessageType('ChannelCloseUpdate', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.CloseChannelRequest) - )) -_sym_db.RegisterMessage(CloseChannelRequest) - -CloseStatusUpdate = _reflection.GeneratedProtocolMessageType('CloseStatusUpdate', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.PendingUpdate) - )) -_sym_db.RegisterMessage(PendingUpdate) - -OpenChannelRequest = _reflection.GeneratedProtocolMessageType('OpenChannelRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.OpenStatusUpdate) - )) -_sym_db.RegisterMessage(OpenStatusUpdate) - -PendingHTLC = _reflection.GeneratedProtocolMessageType('PendingHTLC', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsRequest) - )) -_sym_db.RegisterMessage(PendingChannelsRequest) - -PendingChannelsResponse = _reflection.GeneratedProtocolMessageType('PendingChannelsResponse', (_message.Message,), dict( - - PendingChannel = _reflection.GeneratedProtocolMessageType('PendingChannel', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.PendingOpenChannel) - )) - , - - WaitingCloseChannel = _reflection.GeneratedProtocolMessageType('WaitingCloseChannel', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.ClosedChannel) - )) - , - - ForceClosedChannel = _reflection.GeneratedProtocolMessageType('ForceClosedChannel', (_message.Message,), dict( - DESCRIPTOR = _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL, - __module__ = 'rpc_pb2' - # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.ForceClosedChannel) - )) - , - 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) -_sym_db.RegisterMessage(PendingChannelsResponse.WaitingCloseChannel) -_sym_db.RegisterMessage(PendingChannelsResponse.ClosedChannel) -_sym_db.RegisterMessage(PendingChannelsResponse.ForceClosedChannel) - -WalletBalanceRequest = _reflection.GeneratedProtocolMessageType('WalletBalanceRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.WalletBalanceResponse) - )) -_sym_db.RegisterMessage(WalletBalanceResponse) - -ChannelBalanceRequest = _reflection.GeneratedProtocolMessageType('ChannelBalanceRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ChannelBalanceResponse) - )) -_sym_db.RegisterMessage(ChannelBalanceResponse) - -QueryRoutesRequest = _reflection.GeneratedProtocolMessageType('QueryRoutesRequest', (_message.Message,), dict( - DESCRIPTOR = _QUERYROUTESREQUEST, - __module__ = 'rpc_pb2' - # @@protoc_insertion_point(class_scope:lnrpc.QueryRoutesRequest) - )) -_sym_db.RegisterMessage(QueryRoutesRequest) - -QueryRoutesResponse = _reflection.GeneratedProtocolMessageType('QueryRoutesResponse', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.Hop) - )) -_sym_db.RegisterMessage(Hop) - -Route = _reflection.GeneratedProtocolMessageType('Route', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.NodeInfoRequest) - )) -_sym_db.RegisterMessage(NodeInfoRequest) - -NodeInfo = _reflection.GeneratedProtocolMessageType('NodeInfo', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.LightningNode) - )) -_sym_db.RegisterMessage(LightningNode) - -NodeAddress = _reflection.GeneratedProtocolMessageType('NodeAddress', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.RoutingPolicy) - )) -_sym_db.RegisterMessage(RoutingPolicy) - -ChannelEdge = _reflection.GeneratedProtocolMessageType('ChannelEdge', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ChannelGraphRequest) - )) -_sym_db.RegisterMessage(ChannelGraphRequest) - -ChannelGraph = _reflection.GeneratedProtocolMessageType('ChannelGraph', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ChanInfoRequest) - )) -_sym_db.RegisterMessage(ChanInfoRequest) - -NetworkInfoRequest = _reflection.GeneratedProtocolMessageType('NetworkInfoRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.NetworkInfo) - )) -_sym_db.RegisterMessage(NetworkInfo) - -StopRequest = _reflection.GeneratedProtocolMessageType('StopRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.StopResponse) - )) -_sym_db.RegisterMessage(StopResponse) - -GraphTopologySubscription = _reflection.GeneratedProtocolMessageType('GraphTopologySubscription', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.GraphTopologyUpdate) - )) -_sym_db.RegisterMessage(GraphTopologyUpdate) - -NodeUpdate = _reflection.GeneratedProtocolMessageType('NodeUpdate', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ChannelEdgeUpdate) - )) -_sym_db.RegisterMessage(ChannelEdgeUpdate) - -ClosedChannelUpdate = _reflection.GeneratedProtocolMessageType('ClosedChannelUpdate', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.HopHint) - )) -_sym_db.RegisterMessage(HopHint) - -RouteHint = _reflection.GeneratedProtocolMessageType('RouteHint', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.Invoice) - )) -_sym_db.RegisterMessage(Invoice) - -AddInvoiceResponse = _reflection.GeneratedProtocolMessageType('AddInvoiceResponse', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.PaymentHash) - )) -_sym_db.RegisterMessage(PaymentHash) - -ListInvoiceRequest = _reflection.GeneratedProtocolMessageType('ListInvoiceRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ListInvoiceResponse) - )) -_sym_db.RegisterMessage(ListInvoiceResponse) - -InvoiceSubscription = _reflection.GeneratedProtocolMessageType('InvoiceSubscription', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.Payment) - )) -_sym_db.RegisterMessage(Payment) - -ListPaymentsRequest = _reflection.GeneratedProtocolMessageType('ListPaymentsRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ListPaymentsResponse) - )) -_sym_db.RegisterMessage(ListPaymentsResponse) - -DeleteAllPaymentsRequest = _reflection.GeneratedProtocolMessageType('DeleteAllPaymentsRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.DeleteAllPaymentsResponse) - )) -_sym_db.RegisterMessage(DeleteAllPaymentsResponse) - -AbandonChannelRequest = _reflection.GeneratedProtocolMessageType('AbandonChannelRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.AbandonChannelResponse) - )) -_sym_db.RegisterMessage(AbandonChannelResponse) - -DebugLevelRequest = _reflection.GeneratedProtocolMessageType('DebugLevelRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.DebugLevelResponse) - )) -_sym_db.RegisterMessage(DebugLevelResponse) - -PayReqString = _reflection.GeneratedProtocolMessageType('PayReqString', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.PayReq) - )) -_sym_db.RegisterMessage(PayReq) - -FeeReportRequest = _reflection.GeneratedProtocolMessageType('FeeReportRequest', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ChannelFeeReport) - )) -_sym_db.RegisterMessage(ChannelFeeReport) - -FeeReportResponse = _reflection.GeneratedProtocolMessageType('FeeReportResponse', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.PolicyUpdateRequest) - )) -_sym_db.RegisterMessage(PolicyUpdateRequest) - -PolicyUpdateResponse = _reflection.GeneratedProtocolMessageType('PolicyUpdateResponse', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ForwardingHistoryRequest) - )) -_sym_db.RegisterMessage(ForwardingHistoryRequest) - -ForwardingEvent = _reflection.GeneratedProtocolMessageType('ForwardingEvent', (_message.Message,), dict( - 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' - # @@protoc_insertion_point(class_scope:lnrpc.ForwardingHistoryResponse) - )) -_sym_db.RegisterMessage(ForwardingHistoryResponse) - - -_SENDMANYREQUEST_ADDRTOAMOUNTENTRY._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 -_INVOICE.fields_by_name['amt_paid']._options = None -_PAYMENT.fields_by_name['value']._options = None - -_WALLETUNLOCKER = _descriptor.ServiceDescriptor( - name='WalletUnlocker', - full_name='lnrpc.WalletUnlocker', - file=DESCRIPTOR, - index=0, - serialized_options=None, - serialized_start=15214, - serialized_end=15615, - methods=[ - _descriptor.MethodDescriptor( - name='GenSeed', - full_name='lnrpc.WalletUnlocker.GenSeed', - index=0, - containing_service=None, - input_type=_GENSEEDREQUEST, - output_type=_GENSEEDRESPONSE, - serialized_options=_b('\202\323\344\223\002\r\022\013/v1/genseed'), - ), - _descriptor.MethodDescriptor( - name='InitWallet', - full_name='lnrpc.WalletUnlocker.InitWallet', - index=1, - containing_service=None, - input_type=_INITWALLETREQUEST, - output_type=_INITWALLETRESPONSE, - serialized_options=_b('\202\323\344\223\002\023\"\016/v1/initwallet:\001*'), - ), - _descriptor.MethodDescriptor( - name='UnlockWallet', - full_name='lnrpc.WalletUnlocker.UnlockWallet', - index=2, - containing_service=None, - input_type=_UNLOCKWALLETREQUEST, - output_type=_UNLOCKWALLETRESPONSE, - serialized_options=_b('\202\323\344\223\002\025\"\020/v1/unlockwallet:\001*'), - ), - _descriptor.MethodDescriptor( - name='ChangePassword', - full_name='lnrpc.WalletUnlocker.ChangePassword', - index=3, - containing_service=None, - input_type=_CHANGEPASSWORDREQUEST, - output_type=_CHANGEPASSWORDRESPONSE, - serialized_options=_b('\202\323\344\223\002\027\"\022/v1/changepassword:\001*'), - ), -]) -_sym_db.RegisterServiceDescriptor(_WALLETUNLOCKER) - -DESCRIPTOR.services_by_name['WalletUnlocker'] = _WALLETUNLOCKER - - -_LIGHTNING = _descriptor.ServiceDescriptor( - name='Lightning', - full_name='lnrpc.Lightning', - file=DESCRIPTOR, - index=1, - serialized_options=None, - serialized_start=15618, - serialized_end=19549, - methods=[ - _descriptor.MethodDescriptor( - name='WalletBalance', - full_name='lnrpc.Lightning.WalletBalance', - index=0, - containing_service=None, - input_type=_WALLETBALANCEREQUEST, - output_type=_WALLETBALANCERESPONSE, - serialized_options=_b('\202\323\344\223\002\030\022\026/v1/balance/blockchain'), - ), - _descriptor.MethodDescriptor( - name='ChannelBalance', - full_name='lnrpc.Lightning.ChannelBalance', - index=1, - containing_service=None, - input_type=_CHANNELBALANCEREQUEST, - output_type=_CHANNELBALANCERESPONSE, - serialized_options=_b('\202\323\344\223\002\026\022\024/v1/balance/channels'), - ), - _descriptor.MethodDescriptor( - name='GetTransactions', - full_name='lnrpc.Lightning.GetTransactions', - index=2, - containing_service=None, - input_type=_GETTRANSACTIONSREQUEST, - output_type=_TRANSACTIONDETAILS, - serialized_options=_b('\202\323\344\223\002\022\022\020/v1/transactions'), - ), - _descriptor.MethodDescriptor( - name='SendCoins', - full_name='lnrpc.Lightning.SendCoins', - index=3, - containing_service=None, - input_type=_SENDCOINSREQUEST, - output_type=_SENDCOINSRESPONSE, - serialized_options=_b('\202\323\344\223\002\025\"\020/v1/transactions:\001*'), - ), - _descriptor.MethodDescriptor( - name='SubscribeTransactions', - full_name='lnrpc.Lightning.SubscribeTransactions', - index=4, - containing_service=None, - input_type=_GETTRANSACTIONSREQUEST, - output_type=_TRANSACTION, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='SendMany', - full_name='lnrpc.Lightning.SendMany', - index=5, - containing_service=None, - input_type=_SENDMANYREQUEST, - output_type=_SENDMANYRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='NewAddress', - full_name='lnrpc.Lightning.NewAddress', - index=6, - containing_service=None, - input_type=_NEWADDRESSREQUEST, - output_type=_NEWADDRESSRESPONSE, - serialized_options=_b('\202\323\344\223\002\020\022\016/v1/newaddress'), - ), - _descriptor.MethodDescriptor( - name='SignMessage', - full_name='lnrpc.Lightning.SignMessage', - index=7, - containing_service=None, - input_type=_SIGNMESSAGEREQUEST, - output_type=_SIGNMESSAGERESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='VerifyMessage', - full_name='lnrpc.Lightning.VerifyMessage', - index=8, - containing_service=None, - input_type=_VERIFYMESSAGEREQUEST, - output_type=_VERIFYMESSAGERESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='ConnectPeer', - full_name='lnrpc.Lightning.ConnectPeer', - index=9, - containing_service=None, - input_type=_CONNECTPEERREQUEST, - output_type=_CONNECTPEERRESPONSE, - serialized_options=_b('\202\323\344\223\002\016\"\t/v1/peers:\001*'), - ), - _descriptor.MethodDescriptor( - name='DisconnectPeer', - full_name='lnrpc.Lightning.DisconnectPeer', - index=10, - containing_service=None, - input_type=_DISCONNECTPEERREQUEST, - output_type=_DISCONNECTPEERRESPONSE, - serialized_options=_b('\202\323\344\223\002\025*\023/v1/peers/{pub_key}'), - ), - _descriptor.MethodDescriptor( - name='ListPeers', - full_name='lnrpc.Lightning.ListPeers', - index=11, - containing_service=None, - input_type=_LISTPEERSREQUEST, - output_type=_LISTPEERSRESPONSE, - serialized_options=_b('\202\323\344\223\002\013\022\t/v1/peers'), - ), - _descriptor.MethodDescriptor( - name='GetInfo', - full_name='lnrpc.Lightning.GetInfo', - index=12, - containing_service=None, - input_type=_GETINFOREQUEST, - output_type=_GETINFORESPONSE, - serialized_options=_b('\202\323\344\223\002\r\022\013/v1/getinfo'), - ), - _descriptor.MethodDescriptor( - name='PendingChannels', - full_name='lnrpc.Lightning.PendingChannels', - index=13, - containing_service=None, - input_type=_PENDINGCHANNELSREQUEST, - output_type=_PENDINGCHANNELSRESPONSE, - serialized_options=_b('\202\323\344\223\002\026\022\024/v1/channels/pending'), - ), - _descriptor.MethodDescriptor( - name='ListChannels', - full_name='lnrpc.Lightning.ListChannels', - index=14, - containing_service=None, - input_type=_LISTCHANNELSREQUEST, - output_type=_LISTCHANNELSRESPONSE, - serialized_options=_b('\202\323\344\223\002\016\022\014/v1/channels'), - ), - _descriptor.MethodDescriptor( - name='ClosedChannels', - full_name='lnrpc.Lightning.ClosedChannels', - index=15, - containing_service=None, - input_type=_CLOSEDCHANNELSREQUEST, - output_type=_CLOSEDCHANNELSRESPONSE, - serialized_options=_b('\202\323\344\223\002\025\022\023/v1/channels/closed'), - ), - _descriptor.MethodDescriptor( - name='OpenChannelSync', - full_name='lnrpc.Lightning.OpenChannelSync', - index=16, - containing_service=None, - input_type=_OPENCHANNELREQUEST, - output_type=_CHANNELPOINT, - serialized_options=_b('\202\323\344\223\002\021\"\014/v1/channels:\001*'), - ), - _descriptor.MethodDescriptor( - name='OpenChannel', - full_name='lnrpc.Lightning.OpenChannel', - index=17, - containing_service=None, - input_type=_OPENCHANNELREQUEST, - output_type=_OPENSTATUSUPDATE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='CloseChannel', - full_name='lnrpc.Lightning.CloseChannel', - index=18, - containing_service=None, - input_type=_CLOSECHANNELREQUEST, - output_type=_CLOSESTATUSUPDATE, - serialized_options=_b('\202\323\344\223\002L*J/v1/channels/{channel_point.funding_txid_str}/{channel_point.output_index}'), - ), - _descriptor.MethodDescriptor( - name='AbandonChannel', - full_name='lnrpc.Lightning.AbandonChannel', - index=19, - containing_service=None, - input_type=_ABANDONCHANNELREQUEST, - output_type=_ABANDONCHANNELRESPONSE, - serialized_options=_b('\202\323\344\223\002T*R/v1/channels/abandon/{channel_point.funding_txid_str}/{channel_point.output_index}'), - ), - _descriptor.MethodDescriptor( - name='SendPayment', - full_name='lnrpc.Lightning.SendPayment', - index=20, - containing_service=None, - input_type=_SENDREQUEST, - output_type=_SENDRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='SendPaymentSync', - full_name='lnrpc.Lightning.SendPaymentSync', - index=21, - containing_service=None, - input_type=_SENDREQUEST, - output_type=_SENDRESPONSE, - serialized_options=_b('\202\323\344\223\002\036\"\031/v1/channels/transactions:\001*'), - ), - _descriptor.MethodDescriptor( - name='SendToRoute', - full_name='lnrpc.Lightning.SendToRoute', - index=22, - containing_service=None, - input_type=_SENDTOROUTEREQUEST, - output_type=_SENDRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='SendToRouteSync', - full_name='lnrpc.Lightning.SendToRouteSync', - index=23, - containing_service=None, - input_type=_SENDTOROUTEREQUEST, - output_type=_SENDRESPONSE, - serialized_options=_b('\202\323\344\223\002$\"\037/v1/channels/transactions/route:\001*'), - ), - _descriptor.MethodDescriptor( - name='AddInvoice', - full_name='lnrpc.Lightning.AddInvoice', - index=24, - containing_service=None, - input_type=_INVOICE, - output_type=_ADDINVOICERESPONSE, - serialized_options=_b('\202\323\344\223\002\021\"\014/v1/invoices:\001*'), - ), - _descriptor.MethodDescriptor( - name='ListInvoices', - full_name='lnrpc.Lightning.ListInvoices', - index=25, - containing_service=None, - input_type=_LISTINVOICEREQUEST, - output_type=_LISTINVOICERESPONSE, - serialized_options=_b('\202\323\344\223\002\016\022\014/v1/invoices'), - ), - _descriptor.MethodDescriptor( - name='LookupInvoice', - full_name='lnrpc.Lightning.LookupInvoice', - index=26, - containing_service=None, - input_type=_PAYMENTHASH, - output_type=_INVOICE, - serialized_options=_b('\202\323\344\223\002\032\022\030/v1/invoice/{r_hash_str}'), - ), - _descriptor.MethodDescriptor( - name='SubscribeInvoices', - full_name='lnrpc.Lightning.SubscribeInvoices', - index=27, - containing_service=None, - input_type=_INVOICESUBSCRIPTION, - output_type=_INVOICE, - serialized_options=_b('\202\323\344\223\002\030\022\026/v1/invoices/subscribe'), - ), - _descriptor.MethodDescriptor( - name='DecodePayReq', - full_name='lnrpc.Lightning.DecodePayReq', - index=28, - containing_service=None, - input_type=_PAYREQSTRING, - output_type=_PAYREQ, - serialized_options=_b('\202\323\344\223\002\026\022\024/v1/payreq/{pay_req}'), - ), - _descriptor.MethodDescriptor( - name='ListPayments', - full_name='lnrpc.Lightning.ListPayments', - index=29, - containing_service=None, - input_type=_LISTPAYMENTSREQUEST, - output_type=_LISTPAYMENTSRESPONSE, - serialized_options=_b('\202\323\344\223\002\016\022\014/v1/payments'), - ), - _descriptor.MethodDescriptor( - name='DeleteAllPayments', - full_name='lnrpc.Lightning.DeleteAllPayments', - index=30, - containing_service=None, - input_type=_DELETEALLPAYMENTSREQUEST, - output_type=_DELETEALLPAYMENTSRESPONSE, - serialized_options=_b('\202\323\344\223\002\016*\014/v1/payments'), - ), - _descriptor.MethodDescriptor( - name='DescribeGraph', - full_name='lnrpc.Lightning.DescribeGraph', - index=31, - containing_service=None, - input_type=_CHANNELGRAPHREQUEST, - output_type=_CHANNELGRAPH, - serialized_options=_b('\202\323\344\223\002\013\022\t/v1/graph'), - ), - _descriptor.MethodDescriptor( - name='GetChanInfo', - full_name='lnrpc.Lightning.GetChanInfo', - index=32, - containing_service=None, - input_type=_CHANINFOREQUEST, - output_type=_CHANNELEDGE, - serialized_options=_b('\202\323\344\223\002\032\022\030/v1/graph/edge/{chan_id}'), - ), - _descriptor.MethodDescriptor( - name='GetNodeInfo', - full_name='lnrpc.Lightning.GetNodeInfo', - index=33, - containing_service=None, - input_type=_NODEINFOREQUEST, - output_type=_NODEINFO, - serialized_options=_b('\202\323\344\223\002\032\022\030/v1/graph/node/{pub_key}'), - ), - _descriptor.MethodDescriptor( - name='QueryRoutes', - full_name='lnrpc.Lightning.QueryRoutes', - index=34, - containing_service=None, - input_type=_QUERYROUTESREQUEST, - output_type=_QUERYROUTESRESPONSE, - serialized_options=_b('\202\323\344\223\002\"\022 /v1/graph/routes/{pub_key}/{amt}'), - ), - _descriptor.MethodDescriptor( - name='GetNetworkInfo', - full_name='lnrpc.Lightning.GetNetworkInfo', - index=35, - containing_service=None, - input_type=_NETWORKINFOREQUEST, - output_type=_NETWORKINFO, - serialized_options=_b('\202\323\344\223\002\020\022\016/v1/graph/info'), - ), - _descriptor.MethodDescriptor( - name='StopDaemon', - full_name='lnrpc.Lightning.StopDaemon', - index=36, - containing_service=None, - input_type=_STOPREQUEST, - output_type=_STOPRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='SubscribeChannelGraph', - full_name='lnrpc.Lightning.SubscribeChannelGraph', - index=37, - containing_service=None, - input_type=_GRAPHTOPOLOGYSUBSCRIPTION, - output_type=_GRAPHTOPOLOGYUPDATE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='DebugLevel', - full_name='lnrpc.Lightning.DebugLevel', - index=38, - containing_service=None, - input_type=_DEBUGLEVELREQUEST, - output_type=_DEBUGLEVELRESPONSE, - serialized_options=None, - ), - _descriptor.MethodDescriptor( - name='FeeReport', - full_name='lnrpc.Lightning.FeeReport', - index=39, - containing_service=None, - input_type=_FEEREPORTREQUEST, - output_type=_FEEREPORTRESPONSE, - serialized_options=_b('\202\323\344\223\002\n\022\010/v1/fees'), - ), - _descriptor.MethodDescriptor( - name='UpdateChannelPolicy', - full_name='lnrpc.Lightning.UpdateChannelPolicy', - index=40, - containing_service=None, - input_type=_POLICYUPDATEREQUEST, - output_type=_POLICYUPDATERESPONSE, - serialized_options=_b('\202\323\344\223\002\023\"\016/v1/chanpolicy:\001*'), - ), - _descriptor.MethodDescriptor( - name='ForwardingHistory', - full_name='lnrpc.Lightning.ForwardingHistory', - index=41, - containing_service=None, - input_type=_FORWARDINGHISTORYREQUEST, - output_type=_FORWARDINGHISTORYRESPONSE, - serialized_options=_b('\202\323\344\223\002\017\"\n/v1/switch:\001*'), - ), -]) -_sym_db.RegisterServiceDescriptor(_LIGHTNING) - -DESCRIPTOR.services_by_name['Lightning'] = _LIGHTNING - -# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/rpc_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/rpc_pb2_grpc.py deleted file mode 100644 index ce572b9b..00000000 --- a/node_launcher/node_set/lnd/lnd_client/rpc_pb2_grpc.py +++ /dev/null @@ -1,1016 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -import grpc - -from . import rpc_pb2 as rpc__pb2 - -class WalletUnlockerStub(object): - """The WalletUnlocker service is used to set up a wallet password for - lnd at first startup, and unlock a previously set up wallet. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.GenSeed = channel.unary_unary( - '/lnrpc.WalletUnlocker/GenSeed', - request_serializer=rpc__pb2.GenSeedRequest.SerializeToString, - response_deserializer=rpc__pb2.GenSeedResponse.FromString, - ) - self.InitWallet = channel.unary_unary( - '/lnrpc.WalletUnlocker/InitWallet', - request_serializer=rpc__pb2.InitWalletRequest.SerializeToString, - response_deserializer=rpc__pb2.InitWalletResponse.FromString, - ) - self.UnlockWallet = channel.unary_unary( - '/lnrpc.WalletUnlocker/UnlockWallet', - request_serializer=rpc__pb2.UnlockWalletRequest.SerializeToString, - response_deserializer=rpc__pb2.UnlockWalletResponse.FromString, - ) - self.ChangePassword = channel.unary_unary( - '/lnrpc.WalletUnlocker/ChangePassword', - request_serializer=rpc__pb2.ChangePasswordRequest.SerializeToString, - response_deserializer=rpc__pb2.ChangePasswordResponse.FromString, - ) - - -class WalletUnlockerServicer(object): - """The WalletUnlocker service is used to set up a wallet password for - lnd at first startup, and unlock a previously set up wallet. - """ - - def GenSeed(self, request, context): - """* - GenSeed is the first method that should be used to instantiate a new lnd - instance. This method allows a caller to generate a new aezeed cipher seed - given an optional passphrase. If provided, the passphrase will be necessary - to decrypt the cipherseed to expose the internal wallet seed. - - Once the cipherseed is obtained and verified by the user, the InitWallet - method should be used to commit the newly generated seed, and create the - wallet. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def InitWallet(self, request, context): - """* - InitWallet is used when lnd is starting up for the first time to fully - initialize the daemon and its internal wallet. At the very least a wallet - password must be provided. This will be used to encrypt sensitive material - on disk. - - In the case of a recovery scenario, the user can also specify their aezeed - mnemonic and passphrase. If set, then the daemon will use this prior state - to initialize its internal wallet. - - Alternatively, this can be used along with the GenSeed RPC to obtain a - seed, then present it to the user. Once it has been verified by the user, - the seed can be fed into this RPC in order to commit the new wallet. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UnlockWallet(self, request, context): - """* lncli: `unlock` - UnlockWallet is used at startup of lnd to provide a password to unlock - the wallet database. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ChangePassword(self, request, context): - """* lncli: `changepassword` - ChangePassword changes the password of the encrypted wallet. This will - automatically unlock the wallet database if successful. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_WalletUnlockerServicer_to_server(servicer, server): - rpc_method_handlers = { - 'GenSeed': grpc.unary_unary_rpc_method_handler( - servicer.GenSeed, - request_deserializer=rpc__pb2.GenSeedRequest.FromString, - response_serializer=rpc__pb2.GenSeedResponse.SerializeToString, - ), - 'InitWallet': grpc.unary_unary_rpc_method_handler( - servicer.InitWallet, - request_deserializer=rpc__pb2.InitWalletRequest.FromString, - response_serializer=rpc__pb2.InitWalletResponse.SerializeToString, - ), - 'UnlockWallet': grpc.unary_unary_rpc_method_handler( - servicer.UnlockWallet, - request_deserializer=rpc__pb2.UnlockWalletRequest.FromString, - response_serializer=rpc__pb2.UnlockWalletResponse.SerializeToString, - ), - 'ChangePassword': grpc.unary_unary_rpc_method_handler( - servicer.ChangePassword, - request_deserializer=rpc__pb2.ChangePasswordRequest.FromString, - response_serializer=rpc__pb2.ChangePasswordResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'lnrpc.WalletUnlocker', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - -class LightningStub(object): - # missing associated documentation comment in .proto file - pass - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.WalletBalance = channel.unary_unary( - '/lnrpc.Lightning/WalletBalance', - request_serializer=rpc__pb2.WalletBalanceRequest.SerializeToString, - response_deserializer=rpc__pb2.WalletBalanceResponse.FromString, - ) - self.ChannelBalance = channel.unary_unary( - '/lnrpc.Lightning/ChannelBalance', - request_serializer=rpc__pb2.ChannelBalanceRequest.SerializeToString, - response_deserializer=rpc__pb2.ChannelBalanceResponse.FromString, - ) - self.GetTransactions = channel.unary_unary( - '/lnrpc.Lightning/GetTransactions', - request_serializer=rpc__pb2.GetTransactionsRequest.SerializeToString, - response_deserializer=rpc__pb2.TransactionDetails.FromString, - ) - self.SendCoins = channel.unary_unary( - '/lnrpc.Lightning/SendCoins', - request_serializer=rpc__pb2.SendCoinsRequest.SerializeToString, - response_deserializer=rpc__pb2.SendCoinsResponse.FromString, - ) - self.SubscribeTransactions = channel.unary_stream( - '/lnrpc.Lightning/SubscribeTransactions', - request_serializer=rpc__pb2.GetTransactionsRequest.SerializeToString, - response_deserializer=rpc__pb2.Transaction.FromString, - ) - self.SendMany = channel.unary_unary( - '/lnrpc.Lightning/SendMany', - request_serializer=rpc__pb2.SendManyRequest.SerializeToString, - response_deserializer=rpc__pb2.SendManyResponse.FromString, - ) - self.NewAddress = channel.unary_unary( - '/lnrpc.Lightning/NewAddress', - request_serializer=rpc__pb2.NewAddressRequest.SerializeToString, - response_deserializer=rpc__pb2.NewAddressResponse.FromString, - ) - self.SignMessage = channel.unary_unary( - '/lnrpc.Lightning/SignMessage', - request_serializer=rpc__pb2.SignMessageRequest.SerializeToString, - response_deserializer=rpc__pb2.SignMessageResponse.FromString, - ) - self.VerifyMessage = channel.unary_unary( - '/lnrpc.Lightning/VerifyMessage', - request_serializer=rpc__pb2.VerifyMessageRequest.SerializeToString, - response_deserializer=rpc__pb2.VerifyMessageResponse.FromString, - ) - self.ConnectPeer = channel.unary_unary( - '/lnrpc.Lightning/ConnectPeer', - request_serializer=rpc__pb2.ConnectPeerRequest.SerializeToString, - response_deserializer=rpc__pb2.ConnectPeerResponse.FromString, - ) - self.DisconnectPeer = channel.unary_unary( - '/lnrpc.Lightning/DisconnectPeer', - request_serializer=rpc__pb2.DisconnectPeerRequest.SerializeToString, - response_deserializer=rpc__pb2.DisconnectPeerResponse.FromString, - ) - self.ListPeers = channel.unary_unary( - '/lnrpc.Lightning/ListPeers', - request_serializer=rpc__pb2.ListPeersRequest.SerializeToString, - response_deserializer=rpc__pb2.ListPeersResponse.FromString, - ) - self.GetInfo = channel.unary_unary( - '/lnrpc.Lightning/GetInfo', - request_serializer=rpc__pb2.GetInfoRequest.SerializeToString, - response_deserializer=rpc__pb2.GetInfoResponse.FromString, - ) - self.PendingChannels = channel.unary_unary( - '/lnrpc.Lightning/PendingChannels', - request_serializer=rpc__pb2.PendingChannelsRequest.SerializeToString, - response_deserializer=rpc__pb2.PendingChannelsResponse.FromString, - ) - self.ListChannels = channel.unary_unary( - '/lnrpc.Lightning/ListChannels', - request_serializer=rpc__pb2.ListChannelsRequest.SerializeToString, - response_deserializer=rpc__pb2.ListChannelsResponse.FromString, - ) - self.ClosedChannels = channel.unary_unary( - '/lnrpc.Lightning/ClosedChannels', - request_serializer=rpc__pb2.ClosedChannelsRequest.SerializeToString, - response_deserializer=rpc__pb2.ClosedChannelsResponse.FromString, - ) - self.OpenChannelSync = channel.unary_unary( - '/lnrpc.Lightning/OpenChannelSync', - request_serializer=rpc__pb2.OpenChannelRequest.SerializeToString, - response_deserializer=rpc__pb2.ChannelPoint.FromString, - ) - self.OpenChannel = channel.unary_stream( - '/lnrpc.Lightning/OpenChannel', - request_serializer=rpc__pb2.OpenChannelRequest.SerializeToString, - response_deserializer=rpc__pb2.OpenStatusUpdate.FromString, - ) - self.CloseChannel = channel.unary_stream( - '/lnrpc.Lightning/CloseChannel', - request_serializer=rpc__pb2.CloseChannelRequest.SerializeToString, - response_deserializer=rpc__pb2.CloseStatusUpdate.FromString, - ) - self.AbandonChannel = channel.unary_unary( - '/lnrpc.Lightning/AbandonChannel', - request_serializer=rpc__pb2.AbandonChannelRequest.SerializeToString, - response_deserializer=rpc__pb2.AbandonChannelResponse.FromString, - ) - self.SendPayment = channel.stream_stream( - '/lnrpc.Lightning/SendPayment', - request_serializer=rpc__pb2.SendRequest.SerializeToString, - response_deserializer=rpc__pb2.SendResponse.FromString, - ) - self.SendPaymentSync = channel.unary_unary( - '/lnrpc.Lightning/SendPaymentSync', - request_serializer=rpc__pb2.SendRequest.SerializeToString, - response_deserializer=rpc__pb2.SendResponse.FromString, - ) - self.SendToRoute = channel.stream_stream( - '/lnrpc.Lightning/SendToRoute', - request_serializer=rpc__pb2.SendToRouteRequest.SerializeToString, - response_deserializer=rpc__pb2.SendResponse.FromString, - ) - self.SendToRouteSync = channel.unary_unary( - '/lnrpc.Lightning/SendToRouteSync', - request_serializer=rpc__pb2.SendToRouteRequest.SerializeToString, - response_deserializer=rpc__pb2.SendResponse.FromString, - ) - self.AddInvoice = channel.unary_unary( - '/lnrpc.Lightning/AddInvoice', - request_serializer=rpc__pb2.Invoice.SerializeToString, - response_deserializer=rpc__pb2.AddInvoiceResponse.FromString, - ) - self.ListInvoices = channel.unary_unary( - '/lnrpc.Lightning/ListInvoices', - request_serializer=rpc__pb2.ListInvoiceRequest.SerializeToString, - response_deserializer=rpc__pb2.ListInvoiceResponse.FromString, - ) - self.LookupInvoice = channel.unary_unary( - '/lnrpc.Lightning/LookupInvoice', - request_serializer=rpc__pb2.PaymentHash.SerializeToString, - response_deserializer=rpc__pb2.Invoice.FromString, - ) - self.SubscribeInvoices = channel.unary_stream( - '/lnrpc.Lightning/SubscribeInvoices', - request_serializer=rpc__pb2.InvoiceSubscription.SerializeToString, - response_deserializer=rpc__pb2.Invoice.FromString, - ) - self.DecodePayReq = channel.unary_unary( - '/lnrpc.Lightning/DecodePayReq', - request_serializer=rpc__pb2.PayReqString.SerializeToString, - response_deserializer=rpc__pb2.PayReq.FromString, - ) - self.ListPayments = channel.unary_unary( - '/lnrpc.Lightning/ListPayments', - request_serializer=rpc__pb2.ListPaymentsRequest.SerializeToString, - response_deserializer=rpc__pb2.ListPaymentsResponse.FromString, - ) - self.DeleteAllPayments = channel.unary_unary( - '/lnrpc.Lightning/DeleteAllPayments', - request_serializer=rpc__pb2.DeleteAllPaymentsRequest.SerializeToString, - response_deserializer=rpc__pb2.DeleteAllPaymentsResponse.FromString, - ) - self.DescribeGraph = channel.unary_unary( - '/lnrpc.Lightning/DescribeGraph', - request_serializer=rpc__pb2.ChannelGraphRequest.SerializeToString, - response_deserializer=rpc__pb2.ChannelGraph.FromString, - ) - self.GetChanInfo = channel.unary_unary( - '/lnrpc.Lightning/GetChanInfo', - request_serializer=rpc__pb2.ChanInfoRequest.SerializeToString, - response_deserializer=rpc__pb2.ChannelEdge.FromString, - ) - self.GetNodeInfo = channel.unary_unary( - '/lnrpc.Lightning/GetNodeInfo', - request_serializer=rpc__pb2.NodeInfoRequest.SerializeToString, - response_deserializer=rpc__pb2.NodeInfo.FromString, - ) - self.QueryRoutes = channel.unary_unary( - '/lnrpc.Lightning/QueryRoutes', - request_serializer=rpc__pb2.QueryRoutesRequest.SerializeToString, - response_deserializer=rpc__pb2.QueryRoutesResponse.FromString, - ) - self.GetNetworkInfo = channel.unary_unary( - '/lnrpc.Lightning/GetNetworkInfo', - request_serializer=rpc__pb2.NetworkInfoRequest.SerializeToString, - response_deserializer=rpc__pb2.NetworkInfo.FromString, - ) - self.StopDaemon = channel.unary_unary( - '/lnrpc.Lightning/StopDaemon', - request_serializer=rpc__pb2.StopRequest.SerializeToString, - response_deserializer=rpc__pb2.StopResponse.FromString, - ) - self.SubscribeChannelGraph = channel.unary_stream( - '/lnrpc.Lightning/SubscribeChannelGraph', - request_serializer=rpc__pb2.GraphTopologySubscription.SerializeToString, - response_deserializer=rpc__pb2.GraphTopologyUpdate.FromString, - ) - self.DebugLevel = channel.unary_unary( - '/lnrpc.Lightning/DebugLevel', - request_serializer=rpc__pb2.DebugLevelRequest.SerializeToString, - response_deserializer=rpc__pb2.DebugLevelResponse.FromString, - ) - self.FeeReport = channel.unary_unary( - '/lnrpc.Lightning/FeeReport', - request_serializer=rpc__pb2.FeeReportRequest.SerializeToString, - response_deserializer=rpc__pb2.FeeReportResponse.FromString, - ) - self.UpdateChannelPolicy = channel.unary_unary( - '/lnrpc.Lightning/UpdateChannelPolicy', - request_serializer=rpc__pb2.PolicyUpdateRequest.SerializeToString, - response_deserializer=rpc__pb2.PolicyUpdateResponse.FromString, - ) - self.ForwardingHistory = channel.unary_unary( - '/lnrpc.Lightning/ForwardingHistory', - request_serializer=rpc__pb2.ForwardingHistoryRequest.SerializeToString, - response_deserializer=rpc__pb2.ForwardingHistoryResponse.FromString, - ) - - -class LightningServicer(object): - # missing associated documentation comment in .proto file - pass - - 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. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ChannelBalance(self, request, context): - """* lncli: `channelbalance` - ChannelBalance returns the total funds available across all open channels - in satoshis. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetTransactions(self, request, context): - """* lncli: `listchaintxns` - GetTransactions returns a list describing all the known transactions - relevant to the wallet. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SendCoins(self, request, context): - """* lncli: `sendcoins` - SendCoins executes a request to send coins to a particular address. Unlike - SendMany, this RPC call only allows creating a single output at a time. If - neither target_conf, or sat_per_byte are set, then the internal wallet will - consult its fee model to determine a fee for the default confirmation - target. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubscribeTransactions(self, request, context): - """* - SubscribeTransactions creates a uni-directional stream from the server to - the client in which any newly discovered transactions relevant to the - wallet are sent over. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SendMany(self, request, context): - """* lncli: `sendmany` - SendMany handles a request for a transaction that creates multiple specified - outputs in parallel. If neither target_conf, or sat_per_byte are set, then - the internal wallet will consult its fee model to determine a fee for the - default confirmation target. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def NewAddress(self, request, context): - """* lncli: `newaddress` - NewAddress creates a new address under control of the local wallet. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SignMessage(self, request, context): - """* lncli: `signmessage` - SignMessage signs a message with this node's private key. The returned - signature string is `zbase32` encoded and pubkey recoverable, meaning that - only the message digest and signature are needed for verification. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def VerifyMessage(self, request, context): - """* lncli: `verifymessage` - VerifyMessage verifies a signature over a msg. The signature must be - zbase32 encoded and signed by an active node in the resident node's - channel database. In addition to returning the validity of the signature, - VerifyMessage also returns the recovered pubkey from the signature. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ConnectPeer(self, request, context): - """* lncli: `connect` - ConnectPeer attempts to establish a connection to a remote peer. This is at - the networking level, and is used for communication between nodes. This is - distinct from establishing a channel with a peer. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DisconnectPeer(self, request, context): - """* lncli: `disconnect` - DisconnectPeer attempts to disconnect one peer from another identified by a - given pubKey. In the case that we currently have a pending or active channel - with the target peer, then this action will be not be allowed. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListPeers(self, request, context): - """* lncli: `listpeers` - ListPeers returns a verbose listing of all currently active peers. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetInfo(self, request, context): - """* lncli: `getinfo` - GetInfo returns general information concerning the lightning node including - it's identity pubkey, alias, the chains it is connected to, and information - concerning the number of open+pending channels. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def PendingChannels(self, request, context): - """TODO(roasbeef): merge with below with bool? - - * lncli: `pendingchannels` - PendingChannels returns a list of all the channels that are currently - considered "pending". A channel is pending if it has finished the funding - workflow and is waiting for confirmations for the funding txn, or is in the - process of closure, either initiated cooperatively or non-cooperatively. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListChannels(self, request, context): - """* lncli: `listchannels` - ListChannels returns a description of all the open channels that this node - is a participant in. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ClosedChannels(self, request, context): - """* lncli: `closedchannels` - ClosedChannels returns a description of all the closed channels that - this node was a participant in. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def OpenChannelSync(self, request, context): - """* - OpenChannelSync is a synchronous version of the OpenChannel RPC call. This - call is meant to be consumed by clients to the REST proxy. As with all - other sync calls, all byte slices are intended to be populated as hex - encoded strings. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def OpenChannel(self, request, context): - """* lncli: `openchannel` - OpenChannel attempts to open a singly funded channel specified in the - request to a remote peer. Users are able to specify a target number of - blocks that the funding transaction should be confirmed in, or a manual fee - rate to us for the funding transaction. If neither are specified, then a - lax block confirmation target is used. - """ - 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 - outpoint (ChannelPoint). The actions of this method can additionally be - augmented to attempt a force close after a timeout period in the case of an - inactive peer. If a non-force close (cooperative closure) is requested, - then the user can specify either a target number of blocks until the - closure transaction is confirmed, or a manual fee rate. If neither are - specified, then a default lax, block confirmation target is used. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AbandonChannel(self, request, context): - """* lncli: `abandonchannel` - AbandonChannel removes all channel state from the database except for a - close summary. This method can be used to get rid of permanently unusable - channels due to bugs fixed in newer versions of lnd. Only available - when in debug builds of lnd. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SendPayment(self, request_iterator, context): - """* lncli: `sendpayment` - SendPayment dispatches a bi-directional streaming RPC for sending payments - through the Lightning Network. A single RPC invocation creates a persistent - bi-directional stream allowing clients to rapidly send payments through the - Lightning Network with a single persistent connection. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SendPaymentSync(self, request, context): - """* - SendPaymentSync is the synchronous non-streaming version of SendPayment. - This RPC is intended to be consumed by clients of the REST proxy. - Additionally, this RPC expects the destination's public key and the payment - hash (if any) to be encoded as hex strings. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SendToRoute(self, request_iterator, context): - """* lncli: `sendtoroute` - SendToRoute is a bi-directional streaming RPC for sending payment through - the Lightning Network. This method differs from SendPayment in that it - allows users to specify a full route manually. This can be used for things - like rebalancing, and atomic swaps. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SendToRouteSync(self, request, context): - """* - SendToRouteSync is a synchronous version of SendToRoute. It Will block - until the payment either fails or succeeds. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AddInvoice(self, request, context): - """* lncli: `addinvoice` - AddInvoice attempts to add a new invoice to the invoice database. Any - duplicated invoices are rejected, therefore all invoices *must* have a - unique payment preimage. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListInvoices(self, request, context): - """* lncli: `listinvoices` - ListInvoices returns a list of all the invoices currently stored within the - database. Any active debug invoices are ignored. It has full support for - paginated responses, allowing users to query for specific invoices through - their add_index. This can be done by using either the first_index_offset or - last_index_offset fields included in the response as the index_offset of the - next request. The reversed flag is set by default in order to paginate - backwards. If you wish to paginate forwards, you must explicitly set the - flag to false. If none of the parameters are specified, then the last 100 - invoices will be returned. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def LookupInvoice(self, request, context): - """* lncli: `lookupinvoice` - LookupInvoice attempts to look up an invoice according to its payment hash. - The passed payment hash *must* be exactly 32 bytes, if not, an error is - returned. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubscribeInvoices(self, request, context): - """* - SubscribeInvoices returns a uni-directional stream (server -> client) for - notifying the client of newly added/settled invoices. The caller can - optionally specify the add_index and/or the settle_index. If the add_index - is specified, then we'll first start by sending add invoice events for all - invoices with an add_index greater than the specified value. If the - settle_index is specified, the next, we'll send out all settle events for - invoices with a settle_index greater than the specified value. One or both - of these fields can be set. If no fields are set, then we'll only send out - the latest add/settle events. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DecodePayReq(self, request, context): - """* lncli: `decodepayreq` - DecodePayReq takes an encoded payment request string and attempts to decode - it, returning a full description of the conditions encoded within the - payment request. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListPayments(self, request, context): - """* lncli: `listpayments` - ListPayments returns a list of all outgoing payments. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DeleteAllPayments(self, request, context): - """* - DeleteAllPayments deletes all outgoing payments from DB. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DescribeGraph(self, request, context): - """* lncli: `describegraph` - DescribeGraph returns a description of the latest graph state from the - point of view of the node. The graph information is partitioned into two - components: all the nodes/vertexes, and all the edges that connect the - vertexes themselves. As this is a directed graph, the edges also contain - the node directional specific routing policy which includes: the time lock - delta, fee information, etc. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetChanInfo(self, request, context): - """* lncli: `getchaninfo` - GetChanInfo returns the latest authenticated network announcement for the - given channel identified by its channel ID: an 8-byte integer which - uniquely identifies the location of transaction's funding output within the - blockchain. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetNodeInfo(self, request, context): - """* lncli: `getnodeinfo` - GetNodeInfo returns the latest advertised, aggregated, and authenticated - channel information for the specified node identified by its public key. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - 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 - send an HTLC, also including the necessary information that should be - present within the Sphinx packet encapsulated within the HTLC. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetNetworkInfo(self, request, context): - """* lncli: `getnetworkinfo` - GetNetworkInfo returns some basic stats about the known channel graph from - the point of view of the node. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def StopDaemon(self, request, context): - """* lncli: `stop` - StopDaemon will send a shutdown request to the interrupt handler, triggering - a graceful shutdown of the daemon. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def SubscribeChannelGraph(self, request, context): - """* - SubscribeChannelGraph launches a streaming RPC that allows the caller to - receive notifications upon any changes to the channel graph topology from - the point of view of the responding node. Events notified include: new - nodes coming online, nodes updating their authenticated attributes, new - channels being advertised, updates in the routing policy for a directional - channel edge, and when channels are closed on-chain. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def DebugLevel(self, request, context): - """* lncli: `debuglevel` - DebugLevel allows a caller to programmatically set the logging verbosity of - lnd. The logging can be targeted according to a coarse daemon-wide logging - level, or in a granular fashion to specify the logging for a target - sub-system. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def FeeReport(self, request, context): - """* lncli: `feereport` - FeeReport allows the caller to obtain a report detailing the current fee - schedule enforced by the node globally for each channel. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateChannelPolicy(self, request, context): - """* lncli: `updatechanpolicy` - UpdateChannelPolicy allows the caller to update the fee schedule and - channel policies for all channels globally, or a particular channel. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ForwardingHistory(self, request, context): - """* lncli: `fwdinghistory` - ForwardingHistory allows the caller to query the htlcswitch for a record of - all HTLC's forwarded within the target time range, and integer offset - within that time range. If no time-range is specified, then the first chunk - of the past 24 hrs of forwarding history are returned. - - A list of forwarding events are returned. The size of each forwarding event - is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB. - As a result each message can only contain 50k entries. Each response has - the index offset of the last entry. The index offset can be provided to the - request to allow the caller to skip a series of records. - """ - 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 = { - 'WalletBalance': grpc.unary_unary_rpc_method_handler( - servicer.WalletBalance, - request_deserializer=rpc__pb2.WalletBalanceRequest.FromString, - response_serializer=rpc__pb2.WalletBalanceResponse.SerializeToString, - ), - 'ChannelBalance': grpc.unary_unary_rpc_method_handler( - servicer.ChannelBalance, - request_deserializer=rpc__pb2.ChannelBalanceRequest.FromString, - response_serializer=rpc__pb2.ChannelBalanceResponse.SerializeToString, - ), - 'GetTransactions': grpc.unary_unary_rpc_method_handler( - servicer.GetTransactions, - request_deserializer=rpc__pb2.GetTransactionsRequest.FromString, - response_serializer=rpc__pb2.TransactionDetails.SerializeToString, - ), - 'SendCoins': grpc.unary_unary_rpc_method_handler( - servicer.SendCoins, - request_deserializer=rpc__pb2.SendCoinsRequest.FromString, - response_serializer=rpc__pb2.SendCoinsResponse.SerializeToString, - ), - 'SubscribeTransactions': grpc.unary_stream_rpc_method_handler( - servicer.SubscribeTransactions, - request_deserializer=rpc__pb2.GetTransactionsRequest.FromString, - response_serializer=rpc__pb2.Transaction.SerializeToString, - ), - 'SendMany': grpc.unary_unary_rpc_method_handler( - servicer.SendMany, - request_deserializer=rpc__pb2.SendManyRequest.FromString, - response_serializer=rpc__pb2.SendManyResponse.SerializeToString, - ), - 'NewAddress': grpc.unary_unary_rpc_method_handler( - servicer.NewAddress, - request_deserializer=rpc__pb2.NewAddressRequest.FromString, - response_serializer=rpc__pb2.NewAddressResponse.SerializeToString, - ), - 'SignMessage': grpc.unary_unary_rpc_method_handler( - servicer.SignMessage, - request_deserializer=rpc__pb2.SignMessageRequest.FromString, - response_serializer=rpc__pb2.SignMessageResponse.SerializeToString, - ), - 'VerifyMessage': grpc.unary_unary_rpc_method_handler( - servicer.VerifyMessage, - request_deserializer=rpc__pb2.VerifyMessageRequest.FromString, - response_serializer=rpc__pb2.VerifyMessageResponse.SerializeToString, - ), - 'ConnectPeer': grpc.unary_unary_rpc_method_handler( - servicer.ConnectPeer, - request_deserializer=rpc__pb2.ConnectPeerRequest.FromString, - response_serializer=rpc__pb2.ConnectPeerResponse.SerializeToString, - ), - 'DisconnectPeer': grpc.unary_unary_rpc_method_handler( - servicer.DisconnectPeer, - request_deserializer=rpc__pb2.DisconnectPeerRequest.FromString, - response_serializer=rpc__pb2.DisconnectPeerResponse.SerializeToString, - ), - 'ListPeers': grpc.unary_unary_rpc_method_handler( - servicer.ListPeers, - request_deserializer=rpc__pb2.ListPeersRequest.FromString, - response_serializer=rpc__pb2.ListPeersResponse.SerializeToString, - ), - 'GetInfo': grpc.unary_unary_rpc_method_handler( - servicer.GetInfo, - request_deserializer=rpc__pb2.GetInfoRequest.FromString, - response_serializer=rpc__pb2.GetInfoResponse.SerializeToString, - ), - 'PendingChannels': grpc.unary_unary_rpc_method_handler( - servicer.PendingChannels, - request_deserializer=rpc__pb2.PendingChannelsRequest.FromString, - response_serializer=rpc__pb2.PendingChannelsResponse.SerializeToString, - ), - 'ListChannels': grpc.unary_unary_rpc_method_handler( - servicer.ListChannels, - request_deserializer=rpc__pb2.ListChannelsRequest.FromString, - response_serializer=rpc__pb2.ListChannelsResponse.SerializeToString, - ), - 'ClosedChannels': grpc.unary_unary_rpc_method_handler( - servicer.ClosedChannels, - request_deserializer=rpc__pb2.ClosedChannelsRequest.FromString, - response_serializer=rpc__pb2.ClosedChannelsResponse.SerializeToString, - ), - 'OpenChannelSync': grpc.unary_unary_rpc_method_handler( - servicer.OpenChannelSync, - request_deserializer=rpc__pb2.OpenChannelRequest.FromString, - response_serializer=rpc__pb2.ChannelPoint.SerializeToString, - ), - 'OpenChannel': grpc.unary_stream_rpc_method_handler( - servicer.OpenChannel, - request_deserializer=rpc__pb2.OpenChannelRequest.FromString, - response_serializer=rpc__pb2.OpenStatusUpdate.SerializeToString, - ), - 'CloseChannel': grpc.unary_stream_rpc_method_handler( - servicer.CloseChannel, - request_deserializer=rpc__pb2.CloseChannelRequest.FromString, - response_serializer=rpc__pb2.CloseStatusUpdate.SerializeToString, - ), - 'AbandonChannel': grpc.unary_unary_rpc_method_handler( - servicer.AbandonChannel, - request_deserializer=rpc__pb2.AbandonChannelRequest.FromString, - response_serializer=rpc__pb2.AbandonChannelResponse.SerializeToString, - ), - 'SendPayment': grpc.stream_stream_rpc_method_handler( - servicer.SendPayment, - request_deserializer=rpc__pb2.SendRequest.FromString, - response_serializer=rpc__pb2.SendResponse.SerializeToString, - ), - 'SendPaymentSync': grpc.unary_unary_rpc_method_handler( - servicer.SendPaymentSync, - request_deserializer=rpc__pb2.SendRequest.FromString, - response_serializer=rpc__pb2.SendResponse.SerializeToString, - ), - 'SendToRoute': grpc.stream_stream_rpc_method_handler( - servicer.SendToRoute, - request_deserializer=rpc__pb2.SendToRouteRequest.FromString, - response_serializer=rpc__pb2.SendResponse.SerializeToString, - ), - 'SendToRouteSync': grpc.unary_unary_rpc_method_handler( - servicer.SendToRouteSync, - request_deserializer=rpc__pb2.SendToRouteRequest.FromString, - response_serializer=rpc__pb2.SendResponse.SerializeToString, - ), - 'AddInvoice': grpc.unary_unary_rpc_method_handler( - servicer.AddInvoice, - request_deserializer=rpc__pb2.Invoice.FromString, - response_serializer=rpc__pb2.AddInvoiceResponse.SerializeToString, - ), - 'ListInvoices': grpc.unary_unary_rpc_method_handler( - servicer.ListInvoices, - request_deserializer=rpc__pb2.ListInvoiceRequest.FromString, - response_serializer=rpc__pb2.ListInvoiceResponse.SerializeToString, - ), - 'LookupInvoice': grpc.unary_unary_rpc_method_handler( - servicer.LookupInvoice, - request_deserializer=rpc__pb2.PaymentHash.FromString, - response_serializer=rpc__pb2.Invoice.SerializeToString, - ), - 'SubscribeInvoices': grpc.unary_stream_rpc_method_handler( - servicer.SubscribeInvoices, - request_deserializer=rpc__pb2.InvoiceSubscription.FromString, - response_serializer=rpc__pb2.Invoice.SerializeToString, - ), - 'DecodePayReq': grpc.unary_unary_rpc_method_handler( - servicer.DecodePayReq, - request_deserializer=rpc__pb2.PayReqString.FromString, - response_serializer=rpc__pb2.PayReq.SerializeToString, - ), - 'ListPayments': grpc.unary_unary_rpc_method_handler( - servicer.ListPayments, - request_deserializer=rpc__pb2.ListPaymentsRequest.FromString, - response_serializer=rpc__pb2.ListPaymentsResponse.SerializeToString, - ), - 'DeleteAllPayments': grpc.unary_unary_rpc_method_handler( - servicer.DeleteAllPayments, - request_deserializer=rpc__pb2.DeleteAllPaymentsRequest.FromString, - response_serializer=rpc__pb2.DeleteAllPaymentsResponse.SerializeToString, - ), - 'DescribeGraph': grpc.unary_unary_rpc_method_handler( - servicer.DescribeGraph, - request_deserializer=rpc__pb2.ChannelGraphRequest.FromString, - response_serializer=rpc__pb2.ChannelGraph.SerializeToString, - ), - 'GetChanInfo': grpc.unary_unary_rpc_method_handler( - servicer.GetChanInfo, - request_deserializer=rpc__pb2.ChanInfoRequest.FromString, - response_serializer=rpc__pb2.ChannelEdge.SerializeToString, - ), - 'GetNodeInfo': grpc.unary_unary_rpc_method_handler( - servicer.GetNodeInfo, - request_deserializer=rpc__pb2.NodeInfoRequest.FromString, - response_serializer=rpc__pb2.NodeInfo.SerializeToString, - ), - 'QueryRoutes': grpc.unary_unary_rpc_method_handler( - servicer.QueryRoutes, - request_deserializer=rpc__pb2.QueryRoutesRequest.FromString, - response_serializer=rpc__pb2.QueryRoutesResponse.SerializeToString, - ), - 'GetNetworkInfo': grpc.unary_unary_rpc_method_handler( - servicer.GetNetworkInfo, - request_deserializer=rpc__pb2.NetworkInfoRequest.FromString, - response_serializer=rpc__pb2.NetworkInfo.SerializeToString, - ), - 'StopDaemon': grpc.unary_unary_rpc_method_handler( - servicer.StopDaemon, - request_deserializer=rpc__pb2.StopRequest.FromString, - response_serializer=rpc__pb2.StopResponse.SerializeToString, - ), - 'SubscribeChannelGraph': grpc.unary_stream_rpc_method_handler( - servicer.SubscribeChannelGraph, - request_deserializer=rpc__pb2.GraphTopologySubscription.FromString, - response_serializer=rpc__pb2.GraphTopologyUpdate.SerializeToString, - ), - 'DebugLevel': grpc.unary_unary_rpc_method_handler( - servicer.DebugLevel, - request_deserializer=rpc__pb2.DebugLevelRequest.FromString, - response_serializer=rpc__pb2.DebugLevelResponse.SerializeToString, - ), - 'FeeReport': grpc.unary_unary_rpc_method_handler( - servicer.FeeReport, - request_deserializer=rpc__pb2.FeeReportRequest.FromString, - response_serializer=rpc__pb2.FeeReportResponse.SerializeToString, - ), - 'UpdateChannelPolicy': grpc.unary_unary_rpc_method_handler( - servicer.UpdateChannelPolicy, - request_deserializer=rpc__pb2.PolicyUpdateRequest.FromString, - response_serializer=rpc__pb2.PolicyUpdateResponse.SerializeToString, - ), - 'ForwardingHistory': grpc.unary_unary_rpc_method_handler( - servicer.ForwardingHistory, - request_deserializer=rpc__pb2.ForwardingHistoryRequest.FromString, - response_serializer=rpc__pb2.ForwardingHistoryResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'lnrpc.Lightning', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) diff --git a/node_launcher/gui/menu/nodes_manage/manage_dialogs/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/__init__.py similarity index 100% rename from node_launcher/gui/menu/nodes_manage/manage_dialogs/__init__.py rename to node_launcher/node_set/lnd/lnd_client/v0131beta/__init__.py diff --git a/node_launcher/gui/menu/nodes_manage/node_manage/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/__init__.py similarity index 100% rename from node_launcher/gui/menu/nodes_manage/node_manage/__init__.py rename to node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/__init__.py diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/autopilot.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/autopilot.proto new file mode 100644 index 00000000..67d0f9e3 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/autopilot.proto @@ -0,0 +1,80 @@ +syntax = "proto3"; + +package autopilotrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/autopilotrpc"; + +// Autopilot is a service that can be used to get information about the current +// state of the daemon's autopilot agent, and also supply it with information +// that can be used when deciding where to open channels. +service Autopilot { + /* + Status returns whether the daemon's autopilot agent is active. + */ + rpc Status (StatusRequest) returns (StatusResponse); + + /* + ModifyStatus is used to modify the status of the autopilot agent, like + enabling or disabling it. + */ + rpc ModifyStatus (ModifyStatusRequest) returns (ModifyStatusResponse); + + /* + QueryScores queries all available autopilot heuristics, in addition to any + active combination of these heruristics, for the scores they would give to + the given nodes. + */ + rpc QueryScores (QueryScoresRequest) returns (QueryScoresResponse); + + /* + SetScores attempts to set the scores used by the running autopilot agent, + if the external scoring heuristic is enabled. + */ + rpc SetScores (SetScoresRequest) returns (SetScoresResponse); +} + +message StatusRequest { +} + +message StatusResponse { + // Indicates whether the autopilot is active or not. + bool active = 1; +} + +message ModifyStatusRequest { + // Whether the autopilot agent should be enabled or not. + bool enable = 1; +} + +message ModifyStatusResponse { +} + +message QueryScoresRequest { + repeated string pubkeys = 1; + + // If set, we will ignore the local channel state when calculating scores. + bool ignore_local_state = 2; +} + +message QueryScoresResponse { + message HeuristicResult { + string heuristic = 1; + map scores = 2; + } + + repeated HeuristicResult results = 1; +} + +message SetScoresRequest { + // The name of the heuristic to provide scores to. + string heuristic = 1; + + /* + A map from hex-encoded public keys to scores. Scores must be in the range + [0.0, 1.0]. + */ + map scores = 2; +} + +message SetScoresResponse { +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/autopilot_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/autopilot_pb2.py new file mode 100644 index 00000000..d97f918c --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/autopilot_pb2.py @@ -0,0 +1,546 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/autopilotrpc/autopilot.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/autopilotrpc/autopilot.proto', + package='autopilotrpc', + syntax='proto3', + serialized_options=b'Z2github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/autopilotrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n&v0131beta/autopilotrpc/autopilot.proto\x12\x0c\x61utopilotrpc\"\x0f\n\rStatusRequest\" \n\x0eStatusResponse\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x08\"%\n\x13ModifyStatusRequest\x12\x0e\n\x06\x65nable\x18\x01 \x01(\x08\"\x16\n\x14ModifyStatusResponse\"A\n\x12QueryScoresRequest\x12\x0f\n\x07pubkeys\x18\x01 \x03(\t\x12\x1a\n\x12ignore_local_state\x18\x02 \x01(\x08\"\xfe\x01\n\x13QueryScoresResponse\x12\x42\n\x07results\x18\x01 \x03(\x0b\x32\x31.autopilotrpc.QueryScoresResponse.HeuristicResult\x1a\xa2\x01\n\x0fHeuristicResult\x12\x11\n\theuristic\x18\x01 \x01(\t\x12M\n\x06scores\x18\x02 \x03(\x0b\x32=.autopilotrpc.QueryScoresResponse.HeuristicResult.ScoresEntry\x1a-\n\x0bScoresEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\"\x90\x01\n\x10SetScoresRequest\x12\x11\n\theuristic\x18\x01 \x01(\t\x12:\n\x06scores\x18\x02 \x03(\x0b\x32*.autopilotrpc.SetScoresRequest.ScoresEntry\x1a-\n\x0bScoresEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x01:\x02\x38\x01\"\x13\n\x11SetScoresResponse2\xc9\x02\n\tAutopilot\x12\x43\n\x06Status\x12\x1b.autopilotrpc.StatusRequest\x1a\x1c.autopilotrpc.StatusResponse\x12U\n\x0cModifyStatus\x12!.autopilotrpc.ModifyStatusRequest\x1a\".autopilotrpc.ModifyStatusResponse\x12R\n\x0bQueryScores\x12 .autopilotrpc.QueryScoresRequest\x1a!.autopilotrpc.QueryScoresResponse\x12L\n\tSetScores\x12\x1e.autopilotrpc.SetScoresRequest\x1a\x1f.autopilotrpc.SetScoresResponseB4Z2github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/autopilotrpcb\x06proto3' +) + + + + +_STATUSREQUEST = _descriptor.Descriptor( + name='StatusRequest', + full_name='autopilotrpc.StatusRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=56, + serialized_end=71, +) + + +_STATUSRESPONSE = _descriptor.Descriptor( + name='StatusResponse', + full_name='autopilotrpc.StatusResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='active', full_name='autopilotrpc.StatusResponse.active', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=73, + serialized_end=105, +) + + +_MODIFYSTATUSREQUEST = _descriptor.Descriptor( + name='ModifyStatusRequest', + full_name='autopilotrpc.ModifyStatusRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='enable', full_name='autopilotrpc.ModifyStatusRequest.enable', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=107, + serialized_end=144, +) + + +_MODIFYSTATUSRESPONSE = _descriptor.Descriptor( + name='ModifyStatusResponse', + full_name='autopilotrpc.ModifyStatusResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=146, + serialized_end=168, +) + + +_QUERYSCORESREQUEST = _descriptor.Descriptor( + name='QueryScoresRequest', + full_name='autopilotrpc.QueryScoresRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pubkeys', full_name='autopilotrpc.QueryScoresRequest.pubkeys', index=0, + number=1, type=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='ignore_local_state', full_name='autopilotrpc.QueryScoresRequest.ignore_local_state', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=170, + serialized_end=235, +) + + +_QUERYSCORESRESPONSE_HEURISTICRESULT_SCORESENTRY = _descriptor.Descriptor( + name='ScoresEntry', + full_name='autopilotrpc.QueryScoresResponse.HeuristicResult.ScoresEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='autopilotrpc.QueryScoresResponse.HeuristicResult.ScoresEntry.key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='autopilotrpc.QueryScoresResponse.HeuristicResult.ScoresEntry.value', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=447, + serialized_end=492, +) + +_QUERYSCORESRESPONSE_HEURISTICRESULT = _descriptor.Descriptor( + name='HeuristicResult', + full_name='autopilotrpc.QueryScoresResponse.HeuristicResult', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='heuristic', full_name='autopilotrpc.QueryScoresResponse.HeuristicResult.heuristic', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='scores', full_name='autopilotrpc.QueryScoresResponse.HeuristicResult.scores', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_QUERYSCORESRESPONSE_HEURISTICRESULT_SCORESENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=330, + serialized_end=492, +) + +_QUERYSCORESRESPONSE = _descriptor.Descriptor( + name='QueryScoresResponse', + full_name='autopilotrpc.QueryScoresResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='results', full_name='autopilotrpc.QueryScoresResponse.results', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_QUERYSCORESRESPONSE_HEURISTICRESULT, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=238, + serialized_end=492, +) + + +_SETSCORESREQUEST_SCORESENTRY = _descriptor.Descriptor( + name='ScoresEntry', + full_name='autopilotrpc.SetScoresRequest.ScoresEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='autopilotrpc.SetScoresRequest.ScoresEntry.key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='autopilotrpc.SetScoresRequest.ScoresEntry.value', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=447, + serialized_end=492, +) + +_SETSCORESREQUEST = _descriptor.Descriptor( + name='SetScoresRequest', + full_name='autopilotrpc.SetScoresRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='heuristic', full_name='autopilotrpc.SetScoresRequest.heuristic', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='scores', full_name='autopilotrpc.SetScoresRequest.scores', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_SETSCORESREQUEST_SCORESENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=495, + serialized_end=639, +) + + +_SETSCORESRESPONSE = _descriptor.Descriptor( + name='SetScoresResponse', + full_name='autopilotrpc.SetScoresResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=641, + serialized_end=660, +) + +_QUERYSCORESRESPONSE_HEURISTICRESULT_SCORESENTRY.containing_type = _QUERYSCORESRESPONSE_HEURISTICRESULT +_QUERYSCORESRESPONSE_HEURISTICRESULT.fields_by_name['scores'].message_type = _QUERYSCORESRESPONSE_HEURISTICRESULT_SCORESENTRY +_QUERYSCORESRESPONSE_HEURISTICRESULT.containing_type = _QUERYSCORESRESPONSE +_QUERYSCORESRESPONSE.fields_by_name['results'].message_type = _QUERYSCORESRESPONSE_HEURISTICRESULT +_SETSCORESREQUEST_SCORESENTRY.containing_type = _SETSCORESREQUEST +_SETSCORESREQUEST.fields_by_name['scores'].message_type = _SETSCORESREQUEST_SCORESENTRY +DESCRIPTOR.message_types_by_name['StatusRequest'] = _STATUSREQUEST +DESCRIPTOR.message_types_by_name['StatusResponse'] = _STATUSRESPONSE +DESCRIPTOR.message_types_by_name['ModifyStatusRequest'] = _MODIFYSTATUSREQUEST +DESCRIPTOR.message_types_by_name['ModifyStatusResponse'] = _MODIFYSTATUSRESPONSE +DESCRIPTOR.message_types_by_name['QueryScoresRequest'] = _QUERYSCORESREQUEST +DESCRIPTOR.message_types_by_name['QueryScoresResponse'] = _QUERYSCORESRESPONSE +DESCRIPTOR.message_types_by_name['SetScoresRequest'] = _SETSCORESREQUEST +DESCRIPTOR.message_types_by_name['SetScoresResponse'] = _SETSCORESRESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +StatusRequest = _reflection.GeneratedProtocolMessageType('StatusRequest', (_message.Message,), { + 'DESCRIPTOR' : _STATUSREQUEST, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.StatusRequest) + }) +_sym_db.RegisterMessage(StatusRequest) + +StatusResponse = _reflection.GeneratedProtocolMessageType('StatusResponse', (_message.Message,), { + 'DESCRIPTOR' : _STATUSRESPONSE, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.StatusResponse) + }) +_sym_db.RegisterMessage(StatusResponse) + +ModifyStatusRequest = _reflection.GeneratedProtocolMessageType('ModifyStatusRequest', (_message.Message,), { + 'DESCRIPTOR' : _MODIFYSTATUSREQUEST, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.ModifyStatusRequest) + }) +_sym_db.RegisterMessage(ModifyStatusRequest) + +ModifyStatusResponse = _reflection.GeneratedProtocolMessageType('ModifyStatusResponse', (_message.Message,), { + 'DESCRIPTOR' : _MODIFYSTATUSRESPONSE, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.ModifyStatusResponse) + }) +_sym_db.RegisterMessage(ModifyStatusResponse) + +QueryScoresRequest = _reflection.GeneratedProtocolMessageType('QueryScoresRequest', (_message.Message,), { + 'DESCRIPTOR' : _QUERYSCORESREQUEST, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.QueryScoresRequest) + }) +_sym_db.RegisterMessage(QueryScoresRequest) + +QueryScoresResponse = _reflection.GeneratedProtocolMessageType('QueryScoresResponse', (_message.Message,), { + + 'HeuristicResult' : _reflection.GeneratedProtocolMessageType('HeuristicResult', (_message.Message,), { + + 'ScoresEntry' : _reflection.GeneratedProtocolMessageType('ScoresEntry', (_message.Message,), { + 'DESCRIPTOR' : _QUERYSCORESRESPONSE_HEURISTICRESULT_SCORESENTRY, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.QueryScoresResponse.HeuristicResult.ScoresEntry) + }) + , + 'DESCRIPTOR' : _QUERYSCORESRESPONSE_HEURISTICRESULT, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.QueryScoresResponse.HeuristicResult) + }) + , + 'DESCRIPTOR' : _QUERYSCORESRESPONSE, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.QueryScoresResponse) + }) +_sym_db.RegisterMessage(QueryScoresResponse) +_sym_db.RegisterMessage(QueryScoresResponse.HeuristicResult) +_sym_db.RegisterMessage(QueryScoresResponse.HeuristicResult.ScoresEntry) + +SetScoresRequest = _reflection.GeneratedProtocolMessageType('SetScoresRequest', (_message.Message,), { + + 'ScoresEntry' : _reflection.GeneratedProtocolMessageType('ScoresEntry', (_message.Message,), { + 'DESCRIPTOR' : _SETSCORESREQUEST_SCORESENTRY, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.SetScoresRequest.ScoresEntry) + }) + , + 'DESCRIPTOR' : _SETSCORESREQUEST, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.SetScoresRequest) + }) +_sym_db.RegisterMessage(SetScoresRequest) +_sym_db.RegisterMessage(SetScoresRequest.ScoresEntry) + +SetScoresResponse = _reflection.GeneratedProtocolMessageType('SetScoresResponse', (_message.Message,), { + 'DESCRIPTOR' : _SETSCORESRESPONSE, + '__module__' : 'v0131beta.autopilotrpc.autopilot_pb2' + # @@protoc_insertion_point(class_scope:autopilotrpc.SetScoresResponse) + }) +_sym_db.RegisterMessage(SetScoresResponse) + + +DESCRIPTOR._options = None +_QUERYSCORESRESPONSE_HEURISTICRESULT_SCORESENTRY._options = None +_SETSCORESREQUEST_SCORESENTRY._options = None + +_AUTOPILOT = _descriptor.ServiceDescriptor( + name='Autopilot', + full_name='autopilotrpc.Autopilot', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=663, + serialized_end=992, + methods=[ + _descriptor.MethodDescriptor( + name='Status', + full_name='autopilotrpc.Autopilot.Status', + index=0, + containing_service=None, + input_type=_STATUSREQUEST, + output_type=_STATUSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ModifyStatus', + full_name='autopilotrpc.Autopilot.ModifyStatus', + index=1, + containing_service=None, + input_type=_MODIFYSTATUSREQUEST, + output_type=_MODIFYSTATUSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='QueryScores', + full_name='autopilotrpc.Autopilot.QueryScores', + index=2, + containing_service=None, + input_type=_QUERYSCORESREQUEST, + output_type=_QUERYSCORESRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SetScores', + full_name='autopilotrpc.Autopilot.SetScores', + index=3, + containing_service=None, + input_type=_SETSCORESREQUEST, + output_type=_SETSCORESRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_AUTOPILOT) + +DESCRIPTOR.services_by_name['Autopilot'] = _AUTOPILOT + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/autopilot_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/autopilot_pb2_grpc.py new file mode 100644 index 00000000..266137c9 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/autopilotrpc/autopilot_pb2_grpc.py @@ -0,0 +1,186 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from v0131beta.autopilotrpc import autopilot_pb2 as v0131beta_dot_autopilotrpc_dot_autopilot__pb2 + + +class AutopilotStub(object): + """Autopilot is a service that can be used to get information about the current + state of the daemon's autopilot agent, and also supply it with information + that can be used when deciding where to open channels. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.Status = channel.unary_unary( + '/autopilotrpc.Autopilot/Status', + request_serializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.StatusRequest.SerializeToString, + response_deserializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.StatusResponse.FromString, + ) + self.ModifyStatus = channel.unary_unary( + '/autopilotrpc.Autopilot/ModifyStatus', + request_serializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.ModifyStatusRequest.SerializeToString, + response_deserializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.ModifyStatusResponse.FromString, + ) + self.QueryScores = channel.unary_unary( + '/autopilotrpc.Autopilot/QueryScores', + request_serializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.QueryScoresRequest.SerializeToString, + response_deserializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.QueryScoresResponse.FromString, + ) + self.SetScores = channel.unary_unary( + '/autopilotrpc.Autopilot/SetScores', + request_serializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.SetScoresRequest.SerializeToString, + response_deserializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.SetScoresResponse.FromString, + ) + + +class AutopilotServicer(object): + """Autopilot is a service that can be used to get information about the current + state of the daemon's autopilot agent, and also supply it with information + that can be used when deciding where to open channels. + """ + + def Status(self, request, context): + """ + Status returns whether the daemon's autopilot agent is active. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ModifyStatus(self, request, context): + """ + ModifyStatus is used to modify the status of the autopilot agent, like + enabling or disabling it. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def QueryScores(self, request, context): + """ + QueryScores queries all available autopilot heuristics, in addition to any + active combination of these heruristics, for the scores they would give to + the given nodes. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetScores(self, request, context): + """ + SetScores attempts to set the scores used by the running autopilot agent, + if the external scoring heuristic is enabled. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_AutopilotServicer_to_server(servicer, server): + rpc_method_handlers = { + 'Status': grpc.unary_unary_rpc_method_handler( + servicer.Status, + request_deserializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.StatusRequest.FromString, + response_serializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.StatusResponse.SerializeToString, + ), + 'ModifyStatus': grpc.unary_unary_rpc_method_handler( + servicer.ModifyStatus, + request_deserializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.ModifyStatusRequest.FromString, + response_serializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.ModifyStatusResponse.SerializeToString, + ), + 'QueryScores': grpc.unary_unary_rpc_method_handler( + servicer.QueryScores, + request_deserializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.QueryScoresRequest.FromString, + response_serializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.QueryScoresResponse.SerializeToString, + ), + 'SetScores': grpc.unary_unary_rpc_method_handler( + servicer.SetScores, + request_deserializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.SetScoresRequest.FromString, + response_serializer=v0131beta_dot_autopilotrpc_dot_autopilot__pb2.SetScoresResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'autopilotrpc.Autopilot', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Autopilot(object): + """Autopilot is a service that can be used to get information about the current + state of the daemon's autopilot agent, and also supply it with information + that can be used when deciding where to open channels. + """ + + @staticmethod + def Status(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/autopilotrpc.Autopilot/Status', + v0131beta_dot_autopilotrpc_dot_autopilot__pb2.StatusRequest.SerializeToString, + v0131beta_dot_autopilotrpc_dot_autopilot__pb2.StatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ModifyStatus(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/autopilotrpc.Autopilot/ModifyStatus', + v0131beta_dot_autopilotrpc_dot_autopilot__pb2.ModifyStatusRequest.SerializeToString, + v0131beta_dot_autopilotrpc_dot_autopilot__pb2.ModifyStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def QueryScores(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/autopilotrpc.Autopilot/QueryScores', + v0131beta_dot_autopilotrpc_dot_autopilot__pb2.QueryScoresRequest.SerializeToString, + v0131beta_dot_autopilotrpc_dot_autopilot__pb2.QueryScoresResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetScores(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/autopilotrpc.Autopilot/SetScores', + v0131beta_dot_autopilotrpc_dot_autopilot__pb2.SetScoresRequest.SerializeToString, + v0131beta_dot_autopilotrpc_dot_autopilot__pb2.SetScoresResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/chainnotifier.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/chainnotifier.proto new file mode 100644 index 00000000..5c9202b2 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/chainnotifier.proto @@ -0,0 +1,182 @@ +syntax = "proto3"; + +package chainrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/chainrpc"; + +// ChainNotifier is a service that can be used to get information about the +// chain backend by registering notifiers for chain events. +service ChainNotifier { + /* + RegisterConfirmationsNtfn is a synchronous response-streaming RPC that + registers an intent for a client to be notified once a confirmation request + has reached its required number of confirmations on-chain. + + A client can specify whether the confirmation request should be for a + particular transaction by its hash or for an output script by specifying a + zero hash. + */ + rpc RegisterConfirmationsNtfn (ConfRequest) returns (stream ConfEvent); + + /* + RegisterSpendNtfn is a synchronous response-streaming RPC that registers an + intent for a client to be notification once a spend request has been spent + by a transaction that has confirmed on-chain. + + A client can specify whether the spend request should be for a particular + outpoint or for an output script by specifying a zero outpoint. + */ + rpc RegisterSpendNtfn (SpendRequest) returns (stream SpendEvent); + + /* + RegisterBlockEpochNtfn is a synchronous response-streaming RPC that + registers an intent for a client to be notified of blocks in the chain. The + stream will return a hash and height tuple of a block for each new/stale + block in the chain. It is the client's responsibility to determine whether + the tuple returned is for a new or stale block in the chain. + + A client can also request a historical backlog of blocks from a particular + point. This allows clients to be idempotent by ensuring that they do not + missing processing a single block within the chain. + */ + rpc RegisterBlockEpochNtfn (BlockEpoch) returns (stream BlockEpoch); +} + +message ConfRequest { + /* + The transaction hash for which we should request a confirmation notification + for. If set to a hash of all zeros, then the confirmation notification will + be requested for the script instead. + */ + bytes txid = 1; + + /* + An output script within a transaction with the hash above which will be used + by light clients to match block filters. If the transaction hash is set to a + hash of all zeros, then a confirmation notification will be requested for + this script instead. + */ + bytes script = 2; + + /* + The number of desired confirmations the transaction/output script should + reach before dispatching a confirmation notification. + */ + uint32 num_confs = 3; + + /* + The earliest height in the chain for which the transaction/output script + could have been included in a block. This should in most cases be set to the + broadcast height of the transaction/output script. + */ + uint32 height_hint = 4; +} + +message ConfDetails { + // The raw bytes of the confirmed transaction. + bytes raw_tx = 1; + + // The hash of the block in which the confirmed transaction was included in. + bytes block_hash = 2; + + // The height of the block in which the confirmed transaction was included + // in. + uint32 block_height = 3; + + // The index of the confirmed transaction within the transaction. + uint32 tx_index = 4; +} + +message Reorg { + // TODO(wilmer): need to know how the client will use this first. +} + +message ConfEvent { + oneof event { + /* + An event that includes the confirmation details of the request + (txid/ouput script). + */ + ConfDetails conf = 1; + + /* + An event send when the transaction of the request is reorged out of the + chain. + */ + Reorg reorg = 2; + } +} + +message Outpoint { + // The hash of the transaction. + bytes hash = 1; + + // The index of the output within the transaction. + uint32 index = 2; +} + +message SpendRequest { + /* + The outpoint for which we should request a spend notification for. If set to + a zero outpoint, then the spend notification will be requested for the + script instead. + */ + Outpoint outpoint = 1; + + /* + The output script for the outpoint above. This will be used by light clients + to match block filters. If the outpoint is set to a zero outpoint, then a + spend notification will be requested for this script instead. + */ + bytes script = 2; + + /* + The earliest height in the chain for which the outpoint/output script could + have been spent. This should in most cases be set to the broadcast height of + the outpoint/output script. + */ + uint32 height_hint = 3; + + // TODO(wilmer): extend to support num confs on spending tx. +} + +message SpendDetails { + // The outpoint was that spent. + Outpoint spending_outpoint = 1; + + // The raw bytes of the spending transaction. + bytes raw_spending_tx = 2; + + // The hash of the spending transaction. + bytes spending_tx_hash = 3; + + // The input of the spending transaction that fulfilled the spend request. + uint32 spending_input_index = 4; + + // The height at which the spending transaction was included in a block. + uint32 spending_height = 5; +} + +message SpendEvent { + oneof event { + /* + An event that includes the details of the spending transaction of the + request (outpoint/output script). + */ + SpendDetails spend = 1; + + /* + An event sent when the spending transaction of the request was + reorged out of the chain. + */ + Reorg reorg = 2; + } +} + +message BlockEpoch { + // The hash of the block. + bytes hash = 1; + + // The height of the block. + uint32 height = 2; +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/chainnotifier_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/chainnotifier_pb2.py new file mode 100644 index 00000000..ab58438d --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/chainnotifier_pb2.py @@ -0,0 +1,570 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/chainrpc/chainnotifier.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/chainrpc/chainnotifier.proto', + package='chainrpc', + syntax='proto3', + serialized_options=b'Z.github.com/lightningnetwork/lnd/lnrpc/chainrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n&v0131beta/chainrpc/chainnotifier.proto\x12\x08\x63hainrpc\"S\n\x0b\x43onfRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x0e\n\x06script\x18\x02 \x01(\x0c\x12\x11\n\tnum_confs\x18\x03 \x01(\r\x12\x13\n\x0bheight_hint\x18\x04 \x01(\r\"Y\n\x0b\x43onfDetails\x12\x0e\n\x06raw_tx\x18\x01 \x01(\x0c\x12\x12\n\nblock_hash\x18\x02 \x01(\x0c\x12\x14\n\x0c\x62lock_height\x18\x03 \x01(\r\x12\x10\n\x08tx_index\x18\x04 \x01(\r\"\x07\n\x05Reorg\"]\n\tConfEvent\x12%\n\x04\x63onf\x18\x01 \x01(\x0b\x32\x15.chainrpc.ConfDetailsH\x00\x12 \n\x05reorg\x18\x02 \x01(\x0b\x32\x0f.chainrpc.ReorgH\x00\x42\x07\n\x05\x65vent\"\'\n\x08Outpoint\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\r\n\x05index\x18\x02 \x01(\r\"Y\n\x0cSpendRequest\x12$\n\x08outpoint\x18\x01 \x01(\x0b\x32\x12.chainrpc.Outpoint\x12\x0e\n\x06script\x18\x02 \x01(\x0c\x12\x13\n\x0bheight_hint\x18\x03 \x01(\r\"\xa7\x01\n\x0cSpendDetails\x12-\n\x11spending_outpoint\x18\x01 \x01(\x0b\x32\x12.chainrpc.Outpoint\x12\x17\n\x0fraw_spending_tx\x18\x02 \x01(\x0c\x12\x18\n\x10spending_tx_hash\x18\x03 \x01(\x0c\x12\x1c\n\x14spending_input_index\x18\x04 \x01(\r\x12\x17\n\x0fspending_height\x18\x05 \x01(\r\"`\n\nSpendEvent\x12\'\n\x05spend\x18\x01 \x01(\x0b\x32\x16.chainrpc.SpendDetailsH\x00\x12 \n\x05reorg\x18\x02 \x01(\x0b\x32\x0f.chainrpc.ReorgH\x00\x42\x07\n\x05\x65vent\"*\n\nBlockEpoch\x12\x0c\n\x04hash\x18\x01 \x01(\x0c\x12\x0e\n\x06height\x18\x02 \x01(\r2\xe7\x01\n\rChainNotifier\x12I\n\x19RegisterConfirmationsNtfn\x12\x15.chainrpc.ConfRequest\x1a\x13.chainrpc.ConfEvent0\x01\x12\x43\n\x11RegisterSpendNtfn\x12\x16.chainrpc.SpendRequest\x1a\x14.chainrpc.SpendEvent0\x01\x12\x46\n\x16RegisterBlockEpochNtfn\x12\x14.chainrpc.BlockEpoch\x1a\x14.chainrpc.BlockEpoch0\x01\x42\x30Z.github.com/lightningnetwork/lnd/lnrpc/chainrpcb\x06proto3' +) + + + + +_CONFREQUEST = _descriptor.Descriptor( + name='ConfRequest', + full_name='chainrpc.ConfRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='txid', full_name='chainrpc.ConfRequest.txid', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='script', full_name='chainrpc.ConfRequest.script', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_confs', full_name='chainrpc.ConfRequest.num_confs', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='height_hint', full_name='chainrpc.ConfRequest.height_hint', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=52, + serialized_end=135, +) + + +_CONFDETAILS = _descriptor.Descriptor( + name='ConfDetails', + full_name='chainrpc.ConfDetails', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='raw_tx', full_name='chainrpc.ConfDetails.raw_tx', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='block_hash', full_name='chainrpc.ConfDetails.block_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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='block_height', full_name='chainrpc.ConfDetails.block_height', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='tx_index', full_name='chainrpc.ConfDetails.tx_index', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=137, + serialized_end=226, +) + + +_REORG = _descriptor.Descriptor( + name='Reorg', + full_name='chainrpc.Reorg', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=228, + serialized_end=235, +) + + +_CONFEVENT = _descriptor.Descriptor( + name='ConfEvent', + full_name='chainrpc.ConfEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='conf', full_name='chainrpc.ConfEvent.conf', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='reorg', full_name='chainrpc.ConfEvent.reorg', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='event', full_name='chainrpc.ConfEvent.event', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=237, + serialized_end=330, +) + + +_OUTPOINT = _descriptor.Descriptor( + name='Outpoint', + full_name='chainrpc.Outpoint', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='hash', full_name='chainrpc.Outpoint.hash', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='index', full_name='chainrpc.Outpoint.index', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=332, + serialized_end=371, +) + + +_SPENDREQUEST = _descriptor.Descriptor( + name='SpendRequest', + full_name='chainrpc.SpendRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='outpoint', full_name='chainrpc.SpendRequest.outpoint', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='script', full_name='chainrpc.SpendRequest.script', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='height_hint', full_name='chainrpc.SpendRequest.height_hint', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=373, + serialized_end=462, +) + + +_SPENDDETAILS = _descriptor.Descriptor( + name='SpendDetails', + full_name='chainrpc.SpendDetails', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='spending_outpoint', full_name='chainrpc.SpendDetails.spending_outpoint', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='raw_spending_tx', full_name='chainrpc.SpendDetails.raw_spending_tx', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spending_tx_hash', full_name='chainrpc.SpendDetails.spending_tx_hash', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spending_input_index', full_name='chainrpc.SpendDetails.spending_input_index', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spending_height', full_name='chainrpc.SpendDetails.spending_height', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=465, + serialized_end=632, +) + + +_SPENDEVENT = _descriptor.Descriptor( + name='SpendEvent', + full_name='chainrpc.SpendEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='spend', full_name='chainrpc.SpendEvent.spend', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='reorg', full_name='chainrpc.SpendEvent.reorg', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='event', full_name='chainrpc.SpendEvent.event', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=634, + serialized_end=730, +) + + +_BLOCKEPOCH = _descriptor.Descriptor( + name='BlockEpoch', + full_name='chainrpc.BlockEpoch', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='hash', full_name='chainrpc.BlockEpoch.hash', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='height', full_name='chainrpc.BlockEpoch.height', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=732, + serialized_end=774, +) + +_CONFEVENT.fields_by_name['conf'].message_type = _CONFDETAILS +_CONFEVENT.fields_by_name['reorg'].message_type = _REORG +_CONFEVENT.oneofs_by_name['event'].fields.append( + _CONFEVENT.fields_by_name['conf']) +_CONFEVENT.fields_by_name['conf'].containing_oneof = _CONFEVENT.oneofs_by_name['event'] +_CONFEVENT.oneofs_by_name['event'].fields.append( + _CONFEVENT.fields_by_name['reorg']) +_CONFEVENT.fields_by_name['reorg'].containing_oneof = _CONFEVENT.oneofs_by_name['event'] +_SPENDREQUEST.fields_by_name['outpoint'].message_type = _OUTPOINT +_SPENDDETAILS.fields_by_name['spending_outpoint'].message_type = _OUTPOINT +_SPENDEVENT.fields_by_name['spend'].message_type = _SPENDDETAILS +_SPENDEVENT.fields_by_name['reorg'].message_type = _REORG +_SPENDEVENT.oneofs_by_name['event'].fields.append( + _SPENDEVENT.fields_by_name['spend']) +_SPENDEVENT.fields_by_name['spend'].containing_oneof = _SPENDEVENT.oneofs_by_name['event'] +_SPENDEVENT.oneofs_by_name['event'].fields.append( + _SPENDEVENT.fields_by_name['reorg']) +_SPENDEVENT.fields_by_name['reorg'].containing_oneof = _SPENDEVENT.oneofs_by_name['event'] +DESCRIPTOR.message_types_by_name['ConfRequest'] = _CONFREQUEST +DESCRIPTOR.message_types_by_name['ConfDetails'] = _CONFDETAILS +DESCRIPTOR.message_types_by_name['Reorg'] = _REORG +DESCRIPTOR.message_types_by_name['ConfEvent'] = _CONFEVENT +DESCRIPTOR.message_types_by_name['Outpoint'] = _OUTPOINT +DESCRIPTOR.message_types_by_name['SpendRequest'] = _SPENDREQUEST +DESCRIPTOR.message_types_by_name['SpendDetails'] = _SPENDDETAILS +DESCRIPTOR.message_types_by_name['SpendEvent'] = _SPENDEVENT +DESCRIPTOR.message_types_by_name['BlockEpoch'] = _BLOCKEPOCH +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +ConfRequest = _reflection.GeneratedProtocolMessageType('ConfRequest', (_message.Message,), { + 'DESCRIPTOR' : _CONFREQUEST, + '__module__' : 'v0131beta.chainrpc.chainnotifier_pb2' + # @@protoc_insertion_point(class_scope:chainrpc.ConfRequest) + }) +_sym_db.RegisterMessage(ConfRequest) + +ConfDetails = _reflection.GeneratedProtocolMessageType('ConfDetails', (_message.Message,), { + 'DESCRIPTOR' : _CONFDETAILS, + '__module__' : 'v0131beta.chainrpc.chainnotifier_pb2' + # @@protoc_insertion_point(class_scope:chainrpc.ConfDetails) + }) +_sym_db.RegisterMessage(ConfDetails) + +Reorg = _reflection.GeneratedProtocolMessageType('Reorg', (_message.Message,), { + 'DESCRIPTOR' : _REORG, + '__module__' : 'v0131beta.chainrpc.chainnotifier_pb2' + # @@protoc_insertion_point(class_scope:chainrpc.Reorg) + }) +_sym_db.RegisterMessage(Reorg) + +ConfEvent = _reflection.GeneratedProtocolMessageType('ConfEvent', (_message.Message,), { + 'DESCRIPTOR' : _CONFEVENT, + '__module__' : 'v0131beta.chainrpc.chainnotifier_pb2' + # @@protoc_insertion_point(class_scope:chainrpc.ConfEvent) + }) +_sym_db.RegisterMessage(ConfEvent) + +Outpoint = _reflection.GeneratedProtocolMessageType('Outpoint', (_message.Message,), { + 'DESCRIPTOR' : _OUTPOINT, + '__module__' : 'v0131beta.chainrpc.chainnotifier_pb2' + # @@protoc_insertion_point(class_scope:chainrpc.Outpoint) + }) +_sym_db.RegisterMessage(Outpoint) + +SpendRequest = _reflection.GeneratedProtocolMessageType('SpendRequest', (_message.Message,), { + 'DESCRIPTOR' : _SPENDREQUEST, + '__module__' : 'v0131beta.chainrpc.chainnotifier_pb2' + # @@protoc_insertion_point(class_scope:chainrpc.SpendRequest) + }) +_sym_db.RegisterMessage(SpendRequest) + +SpendDetails = _reflection.GeneratedProtocolMessageType('SpendDetails', (_message.Message,), { + 'DESCRIPTOR' : _SPENDDETAILS, + '__module__' : 'v0131beta.chainrpc.chainnotifier_pb2' + # @@protoc_insertion_point(class_scope:chainrpc.SpendDetails) + }) +_sym_db.RegisterMessage(SpendDetails) + +SpendEvent = _reflection.GeneratedProtocolMessageType('SpendEvent', (_message.Message,), { + 'DESCRIPTOR' : _SPENDEVENT, + '__module__' : 'v0131beta.chainrpc.chainnotifier_pb2' + # @@protoc_insertion_point(class_scope:chainrpc.SpendEvent) + }) +_sym_db.RegisterMessage(SpendEvent) + +BlockEpoch = _reflection.GeneratedProtocolMessageType('BlockEpoch', (_message.Message,), { + 'DESCRIPTOR' : _BLOCKEPOCH, + '__module__' : 'v0131beta.chainrpc.chainnotifier_pb2' + # @@protoc_insertion_point(class_scope:chainrpc.BlockEpoch) + }) +_sym_db.RegisterMessage(BlockEpoch) + + +DESCRIPTOR._options = None + +_CHAINNOTIFIER = _descriptor.ServiceDescriptor( + name='ChainNotifier', + full_name='chainrpc.ChainNotifier', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=777, + serialized_end=1008, + methods=[ + _descriptor.MethodDescriptor( + name='RegisterConfirmationsNtfn', + full_name='chainrpc.ChainNotifier.RegisterConfirmationsNtfn', + index=0, + containing_service=None, + input_type=_CONFREQUEST, + output_type=_CONFEVENT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='RegisterSpendNtfn', + full_name='chainrpc.ChainNotifier.RegisterSpendNtfn', + index=1, + containing_service=None, + input_type=_SPENDREQUEST, + output_type=_SPENDEVENT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='RegisterBlockEpochNtfn', + full_name='chainrpc.ChainNotifier.RegisterBlockEpochNtfn', + index=2, + containing_service=None, + input_type=_BLOCKEPOCH, + output_type=_BLOCKEPOCH, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_CHAINNOTIFIER) + +DESCRIPTOR.services_by_name['ChainNotifier'] = _CHAINNOTIFIER + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/chainnotifier_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/chainnotifier_pb2_grpc.py new file mode 100644 index 00000000..88663325 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/chainrpc/chainnotifier_pb2_grpc.py @@ -0,0 +1,163 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from v0131beta.chainrpc import chainnotifier_pb2 as v0131beta_dot_chainrpc_dot_chainnotifier__pb2 + + +class ChainNotifierStub(object): + """ChainNotifier is a service that can be used to get information about the + chain backend by registering notifiers for chain events. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.RegisterConfirmationsNtfn = channel.unary_stream( + '/chainrpc.ChainNotifier/RegisterConfirmationsNtfn', + request_serializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.ConfRequest.SerializeToString, + response_deserializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.ConfEvent.FromString, + ) + self.RegisterSpendNtfn = channel.unary_stream( + '/chainrpc.ChainNotifier/RegisterSpendNtfn', + request_serializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.SpendRequest.SerializeToString, + response_deserializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.SpendEvent.FromString, + ) + self.RegisterBlockEpochNtfn = channel.unary_stream( + '/chainrpc.ChainNotifier/RegisterBlockEpochNtfn', + request_serializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.BlockEpoch.SerializeToString, + response_deserializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.BlockEpoch.FromString, + ) + + +class ChainNotifierServicer(object): + """ChainNotifier is a service that can be used to get information about the + chain backend by registering notifiers for chain events. + """ + + def RegisterConfirmationsNtfn(self, request, context): + """ + RegisterConfirmationsNtfn is a synchronous response-streaming RPC that + registers an intent for a client to be notified once a confirmation request + has reached its required number of confirmations on-chain. + + A client can specify whether the confirmation request should be for a + particular transaction by its hash or for an output script by specifying a + zero hash. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RegisterSpendNtfn(self, request, context): + """ + RegisterSpendNtfn is a synchronous response-streaming RPC that registers an + intent for a client to be notification once a spend request has been spent + by a transaction that has confirmed on-chain. + + A client can specify whether the spend request should be for a particular + outpoint or for an output script by specifying a zero outpoint. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RegisterBlockEpochNtfn(self, request, context): + """ + RegisterBlockEpochNtfn is a synchronous response-streaming RPC that + registers an intent for a client to be notified of blocks in the chain. The + stream will return a hash and height tuple of a block for each new/stale + block in the chain. It is the client's responsibility to determine whether + the tuple returned is for a new or stale block in the chain. + + A client can also request a historical backlog of blocks from a particular + point. This allows clients to be idempotent by ensuring that they do not + missing processing a single block within the chain. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_ChainNotifierServicer_to_server(servicer, server): + rpc_method_handlers = { + 'RegisterConfirmationsNtfn': grpc.unary_stream_rpc_method_handler( + servicer.RegisterConfirmationsNtfn, + request_deserializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.ConfRequest.FromString, + response_serializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.ConfEvent.SerializeToString, + ), + 'RegisterSpendNtfn': grpc.unary_stream_rpc_method_handler( + servicer.RegisterSpendNtfn, + request_deserializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.SpendRequest.FromString, + response_serializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.SpendEvent.SerializeToString, + ), + 'RegisterBlockEpochNtfn': grpc.unary_stream_rpc_method_handler( + servicer.RegisterBlockEpochNtfn, + request_deserializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.BlockEpoch.FromString, + response_serializer=v0131beta_dot_chainrpc_dot_chainnotifier__pb2.BlockEpoch.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'chainrpc.ChainNotifier', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class ChainNotifier(object): + """ChainNotifier is a service that can be used to get information about the + chain backend by registering notifiers for chain events. + """ + + @staticmethod + def RegisterConfirmationsNtfn(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/chainrpc.ChainNotifier/RegisterConfirmationsNtfn', + v0131beta_dot_chainrpc_dot_chainnotifier__pb2.ConfRequest.SerializeToString, + v0131beta_dot_chainrpc_dot_chainnotifier__pb2.ConfEvent.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RegisterSpendNtfn(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/chainrpc.ChainNotifier/RegisterSpendNtfn', + v0131beta_dot_chainrpc_dot_chainnotifier__pb2.SpendRequest.SerializeToString, + v0131beta_dot_chainrpc_dot_chainnotifier__pb2.SpendEvent.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RegisterBlockEpochNtfn(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/chainrpc.ChainNotifier/RegisterBlockEpochNtfn', + v0131beta_dot_chainrpc_dot_chainnotifier__pb2.BlockEpoch.SerializeToString, + v0131beta_dot_chainrpc_dot_chainnotifier__pb2.BlockEpoch.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/invoices.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/invoices.proto new file mode 100644 index 00000000..55213385 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/invoices.proto @@ -0,0 +1,122 @@ +syntax = "proto3"; + +import "v0131beta/rpc.proto"; + +package invoicesrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/invoicesrpc"; + +// Invoices is a service that can be used to create, accept, settle and cancel +// invoices. +service Invoices { + /* + SubscribeSingleInvoice returns a uni-directional stream (server -> client) + to notify the client of state transitions of the specified invoice. + Initially the current invoice state is always sent out. + */ + rpc SubscribeSingleInvoice (SubscribeSingleInvoiceRequest) + returns (stream lnrpc.Invoice); + + /* + CancelInvoice cancels a currently open invoice. If the invoice is already + canceled, this call will succeed. If the invoice is already settled, it will + fail. + */ + rpc CancelInvoice (CancelInvoiceMsg) returns (CancelInvoiceResp); + + /* + AddHoldInvoice creates a hold invoice. It ties the invoice to the hash + supplied in the request. + */ + rpc AddHoldInvoice (AddHoldInvoiceRequest) returns (AddHoldInvoiceResp); + + /* + SettleInvoice settles an accepted invoice. If the invoice is already + settled, this call will succeed. + */ + rpc SettleInvoice (SettleInvoiceMsg) returns (SettleInvoiceResp); +} + +message CancelInvoiceMsg { + // Hash corresponding to the (hold) invoice to cancel. + bytes payment_hash = 1; +} +message CancelInvoiceResp { +} + +message AddHoldInvoiceRequest { + /* + An optional memo to attach along with the invoice. Used for record keeping + purposes for the invoice's creator, and will also be set in the description + field of the encoded payment request if the description_hash field is not + being used. + */ + string memo = 1; + + // The hash of the preimage + bytes hash = 2; + + /* + The value of this invoice in satoshis + + The fields value and value_msat are mutually exclusive. + */ + int64 value = 3; + + /* + The value of this invoice in millisatoshis + + The fields value and value_msat are mutually exclusive. + */ + int64 value_msat = 10; + + /* + Hash (SHA-256) of a description of the payment. Used if the description of + payment (memo) is too long to naturally fit within the description field + of an encoded payment request. + */ + bytes description_hash = 4; + + // Payment request expiry time in seconds. Default is 3600 (1 hour). + int64 expiry = 5; + + // Fallback on-chain address. + string fallback_addr = 6; + + // Delta to use for the time-lock of the CLTV extended to the final hop. + uint64 cltv_expiry = 7; + + /* + Route hints that can each be individually used to assist in reaching the + invoice's destination. + */ + repeated lnrpc.RouteHint route_hints = 8; + + // Whether this invoice should include routing hints for private channels. + bool private = 9; +} + +message AddHoldInvoiceResp { + /* + A bare-bones invoice for a payment within the Lightning Network. With the + details of the invoice, the sender has all the data necessary to send a + payment to the recipient. + */ + string payment_request = 1; +} + +message SettleInvoiceMsg { + // Externally discovered pre-image that should be used to settle the hold + // invoice. + bytes preimage = 1; +} + +message SettleInvoiceResp { +} + +message SubscribeSingleInvoiceRequest { + reserved 1; + + // Hash corresponding to the (hold) invoice to subscribe to. + bytes r_hash = 2; +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/invoices_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/invoices_pb2.py new file mode 100644 index 00000000..3f0aafc7 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/invoices_pb2.py @@ -0,0 +1,419 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/invoicesrpc/invoices.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from v0131beta import lnd_grpc.protos.dev.rpc_pb2 as v0131beta_dot_rpc__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/invoicesrpc/invoices.proto', + package='invoicesrpc', + syntax='proto3', + serialized_options=b'Z1github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/invoicesrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n$v0131beta/invoicesrpc/invoices.proto\x12\x0binvoicesrpc\x1a\x13v0131beta/rpc.proto\"(\n\x10\x43\x61ncelInvoiceMsg\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\"\x13\n\x11\x43\x61ncelInvoiceResp\"\xe4\x01\n\x15\x41\x64\x64HoldInvoiceRequest\x12\x0c\n\x04memo\x18\x01 \x01(\t\x12\x0c\n\x04hash\x18\x02 \x01(\x0c\x12\r\n\x05value\x18\x03 \x01(\x03\x12\x12\n\nvalue_msat\x18\n \x01(\x03\x12\x18\n\x10\x64\x65scription_hash\x18\x04 \x01(\x0c\x12\x0e\n\x06\x65xpiry\x18\x05 \x01(\x03\x12\x15\n\rfallback_addr\x18\x06 \x01(\t\x12\x13\n\x0b\x63ltv_expiry\x18\x07 \x01(\x04\x12%\n\x0broute_hints\x18\x08 \x03(\x0b\x32\x10.lnrpc.RouteHint\x12\x0f\n\x07private\x18\t \x01(\x08\"-\n\x12\x41\x64\x64HoldInvoiceResp\x12\x17\n\x0fpayment_request\x18\x01 \x01(\t\"$\n\x10SettleInvoiceMsg\x12\x10\n\x08preimage\x18\x01 \x01(\x0c\"\x13\n\x11SettleInvoiceResp\"5\n\x1dSubscribeSingleInvoiceRequest\x12\x0e\n\x06r_hash\x18\x02 \x01(\x0cJ\x04\x08\x01\x10\x02\x32\xd9\x02\n\x08Invoices\x12V\n\x16SubscribeSingleInvoice\x12*.invoicesrpc.SubscribeSingleInvoiceRequest\x1a\x0e.lnrpc.Invoice0\x01\x12N\n\rCancelInvoice\x12\x1d.invoicesrpc.CancelInvoiceMsg\x1a\x1e.invoicesrpc.CancelInvoiceResp\x12U\n\x0e\x41\x64\x64HoldInvoice\x12\".invoicesrpc.AddHoldInvoiceRequest\x1a\x1f.invoicesrpc.AddHoldInvoiceResp\x12N\n\rSettleInvoice\x12\x1d.invoicesrpc.SettleInvoiceMsg\x1a\x1e.invoicesrpc.SettleInvoiceRespB3Z1github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/invoicesrpcb\x06proto3' + , + dependencies=[v0131beta_dot_rpc__pb2.DESCRIPTOR,]) + + + + +_CANCELINVOICEMSG = _descriptor.Descriptor( + name='CancelInvoiceMsg', + full_name='invoicesrpc.CancelInvoiceMsg', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='payment_hash', full_name='invoicesrpc.CancelInvoiceMsg.payment_hash', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=74, + serialized_end=114, +) + + +_CANCELINVOICERESP = _descriptor.Descriptor( + name='CancelInvoiceResp', + full_name='invoicesrpc.CancelInvoiceResp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=116, + serialized_end=135, +) + + +_ADDHOLDINVOICEREQUEST = _descriptor.Descriptor( + name='AddHoldInvoiceRequest', + full_name='invoicesrpc.AddHoldInvoiceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='memo', full_name='invoicesrpc.AddHoldInvoiceRequest.memo', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hash', full_name='invoicesrpc.AddHoldInvoiceRequest.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='invoicesrpc.AddHoldInvoiceRequest.value', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value_msat', full_name='invoicesrpc.AddHoldInvoiceRequest.value_msat', index=3, + number=10, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='description_hash', full_name='invoicesrpc.AddHoldInvoiceRequest.description_hash', index=4, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='expiry', full_name='invoicesrpc.AddHoldInvoiceRequest.expiry', index=5, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fallback_addr', full_name='invoicesrpc.AddHoldInvoiceRequest.fallback_addr', index=6, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cltv_expiry', full_name='invoicesrpc.AddHoldInvoiceRequest.cltv_expiry', index=7, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='route_hints', full_name='invoicesrpc.AddHoldInvoiceRequest.route_hints', index=8, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='private', full_name='invoicesrpc.AddHoldInvoiceRequest.private', index=9, + 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=138, + serialized_end=366, +) + + +_ADDHOLDINVOICERESP = _descriptor.Descriptor( + name='AddHoldInvoiceResp', + full_name='invoicesrpc.AddHoldInvoiceResp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='payment_request', full_name='invoicesrpc.AddHoldInvoiceResp.payment_request', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=368, + serialized_end=413, +) + + +_SETTLEINVOICEMSG = _descriptor.Descriptor( + name='SettleInvoiceMsg', + full_name='invoicesrpc.SettleInvoiceMsg', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='preimage', full_name='invoicesrpc.SettleInvoiceMsg.preimage', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=415, + serialized_end=451, +) + + +_SETTLEINVOICERESP = _descriptor.Descriptor( + name='SettleInvoiceResp', + full_name='invoicesrpc.SettleInvoiceResp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=453, + serialized_end=472, +) + + +_SUBSCRIBESINGLEINVOICEREQUEST = _descriptor.Descriptor( + name='SubscribeSingleInvoiceRequest', + full_name='invoicesrpc.SubscribeSingleInvoiceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='r_hash', full_name='invoicesrpc.SubscribeSingleInvoiceRequest.r_hash', index=0, + 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=474, + serialized_end=527, +) + +_ADDHOLDINVOICEREQUEST.fields_by_name['route_hints'].message_type = v0131beta_dot_rpc__pb2._ROUTEHINT +DESCRIPTOR.message_types_by_name['CancelInvoiceMsg'] = _CANCELINVOICEMSG +DESCRIPTOR.message_types_by_name['CancelInvoiceResp'] = _CANCELINVOICERESP +DESCRIPTOR.message_types_by_name['AddHoldInvoiceRequest'] = _ADDHOLDINVOICEREQUEST +DESCRIPTOR.message_types_by_name['AddHoldInvoiceResp'] = _ADDHOLDINVOICERESP +DESCRIPTOR.message_types_by_name['SettleInvoiceMsg'] = _SETTLEINVOICEMSG +DESCRIPTOR.message_types_by_name['SettleInvoiceResp'] = _SETTLEINVOICERESP +DESCRIPTOR.message_types_by_name['SubscribeSingleInvoiceRequest'] = _SUBSCRIBESINGLEINVOICEREQUEST +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +CancelInvoiceMsg = _reflection.GeneratedProtocolMessageType('CancelInvoiceMsg', (_message.Message,), { + 'DESCRIPTOR' : _CANCELINVOICEMSG, + '__module__' : 'v0131beta.invoicesrpc.invoices_pb2' + # @@protoc_insertion_point(class_scope:invoicesrpc.CancelInvoiceMsg) + }) +_sym_db.RegisterMessage(CancelInvoiceMsg) + +CancelInvoiceResp = _reflection.GeneratedProtocolMessageType('CancelInvoiceResp', (_message.Message,), { + 'DESCRIPTOR' : _CANCELINVOICERESP, + '__module__' : 'v0131beta.invoicesrpc.invoices_pb2' + # @@protoc_insertion_point(class_scope:invoicesrpc.CancelInvoiceResp) + }) +_sym_db.RegisterMessage(CancelInvoiceResp) + +AddHoldInvoiceRequest = _reflection.GeneratedProtocolMessageType('AddHoldInvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _ADDHOLDINVOICEREQUEST, + '__module__' : 'v0131beta.invoicesrpc.invoices_pb2' + # @@protoc_insertion_point(class_scope:invoicesrpc.AddHoldInvoiceRequest) + }) +_sym_db.RegisterMessage(AddHoldInvoiceRequest) + +AddHoldInvoiceResp = _reflection.GeneratedProtocolMessageType('AddHoldInvoiceResp', (_message.Message,), { + 'DESCRIPTOR' : _ADDHOLDINVOICERESP, + '__module__' : 'v0131beta.invoicesrpc.invoices_pb2' + # @@protoc_insertion_point(class_scope:invoicesrpc.AddHoldInvoiceResp) + }) +_sym_db.RegisterMessage(AddHoldInvoiceResp) + +SettleInvoiceMsg = _reflection.GeneratedProtocolMessageType('SettleInvoiceMsg', (_message.Message,), { + 'DESCRIPTOR' : _SETTLEINVOICEMSG, + '__module__' : 'v0131beta.invoicesrpc.invoices_pb2' + # @@protoc_insertion_point(class_scope:invoicesrpc.SettleInvoiceMsg) + }) +_sym_db.RegisterMessage(SettleInvoiceMsg) + +SettleInvoiceResp = _reflection.GeneratedProtocolMessageType('SettleInvoiceResp', (_message.Message,), { + 'DESCRIPTOR' : _SETTLEINVOICERESP, + '__module__' : 'v0131beta.invoicesrpc.invoices_pb2' + # @@protoc_insertion_point(class_scope:invoicesrpc.SettleInvoiceResp) + }) +_sym_db.RegisterMessage(SettleInvoiceResp) + +SubscribeSingleInvoiceRequest = _reflection.GeneratedProtocolMessageType('SubscribeSingleInvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBESINGLEINVOICEREQUEST, + '__module__' : 'v0131beta.invoicesrpc.invoices_pb2' + # @@protoc_insertion_point(class_scope:invoicesrpc.SubscribeSingleInvoiceRequest) + }) +_sym_db.RegisterMessage(SubscribeSingleInvoiceRequest) + + +DESCRIPTOR._options = None + +_INVOICES = _descriptor.ServiceDescriptor( + name='Invoices', + full_name='invoicesrpc.Invoices', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=530, + serialized_end=875, + methods=[ + _descriptor.MethodDescriptor( + name='SubscribeSingleInvoice', + full_name='invoicesrpc.Invoices.SubscribeSingleInvoice', + index=0, + containing_service=None, + input_type=_SUBSCRIBESINGLEINVOICEREQUEST, + output_type=v0131beta_dot_rpc__pb2._INVOICE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='CancelInvoice', + full_name='invoicesrpc.Invoices.CancelInvoice', + index=1, + containing_service=None, + input_type=_CANCELINVOICEMSG, + output_type=_CANCELINVOICERESP, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='AddHoldInvoice', + full_name='invoicesrpc.Invoices.AddHoldInvoice', + index=2, + containing_service=None, + input_type=_ADDHOLDINVOICEREQUEST, + output_type=_ADDHOLDINVOICERESP, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SettleInvoice', + full_name='invoicesrpc.Invoices.SettleInvoice', + index=3, + containing_service=None, + input_type=_SETTLEINVOICEMSG, + output_type=_SETTLEINVOICERESP, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_INVOICES) + +DESCRIPTOR.services_by_name['Invoices'] = _INVOICES + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/invoices_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/invoices_pb2_grpc.py new file mode 100644 index 00000000..1e48e459 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/invoicesrpc/invoices_pb2_grpc.py @@ -0,0 +1,186 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from v0131beta.invoicesrpc import invoices_pb2 as v0131beta_dot_invoicesrpc_dot_invoices__pb2 +from v0131beta import lnd_grpc.protos.dev.rpc_pb2 as v0131beta_dot_rpc__pb2 + + +class InvoicesStub(object): + """Invoices is a service that can be used to create, accept, settle and cancel + invoices. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SubscribeSingleInvoice = channel.unary_stream( + '/invoicesrpc.Invoices/SubscribeSingleInvoice', + request_serializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.SubscribeSingleInvoiceRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.Invoice.FromString, + ) + self.CancelInvoice = channel.unary_unary( + '/invoicesrpc.Invoices/CancelInvoice', + request_serializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.CancelInvoiceMsg.SerializeToString, + response_deserializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.CancelInvoiceResp.FromString, + ) + self.AddHoldInvoice = channel.unary_unary( + '/invoicesrpc.Invoices/AddHoldInvoice', + request_serializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.AddHoldInvoiceRequest.SerializeToString, + response_deserializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.AddHoldInvoiceResp.FromString, + ) + self.SettleInvoice = channel.unary_unary( + '/invoicesrpc.Invoices/SettleInvoice', + request_serializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.SettleInvoiceMsg.SerializeToString, + response_deserializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.SettleInvoiceResp.FromString, + ) + + +class InvoicesServicer(object): + """Invoices is a service that can be used to create, accept, settle and cancel + invoices. + """ + + def SubscribeSingleInvoice(self, request, context): + """ + SubscribeSingleInvoice returns a uni-directional stream (server -> client) + to notify the client of state transitions of the specified invoice. + Initially the current invoice state is always sent out. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def CancelInvoice(self, request, context): + """ + CancelInvoice cancels a currently open invoice. If the invoice is already + canceled, this call will succeed. If the invoice is already settled, it will + fail. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AddHoldInvoice(self, request, context): + """ + AddHoldInvoice creates a hold invoice. It ties the invoice to the hash + supplied in the request. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SettleInvoice(self, request, context): + """ + SettleInvoice settles an accepted invoice. If the invoice is already + settled, this call will succeed. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_InvoicesServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SubscribeSingleInvoice': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeSingleInvoice, + request_deserializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.SubscribeSingleInvoiceRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.Invoice.SerializeToString, + ), + 'CancelInvoice': grpc.unary_unary_rpc_method_handler( + servicer.CancelInvoice, + request_deserializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.CancelInvoiceMsg.FromString, + response_serializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.CancelInvoiceResp.SerializeToString, + ), + 'AddHoldInvoice': grpc.unary_unary_rpc_method_handler( + servicer.AddHoldInvoice, + request_deserializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.AddHoldInvoiceRequest.FromString, + response_serializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.AddHoldInvoiceResp.SerializeToString, + ), + 'SettleInvoice': grpc.unary_unary_rpc_method_handler( + servicer.SettleInvoice, + request_deserializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.SettleInvoiceMsg.FromString, + response_serializer=v0131beta_dot_invoicesrpc_dot_invoices__pb2.SettleInvoiceResp.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'invoicesrpc.Invoices', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Invoices(object): + """Invoices is a service that can be used to create, accept, settle and cancel + invoices. + """ + + @staticmethod + def SubscribeSingleInvoice(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/invoicesrpc.Invoices/SubscribeSingleInvoice', + v0131beta_dot_invoicesrpc_dot_invoices__pb2.SubscribeSingleInvoiceRequest.SerializeToString, + v0131beta_dot_rpc__pb2.Invoice.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CancelInvoice(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/invoicesrpc.Invoices/CancelInvoice', + v0131beta_dot_invoicesrpc_dot_invoices__pb2.CancelInvoiceMsg.SerializeToString, + v0131beta_dot_invoicesrpc_dot_invoices__pb2.CancelInvoiceResp.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AddHoldInvoice(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/invoicesrpc.Invoices/AddHoldInvoice', + v0131beta_dot_invoicesrpc_dot_invoices__pb2.AddHoldInvoiceRequest.SerializeToString, + v0131beta_dot_invoicesrpc_dot_invoices__pb2.AddHoldInvoiceResp.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SettleInvoice(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/invoicesrpc.Invoices/SettleInvoice', + v0131beta_dot_invoicesrpc_dot_invoices__pb2.SettleInvoiceMsg.SerializeToString, + v0131beta_dot_invoicesrpc_dot_invoices__pb2.SettleInvoiceResp.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/lncli.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/lncli.proto new file mode 100644 index 00000000..818add05 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/lncli.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +import "v0131beta/verrpc/verrpc.proto"; + +package lnclipb; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/lnclipb"; + +message VersionResponse { + // The version information for lncli. + verrpc.Version lncli = 1; + + // The version information for lnd. + verrpc.Version lnd = 2; +}; diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/lncli_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/lncli_pb2.py new file mode 100644 index 00000000..b33bd448 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/lncli_pb2.py @@ -0,0 +1,82 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/lnclipb/lncli.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from v0131beta.verrpc import verrpc_pb2 as v0131beta_dot_verrpc_dot_verrpc__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/lnclipb/lncli.proto', + package='lnclipb', + syntax='proto3', + serialized_options=b'Z-github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/lnclipb', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\x1dv0131beta/lnclipb/lncli.proto\x12\x07lnclipb\x1a\x1dv0131beta/verrpc/verrpc.proto\"O\n\x0fVersionResponse\x12\x1e\n\x05lncli\x18\x01 \x01(\x0b\x32\x0f.verrpc.Version\x12\x1c\n\x03lnd\x18\x02 \x01(\x0b\x32\x0f.verrpc.VersionB/Z-github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/lnclipbb\x06proto3' + , + dependencies=[v0131beta_dot_verrpc_dot_verrpc__pb2.DESCRIPTOR,]) + + + + +_VERSIONRESPONSE = _descriptor.Descriptor( + name='VersionResponse', + full_name='lnclipb.VersionResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='lncli', full_name='lnclipb.VersionResponse.lncli', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='lnd', full_name='lnclipb.VersionResponse.lnd', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=73, + serialized_end=152, +) + +_VERSIONRESPONSE.fields_by_name['lncli'].message_type = v0131beta_dot_verrpc_dot_verrpc__pb2._VERSION +_VERSIONRESPONSE.fields_by_name['lnd'].message_type = v0131beta_dot_verrpc_dot_verrpc__pb2._VERSION +DESCRIPTOR.message_types_by_name['VersionResponse'] = _VERSIONRESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +VersionResponse = _reflection.GeneratedProtocolMessageType('VersionResponse', (_message.Message,), { + 'DESCRIPTOR' : _VERSIONRESPONSE, + '__module__' : 'v0131beta.lnclipb.lncli_pb2' + # @@protoc_insertion_point(class_scope:lnclipb.VersionResponse) + }) +_sym_db.RegisterMessage(VersionResponse) + + +DESCRIPTOR._options = None +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/lncli_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/lncli_pb2_grpc.py new file mode 100644 index 00000000..2daafffe --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/lnclipb/lncli_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/router.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/router.proto new file mode 100644 index 00000000..97361b09 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/router.proto @@ -0,0 +1,798 @@ +syntax = "proto3"; + +import "v0131beta/rpc.proto"; + +package routerrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/routerrpc"; + +// Router is a service that offers advanced interaction with the router +// subsystem of the daemon. +service Router { + /* + SendPaymentV2 attempts to route a payment described by the passed + PaymentRequest to the final destination. The call returns a stream of + payment updates. + */ + rpc SendPaymentV2 (SendPaymentRequest) returns (stream lnrpc.Payment); + + /* + TrackPaymentV2 returns an update stream for the payment identified by the + payment hash. + */ + rpc TrackPaymentV2 (TrackPaymentRequest) returns (stream lnrpc.Payment); + + /* + EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it + may cost to send an HTLC to the target end destination. + */ + rpc EstimateRouteFee (RouteFeeRequest) returns (RouteFeeResponse); + + /* + Deprecated, use SendToRouteV2. SendToRoute attempts to make a payment via + the specified route. This method differs from SendPayment in that it + allows users to specify a full route manually. This can be used for + things like rebalancing, and atomic swaps. It differs from the newer + SendToRouteV2 in that it doesn't return the full HTLC information. + */ + rpc SendToRoute (SendToRouteRequest) returns (SendToRouteResponse) { + option deprecated = true; + } + + /* + SendToRouteV2 attempts to make a payment via the specified route. This + method differs from SendPayment in that it allows users to specify a full + route manually. This can be used for things like rebalancing, and atomic + swaps. + */ + rpc SendToRouteV2 (SendToRouteRequest) returns (lnrpc.HTLCAttempt); + + /* + ResetMissionControl clears all mission control state and starts with a clean + slate. + */ + rpc ResetMissionControl (ResetMissionControlRequest) + returns (ResetMissionControlResponse); + + /* + QueryMissionControl exposes the internal mission control state to callers. + It is a development feature. + */ + rpc QueryMissionControl (QueryMissionControlRequest) + returns (QueryMissionControlResponse); + + /* + XImportMissionControl is an experimental API that imports the state provided + to the internal mission control's state, using all results which are more + recent than our existing values. These values will only be imported + in-memory, and will not be persisted across restarts. + */ + rpc XImportMissionControl (XImportMissionControlRequest) + returns (XImportMissionControlResponse); + + /* + GetMissionControlConfig returns mission control's current config. + */ + rpc GetMissionControlConfig (GetMissionControlConfigRequest) + returns (GetMissionControlConfigResponse); + + /* + SetMissionControlConfig will set mission control's config, if the config + provided is valid. + */ + rpc SetMissionControlConfig (SetMissionControlConfigRequest) + returns (SetMissionControlConfigResponse); + + /* + QueryProbability returns the current success probability estimate for a + given node pair and amount. + */ + rpc QueryProbability (QueryProbabilityRequest) + returns (QueryProbabilityResponse); + + /* + BuildRoute builds a fully specified route based on a list of hop public + keys. It retrieves the relevant channel policies from the graph in order to + calculate the correct fees and time locks. + */ + rpc BuildRoute (BuildRouteRequest) returns (BuildRouteResponse); + + /* + SubscribeHtlcEvents creates a uni-directional stream from the server to + the client which delivers a stream of htlc events. + */ + rpc SubscribeHtlcEvents (SubscribeHtlcEventsRequest) + returns (stream HtlcEvent); + + /* + Deprecated, use SendPaymentV2. SendPayment attempts to route a payment + described by the passed PaymentRequest to the final destination. The call + returns a stream of payment status updates. + */ + rpc SendPayment (SendPaymentRequest) returns (stream PaymentStatus) { + option deprecated = true; + } + + /* + Deprecated, use TrackPaymentV2. TrackPayment returns an update stream for + the payment identified by the payment hash. + */ + rpc TrackPayment (TrackPaymentRequest) returns (stream PaymentStatus) { + option deprecated = true; + } + + /** + HtlcInterceptor dispatches a bi-directional streaming RPC in which + Forwarded HTLC requests are sent to the client and the client responds with + a boolean that tells LND if this htlc should be intercepted. + In case of interception, the htlc can be either settled, cancelled or + resumed later by using the ResolveHoldForward endpoint. + */ + rpc HtlcInterceptor (stream ForwardHtlcInterceptResponse) + returns (stream ForwardHtlcInterceptRequest); + + /* + UpdateChanStatus attempts to manually set the state of a channel + (enabled, disabled, or auto). A manual "disable" request will cause the + channel to stay disabled until a subsequent manual request of either + "enable" or "auto". + */ + rpc UpdateChanStatus (UpdateChanStatusRequest) + returns (UpdateChanStatusResponse); +} + +message SendPaymentRequest { + // The identity pubkey of the payment recipient + bytes dest = 1; + + /* + Number of satoshis to send. + + The fields amt and amt_msat are mutually exclusive. + */ + int64 amt = 2; + + /* + Number of millisatoshis to send. + + The fields amt and amt_msat are mutually exclusive. + */ + int64 amt_msat = 12; + + // The hash to use within the payment's HTLC + bytes payment_hash = 3; + + /* + The CLTV delta from the current height that should be used to set the + timelock for the final hop. + */ + int32 final_cltv_delta = 4; + + // An optional payment addr to be included within the last hop of the route. + bytes payment_addr = 20; + + /* + A bare-bones invoice for a payment within the Lightning Network. With the + details of the invoice, the sender has all the data necessary to send a + payment to the recipient. The amount in the payment request may be zero. In + that case it is required to set the amt field as well. If no payment request + is specified, the following fields are required: dest, amt and payment_hash. + */ + string payment_request = 5; + + /* + An upper limit on the amount of time we should spend when attempting to + fulfill the payment. This is expressed in seconds. If we cannot make a + successful payment within this time frame, an error will be returned. + This field must be non-zero. + */ + int32 timeout_seconds = 6; + + /* + The maximum number of satoshis that will be paid as a fee of the payment. + If this field is left to the default value of 0, only zero-fee routes will + be considered. This usually means single hop routes connecting directly to + the destination. To send the payment without a fee limit, use max int here. + + The fields fee_limit_sat and fee_limit_msat are mutually exclusive. + */ + int64 fee_limit_sat = 7; + + /* + The maximum number of millisatoshis that will be paid as a fee of the + payment. If this field is left to the default value of 0, only zero-fee + routes will be considered. This usually means single hop routes connecting + directly to the destination. To send the payment without a fee limit, use + max int here. + + The fields fee_limit_sat and fee_limit_msat are mutually exclusive. + */ + int64 fee_limit_msat = 13; + + /* + Deprecated, use outgoing_chan_ids. The channel id of the channel that must + be taken to the first hop. If zero, any channel may be used (unless + outgoing_chan_ids are set). + */ + uint64 outgoing_chan_id = 8 [jstype = JS_STRING, deprecated = true]; + + /* + The channel ids of the channels are allowed for the first hop. If empty, + any channel may be used. + */ + repeated uint64 outgoing_chan_ids = 19; + + /* + The pubkey of the last hop of the route. If empty, any hop may be used. + */ + bytes last_hop_pubkey = 14; + + /* + An optional maximum total time lock for the route. This should not exceed + lnd's `--max-cltv-expiry` setting. If zero, then the value of + `--max-cltv-expiry` is enforced. + */ + int32 cltv_limit = 9; + + /* + Optional route hints to reach the destination through private channels. + */ + repeated lnrpc.RouteHint route_hints = 10; + + /* + An optional field that can be used to pass an arbitrary set of TLV records + to a peer which understands the new records. This can be used to pass + application specific data during the payment attempt. Record types are + required to be in the custom range >= 65536. When using REST, the values + must be encoded as base64. + */ + map dest_custom_records = 11; + + // If set, circular payments to self are permitted. + bool allow_self_payment = 15; + + /* + Features assumed to be supported by the final node. All transitive feature + dependencies must also be set properly. For a given feature bit pair, either + optional or remote may be set, but not both. If this field is nil or empty, + the router will try to load destination features from the graph as a + fallback. + */ + repeated lnrpc.FeatureBit dest_features = 16; + + /* + The maximum number of partial payments that may be use to complete the full + amount. + */ + uint32 max_parts = 17; + + /* + If set, only the final payment update is streamed back. Intermediate updates + that show which htlcs are still in flight are suppressed. + */ + bool no_inflight_updates = 18; + + /* + The largest payment split that should be attempted when making a payment if + splitting is necessary. Setting this value will effectively cause lnd to + split more aggressively, vs only when it thinks it needs to. Note that this + value is in milli-satoshis. + */ + uint64 max_shard_size_msat = 21; + + /* + If set, an AMP-payment will be attempted. + */ + bool amp = 22; +} + +message TrackPaymentRequest { + // The hash of the payment to look up. + bytes payment_hash = 1; + + /* + If set, only the final payment update is streamed back. Intermediate updates + that show which htlcs are still in flight are suppressed. + */ + bool no_inflight_updates = 2; +} + +message RouteFeeRequest { + /* + The destination once wishes to obtain a routing fee quote to. + */ + bytes dest = 1; + + /* + The amount one wishes to send to the target destination. + */ + int64 amt_sat = 2; +} + +message RouteFeeResponse { + /* + A lower bound of the estimated fee to the target destination within the + network, expressed in milli-satoshis. + */ + int64 routing_fee_msat = 1; + + /* + An estimate of the worst case time delay that can occur. Note that callers + will still need to factor in the final CLTV delta of the last hop into this + value. + */ + int64 time_lock_delay = 2; +} + +message SendToRouteRequest { + // The payment hash to use for the HTLC. + bytes payment_hash = 1; + + // Route that should be used to attempt to complete the payment. + lnrpc.Route route = 2; +} + +message SendToRouteResponse { + // The preimage obtained by making the payment. + bytes preimage = 1; + + // The failure message in case the payment failed. + lnrpc.Failure failure = 2; +} + +message ResetMissionControlRequest { +} + +message ResetMissionControlResponse { +} + +message QueryMissionControlRequest { +} + +// QueryMissionControlResponse contains mission control state. +message QueryMissionControlResponse { + reserved 1; + + // Node pair-level mission control state. + repeated PairHistory pairs = 2; +} + +message XImportMissionControlRequest { + // Node pair-level mission control state to be imported. + repeated PairHistory pairs = 1; +} + +message XImportMissionControlResponse { +} + +// PairHistory contains the mission control state for a particular node pair. +message PairHistory { + // The source node pubkey of the pair. + bytes node_from = 1; + + // The destination node pubkey of the pair. + bytes node_to = 2; + + reserved 3, 4, 5, 6; + + PairData history = 7; +} + +message PairData { + // Time of last failure. + int64 fail_time = 1; + + /* + Lowest amount that failed to forward rounded to whole sats. This may be + set to zero if the failure is independent of amount. + */ + int64 fail_amt_sat = 2; + + /* + Lowest amount that failed to forward in millisats. This may be + set to zero if the failure is independent of amount. + */ + int64 fail_amt_msat = 4; + + reserved 3; + + // Time of last success. + int64 success_time = 5; + + // Highest amount that we could successfully forward rounded to whole sats. + int64 success_amt_sat = 6; + + // Highest amount that we could successfully forward in millisats. + int64 success_amt_msat = 7; +} + +message GetMissionControlConfigRequest { +} + +message GetMissionControlConfigResponse { + /* + Mission control's currently active config. + */ + MissionControlConfig config = 1; +} + +message SetMissionControlConfigRequest { + /* + The config to set for mission control. Note that all values *must* be set, + because the full config will be applied. + */ + MissionControlConfig config = 1; +} + +message SetMissionControlConfigResponse { +} + +message MissionControlConfig { + /* + The amount of time mission control will take to restore a penalized node + or channel back to 50% success probability, expressed in seconds. Setting + this value to a higher value will penalize failures for longer, making + mission control less likely to route through nodes and channels that we + have previously recorded failures for. + */ + uint64 half_life_seconds = 1; + + /* + The probability of success mission control should assign to hop in a route + where it has no other information available. Higher values will make mission + control more willing to try hops that we have no information about, lower + values will discourage trying these hops. + */ + float hop_probability = 2; + + /* + The importance that mission control should place on historical results, + expressed as a value in [0;1]. Setting this value to 1 will ignore all + historical payments and just use the hop probability to assess the + probability of success for each hop. A zero value ignores hop probability + completely and relies entirely on historical results, unless none are + available. + */ + float weight = 3; + + /* + The maximum number of payment results that mission control will store. + */ + uint32 maximum_payment_results = 4; + + /* + The minimum time that must have passed since the previously recorded failure + before we raise the failure amount. + */ + uint64 minimum_failure_relax_interval = 5; +} + +message QueryProbabilityRequest { + // The source node pubkey of the pair. + bytes from_node = 1; + + // The destination node pubkey of the pair. + bytes to_node = 2; + + // The amount for which to calculate a probability. + int64 amt_msat = 3; +} + +message QueryProbabilityResponse { + // The success probability for the requested pair. + double probability = 1; + + // The historical data for the requested pair. + PairData history = 2; +} + +message BuildRouteRequest { + /* + The amount to send expressed in msat. If set to zero, the minimum routable + amount is used. + */ + int64 amt_msat = 1; + + /* + CLTV delta from the current height that should be used for the timelock + of the final hop + */ + int32 final_cltv_delta = 2; + + /* + The channel id of the channel that must be taken to the first hop. If zero, + any channel may be used. + */ + uint64 outgoing_chan_id = 3 [jstype = JS_STRING]; + + /* + A list of hops that defines the route. This does not include the source hop + pubkey. + */ + repeated bytes hop_pubkeys = 4; + + // An optional payment addr to be included within the last hop of the route. + bytes payment_addr = 5; +} + +message BuildRouteResponse { + /* + Fully specified route that can be used to execute the payment. + */ + lnrpc.Route route = 1; +} + +message SubscribeHtlcEventsRequest { +} + +/* +HtlcEvent contains the htlc event that was processed. These are served on a +best-effort basis; events are not persisted, delivery is not guaranteed +(in the event of a crash in the switch, forward events may be lost) and +some events may be replayed upon restart. Events consumed from this package +should be de-duplicated by the htlc's unique combination of incoming and +outgoing channel id and htlc id. [EXPERIMENTAL] +*/ +message HtlcEvent { + /* + The short channel id that the incoming htlc arrived at our node on. This + value is zero for sends. + */ + uint64 incoming_channel_id = 1; + + /* + The short channel id that the outgoing htlc left our node on. This value + is zero for receives. + */ + uint64 outgoing_channel_id = 2; + + /* + Incoming id is the index of the incoming htlc in the incoming channel. + This value is zero for sends. + */ + uint64 incoming_htlc_id = 3; + + /* + Outgoing id is the index of the outgoing htlc in the outgoing channel. + This value is zero for receives. + */ + uint64 outgoing_htlc_id = 4; + + /* + The time in unix nanoseconds that the event occurred. + */ + uint64 timestamp_ns = 5; + + enum EventType { + UNKNOWN = 0; + SEND = 1; + RECEIVE = 2; + FORWARD = 3; + } + + /* + The event type indicates whether the htlc was part of a send, receive or + forward. + */ + EventType event_type = 6; + + oneof event { + ForwardEvent forward_event = 7; + ForwardFailEvent forward_fail_event = 8; + SettleEvent settle_event = 9; + LinkFailEvent link_fail_event = 10; + } +} + +message HtlcInfo { + // The timelock on the incoming htlc. + uint32 incoming_timelock = 1; + + // The timelock on the outgoing htlc. + uint32 outgoing_timelock = 2; + + // The amount of the incoming htlc. + uint64 incoming_amt_msat = 3; + + // The amount of the outgoing htlc. + uint64 outgoing_amt_msat = 4; +} + +message ForwardEvent { + // Info contains details about the htlc that was forwarded. + HtlcInfo info = 1; +} + +message ForwardFailEvent { +} + +message SettleEvent { +} + +message LinkFailEvent { + // Info contains details about the htlc that we failed. + HtlcInfo info = 1; + + // FailureCode is the BOLT error code for the failure. + lnrpc.Failure.FailureCode wire_failure = 2; + + /* + FailureDetail provides additional information about the reason for the + failure. This detail enriches the information provided by the wire message + and may be 'no detail' if the wire message requires no additional metadata. + */ + FailureDetail failure_detail = 3; + + // A string representation of the link failure. + string failure_string = 4; +} + +enum FailureDetail { + UNKNOWN = 0; + NO_DETAIL = 1; + ONION_DECODE = 2; + LINK_NOT_ELIGIBLE = 3; + ON_CHAIN_TIMEOUT = 4; + HTLC_EXCEEDS_MAX = 5; + INSUFFICIENT_BALANCE = 6; + INCOMPLETE_FORWARD = 7; + HTLC_ADD_FAILED = 8; + FORWARDS_DISABLED = 9; + INVOICE_CANCELED = 10; + INVOICE_UNDERPAID = 11; + INVOICE_EXPIRY_TOO_SOON = 12; + INVOICE_NOT_OPEN = 13; + MPP_INVOICE_TIMEOUT = 14; + ADDRESS_MISMATCH = 15; + SET_TOTAL_MISMATCH = 16; + SET_TOTAL_TOO_LOW = 17; + SET_OVERPAID = 18; + UNKNOWN_INVOICE = 19; + INVALID_KEYSEND = 20; + MPP_IN_PROGRESS = 21; + CIRCULAR_ROUTE = 22; +} + +enum PaymentState { + /* + Payment is still in flight. + */ + IN_FLIGHT = 0; + + /* + Payment completed successfully. + */ + SUCCEEDED = 1; + + /* + There are more routes to try, but the payment timeout was exceeded. + */ + FAILED_TIMEOUT = 2; + + /* + All possible routes were tried and failed permanently. Or were no + routes to the destination at all. + */ + FAILED_NO_ROUTE = 3; + + /* + A non-recoverable error has occured. + */ + FAILED_ERROR = 4; + + /* + Payment details incorrect (unknown hash, invalid amt or + invalid final cltv delta) + */ + FAILED_INCORRECT_PAYMENT_DETAILS = 5; + + /* + Insufficient local balance. + */ + FAILED_INSUFFICIENT_BALANCE = 6; +} + +message PaymentStatus { + // Current state the payment is in. + PaymentState state = 1; + + /* + The pre-image of the payment when state is SUCCEEDED. + */ + bytes preimage = 2; + + reserved 3; + + /* + The HTLCs made in attempt to settle the payment [EXPERIMENTAL]. + */ + repeated lnrpc.HTLCAttempt htlcs = 4; +} + +message CircuitKey { + /// The id of the channel that the is part of this circuit. + uint64 chan_id = 1; + + /// The index of the incoming htlc in the incoming channel. + uint64 htlc_id = 2; +} + +message ForwardHtlcInterceptRequest { + /* + The key of this forwarded htlc. It defines the incoming channel id and + the index in this channel. + */ + CircuitKey incoming_circuit_key = 1; + + // The incoming htlc amount. + uint64 incoming_amount_msat = 5; + + // The incoming htlc expiry. + uint32 incoming_expiry = 6; + + /* + The htlc payment hash. This value is not guaranteed to be unique per + request. + */ + bytes payment_hash = 2; + + // The requested outgoing channel id for this forwarded htlc. Because of + // non-strict forwarding, this isn't necessarily the channel over which the + // packet will be forwarded eventually. A different channel to the same peer + // may be selected as well. + uint64 outgoing_requested_chan_id = 7; + + // The outgoing htlc amount. + uint64 outgoing_amount_msat = 3; + + // The outgoing htlc expiry. + uint32 outgoing_expiry = 4; + + // Any custom records that were present in the payload. + map custom_records = 8; + + // The onion blob for the next hop + bytes onion_blob = 9; +} + +/** +ForwardHtlcInterceptResponse enables the caller to resolve a previously hold +forward. The caller can choose either to: +- `Resume`: Execute the default behavior (usually forward). +- `Reject`: Fail the htlc backwards. +- `Settle`: Settle this htlc with a given preimage. +*/ +message ForwardHtlcInterceptResponse { + /** + The key of this forwarded htlc. It defines the incoming channel id and + the index in this channel. + */ + CircuitKey incoming_circuit_key = 1; + + // The resolve action for this intercepted htlc. + ResolveHoldForwardAction action = 2; + + // The preimage in case the resolve action is Settle. + bytes preimage = 3; +} + +enum ResolveHoldForwardAction { + SETTLE = 0; + FAIL = 1; + RESUME = 2; +} + +message UpdateChanStatusRequest { + lnrpc.ChannelPoint chan_point = 1; + + ChanStatusAction action = 2; +} + +enum ChanStatusAction { + ENABLE = 0; + DISABLE = 1; + AUTO = 2; +} + +message UpdateChanStatusResponse { +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/router_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/router_pb2.py new file mode 100644 index 00000000..3e19f3e7 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/router_pb2.py @@ -0,0 +1,2566 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/routerrpc/router.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from v0131beta import lnd_grpc.protos.dev.rpc_pb2 as v0131beta_dot_rpc__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/routerrpc/router.proto', + package='routerrpc', + syntax='proto3', + serialized_options=b'Z/github.com/lightningnetwork/lnd/lnrpc/routerrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n v0131beta/routerrpc/router.proto\x12\trouterrpc\x1a\x13v0131beta/rpc.proto\"\xa4\x05\n\x12SendPaymentRequest\x12\x0c\n\x04\x64\x65st\x18\x01 \x01(\x0c\x12\x0b\n\x03\x61mt\x18\x02 \x01(\x03\x12\x10\n\x08\x61mt_msat\x18\x0c \x01(\x03\x12\x14\n\x0cpayment_hash\x18\x03 \x01(\x0c\x12\x18\n\x10\x66inal_cltv_delta\x18\x04 \x01(\x05\x12\x14\n\x0cpayment_addr\x18\x14 \x01(\x0c\x12\x17\n\x0fpayment_request\x18\x05 \x01(\t\x12\x17\n\x0ftimeout_seconds\x18\x06 \x01(\x05\x12\x15\n\rfee_limit_sat\x18\x07 \x01(\x03\x12\x16\n\x0e\x66\x65\x65_limit_msat\x18\r \x01(\x03\x12\x1e\n\x10outgoing_chan_id\x18\x08 \x01(\x04\x42\x04\x18\x01\x30\x01\x12\x19\n\x11outgoing_chan_ids\x18\x13 \x03(\x04\x12\x17\n\x0flast_hop_pubkey\x18\x0e \x01(\x0c\x12\x12\n\ncltv_limit\x18\t \x01(\x05\x12%\n\x0broute_hints\x18\n \x03(\x0b\x32\x10.lnrpc.RouteHint\x12Q\n\x13\x64\x65st_custom_records\x18\x0b \x03(\x0b\x32\x34.routerrpc.SendPaymentRequest.DestCustomRecordsEntry\x12\x1a\n\x12\x61llow_self_payment\x18\x0f \x01(\x08\x12(\n\rdest_features\x18\x10 \x03(\x0e\x32\x11.lnrpc.FeatureBit\x12\x11\n\tmax_parts\x18\x11 \x01(\r\x12\x1b\n\x13no_inflight_updates\x18\x12 \x01(\x08\x12\x1b\n\x13max_shard_size_msat\x18\x15 \x01(\x04\x12\x0b\n\x03\x61mp\x18\x16 \x01(\x08\x1a\x38\n\x16\x44\x65stCustomRecordsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"H\n\x13TrackPaymentRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x1b\n\x13no_inflight_updates\x18\x02 \x01(\x08\"0\n\x0fRouteFeeRequest\x12\x0c\n\x04\x64\x65st\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61mt_sat\x18\x02 \x01(\x03\"E\n\x10RouteFeeResponse\x12\x18\n\x10routing_fee_msat\x18\x01 \x01(\x03\x12\x17\n\x0ftime_lock_delay\x18\x02 \x01(\x03\"G\n\x12SendToRouteRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x1b\n\x05route\x18\x02 \x01(\x0b\x32\x0c.lnrpc.Route\"H\n\x13SendToRouteResponse\x12\x10\n\x08preimage\x18\x01 \x01(\x0c\x12\x1f\n\x07\x66\x61ilure\x18\x02 \x01(\x0b\x32\x0e.lnrpc.Failure\"\x1c\n\x1aResetMissionControlRequest\"\x1d\n\x1bResetMissionControlResponse\"\x1c\n\x1aQueryMissionControlRequest\"J\n\x1bQueryMissionControlResponse\x12%\n\x05pairs\x18\x02 \x03(\x0b\x32\x16.routerrpc.PairHistoryJ\x04\x08\x01\x10\x02\"E\n\x1cXImportMissionControlRequest\x12%\n\x05pairs\x18\x01 \x03(\x0b\x32\x16.routerrpc.PairHistory\"\x1f\n\x1dXImportMissionControlResponse\"o\n\x0bPairHistory\x12\x11\n\tnode_from\x18\x01 \x01(\x0c\x12\x0f\n\x07node_to\x18\x02 \x01(\x0c\x12$\n\x07history\x18\x07 \x01(\x0b\x32\x13.routerrpc.PairDataJ\x04\x08\x03\x10\x04J\x04\x08\x04\x10\x05J\x04\x08\x05\x10\x06J\x04\x08\x06\x10\x07\"\x99\x01\n\x08PairData\x12\x11\n\tfail_time\x18\x01 \x01(\x03\x12\x14\n\x0c\x66\x61il_amt_sat\x18\x02 \x01(\x03\x12\x15\n\rfail_amt_msat\x18\x04 \x01(\x03\x12\x14\n\x0csuccess_time\x18\x05 \x01(\x03\x12\x17\n\x0fsuccess_amt_sat\x18\x06 \x01(\x03\x12\x18\n\x10success_amt_msat\x18\x07 \x01(\x03J\x04\x08\x03\x10\x04\" \n\x1eGetMissionControlConfigRequest\"R\n\x1fGetMissionControlConfigResponse\x12/\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x1f.routerrpc.MissionControlConfig\"Q\n\x1eSetMissionControlConfigRequest\x12/\n\x06\x63onfig\x18\x01 \x01(\x0b\x32\x1f.routerrpc.MissionControlConfig\"!\n\x1fSetMissionControlConfigResponse\"\xa3\x01\n\x14MissionControlConfig\x12\x19\n\x11half_life_seconds\x18\x01 \x01(\x04\x12\x17\n\x0fhop_probability\x18\x02 \x01(\x02\x12\x0e\n\x06weight\x18\x03 \x01(\x02\x12\x1f\n\x17maximum_payment_results\x18\x04 \x01(\r\x12&\n\x1eminimum_failure_relax_interval\x18\x05 \x01(\x04\"O\n\x17QueryProbabilityRequest\x12\x11\n\tfrom_node\x18\x01 \x01(\x0c\x12\x0f\n\x07to_node\x18\x02 \x01(\x0c\x12\x10\n\x08\x61mt_msat\x18\x03 \x01(\x03\"U\n\x18QueryProbabilityResponse\x12\x13\n\x0bprobability\x18\x01 \x01(\x01\x12$\n\x07history\x18\x02 \x01(\x0b\x32\x13.routerrpc.PairData\"\x88\x01\n\x11\x42uildRouteRequest\x12\x10\n\x08\x61mt_msat\x18\x01 \x01(\x03\x12\x18\n\x10\x66inal_cltv_delta\x18\x02 \x01(\x05\x12\x1c\n\x10outgoing_chan_id\x18\x03 \x01(\x04\x42\x02\x30\x01\x12\x13\n\x0bhop_pubkeys\x18\x04 \x03(\x0c\x12\x14\n\x0cpayment_addr\x18\x05 \x01(\x0c\"1\n\x12\x42uildRouteResponse\x12\x1b\n\x05route\x18\x01 \x01(\x0b\x32\x0c.lnrpc.Route\"\x1c\n\x1aSubscribeHtlcEventsRequest\"\xdc\x03\n\tHtlcEvent\x12\x1b\n\x13incoming_channel_id\x18\x01 \x01(\x04\x12\x1b\n\x13outgoing_channel_id\x18\x02 \x01(\x04\x12\x18\n\x10incoming_htlc_id\x18\x03 \x01(\x04\x12\x18\n\x10outgoing_htlc_id\x18\x04 \x01(\x04\x12\x14\n\x0ctimestamp_ns\x18\x05 \x01(\x04\x12\x32\n\nevent_type\x18\x06 \x01(\x0e\x32\x1e.routerrpc.HtlcEvent.EventType\x12\x30\n\rforward_event\x18\x07 \x01(\x0b\x32\x17.routerrpc.ForwardEventH\x00\x12\x39\n\x12\x66orward_fail_event\x18\x08 \x01(\x0b\x32\x1b.routerrpc.ForwardFailEventH\x00\x12.\n\x0csettle_event\x18\t \x01(\x0b\x32\x16.routerrpc.SettleEventH\x00\x12\x33\n\x0flink_fail_event\x18\n \x01(\x0b\x32\x18.routerrpc.LinkFailEventH\x00\"<\n\tEventType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04SEND\x10\x01\x12\x0b\n\x07RECEIVE\x10\x02\x12\x0b\n\x07\x46ORWARD\x10\x03\x42\x07\n\x05\x65vent\"v\n\x08HtlcInfo\x12\x19\n\x11incoming_timelock\x18\x01 \x01(\r\x12\x19\n\x11outgoing_timelock\x18\x02 \x01(\r\x12\x19\n\x11incoming_amt_msat\x18\x03 \x01(\x04\x12\x19\n\x11outgoing_amt_msat\x18\x04 \x01(\x04\"1\n\x0c\x46orwardEvent\x12!\n\x04info\x18\x01 \x01(\x0b\x32\x13.routerrpc.HtlcInfo\"\x12\n\x10\x46orwardFailEvent\"\r\n\x0bSettleEvent\"\xae\x01\n\rLinkFailEvent\x12!\n\x04info\x18\x01 \x01(\x0b\x32\x13.routerrpc.HtlcInfo\x12\x30\n\x0cwire_failure\x18\x02 \x01(\x0e\x32\x1a.lnrpc.Failure.FailureCode\x12\x30\n\x0e\x66\x61ilure_detail\x18\x03 \x01(\x0e\x32\x18.routerrpc.FailureDetail\x12\x16\n\x0e\x66\x61ilure_string\x18\x04 \x01(\t\"r\n\rPaymentStatus\x12&\n\x05state\x18\x01 \x01(\x0e\x32\x17.routerrpc.PaymentState\x12\x10\n\x08preimage\x18\x02 \x01(\x0c\x12!\n\x05htlcs\x18\x04 \x03(\x0b\x32\x12.lnrpc.HTLCAttemptJ\x04\x08\x03\x10\x04\".\n\nCircuitKey\x12\x0f\n\x07\x63han_id\x18\x01 \x01(\x04\x12\x0f\n\x07htlc_id\x18\x02 \x01(\x04\"\x97\x03\n\x1b\x46orwardHtlcInterceptRequest\x12\x33\n\x14incoming_circuit_key\x18\x01 \x01(\x0b\x32\x15.routerrpc.CircuitKey\x12\x1c\n\x14incoming_amount_msat\x18\x05 \x01(\x04\x12\x17\n\x0fincoming_expiry\x18\x06 \x01(\r\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\x0c\x12\"\n\x1aoutgoing_requested_chan_id\x18\x07 \x01(\x04\x12\x1c\n\x14outgoing_amount_msat\x18\x03 \x01(\x04\x12\x17\n\x0foutgoing_expiry\x18\x04 \x01(\r\x12Q\n\x0e\x63ustom_records\x18\x08 \x03(\x0b\x32\x39.routerrpc.ForwardHtlcInterceptRequest.CustomRecordsEntry\x12\x12\n\nonion_blob\x18\t \x01(\x0c\x1a\x34\n\x12\x43ustomRecordsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"\x9a\x01\n\x1c\x46orwardHtlcInterceptResponse\x12\x33\n\x14incoming_circuit_key\x18\x01 \x01(\x0b\x32\x15.routerrpc.CircuitKey\x12\x33\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32#.routerrpc.ResolveHoldForwardAction\x12\x10\n\x08preimage\x18\x03 \x01(\x0c\"o\n\x17UpdateChanStatusRequest\x12\'\n\nchan_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\x12+\n\x06\x61\x63tion\x18\x02 \x01(\x0e\x32\x1b.routerrpc.ChanStatusAction\"\x1a\n\x18UpdateChanStatusResponse*\x81\x04\n\rFailureDetail\x12\x0b\n\x07UNKNOWN\x10\x00\x12\r\n\tNO_DETAIL\x10\x01\x12\x10\n\x0cONION_DECODE\x10\x02\x12\x15\n\x11LINK_NOT_ELIGIBLE\x10\x03\x12\x14\n\x10ON_CHAIN_TIMEOUT\x10\x04\x12\x14\n\x10HTLC_EXCEEDS_MAX\x10\x05\x12\x18\n\x14INSUFFICIENT_BALANCE\x10\x06\x12\x16\n\x12INCOMPLETE_FORWARD\x10\x07\x12\x13\n\x0fHTLC_ADD_FAILED\x10\x08\x12\x15\n\x11\x46ORWARDS_DISABLED\x10\t\x12\x14\n\x10INVOICE_CANCELED\x10\n\x12\x15\n\x11INVOICE_UNDERPAID\x10\x0b\x12\x1b\n\x17INVOICE_EXPIRY_TOO_SOON\x10\x0c\x12\x14\n\x10INVOICE_NOT_OPEN\x10\r\x12\x17\n\x13MPP_INVOICE_TIMEOUT\x10\x0e\x12\x14\n\x10\x41\x44\x44RESS_MISMATCH\x10\x0f\x12\x16\n\x12SET_TOTAL_MISMATCH\x10\x10\x12\x15\n\x11SET_TOTAL_TOO_LOW\x10\x11\x12\x10\n\x0cSET_OVERPAID\x10\x12\x12\x13\n\x0fUNKNOWN_INVOICE\x10\x13\x12\x13\n\x0fINVALID_KEYSEND\x10\x14\x12\x13\n\x0fMPP_IN_PROGRESS\x10\x15\x12\x12\n\x0e\x43IRCULAR_ROUTE\x10\x16*\xae\x01\n\x0cPaymentState\x12\r\n\tIN_FLIGHT\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\x12\n\x0e\x46\x41ILED_TIMEOUT\x10\x02\x12\x13\n\x0f\x46\x41ILED_NO_ROUTE\x10\x03\x12\x10\n\x0c\x46\x41ILED_ERROR\x10\x04\x12$\n FAILED_INCORRECT_PAYMENT_DETAILS\x10\x05\x12\x1f\n\x1b\x46\x41ILED_INSUFFICIENT_BALANCE\x10\x06*<\n\x18ResolveHoldForwardAction\x12\n\n\x06SETTLE\x10\x00\x12\x08\n\x04\x46\x41IL\x10\x01\x12\n\n\x06RESUME\x10\x02*5\n\x10\x43hanStatusAction\x12\n\n\x06\x45NABLE\x10\x00\x12\x0b\n\x07\x44ISABLE\x10\x01\x12\x08\n\x04\x41UTO\x10\x02\x32\xf1\x0b\n\x06Router\x12@\n\rSendPaymentV2\x12\x1d.routerrpc.SendPaymentRequest\x1a\x0e.lnrpc.Payment0\x01\x12\x42\n\x0eTrackPaymentV2\x12\x1e.routerrpc.TrackPaymentRequest\x1a\x0e.lnrpc.Payment0\x01\x12K\n\x10\x45stimateRouteFee\x12\x1a.routerrpc.RouteFeeRequest\x1a\x1b.routerrpc.RouteFeeResponse\x12Q\n\x0bSendToRoute\x12\x1d.routerrpc.SendToRouteRequest\x1a\x1e.routerrpc.SendToRouteResponse\"\x03\x88\x02\x01\x12\x42\n\rSendToRouteV2\x12\x1d.routerrpc.SendToRouteRequest\x1a\x12.lnrpc.HTLCAttempt\x12\x64\n\x13ResetMissionControl\x12%.routerrpc.ResetMissionControlRequest\x1a&.routerrpc.ResetMissionControlResponse\x12\x64\n\x13QueryMissionControl\x12%.routerrpc.QueryMissionControlRequest\x1a&.routerrpc.QueryMissionControlResponse\x12j\n\x15XImportMissionControl\x12\'.routerrpc.XImportMissionControlRequest\x1a(.routerrpc.XImportMissionControlResponse\x12p\n\x17GetMissionControlConfig\x12).routerrpc.GetMissionControlConfigRequest\x1a*.routerrpc.GetMissionControlConfigResponse\x12p\n\x17SetMissionControlConfig\x12).routerrpc.SetMissionControlConfigRequest\x1a*.routerrpc.SetMissionControlConfigResponse\x12[\n\x10QueryProbability\x12\".routerrpc.QueryProbabilityRequest\x1a#.routerrpc.QueryProbabilityResponse\x12I\n\nBuildRoute\x12\x1c.routerrpc.BuildRouteRequest\x1a\x1d.routerrpc.BuildRouteResponse\x12T\n\x13SubscribeHtlcEvents\x12%.routerrpc.SubscribeHtlcEventsRequest\x1a\x14.routerrpc.HtlcEvent0\x01\x12M\n\x0bSendPayment\x12\x1d.routerrpc.SendPaymentRequest\x1a\x18.routerrpc.PaymentStatus\"\x03\x88\x02\x01\x30\x01\x12O\n\x0cTrackPayment\x12\x1e.routerrpc.TrackPaymentRequest\x1a\x18.routerrpc.PaymentStatus\"\x03\x88\x02\x01\x30\x01\x12\x66\n\x0fHtlcInterceptor\x12\'.routerrpc.ForwardHtlcInterceptResponse\x1a&.routerrpc.ForwardHtlcInterceptRequest(\x01\x30\x01\x12[\n\x10UpdateChanStatus\x12\".routerrpc.UpdateChanStatusRequest\x1a#.routerrpc.UpdateChanStatusResponseB1Z/github.com/lightningnetwork/lnd/lnrpc/routerrpcb\x06proto3' + , + dependencies=[v0131beta_dot_rpc__pb2.DESCRIPTOR,]) + +_FAILUREDETAIL = _descriptor.EnumDescriptor( + name='FailureDetail', + full_name='routerrpc.FailureDetail', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='NO_DETAIL', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ONION_DECODE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='LINK_NOT_ELIGIBLE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ON_CHAIN_TIMEOUT', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HTLC_EXCEEDS_MAX', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INSUFFICIENT_BALANCE', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INCOMPLETE_FORWARD', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HTLC_ADD_FAILED', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FORWARDS_DISABLED', index=9, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVOICE_CANCELED', index=10, number=10, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVOICE_UNDERPAID', index=11, number=11, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVOICE_EXPIRY_TOO_SOON', index=12, number=12, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVOICE_NOT_OPEN', index=13, number=13, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='MPP_INVOICE_TIMEOUT', index=14, number=14, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ADDRESS_MISMATCH', index=15, number=15, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SET_TOTAL_MISMATCH', index=16, number=16, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SET_TOTAL_TOO_LOW', index=17, number=17, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SET_OVERPAID', index=18, number=18, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UNKNOWN_INVOICE', index=19, number=19, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVALID_KEYSEND', index=20, number=20, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='MPP_IN_PROGRESS', index=21, number=21, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='CIRCULAR_ROUTE', index=22, number=22, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=4154, + serialized_end=4667, +) +_sym_db.RegisterEnumDescriptor(_FAILUREDETAIL) + +FailureDetail = enum_type_wrapper.EnumTypeWrapper(_FAILUREDETAIL) +_PAYMENTSTATE = _descriptor.EnumDescriptor( + name='PaymentState', + full_name='routerrpc.PaymentState', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='IN_FLIGHT', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SUCCEEDED', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILED_TIMEOUT', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILED_NO_ROUTE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILED_ERROR', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILED_INCORRECT_PAYMENT_DETAILS', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILED_INSUFFICIENT_BALANCE', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=4670, + serialized_end=4844, +) +_sym_db.RegisterEnumDescriptor(_PAYMENTSTATE) + +PaymentState = enum_type_wrapper.EnumTypeWrapper(_PAYMENTSTATE) +_RESOLVEHOLDFORWARDACTION = _descriptor.EnumDescriptor( + name='ResolveHoldForwardAction', + full_name='routerrpc.ResolveHoldForwardAction', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='SETTLE', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAIL', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RESUME', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=4846, + serialized_end=4906, +) +_sym_db.RegisterEnumDescriptor(_RESOLVEHOLDFORWARDACTION) + +ResolveHoldForwardAction = enum_type_wrapper.EnumTypeWrapper(_RESOLVEHOLDFORWARDACTION) +_CHANSTATUSACTION = _descriptor.EnumDescriptor( + name='ChanStatusAction', + full_name='routerrpc.ChanStatusAction', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='ENABLE', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='DISABLE', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='AUTO', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=4908, + serialized_end=4961, +) +_sym_db.RegisterEnumDescriptor(_CHANSTATUSACTION) + +ChanStatusAction = enum_type_wrapper.EnumTypeWrapper(_CHANSTATUSACTION) +UNKNOWN = 0 +NO_DETAIL = 1 +ONION_DECODE = 2 +LINK_NOT_ELIGIBLE = 3 +ON_CHAIN_TIMEOUT = 4 +HTLC_EXCEEDS_MAX = 5 +INSUFFICIENT_BALANCE = 6 +INCOMPLETE_FORWARD = 7 +HTLC_ADD_FAILED = 8 +FORWARDS_DISABLED = 9 +INVOICE_CANCELED = 10 +INVOICE_UNDERPAID = 11 +INVOICE_EXPIRY_TOO_SOON = 12 +INVOICE_NOT_OPEN = 13 +MPP_INVOICE_TIMEOUT = 14 +ADDRESS_MISMATCH = 15 +SET_TOTAL_MISMATCH = 16 +SET_TOTAL_TOO_LOW = 17 +SET_OVERPAID = 18 +UNKNOWN_INVOICE = 19 +INVALID_KEYSEND = 20 +MPP_IN_PROGRESS = 21 +CIRCULAR_ROUTE = 22 +IN_FLIGHT = 0 +SUCCEEDED = 1 +FAILED_TIMEOUT = 2 +FAILED_NO_ROUTE = 3 +FAILED_ERROR = 4 +FAILED_INCORRECT_PAYMENT_DETAILS = 5 +FAILED_INSUFFICIENT_BALANCE = 6 +SETTLE = 0 +FAIL = 1 +RESUME = 2 +ENABLE = 0 +DISABLE = 1 +AUTO = 2 + + +_HTLCEVENT_EVENTTYPE = _descriptor.EnumDescriptor( + name='EventType', + full_name='routerrpc.HtlcEvent.EventType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SEND', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RECEIVE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FORWARD', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=2827, + serialized_end=2887, +) +_sym_db.RegisterEnumDescriptor(_HTLCEVENT_EVENTTYPE) + + +_SENDPAYMENTREQUEST_DESTCUSTOMRECORDSENTRY = _descriptor.Descriptor( + name='DestCustomRecordsEntry', + full_name='routerrpc.SendPaymentRequest.DestCustomRecordsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='routerrpc.SendPaymentRequest.DestCustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='routerrpc.SendPaymentRequest.DestCustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=689, + serialized_end=745, +) + +_SENDPAYMENTREQUEST = _descriptor.Descriptor( + name='SendPaymentRequest', + full_name='routerrpc.SendPaymentRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='dest', full_name='routerrpc.SendPaymentRequest.dest', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt', full_name='routerrpc.SendPaymentRequest.amt', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_msat', full_name='routerrpc.SendPaymentRequest.amt_msat', index=2, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_hash', full_name='routerrpc.SendPaymentRequest.payment_hash', index=3, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='final_cltv_delta', full_name='routerrpc.SendPaymentRequest.final_cltv_delta', index=4, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_addr', full_name='routerrpc.SendPaymentRequest.payment_addr', index=5, + number=20, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_request', full_name='routerrpc.SendPaymentRequest.payment_request', index=6, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='timeout_seconds', full_name='routerrpc.SendPaymentRequest.timeout_seconds', index=7, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_limit_sat', full_name='routerrpc.SendPaymentRequest.fee_limit_sat', index=8, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_limit_msat', full_name='routerrpc.SendPaymentRequest.fee_limit_msat', index=9, + number=13, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_chan_id', full_name='routerrpc.SendPaymentRequest.outgoing_chan_id', index=10, + 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=b'\030\0010\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_chan_ids', full_name='routerrpc.SendPaymentRequest.outgoing_chan_ids', index=11, + number=19, type=4, cpp_type=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_hop_pubkey', full_name='routerrpc.SendPaymentRequest.last_hop_pubkey', index=12, + number=14, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cltv_limit', full_name='routerrpc.SendPaymentRequest.cltv_limit', index=13, + number=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='route_hints', full_name='routerrpc.SendPaymentRequest.route_hints', index=14, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dest_custom_records', full_name='routerrpc.SendPaymentRequest.dest_custom_records', index=15, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allow_self_payment', full_name='routerrpc.SendPaymentRequest.allow_self_payment', index=16, + number=15, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dest_features', full_name='routerrpc.SendPaymentRequest.dest_features', index=17, + number=16, type=14, cpp_type=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_parts', full_name='routerrpc.SendPaymentRequest.max_parts', index=18, + number=17, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='no_inflight_updates', full_name='routerrpc.SendPaymentRequest.no_inflight_updates', index=19, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_shard_size_msat', full_name='routerrpc.SendPaymentRequest.max_shard_size_msat', index=20, + number=21, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amp', full_name='routerrpc.SendPaymentRequest.amp', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_SENDPAYMENTREQUEST_DESTCUSTOMRECORDSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=69, + serialized_end=745, +) + + +_TRACKPAYMENTREQUEST = _descriptor.Descriptor( + name='TrackPaymentRequest', + full_name='routerrpc.TrackPaymentRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='payment_hash', full_name='routerrpc.TrackPaymentRequest.payment_hash', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='no_inflight_updates', full_name='routerrpc.TrackPaymentRequest.no_inflight_updates', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=747, + serialized_end=819, +) + + +_ROUTEFEEREQUEST = _descriptor.Descriptor( + name='RouteFeeRequest', + full_name='routerrpc.RouteFeeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='dest', full_name='routerrpc.RouteFeeRequest.dest', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_sat', full_name='routerrpc.RouteFeeRequest.amt_sat', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=821, + serialized_end=869, +) + + +_ROUTEFEERESPONSE = _descriptor.Descriptor( + name='RouteFeeResponse', + full_name='routerrpc.RouteFeeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='routing_fee_msat', full_name='routerrpc.RouteFeeResponse.routing_fee_msat', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_lock_delay', full_name='routerrpc.RouteFeeResponse.time_lock_delay', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=871, + serialized_end=940, +) + + +_SENDTOROUTEREQUEST = _descriptor.Descriptor( + name='SendToRouteRequest', + full_name='routerrpc.SendToRouteRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='payment_hash', full_name='routerrpc.SendToRouteRequest.payment_hash', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='route', full_name='routerrpc.SendToRouteRequest.route', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=942, + serialized_end=1013, +) + + +_SENDTOROUTERESPONSE = _descriptor.Descriptor( + name='SendToRouteResponse', + full_name='routerrpc.SendToRouteResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='preimage', full_name='routerrpc.SendToRouteResponse.preimage', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='failure', full_name='routerrpc.SendToRouteResponse.failure', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1015, + serialized_end=1087, +) + + +_RESETMISSIONCONTROLREQUEST = _descriptor.Descriptor( + name='ResetMissionControlRequest', + full_name='routerrpc.ResetMissionControlRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1089, + serialized_end=1117, +) + + +_RESETMISSIONCONTROLRESPONSE = _descriptor.Descriptor( + name='ResetMissionControlResponse', + full_name='routerrpc.ResetMissionControlResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1119, + serialized_end=1148, +) + + +_QUERYMISSIONCONTROLREQUEST = _descriptor.Descriptor( + name='QueryMissionControlRequest', + full_name='routerrpc.QueryMissionControlRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1150, + serialized_end=1178, +) + + +_QUERYMISSIONCONTROLRESPONSE = _descriptor.Descriptor( + name='QueryMissionControlResponse', + full_name='routerrpc.QueryMissionControlResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pairs', full_name='routerrpc.QueryMissionControlResponse.pairs', index=0, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1180, + serialized_end=1254, +) + + +_XIMPORTMISSIONCONTROLREQUEST = _descriptor.Descriptor( + name='XImportMissionControlRequest', + full_name='routerrpc.XImportMissionControlRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pairs', full_name='routerrpc.XImportMissionControlRequest.pairs', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1256, + serialized_end=1325, +) + + +_XIMPORTMISSIONCONTROLRESPONSE = _descriptor.Descriptor( + name='XImportMissionControlResponse', + full_name='routerrpc.XImportMissionControlResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1327, + serialized_end=1358, +) + + +_PAIRHISTORY = _descriptor.Descriptor( + name='PairHistory', + full_name='routerrpc.PairHistory', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='node_from', full_name='routerrpc.PairHistory.node_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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='node_to', full_name='routerrpc.PairHistory.node_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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='history', full_name='routerrpc.PairHistory.history', index=2, + number=7, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1360, + serialized_end=1471, +) + + +_PAIRDATA = _descriptor.Descriptor( + name='PairData', + full_name='routerrpc.PairData', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='fail_time', full_name='routerrpc.PairData.fail_time', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fail_amt_sat', full_name='routerrpc.PairData.fail_amt_sat', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fail_amt_msat', full_name='routerrpc.PairData.fail_amt_msat', index=2, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='success_time', full_name='routerrpc.PairData.success_time', index=3, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='success_amt_sat', full_name='routerrpc.PairData.success_amt_sat', index=4, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='success_amt_msat', full_name='routerrpc.PairData.success_amt_msat', index=5, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1474, + serialized_end=1627, +) + + +_GETMISSIONCONTROLCONFIGREQUEST = _descriptor.Descriptor( + name='GetMissionControlConfigRequest', + full_name='routerrpc.GetMissionControlConfigRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1629, + serialized_end=1661, +) + + +_GETMISSIONCONTROLCONFIGRESPONSE = _descriptor.Descriptor( + name='GetMissionControlConfigResponse', + full_name='routerrpc.GetMissionControlConfigResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='config', full_name='routerrpc.GetMissionControlConfigResponse.config', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1663, + serialized_end=1745, +) + + +_SETMISSIONCONTROLCONFIGREQUEST = _descriptor.Descriptor( + name='SetMissionControlConfigRequest', + full_name='routerrpc.SetMissionControlConfigRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='config', full_name='routerrpc.SetMissionControlConfigRequest.config', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1747, + serialized_end=1828, +) + + +_SETMISSIONCONTROLCONFIGRESPONSE = _descriptor.Descriptor( + name='SetMissionControlConfigResponse', + full_name='routerrpc.SetMissionControlConfigResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1830, + serialized_end=1863, +) + + +_MISSIONCONTROLCONFIG = _descriptor.Descriptor( + name='MissionControlConfig', + full_name='routerrpc.MissionControlConfig', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='half_life_seconds', full_name='routerrpc.MissionControlConfig.half_life_seconds', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hop_probability', full_name='routerrpc.MissionControlConfig.hop_probability', index=1, + number=2, type=2, cpp_type=6, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='weight', full_name='routerrpc.MissionControlConfig.weight', index=2, + number=3, type=2, cpp_type=6, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='maximum_payment_results', full_name='routerrpc.MissionControlConfig.maximum_payment_results', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='minimum_failure_relax_interval', full_name='routerrpc.MissionControlConfig.minimum_failure_relax_interval', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1866, + serialized_end=2029, +) + + +_QUERYPROBABILITYREQUEST = _descriptor.Descriptor( + name='QueryProbabilityRequest', + full_name='routerrpc.QueryProbabilityRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='from_node', full_name='routerrpc.QueryProbabilityRequest.from_node', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='to_node', full_name='routerrpc.QueryProbabilityRequest.to_node', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_msat', full_name='routerrpc.QueryProbabilityRequest.amt_msat', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2031, + serialized_end=2110, +) + + +_QUERYPROBABILITYRESPONSE = _descriptor.Descriptor( + name='QueryProbabilityResponse', + full_name='routerrpc.QueryProbabilityResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='probability', full_name='routerrpc.QueryProbabilityResponse.probability', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='history', full_name='routerrpc.QueryProbabilityResponse.history', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2112, + serialized_end=2197, +) + + +_BUILDROUTEREQUEST = _descriptor.Descriptor( + name='BuildRouteRequest', + full_name='routerrpc.BuildRouteRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='amt_msat', full_name='routerrpc.BuildRouteRequest.amt_msat', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='final_cltv_delta', full_name='routerrpc.BuildRouteRequest.final_cltv_delta', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_chan_id', full_name='routerrpc.BuildRouteRequest.outgoing_chan_id', 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=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hop_pubkeys', full_name='routerrpc.BuildRouteRequest.hop_pubkeys', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_addr', full_name='routerrpc.BuildRouteRequest.payment_addr', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2200, + serialized_end=2336, +) + + +_BUILDROUTERESPONSE = _descriptor.Descriptor( + name='BuildRouteResponse', + full_name='routerrpc.BuildRouteResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='route', full_name='routerrpc.BuildRouteResponse.route', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2338, + serialized_end=2387, +) + + +_SUBSCRIBEHTLCEVENTSREQUEST = _descriptor.Descriptor( + name='SubscribeHtlcEventsRequest', + full_name='routerrpc.SubscribeHtlcEventsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2389, + serialized_end=2417, +) + + +_HTLCEVENT = _descriptor.Descriptor( + name='HtlcEvent', + full_name='routerrpc.HtlcEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='incoming_channel_id', full_name='routerrpc.HtlcEvent.incoming_channel_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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_channel_id', full_name='routerrpc.HtlcEvent.outgoing_channel_id', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='incoming_htlc_id', full_name='routerrpc.HtlcEvent.incoming_htlc_id', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_htlc_id', full_name='routerrpc.HtlcEvent.outgoing_htlc_id', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='timestamp_ns', full_name='routerrpc.HtlcEvent.timestamp_ns', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='event_type', full_name='routerrpc.HtlcEvent.event_type', index=5, + number=6, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='forward_event', full_name='routerrpc.HtlcEvent.forward_event', index=6, + number=7, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='forward_fail_event', full_name='routerrpc.HtlcEvent.forward_fail_event', index=7, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='settle_event', full_name='routerrpc.HtlcEvent.settle_event', index=8, + number=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='link_fail_event', full_name='routerrpc.HtlcEvent.link_fail_event', index=9, + number=10, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _HTLCEVENT_EVENTTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='event', full_name='routerrpc.HtlcEvent.event', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=2420, + serialized_end=2896, +) + + +_HTLCINFO = _descriptor.Descriptor( + name='HtlcInfo', + full_name='routerrpc.HtlcInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='incoming_timelock', full_name='routerrpc.HtlcInfo.incoming_timelock', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_timelock', full_name='routerrpc.HtlcInfo.outgoing_timelock', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='incoming_amt_msat', full_name='routerrpc.HtlcInfo.incoming_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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_amt_msat', full_name='routerrpc.HtlcInfo.outgoing_amt_msat', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2898, + serialized_end=3016, +) + + +_FORWARDEVENT = _descriptor.Descriptor( + name='ForwardEvent', + full_name='routerrpc.ForwardEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='info', full_name='routerrpc.ForwardEvent.info', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3018, + serialized_end=3067, +) + + +_FORWARDFAILEVENT = _descriptor.Descriptor( + name='ForwardFailEvent', + full_name='routerrpc.ForwardFailEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3069, + serialized_end=3087, +) + + +_SETTLEEVENT = _descriptor.Descriptor( + name='SettleEvent', + full_name='routerrpc.SettleEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3089, + serialized_end=3102, +) + + +_LINKFAILEVENT = _descriptor.Descriptor( + name='LinkFailEvent', + full_name='routerrpc.LinkFailEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='info', full_name='routerrpc.LinkFailEvent.info', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='wire_failure', full_name='routerrpc.LinkFailEvent.wire_failure', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='failure_detail', full_name='routerrpc.LinkFailEvent.failure_detail', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='failure_string', full_name='routerrpc.LinkFailEvent.failure_string', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3105, + serialized_end=3279, +) + + +_PAYMENTSTATUS = _descriptor.Descriptor( + name='PaymentStatus', + full_name='routerrpc.PaymentStatus', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='state', full_name='routerrpc.PaymentStatus.state', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='preimage', full_name='routerrpc.PaymentStatus.preimage', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='htlcs', full_name='routerrpc.PaymentStatus.htlcs', index=2, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3281, + serialized_end=3395, +) + + +_CIRCUITKEY = _descriptor.Descriptor( + name='CircuitKey', + full_name='routerrpc.CircuitKey', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_id', full_name='routerrpc.CircuitKey.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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='htlc_id', full_name='routerrpc.CircuitKey.htlc_id', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3397, + serialized_end=3443, +) + + +_FORWARDHTLCINTERCEPTREQUEST_CUSTOMRECORDSENTRY = _descriptor.Descriptor( + name='CustomRecordsEntry', + full_name='routerrpc.ForwardHtlcInterceptRequest.CustomRecordsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='routerrpc.ForwardHtlcInterceptRequest.CustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='routerrpc.ForwardHtlcInterceptRequest.CustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3801, + serialized_end=3853, +) + +_FORWARDHTLCINTERCEPTREQUEST = _descriptor.Descriptor( + name='ForwardHtlcInterceptRequest', + full_name='routerrpc.ForwardHtlcInterceptRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='incoming_circuit_key', full_name='routerrpc.ForwardHtlcInterceptRequest.incoming_circuit_key', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='incoming_amount_msat', full_name='routerrpc.ForwardHtlcInterceptRequest.incoming_amount_msat', index=1, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='incoming_expiry', full_name='routerrpc.ForwardHtlcInterceptRequest.incoming_expiry', index=2, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_hash', full_name='routerrpc.ForwardHtlcInterceptRequest.payment_hash', index=3, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_requested_chan_id', full_name='routerrpc.ForwardHtlcInterceptRequest.outgoing_requested_chan_id', index=4, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_amount_msat', full_name='routerrpc.ForwardHtlcInterceptRequest.outgoing_amount_msat', index=5, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_expiry', full_name='routerrpc.ForwardHtlcInterceptRequest.outgoing_expiry', index=6, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='custom_records', full_name='routerrpc.ForwardHtlcInterceptRequest.custom_records', index=7, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='onion_blob', full_name='routerrpc.ForwardHtlcInterceptRequest.onion_blob', index=8, + number=9, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_FORWARDHTLCINTERCEPTREQUEST_CUSTOMRECORDSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3446, + serialized_end=3853, +) + + +_FORWARDHTLCINTERCEPTRESPONSE = _descriptor.Descriptor( + name='ForwardHtlcInterceptResponse', + full_name='routerrpc.ForwardHtlcInterceptResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='incoming_circuit_key', full_name='routerrpc.ForwardHtlcInterceptResponse.incoming_circuit_key', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='action', full_name='routerrpc.ForwardHtlcInterceptResponse.action', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='preimage', full_name='routerrpc.ForwardHtlcInterceptResponse.preimage', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3856, + serialized_end=4010, +) + + +_UPDATECHANSTATUSREQUEST = _descriptor.Descriptor( + name='UpdateChanStatusRequest', + full_name='routerrpc.UpdateChanStatusRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_point', full_name='routerrpc.UpdateChanStatusRequest.chan_point', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='action', full_name='routerrpc.UpdateChanStatusRequest.action', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4012, + serialized_end=4123, +) + + +_UPDATECHANSTATUSRESPONSE = _descriptor.Descriptor( + name='UpdateChanStatusResponse', + full_name='routerrpc.UpdateChanStatusResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4125, + serialized_end=4151, +) + +_SENDPAYMENTREQUEST_DESTCUSTOMRECORDSENTRY.containing_type = _SENDPAYMENTREQUEST +_SENDPAYMENTREQUEST.fields_by_name['route_hints'].message_type = v0131beta_dot_rpc__pb2._ROUTEHINT +_SENDPAYMENTREQUEST.fields_by_name['dest_custom_records'].message_type = _SENDPAYMENTREQUEST_DESTCUSTOMRECORDSENTRY +_SENDPAYMENTREQUEST.fields_by_name['dest_features'].enum_type = v0131beta_dot_rpc__pb2._FEATUREBIT +_SENDTOROUTEREQUEST.fields_by_name['route'].message_type = v0131beta_dot_rpc__pb2._ROUTE +_SENDTOROUTERESPONSE.fields_by_name['failure'].message_type = v0131beta_dot_rpc__pb2._FAILURE +_QUERYMISSIONCONTROLRESPONSE.fields_by_name['pairs'].message_type = _PAIRHISTORY +_XIMPORTMISSIONCONTROLREQUEST.fields_by_name['pairs'].message_type = _PAIRHISTORY +_PAIRHISTORY.fields_by_name['history'].message_type = _PAIRDATA +_GETMISSIONCONTROLCONFIGRESPONSE.fields_by_name['config'].message_type = _MISSIONCONTROLCONFIG +_SETMISSIONCONTROLCONFIGREQUEST.fields_by_name['config'].message_type = _MISSIONCONTROLCONFIG +_QUERYPROBABILITYRESPONSE.fields_by_name['history'].message_type = _PAIRDATA +_BUILDROUTERESPONSE.fields_by_name['route'].message_type = v0131beta_dot_rpc__pb2._ROUTE +_HTLCEVENT.fields_by_name['event_type'].enum_type = _HTLCEVENT_EVENTTYPE +_HTLCEVENT.fields_by_name['forward_event'].message_type = _FORWARDEVENT +_HTLCEVENT.fields_by_name['forward_fail_event'].message_type = _FORWARDFAILEVENT +_HTLCEVENT.fields_by_name['settle_event'].message_type = _SETTLEEVENT +_HTLCEVENT.fields_by_name['link_fail_event'].message_type = _LINKFAILEVENT +_HTLCEVENT_EVENTTYPE.containing_type = _HTLCEVENT +_HTLCEVENT.oneofs_by_name['event'].fields.append( + _HTLCEVENT.fields_by_name['forward_event']) +_HTLCEVENT.fields_by_name['forward_event'].containing_oneof = _HTLCEVENT.oneofs_by_name['event'] +_HTLCEVENT.oneofs_by_name['event'].fields.append( + _HTLCEVENT.fields_by_name['forward_fail_event']) +_HTLCEVENT.fields_by_name['forward_fail_event'].containing_oneof = _HTLCEVENT.oneofs_by_name['event'] +_HTLCEVENT.oneofs_by_name['event'].fields.append( + _HTLCEVENT.fields_by_name['settle_event']) +_HTLCEVENT.fields_by_name['settle_event'].containing_oneof = _HTLCEVENT.oneofs_by_name['event'] +_HTLCEVENT.oneofs_by_name['event'].fields.append( + _HTLCEVENT.fields_by_name['link_fail_event']) +_HTLCEVENT.fields_by_name['link_fail_event'].containing_oneof = _HTLCEVENT.oneofs_by_name['event'] +_FORWARDEVENT.fields_by_name['info'].message_type = _HTLCINFO +_LINKFAILEVENT.fields_by_name['info'].message_type = _HTLCINFO +_LINKFAILEVENT.fields_by_name['wire_failure'].enum_type = v0131beta_dot_rpc__pb2._FAILURE_FAILURECODE +_LINKFAILEVENT.fields_by_name['failure_detail'].enum_type = _FAILUREDETAIL +_PAYMENTSTATUS.fields_by_name['state'].enum_type = _PAYMENTSTATE +_PAYMENTSTATUS.fields_by_name['htlcs'].message_type = v0131beta_dot_rpc__pb2._HTLCATTEMPT +_FORWARDHTLCINTERCEPTREQUEST_CUSTOMRECORDSENTRY.containing_type = _FORWARDHTLCINTERCEPTREQUEST +_FORWARDHTLCINTERCEPTREQUEST.fields_by_name['incoming_circuit_key'].message_type = _CIRCUITKEY +_FORWARDHTLCINTERCEPTREQUEST.fields_by_name['custom_records'].message_type = _FORWARDHTLCINTERCEPTREQUEST_CUSTOMRECORDSENTRY +_FORWARDHTLCINTERCEPTRESPONSE.fields_by_name['incoming_circuit_key'].message_type = _CIRCUITKEY +_FORWARDHTLCINTERCEPTRESPONSE.fields_by_name['action'].enum_type = _RESOLVEHOLDFORWARDACTION +_UPDATECHANSTATUSREQUEST.fields_by_name['chan_point'].message_type = v0131beta_dot_rpc__pb2._CHANNELPOINT +_UPDATECHANSTATUSREQUEST.fields_by_name['action'].enum_type = _CHANSTATUSACTION +DESCRIPTOR.message_types_by_name['SendPaymentRequest'] = _SENDPAYMENTREQUEST +DESCRIPTOR.message_types_by_name['TrackPaymentRequest'] = _TRACKPAYMENTREQUEST +DESCRIPTOR.message_types_by_name['RouteFeeRequest'] = _ROUTEFEEREQUEST +DESCRIPTOR.message_types_by_name['RouteFeeResponse'] = _ROUTEFEERESPONSE +DESCRIPTOR.message_types_by_name['SendToRouteRequest'] = _SENDTOROUTEREQUEST +DESCRIPTOR.message_types_by_name['SendToRouteResponse'] = _SENDTOROUTERESPONSE +DESCRIPTOR.message_types_by_name['ResetMissionControlRequest'] = _RESETMISSIONCONTROLREQUEST +DESCRIPTOR.message_types_by_name['ResetMissionControlResponse'] = _RESETMISSIONCONTROLRESPONSE +DESCRIPTOR.message_types_by_name['QueryMissionControlRequest'] = _QUERYMISSIONCONTROLREQUEST +DESCRIPTOR.message_types_by_name['QueryMissionControlResponse'] = _QUERYMISSIONCONTROLRESPONSE +DESCRIPTOR.message_types_by_name['XImportMissionControlRequest'] = _XIMPORTMISSIONCONTROLREQUEST +DESCRIPTOR.message_types_by_name['XImportMissionControlResponse'] = _XIMPORTMISSIONCONTROLRESPONSE +DESCRIPTOR.message_types_by_name['PairHistory'] = _PAIRHISTORY +DESCRIPTOR.message_types_by_name['PairData'] = _PAIRDATA +DESCRIPTOR.message_types_by_name['GetMissionControlConfigRequest'] = _GETMISSIONCONTROLCONFIGREQUEST +DESCRIPTOR.message_types_by_name['GetMissionControlConfigResponse'] = _GETMISSIONCONTROLCONFIGRESPONSE +DESCRIPTOR.message_types_by_name['SetMissionControlConfigRequest'] = _SETMISSIONCONTROLCONFIGREQUEST +DESCRIPTOR.message_types_by_name['SetMissionControlConfigResponse'] = _SETMISSIONCONTROLCONFIGRESPONSE +DESCRIPTOR.message_types_by_name['MissionControlConfig'] = _MISSIONCONTROLCONFIG +DESCRIPTOR.message_types_by_name['QueryProbabilityRequest'] = _QUERYPROBABILITYREQUEST +DESCRIPTOR.message_types_by_name['QueryProbabilityResponse'] = _QUERYPROBABILITYRESPONSE +DESCRIPTOR.message_types_by_name['BuildRouteRequest'] = _BUILDROUTEREQUEST +DESCRIPTOR.message_types_by_name['BuildRouteResponse'] = _BUILDROUTERESPONSE +DESCRIPTOR.message_types_by_name['SubscribeHtlcEventsRequest'] = _SUBSCRIBEHTLCEVENTSREQUEST +DESCRIPTOR.message_types_by_name['HtlcEvent'] = _HTLCEVENT +DESCRIPTOR.message_types_by_name['HtlcInfo'] = _HTLCINFO +DESCRIPTOR.message_types_by_name['ForwardEvent'] = _FORWARDEVENT +DESCRIPTOR.message_types_by_name['ForwardFailEvent'] = _FORWARDFAILEVENT +DESCRIPTOR.message_types_by_name['SettleEvent'] = _SETTLEEVENT +DESCRIPTOR.message_types_by_name['LinkFailEvent'] = _LINKFAILEVENT +DESCRIPTOR.message_types_by_name['PaymentStatus'] = _PAYMENTSTATUS +DESCRIPTOR.message_types_by_name['CircuitKey'] = _CIRCUITKEY +DESCRIPTOR.message_types_by_name['ForwardHtlcInterceptRequest'] = _FORWARDHTLCINTERCEPTREQUEST +DESCRIPTOR.message_types_by_name['ForwardHtlcInterceptResponse'] = _FORWARDHTLCINTERCEPTRESPONSE +DESCRIPTOR.message_types_by_name['UpdateChanStatusRequest'] = _UPDATECHANSTATUSREQUEST +DESCRIPTOR.message_types_by_name['UpdateChanStatusResponse'] = _UPDATECHANSTATUSRESPONSE +DESCRIPTOR.enum_types_by_name['FailureDetail'] = _FAILUREDETAIL +DESCRIPTOR.enum_types_by_name['PaymentState'] = _PAYMENTSTATE +DESCRIPTOR.enum_types_by_name['ResolveHoldForwardAction'] = _RESOLVEHOLDFORWARDACTION +DESCRIPTOR.enum_types_by_name['ChanStatusAction'] = _CHANSTATUSACTION +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +SendPaymentRequest = _reflection.GeneratedProtocolMessageType('SendPaymentRequest', (_message.Message,), { + + 'DestCustomRecordsEntry' : _reflection.GeneratedProtocolMessageType('DestCustomRecordsEntry', (_message.Message,), { + 'DESCRIPTOR' : _SENDPAYMENTREQUEST_DESTCUSTOMRECORDSENTRY, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.SendPaymentRequest.DestCustomRecordsEntry) + }) + , + 'DESCRIPTOR' : _SENDPAYMENTREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.SendPaymentRequest) + }) +_sym_db.RegisterMessage(SendPaymentRequest) +_sym_db.RegisterMessage(SendPaymentRequest.DestCustomRecordsEntry) + +TrackPaymentRequest = _reflection.GeneratedProtocolMessageType('TrackPaymentRequest', (_message.Message,), { + 'DESCRIPTOR' : _TRACKPAYMENTREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.TrackPaymentRequest) + }) +_sym_db.RegisterMessage(TrackPaymentRequest) + +RouteFeeRequest = _reflection.GeneratedProtocolMessageType('RouteFeeRequest', (_message.Message,), { + 'DESCRIPTOR' : _ROUTEFEEREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.RouteFeeRequest) + }) +_sym_db.RegisterMessage(RouteFeeRequest) + +RouteFeeResponse = _reflection.GeneratedProtocolMessageType('RouteFeeResponse', (_message.Message,), { + 'DESCRIPTOR' : _ROUTEFEERESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.RouteFeeResponse) + }) +_sym_db.RegisterMessage(RouteFeeResponse) + +SendToRouteRequest = _reflection.GeneratedProtocolMessageType('SendToRouteRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDTOROUTEREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.SendToRouteRequest) + }) +_sym_db.RegisterMessage(SendToRouteRequest) + +SendToRouteResponse = _reflection.GeneratedProtocolMessageType('SendToRouteResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDTOROUTERESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.SendToRouteResponse) + }) +_sym_db.RegisterMessage(SendToRouteResponse) + +ResetMissionControlRequest = _reflection.GeneratedProtocolMessageType('ResetMissionControlRequest', (_message.Message,), { + 'DESCRIPTOR' : _RESETMISSIONCONTROLREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.ResetMissionControlRequest) + }) +_sym_db.RegisterMessage(ResetMissionControlRequest) + +ResetMissionControlResponse = _reflection.GeneratedProtocolMessageType('ResetMissionControlResponse', (_message.Message,), { + 'DESCRIPTOR' : _RESETMISSIONCONTROLRESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.ResetMissionControlResponse) + }) +_sym_db.RegisterMessage(ResetMissionControlResponse) + +QueryMissionControlRequest = _reflection.GeneratedProtocolMessageType('QueryMissionControlRequest', (_message.Message,), { + 'DESCRIPTOR' : _QUERYMISSIONCONTROLREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.QueryMissionControlRequest) + }) +_sym_db.RegisterMessage(QueryMissionControlRequest) + +QueryMissionControlResponse = _reflection.GeneratedProtocolMessageType('QueryMissionControlResponse', (_message.Message,), { + 'DESCRIPTOR' : _QUERYMISSIONCONTROLRESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.QueryMissionControlResponse) + }) +_sym_db.RegisterMessage(QueryMissionControlResponse) + +XImportMissionControlRequest = _reflection.GeneratedProtocolMessageType('XImportMissionControlRequest', (_message.Message,), { + 'DESCRIPTOR' : _XIMPORTMISSIONCONTROLREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.XImportMissionControlRequest) + }) +_sym_db.RegisterMessage(XImportMissionControlRequest) + +XImportMissionControlResponse = _reflection.GeneratedProtocolMessageType('XImportMissionControlResponse', (_message.Message,), { + 'DESCRIPTOR' : _XIMPORTMISSIONCONTROLRESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.XImportMissionControlResponse) + }) +_sym_db.RegisterMessage(XImportMissionControlResponse) + +PairHistory = _reflection.GeneratedProtocolMessageType('PairHistory', (_message.Message,), { + 'DESCRIPTOR' : _PAIRHISTORY, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.PairHistory) + }) +_sym_db.RegisterMessage(PairHistory) + +PairData = _reflection.GeneratedProtocolMessageType('PairData', (_message.Message,), { + 'DESCRIPTOR' : _PAIRDATA, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.PairData) + }) +_sym_db.RegisterMessage(PairData) + +GetMissionControlConfigRequest = _reflection.GeneratedProtocolMessageType('GetMissionControlConfigRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETMISSIONCONTROLCONFIGREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.GetMissionControlConfigRequest) + }) +_sym_db.RegisterMessage(GetMissionControlConfigRequest) + +GetMissionControlConfigResponse = _reflection.GeneratedProtocolMessageType('GetMissionControlConfigResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETMISSIONCONTROLCONFIGRESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.GetMissionControlConfigResponse) + }) +_sym_db.RegisterMessage(GetMissionControlConfigResponse) + +SetMissionControlConfigRequest = _reflection.GeneratedProtocolMessageType('SetMissionControlConfigRequest', (_message.Message,), { + 'DESCRIPTOR' : _SETMISSIONCONTROLCONFIGREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.SetMissionControlConfigRequest) + }) +_sym_db.RegisterMessage(SetMissionControlConfigRequest) + +SetMissionControlConfigResponse = _reflection.GeneratedProtocolMessageType('SetMissionControlConfigResponse', (_message.Message,), { + 'DESCRIPTOR' : _SETMISSIONCONTROLCONFIGRESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.SetMissionControlConfigResponse) + }) +_sym_db.RegisterMessage(SetMissionControlConfigResponse) + +MissionControlConfig = _reflection.GeneratedProtocolMessageType('MissionControlConfig', (_message.Message,), { + 'DESCRIPTOR' : _MISSIONCONTROLCONFIG, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.MissionControlConfig) + }) +_sym_db.RegisterMessage(MissionControlConfig) + +QueryProbabilityRequest = _reflection.GeneratedProtocolMessageType('QueryProbabilityRequest', (_message.Message,), { + 'DESCRIPTOR' : _QUERYPROBABILITYREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.QueryProbabilityRequest) + }) +_sym_db.RegisterMessage(QueryProbabilityRequest) + +QueryProbabilityResponse = _reflection.GeneratedProtocolMessageType('QueryProbabilityResponse', (_message.Message,), { + 'DESCRIPTOR' : _QUERYPROBABILITYRESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.QueryProbabilityResponse) + }) +_sym_db.RegisterMessage(QueryProbabilityResponse) + +BuildRouteRequest = _reflection.GeneratedProtocolMessageType('BuildRouteRequest', (_message.Message,), { + 'DESCRIPTOR' : _BUILDROUTEREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.BuildRouteRequest) + }) +_sym_db.RegisterMessage(BuildRouteRequest) + +BuildRouteResponse = _reflection.GeneratedProtocolMessageType('BuildRouteResponse', (_message.Message,), { + 'DESCRIPTOR' : _BUILDROUTERESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.BuildRouteResponse) + }) +_sym_db.RegisterMessage(BuildRouteResponse) + +SubscribeHtlcEventsRequest = _reflection.GeneratedProtocolMessageType('SubscribeHtlcEventsRequest', (_message.Message,), { + 'DESCRIPTOR' : _SUBSCRIBEHTLCEVENTSREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.SubscribeHtlcEventsRequest) + }) +_sym_db.RegisterMessage(SubscribeHtlcEventsRequest) + +HtlcEvent = _reflection.GeneratedProtocolMessageType('HtlcEvent', (_message.Message,), { + 'DESCRIPTOR' : _HTLCEVENT, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.HtlcEvent) + }) +_sym_db.RegisterMessage(HtlcEvent) + +HtlcInfo = _reflection.GeneratedProtocolMessageType('HtlcInfo', (_message.Message,), { + 'DESCRIPTOR' : _HTLCINFO, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.HtlcInfo) + }) +_sym_db.RegisterMessage(HtlcInfo) + +ForwardEvent = _reflection.GeneratedProtocolMessageType('ForwardEvent', (_message.Message,), { + 'DESCRIPTOR' : _FORWARDEVENT, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.ForwardEvent) + }) +_sym_db.RegisterMessage(ForwardEvent) + +ForwardFailEvent = _reflection.GeneratedProtocolMessageType('ForwardFailEvent', (_message.Message,), { + 'DESCRIPTOR' : _FORWARDFAILEVENT, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.ForwardFailEvent) + }) +_sym_db.RegisterMessage(ForwardFailEvent) + +SettleEvent = _reflection.GeneratedProtocolMessageType('SettleEvent', (_message.Message,), { + 'DESCRIPTOR' : _SETTLEEVENT, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.SettleEvent) + }) +_sym_db.RegisterMessage(SettleEvent) + +LinkFailEvent = _reflection.GeneratedProtocolMessageType('LinkFailEvent', (_message.Message,), { + 'DESCRIPTOR' : _LINKFAILEVENT, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.LinkFailEvent) + }) +_sym_db.RegisterMessage(LinkFailEvent) + +PaymentStatus = _reflection.GeneratedProtocolMessageType('PaymentStatus', (_message.Message,), { + 'DESCRIPTOR' : _PAYMENTSTATUS, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.PaymentStatus) + }) +_sym_db.RegisterMessage(PaymentStatus) + +CircuitKey = _reflection.GeneratedProtocolMessageType('CircuitKey', (_message.Message,), { + 'DESCRIPTOR' : _CIRCUITKEY, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.CircuitKey) + }) +_sym_db.RegisterMessage(CircuitKey) + +ForwardHtlcInterceptRequest = _reflection.GeneratedProtocolMessageType('ForwardHtlcInterceptRequest', (_message.Message,), { + + 'CustomRecordsEntry' : _reflection.GeneratedProtocolMessageType('CustomRecordsEntry', (_message.Message,), { + 'DESCRIPTOR' : _FORWARDHTLCINTERCEPTREQUEST_CUSTOMRECORDSENTRY, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.ForwardHtlcInterceptRequest.CustomRecordsEntry) + }) + , + 'DESCRIPTOR' : _FORWARDHTLCINTERCEPTREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.ForwardHtlcInterceptRequest) + }) +_sym_db.RegisterMessage(ForwardHtlcInterceptRequest) +_sym_db.RegisterMessage(ForwardHtlcInterceptRequest.CustomRecordsEntry) + +ForwardHtlcInterceptResponse = _reflection.GeneratedProtocolMessageType('ForwardHtlcInterceptResponse', (_message.Message,), { + 'DESCRIPTOR' : _FORWARDHTLCINTERCEPTRESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.ForwardHtlcInterceptResponse) + }) +_sym_db.RegisterMessage(ForwardHtlcInterceptResponse) + +UpdateChanStatusRequest = _reflection.GeneratedProtocolMessageType('UpdateChanStatusRequest', (_message.Message,), { + 'DESCRIPTOR' : _UPDATECHANSTATUSREQUEST, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.UpdateChanStatusRequest) + }) +_sym_db.RegisterMessage(UpdateChanStatusRequest) + +UpdateChanStatusResponse = _reflection.GeneratedProtocolMessageType('UpdateChanStatusResponse', (_message.Message,), { + 'DESCRIPTOR' : _UPDATECHANSTATUSRESPONSE, + '__module__' : 'v0131beta.routerrpc.router_pb2' + # @@protoc_insertion_point(class_scope:routerrpc.UpdateChanStatusResponse) + }) +_sym_db.RegisterMessage(UpdateChanStatusResponse) + + +DESCRIPTOR._options = None +_SENDPAYMENTREQUEST_DESTCUSTOMRECORDSENTRY._options = None +_SENDPAYMENTREQUEST.fields_by_name['outgoing_chan_id']._options = None +_BUILDROUTEREQUEST.fields_by_name['outgoing_chan_id']._options = None +_FORWARDHTLCINTERCEPTREQUEST_CUSTOMRECORDSENTRY._options = None + +_ROUTER = _descriptor.ServiceDescriptor( + name='Router', + full_name='routerrpc.Router', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=4964, + serialized_end=6485, + methods=[ + _descriptor.MethodDescriptor( + name='SendPaymentV2', + full_name='routerrpc.Router.SendPaymentV2', + index=0, + containing_service=None, + input_type=_SENDPAYMENTREQUEST, + output_type=v0131beta_dot_rpc__pb2._PAYMENT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='TrackPaymentV2', + full_name='routerrpc.Router.TrackPaymentV2', + index=1, + containing_service=None, + input_type=_TRACKPAYMENTREQUEST, + output_type=v0131beta_dot_rpc__pb2._PAYMENT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='EstimateRouteFee', + full_name='routerrpc.Router.EstimateRouteFee', + index=2, + containing_service=None, + input_type=_ROUTEFEEREQUEST, + output_type=_ROUTEFEERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendToRoute', + full_name='routerrpc.Router.SendToRoute', + index=3, + containing_service=None, + input_type=_SENDTOROUTEREQUEST, + output_type=_SENDTOROUTERESPONSE, + serialized_options=b'\210\002\001', + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendToRouteV2', + full_name='routerrpc.Router.SendToRouteV2', + index=4, + containing_service=None, + input_type=_SENDTOROUTEREQUEST, + output_type=v0131beta_dot_rpc__pb2._HTLCATTEMPT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ResetMissionControl', + full_name='routerrpc.Router.ResetMissionControl', + index=5, + containing_service=None, + input_type=_RESETMISSIONCONTROLREQUEST, + output_type=_RESETMISSIONCONTROLRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='QueryMissionControl', + full_name='routerrpc.Router.QueryMissionControl', + index=6, + containing_service=None, + input_type=_QUERYMISSIONCONTROLREQUEST, + output_type=_QUERYMISSIONCONTROLRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='XImportMissionControl', + full_name='routerrpc.Router.XImportMissionControl', + index=7, + containing_service=None, + input_type=_XIMPORTMISSIONCONTROLREQUEST, + output_type=_XIMPORTMISSIONCONTROLRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GetMissionControlConfig', + full_name='routerrpc.Router.GetMissionControlConfig', + index=8, + containing_service=None, + input_type=_GETMISSIONCONTROLCONFIGREQUEST, + output_type=_GETMISSIONCONTROLCONFIGRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SetMissionControlConfig', + full_name='routerrpc.Router.SetMissionControlConfig', + index=9, + containing_service=None, + input_type=_SETMISSIONCONTROLCONFIGREQUEST, + output_type=_SETMISSIONCONTROLCONFIGRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='QueryProbability', + full_name='routerrpc.Router.QueryProbability', + index=10, + containing_service=None, + input_type=_QUERYPROBABILITYREQUEST, + output_type=_QUERYPROBABILITYRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='BuildRoute', + full_name='routerrpc.Router.BuildRoute', + index=11, + containing_service=None, + input_type=_BUILDROUTEREQUEST, + output_type=_BUILDROUTERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SubscribeHtlcEvents', + full_name='routerrpc.Router.SubscribeHtlcEvents', + index=12, + containing_service=None, + input_type=_SUBSCRIBEHTLCEVENTSREQUEST, + output_type=_HTLCEVENT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendPayment', + full_name='routerrpc.Router.SendPayment', + index=13, + containing_service=None, + input_type=_SENDPAYMENTREQUEST, + output_type=_PAYMENTSTATUS, + serialized_options=b'\210\002\001', + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='TrackPayment', + full_name='routerrpc.Router.TrackPayment', + index=14, + containing_service=None, + input_type=_TRACKPAYMENTREQUEST, + output_type=_PAYMENTSTATUS, + serialized_options=b'\210\002\001', + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='HtlcInterceptor', + full_name='routerrpc.Router.HtlcInterceptor', + index=15, + containing_service=None, + input_type=_FORWARDHTLCINTERCEPTRESPONSE, + output_type=_FORWARDHTLCINTERCEPTREQUEST, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='UpdateChanStatus', + full_name='routerrpc.Router.UpdateChanStatus', + index=16, + containing_service=None, + input_type=_UPDATECHANSTATUSREQUEST, + output_type=_UPDATECHANSTATUSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_ROUTER) + +DESCRIPTOR.services_by_name['Router'] = _ROUTER + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/router_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/router_pb2_grpc.py new file mode 100644 index 00000000..2f383e9b --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/routerrpc/router_pb2_grpc.py @@ -0,0 +1,666 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from v0131beta.routerrpc import router_pb2 as v0131beta_dot_routerrpc_dot_router__pb2 +from v0131beta import lnd_grpc.protos.dev.rpc_pb2 as v0131beta_dot_rpc__pb2 + + +class RouterStub(object): + """Router is a service that offers advanced interaction with the router + subsystem of the daemon. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SendPaymentV2 = channel.unary_stream( + '/routerrpc.Router/SendPaymentV2', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.SendPaymentRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.Payment.FromString, + ) + self.TrackPaymentV2 = channel.unary_stream( + '/routerrpc.Router/TrackPaymentV2', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.TrackPaymentRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.Payment.FromString, + ) + self.EstimateRouteFee = channel.unary_unary( + '/routerrpc.Router/EstimateRouteFee', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.RouteFeeRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.RouteFeeResponse.FromString, + ) + self.SendToRoute = channel.unary_unary( + '/routerrpc.Router/SendToRoute', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.SendToRouteRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.SendToRouteResponse.FromString, + ) + self.SendToRouteV2 = channel.unary_unary( + '/routerrpc.Router/SendToRouteV2', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.SendToRouteRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.HTLCAttempt.FromString, + ) + self.ResetMissionControl = channel.unary_unary( + '/routerrpc.Router/ResetMissionControl', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.ResetMissionControlRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.ResetMissionControlResponse.FromString, + ) + self.QueryMissionControl = channel.unary_unary( + '/routerrpc.Router/QueryMissionControl', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.QueryMissionControlRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.QueryMissionControlResponse.FromString, + ) + self.XImportMissionControl = channel.unary_unary( + '/routerrpc.Router/XImportMissionControl', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.XImportMissionControlRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.XImportMissionControlResponse.FromString, + ) + self.GetMissionControlConfig = channel.unary_unary( + '/routerrpc.Router/GetMissionControlConfig', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.GetMissionControlConfigRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.GetMissionControlConfigResponse.FromString, + ) + self.SetMissionControlConfig = channel.unary_unary( + '/routerrpc.Router/SetMissionControlConfig', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.SetMissionControlConfigRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.SetMissionControlConfigResponse.FromString, + ) + self.QueryProbability = channel.unary_unary( + '/routerrpc.Router/QueryProbability', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.QueryProbabilityRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.QueryProbabilityResponse.FromString, + ) + self.BuildRoute = channel.unary_unary( + '/routerrpc.Router/BuildRoute', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.BuildRouteRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.BuildRouteResponse.FromString, + ) + self.SubscribeHtlcEvents = channel.unary_stream( + '/routerrpc.Router/SubscribeHtlcEvents', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.SubscribeHtlcEventsRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.HtlcEvent.FromString, + ) + self.SendPayment = channel.unary_stream( + '/routerrpc.Router/SendPayment', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.SendPaymentRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.PaymentStatus.FromString, + ) + self.TrackPayment = channel.unary_stream( + '/routerrpc.Router/TrackPayment', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.TrackPaymentRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.PaymentStatus.FromString, + ) + self.HtlcInterceptor = channel.stream_stream( + '/routerrpc.Router/HtlcInterceptor', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.ForwardHtlcInterceptResponse.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.ForwardHtlcInterceptRequest.FromString, + ) + self.UpdateChanStatus = channel.unary_unary( + '/routerrpc.Router/UpdateChanStatus', + request_serializer=v0131beta_dot_routerrpc_dot_router__pb2.UpdateChanStatusRequest.SerializeToString, + response_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.UpdateChanStatusResponse.FromString, + ) + + +class RouterServicer(object): + """Router is a service that offers advanced interaction with the router + subsystem of the daemon. + """ + + def SendPaymentV2(self, request, context): + """ + SendPaymentV2 attempts to route a payment described by the passed + PaymentRequest to the final destination. The call returns a stream of + payment updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TrackPaymentV2(self, request, context): + """ + TrackPaymentV2 returns an update stream for the payment identified by the + payment hash. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EstimateRouteFee(self, request, context): + """ + EstimateRouteFee allows callers to obtain a lower bound w.r.t how much it + may cost to send an HTLC to the target end destination. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendToRoute(self, request, context): + """ + Deprecated, use SendToRouteV2. SendToRoute attempts to make a payment via + the specified route. This method differs from SendPayment in that it + allows users to specify a full route manually. This can be used for + things like rebalancing, and atomic swaps. It differs from the newer + SendToRouteV2 in that it doesn't return the full HTLC information. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendToRouteV2(self, request, context): + """ + SendToRouteV2 attempts to make a payment via the specified route. This + method differs from SendPayment in that it allows users to specify a full + route manually. This can be used for things like rebalancing, and atomic + swaps. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ResetMissionControl(self, request, context): + """ + ResetMissionControl clears all mission control state and starts with a clean + slate. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def QueryMissionControl(self, request, context): + """ + QueryMissionControl exposes the internal mission control state to callers. + It is a development feature. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def XImportMissionControl(self, request, context): + """ + XImportMissionControl is an experimental API that imports the state provided + to the internal mission control's state, using all results which are more + recent than our existing values. These values will only be imported + in-memory, and will not be persisted across restarts. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetMissionControlConfig(self, request, context): + """ + GetMissionControlConfig returns mission control's current config. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SetMissionControlConfig(self, request, context): + """ + SetMissionControlConfig will set mission control's config, if the config + provided is valid. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def QueryProbability(self, request, context): + """ + QueryProbability returns the current success probability estimate for a + given node pair and amount. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BuildRoute(self, request, context): + """ + BuildRoute builds a fully specified route based on a list of hop public + keys. It retrieves the relevant channel policies from the graph in order to + calculate the correct fees and time locks. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribeHtlcEvents(self, request, context): + """ + SubscribeHtlcEvents creates a uni-directional stream from the server to + the client which delivers a stream of htlc events. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendPayment(self, request, context): + """ + Deprecated, use SendPaymentV2. SendPayment attempts to route a payment + described by the passed PaymentRequest to the final destination. The call + returns a stream of payment status updates. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def TrackPayment(self, request, context): + """ + Deprecated, use TrackPaymentV2. TrackPayment returns an update stream for + the payment identified by the payment hash. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def HtlcInterceptor(self, request_iterator, context): + """* + HtlcInterceptor dispatches a bi-directional streaming RPC in which + Forwarded HTLC requests are sent to the client and the client responds with + a boolean that tells LND if this htlc should be intercepted. + In case of interception, the htlc can be either settled, cancelled or + resumed later by using the ResolveHoldForward endpoint. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateChanStatus(self, request, context): + """ + UpdateChanStatus attempts to manually set the state of a channel + (enabled, disabled, or auto). A manual "disable" request will cause the + channel to stay disabled until a subsequent manual request of either + "enable" or "auto". + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_RouterServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SendPaymentV2': grpc.unary_stream_rpc_method_handler( + servicer.SendPaymentV2, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.SendPaymentRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.Payment.SerializeToString, + ), + 'TrackPaymentV2': grpc.unary_stream_rpc_method_handler( + servicer.TrackPaymentV2, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.TrackPaymentRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.Payment.SerializeToString, + ), + 'EstimateRouteFee': grpc.unary_unary_rpc_method_handler( + servicer.EstimateRouteFee, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.RouteFeeRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.RouteFeeResponse.SerializeToString, + ), + 'SendToRoute': grpc.unary_unary_rpc_method_handler( + servicer.SendToRoute, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.SendToRouteRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.SendToRouteResponse.SerializeToString, + ), + 'SendToRouteV2': grpc.unary_unary_rpc_method_handler( + servicer.SendToRouteV2, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.SendToRouteRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.HTLCAttempt.SerializeToString, + ), + 'ResetMissionControl': grpc.unary_unary_rpc_method_handler( + servicer.ResetMissionControl, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.ResetMissionControlRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.ResetMissionControlResponse.SerializeToString, + ), + 'QueryMissionControl': grpc.unary_unary_rpc_method_handler( + servicer.QueryMissionControl, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.QueryMissionControlRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.QueryMissionControlResponse.SerializeToString, + ), + 'XImportMissionControl': grpc.unary_unary_rpc_method_handler( + servicer.XImportMissionControl, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.XImportMissionControlRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.XImportMissionControlResponse.SerializeToString, + ), + 'GetMissionControlConfig': grpc.unary_unary_rpc_method_handler( + servicer.GetMissionControlConfig, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.GetMissionControlConfigRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.GetMissionControlConfigResponse.SerializeToString, + ), + 'SetMissionControlConfig': grpc.unary_unary_rpc_method_handler( + servicer.SetMissionControlConfig, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.SetMissionControlConfigRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.SetMissionControlConfigResponse.SerializeToString, + ), + 'QueryProbability': grpc.unary_unary_rpc_method_handler( + servicer.QueryProbability, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.QueryProbabilityRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.QueryProbabilityResponse.SerializeToString, + ), + 'BuildRoute': grpc.unary_unary_rpc_method_handler( + servicer.BuildRoute, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.BuildRouteRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.BuildRouteResponse.SerializeToString, + ), + 'SubscribeHtlcEvents': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeHtlcEvents, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.SubscribeHtlcEventsRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.HtlcEvent.SerializeToString, + ), + 'SendPayment': grpc.unary_stream_rpc_method_handler( + servicer.SendPayment, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.SendPaymentRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.PaymentStatus.SerializeToString, + ), + 'TrackPayment': grpc.unary_stream_rpc_method_handler( + servicer.TrackPayment, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.TrackPaymentRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.PaymentStatus.SerializeToString, + ), + 'HtlcInterceptor': grpc.stream_stream_rpc_method_handler( + servicer.HtlcInterceptor, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.ForwardHtlcInterceptResponse.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.ForwardHtlcInterceptRequest.SerializeToString, + ), + 'UpdateChanStatus': grpc.unary_unary_rpc_method_handler( + servicer.UpdateChanStatus, + request_deserializer=v0131beta_dot_routerrpc_dot_router__pb2.UpdateChanStatusRequest.FromString, + response_serializer=v0131beta_dot_routerrpc_dot_router__pb2.UpdateChanStatusResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'routerrpc.Router', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Router(object): + """Router is a service that offers advanced interaction with the router + subsystem of the daemon. + """ + + @staticmethod + def SendPaymentV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/routerrpc.Router/SendPaymentV2', + v0131beta_dot_routerrpc_dot_router__pb2.SendPaymentRequest.SerializeToString, + v0131beta_dot_rpc__pb2.Payment.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TrackPaymentV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/routerrpc.Router/TrackPaymentV2', + v0131beta_dot_routerrpc_dot_router__pb2.TrackPaymentRequest.SerializeToString, + v0131beta_dot_rpc__pb2.Payment.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def EstimateRouteFee(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/EstimateRouteFee', + v0131beta_dot_routerrpc_dot_router__pb2.RouteFeeRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.RouteFeeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendToRoute(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/SendToRoute', + v0131beta_dot_routerrpc_dot_router__pb2.SendToRouteRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.SendToRouteResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendToRouteV2(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/SendToRouteV2', + v0131beta_dot_routerrpc_dot_router__pb2.SendToRouteRequest.SerializeToString, + v0131beta_dot_rpc__pb2.HTLCAttempt.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ResetMissionControl(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/ResetMissionControl', + v0131beta_dot_routerrpc_dot_router__pb2.ResetMissionControlRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.ResetMissionControlResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def QueryMissionControl(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/QueryMissionControl', + v0131beta_dot_routerrpc_dot_router__pb2.QueryMissionControlRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.QueryMissionControlResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def XImportMissionControl(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/XImportMissionControl', + v0131beta_dot_routerrpc_dot_router__pb2.XImportMissionControlRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.XImportMissionControlResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetMissionControlConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/GetMissionControlConfig', + v0131beta_dot_routerrpc_dot_router__pb2.GetMissionControlConfigRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.GetMissionControlConfigResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SetMissionControlConfig(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/SetMissionControlConfig', + v0131beta_dot_routerrpc_dot_router__pb2.SetMissionControlConfigRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.SetMissionControlConfigResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def QueryProbability(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/QueryProbability', + v0131beta_dot_routerrpc_dot_router__pb2.QueryProbabilityRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.QueryProbabilityResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BuildRoute(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/BuildRoute', + v0131beta_dot_routerrpc_dot_router__pb2.BuildRouteRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.BuildRouteResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeHtlcEvents(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/routerrpc.Router/SubscribeHtlcEvents', + v0131beta_dot_routerrpc_dot_router__pb2.SubscribeHtlcEventsRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.HtlcEvent.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendPayment(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/routerrpc.Router/SendPayment', + v0131beta_dot_routerrpc_dot_router__pb2.SendPaymentRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.PaymentStatus.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def TrackPayment(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/routerrpc.Router/TrackPayment', + v0131beta_dot_routerrpc_dot_router__pb2.TrackPaymentRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.PaymentStatus.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def HtlcInterceptor(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream(request_iterator, target, '/routerrpc.Router/HtlcInterceptor', + v0131beta_dot_routerrpc_dot_router__pb2.ForwardHtlcInterceptResponse.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.ForwardHtlcInterceptRequest.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateChanStatus(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/routerrpc.Router/UpdateChanStatus', + v0131beta_dot_routerrpc_dot_router__pb2.UpdateChanStatusRequest.SerializeToString, + v0131beta_dot_routerrpc_dot_router__pb2.UpdateChanStatusResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/rpc.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/rpc.proto new file mode 100644 index 00000000..906f0622 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/rpc.proto @@ -0,0 +1,3887 @@ +syntax = "proto3"; + +package lnrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc"; + +/* + * Comments in this file will be directly parsed into the API + * Documentation as descriptions of the associated method, message, or field. + * These descriptions should go right above the definition of the object, and + * can be in either block or // comment format. + * + * An RPC method can be matched to an lncli command by placing a line in the + * beginning of the description in exactly the following format: + * lncli: `methodname` + * + * Failure to specify the exact name of the command will cause documentation + * generation to fail. + * + * More information on how exactly the gRPC documentation is generated from + * this proto file can be found here: + * https://github.com/lightninglabs/lightning-api + */ + +// Lightning is the main RPC server of the daemon. +service Lightning { + /* lncli: `walletbalance` + WalletBalance returns total unspent outputs(confirmed and unconfirmed), all + confirmed unspent outputs and all unconfirmed unspent outputs under control + of the wallet. + */ + rpc WalletBalance (WalletBalanceRequest) returns (WalletBalanceResponse); + + /* lncli: `channelbalance` + ChannelBalance returns a report on the total funds across all open channels, + categorized in local/remote, pending local/remote and unsettled local/remote + balances. + */ + rpc ChannelBalance (ChannelBalanceRequest) returns (ChannelBalanceResponse); + + /* lncli: `listchaintxns` + GetTransactions returns a list describing all the known transactions + relevant to the wallet. + */ + rpc GetTransactions (GetTransactionsRequest) returns (TransactionDetails); + + /* lncli: `estimatefee` + EstimateFee asks the chain backend to estimate the fee rate and total fees + for a transaction that pays to multiple specified outputs. + + When using REST, the `AddrToAmount` map type can be set by appending + `&AddrToAmount[
]=` to the URL. Unfortunately this + map type doesn't appear in the REST API documentation because of a bug in + the grpc-gateway library. + */ + rpc EstimateFee (EstimateFeeRequest) returns (EstimateFeeResponse); + + /* lncli: `sendcoins` + SendCoins executes a request to send coins to a particular address. Unlike + SendMany, this RPC call only allows creating a single output at a time. If + neither target_conf, or sat_per_vbyte are set, then the internal wallet will + consult its fee model to determine a fee for the default confirmation + target. + */ + rpc SendCoins (SendCoinsRequest) returns (SendCoinsResponse); + + /* lncli: `listunspent` + Deprecated, use walletrpc.ListUnspent instead. + + ListUnspent returns a list of all utxos spendable by the wallet with a + number of confirmations between the specified minimum and maximum. + */ + rpc ListUnspent (ListUnspentRequest) returns (ListUnspentResponse); + + /* + SubscribeTransactions creates a uni-directional stream from the server to + the client in which any newly discovered transactions relevant to the + wallet are sent over. + */ + rpc SubscribeTransactions (GetTransactionsRequest) + returns (stream Transaction); + + /* lncli: `sendmany` + SendMany handles a request for a transaction that creates multiple specified + outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then + the internal wallet will consult its fee model to determine a fee for the + default confirmation target. + */ + rpc SendMany (SendManyRequest) returns (SendManyResponse); + + /* lncli: `newaddress` + NewAddress creates a new address under control of the local wallet. + */ + rpc NewAddress (NewAddressRequest) returns (NewAddressResponse); + + /* lncli: `signmessage` + SignMessage signs a message with this node's private key. The returned + signature string is `zbase32` encoded and pubkey recoverable, meaning that + only the message digest and signature are needed for verification. + */ + rpc SignMessage (SignMessageRequest) returns (SignMessageResponse); + + /* lncli: `verifymessage` + VerifyMessage verifies a signature over a msg. The signature must be + zbase32 encoded and signed by an active node in the resident node's + channel database. In addition to returning the validity of the signature, + VerifyMessage also returns the recovered pubkey from the signature. + */ + rpc VerifyMessage (VerifyMessageRequest) returns (VerifyMessageResponse); + + /* lncli: `connect` + ConnectPeer attempts to establish a connection to a remote peer. This is at + the networking level, and is used for communication between nodes. This is + distinct from establishing a channel with a peer. + */ + rpc ConnectPeer (ConnectPeerRequest) returns (ConnectPeerResponse); + + /* lncli: `disconnect` + DisconnectPeer attempts to disconnect one peer from another identified by a + given pubKey. In the case that we currently have a pending or active channel + with the target peer, then this action will be not be allowed. + */ + rpc DisconnectPeer (DisconnectPeerRequest) returns (DisconnectPeerResponse); + + /* lncli: `listpeers` + ListPeers returns a verbose listing of all currently active peers. + */ + rpc ListPeers (ListPeersRequest) returns (ListPeersResponse); + + /* + SubscribePeerEvents creates a uni-directional stream from the server to + the client in which any events relevant to the state of peers are sent + over. Events include peers going online and offline. + */ + rpc SubscribePeerEvents (PeerEventSubscription) returns (stream PeerEvent); + + /* lncli: `getinfo` + GetInfo returns general information concerning the lightning node including + it's identity pubkey, alias, the chains it is connected to, and information + concerning the number of open+pending channels. + */ + rpc GetInfo (GetInfoRequest) returns (GetInfoResponse); + + /** lncli: `getrecoveryinfo` + GetRecoveryInfo returns information concerning the recovery mode including + whether it's in a recovery mode, whether the recovery is finished, and the + progress made so far. + */ + rpc GetRecoveryInfo (GetRecoveryInfoRequest) + returns (GetRecoveryInfoResponse); + + // TODO(roasbeef): merge with below with bool? + /* lncli: `pendingchannels` + PendingChannels returns a list of all the channels that are currently + considered "pending". A channel is pending if it has finished the funding + workflow and is waiting for confirmations for the funding txn, or is in the + process of closure, either initiated cooperatively or non-cooperatively. + */ + rpc PendingChannels (PendingChannelsRequest) + returns (PendingChannelsResponse); + + /* lncli: `listchannels` + ListChannels returns a description of all the open channels that this node + is a participant in. + */ + rpc ListChannels (ListChannelsRequest) returns (ListChannelsResponse); + + /* + 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 + channels. + */ + rpc SubscribeChannelEvents (ChannelEventSubscription) + returns (stream ChannelEventUpdate); + + /* lncli: `closedchannels` + ClosedChannels returns a description of all the closed channels that + this node was a participant in. + */ + rpc ClosedChannels (ClosedChannelsRequest) returns (ClosedChannelsResponse); + + /* + OpenChannelSync is a synchronous version of the OpenChannel RPC call. This + call is meant to be consumed by clients to the REST proxy. As with all + other sync calls, all byte slices are intended to be populated as hex + encoded strings. + */ + rpc OpenChannelSync (OpenChannelRequest) returns (ChannelPoint); + + /* lncli: `openchannel` + OpenChannel attempts to open a singly funded channel specified in the + request to a remote peer. Users are able to specify a target number of + blocks that the funding transaction should be confirmed in, or a manual fee + rate to us for the funding transaction. If neither are specified, then a + lax block confirmation target is used. Each OpenStatusUpdate will return + the pending channel ID of the in-progress channel. Depending on the + arguments specified in the OpenChannelRequest, this pending channel ID can + then be used to manually progress the channel funding flow. + */ + rpc OpenChannel (OpenChannelRequest) returns (stream OpenStatusUpdate); + + /* + FundingStateStep is an advanced funding related call that allows the caller + to either execute some preparatory steps for a funding workflow, or + manually progress a funding workflow. The primary way a funding flow is + identified is via its pending channel ID. As an example, this method can be + used to specify that we're expecting a funding flow for a particular + pending channel ID, for which we need to use specific parameters. + Alternatively, this can be used to interactively drive PSBT signing for + funding for partially complete funding transactions. + */ + rpc FundingStateStep (FundingTransitionMsg) returns (FundingStateStepResp); + + /* + 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. + */ + rpc ChannelAcceptor (stream ChannelAcceptResponse) + returns (stream ChannelAcceptRequest); + + /* lncli: `closechannel` + CloseChannel attempts to close an active channel identified by its channel + outpoint (ChannelPoint). The actions of this method can additionally be + augmented to attempt a force close after a timeout period in the case of an + inactive peer. If a non-force close (cooperative closure) is requested, + then the user can specify either a target number of blocks until the + closure transaction is confirmed, or a manual fee rate. If neither are + specified, then a default lax, block confirmation target is used. + */ + rpc CloseChannel (CloseChannelRequest) returns (stream CloseStatusUpdate); + + /* lncli: `abandonchannel` + AbandonChannel removes all channel state from the database except for a + close summary. This method can be used to get rid of permanently unusable + channels due to bugs fixed in newer versions of lnd. This method can also be + used to remove externally funded channels where the funding transaction was + never broadcast. Only available for non-externally funded channels in dev + build. + */ + rpc AbandonChannel (AbandonChannelRequest) returns (AbandonChannelResponse); + + /* lncli: `sendpayment` + Deprecated, use routerrpc.SendPaymentV2. SendPayment dispatches a + bi-directional streaming RPC for sending payments through the Lightning + Network. A single RPC invocation creates a persistent bi-directional + stream allowing clients to rapidly send payments through the Lightning + Network with a single persistent connection. + */ + rpc SendPayment (stream SendRequest) returns (stream SendResponse) { + option deprecated = true; + } + + /* + SendPaymentSync is the synchronous non-streaming version of SendPayment. + This RPC is intended to be consumed by clients of the REST proxy. + Additionally, this RPC expects the destination's public key and the payment + hash (if any) to be encoded as hex strings. + */ + rpc SendPaymentSync (SendRequest) returns (SendResponse); + + /* lncli: `sendtoroute` + Deprecated, use routerrpc.SendToRouteV2. SendToRoute is a bi-directional + streaming RPC for sending payment through the Lightning Network. This + method differs from SendPayment in that it allows users to specify a full + route manually. This can be used for things like rebalancing, and atomic + swaps. + */ + rpc SendToRoute (stream SendToRouteRequest) returns (stream SendResponse) { + option deprecated = true; + } + + /* + SendToRouteSync is a synchronous version of SendToRoute. It Will block + until the payment either fails or succeeds. + */ + rpc SendToRouteSync (SendToRouteRequest) returns (SendResponse); + + /* lncli: `addinvoice` + AddInvoice attempts to add a new invoice to the invoice database. Any + duplicated invoices are rejected, therefore all invoices *must* have a + unique payment preimage. + */ + rpc AddInvoice (Invoice) returns (AddInvoiceResponse); + + /* lncli: `listinvoices` + ListInvoices returns a list of all the invoices currently stored within the + database. Any active debug invoices are ignored. It has full support for + paginated responses, allowing users to query for specific invoices through + their add_index. This can be done by using either the first_index_offset or + last_index_offset fields included in the response as the index_offset of the + next request. By default, the first 100 invoices created will be returned. + Backwards pagination is also supported through the Reversed flag. + */ + rpc ListInvoices (ListInvoiceRequest) returns (ListInvoiceResponse); + + /* lncli: `lookupinvoice` + LookupInvoice attempts to look up an invoice according to its payment hash. + The passed payment hash *must* be exactly 32 bytes, if not, an error is + returned. + */ + rpc LookupInvoice (PaymentHash) returns (Invoice); + + /* + SubscribeInvoices returns a uni-directional stream (server -> client) for + notifying the client of newly added/settled invoices. The caller can + optionally specify the add_index and/or the settle_index. If the add_index + is specified, then we'll first start by sending add invoice events for all + invoices with an add_index greater than the specified value. If the + settle_index is specified, the next, we'll send out all settle events for + invoices with a settle_index greater than the specified value. One or both + of these fields can be set. If no fields are set, then we'll only send out + the latest add/settle events. + */ + rpc SubscribeInvoices (InvoiceSubscription) returns (stream Invoice); + + /* lncli: `decodepayreq` + DecodePayReq takes an encoded payment request string and attempts to decode + it, returning a full description of the conditions encoded within the + payment request. + */ + rpc DecodePayReq (PayReqString) returns (PayReq); + + /* lncli: `listpayments` + ListPayments returns a list of all outgoing payments. + */ + rpc ListPayments (ListPaymentsRequest) returns (ListPaymentsResponse); + + /* + DeleteAllPayments deletes all outgoing payments from DB. + */ + rpc DeleteAllPayments (DeleteAllPaymentsRequest) + returns (DeleteAllPaymentsResponse); + + /* lncli: `describegraph` + DescribeGraph returns a description of the latest graph state from the + point of view of the node. The graph information is partitioned into two + components: all the nodes/vertexes, and all the edges that connect the + vertexes themselves. As this is a directed graph, the edges also contain + the node directional specific routing policy which includes: the time lock + delta, fee information, etc. + */ + rpc DescribeGraph (ChannelGraphRequest) returns (ChannelGraph); + + /* lncli: `getnodemetrics` + GetNodeMetrics returns node metrics calculated from the graph. Currently + the only supported metric is betweenness centrality of individual nodes. + */ + rpc GetNodeMetrics (NodeMetricsRequest) returns (NodeMetricsResponse); + + /* lncli: `getchaninfo` + GetChanInfo returns the latest authenticated network announcement for the + given channel identified by its channel ID: an 8-byte integer which + uniquely identifies the location of transaction's funding output within the + blockchain. + */ + rpc GetChanInfo (ChanInfoRequest) returns (ChannelEdge); + + /* lncli: `getnodeinfo` + GetNodeInfo returns the latest advertised, aggregated, and authenticated + channel information for the specified node identified by its public key. + */ + rpc GetNodeInfo (NodeInfoRequest) returns (NodeInfo); + + /* 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 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. + + When using REST, the `dest_custom_records` map type can be set by appending + `&dest_custom_records[]=` + to the URL. Unfortunately this map type doesn't appear in the REST API + documentation because of a bug in the grpc-gateway library. + */ + rpc QueryRoutes (QueryRoutesRequest) returns (QueryRoutesResponse); + + /* lncli: `getnetworkinfo` + GetNetworkInfo returns some basic stats about the known channel graph from + the point of view of the node. + */ + rpc GetNetworkInfo (NetworkInfoRequest) returns (NetworkInfo); + + /* lncli: `stop` + StopDaemon will send a shutdown request to the interrupt handler, triggering + a graceful shutdown of the daemon. + */ + rpc StopDaemon (StopRequest) returns (StopResponse); + + /* + SubscribeChannelGraph launches a streaming RPC that allows the caller to + receive notifications upon any changes to the channel graph topology from + the point of view of the responding node. Events notified include: new + nodes coming online, nodes updating their authenticated attributes, new + channels being advertised, updates in the routing policy for a directional + channel edge, and when channels are closed on-chain. + */ + rpc SubscribeChannelGraph (GraphTopologySubscription) + returns (stream GraphTopologyUpdate); + + /* lncli: `debuglevel` + DebugLevel allows a caller to programmatically set the logging verbosity of + lnd. The logging can be targeted according to a coarse daemon-wide logging + level, or in a granular fashion to specify the logging for a target + sub-system. + */ + rpc DebugLevel (DebugLevelRequest) returns (DebugLevelResponse); + + /* lncli: `feereport` + FeeReport allows the caller to obtain a report detailing the current fee + schedule enforced by the node globally for each channel. + */ + rpc FeeReport (FeeReportRequest) returns (FeeReportResponse); + + /* lncli: `updatechanpolicy` + UpdateChannelPolicy allows the caller to update the fee schedule and + channel policies for all channels globally, or a particular channel. + */ + rpc UpdateChannelPolicy (PolicyUpdateRequest) + returns (PolicyUpdateResponse); + + /* lncli: `fwdinghistory` + ForwardingHistory allows the caller to query the htlcswitch for a record of + all HTLCs forwarded within the target time range, and integer offset + within that time range, for a maximum number of events. If no maximum number + of events is specified, up to 100 events will be returned. If no time-range + is specified, then events will be returned in the order that they occured. + + A list of forwarding events are returned. The size of each forwarding event + is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB. + As a result each message can only contain 50k entries. Each response has + the index offset of the last entry. The index offset can be provided to the + request to allow the caller to skip a series of records. + */ + rpc ForwardingHistory (ForwardingHistoryRequest) + returns (ForwardingHistoryResponse); + + /* lncli: `exportchanbackup` + ExportChannelBackup attempts to return an encrypted static channel backup + for the target channel identified by it channel point. The backup is + encrypted with a key generated from the aezeed seed of the user. The + returned backup can either be restored using the RestoreChannelBackup + method once lnd is running, or via the InitWallet and UnlockWallet methods + from the WalletUnlocker service. + */ + rpc ExportChannelBackup (ExportChannelBackupRequest) + returns (ChannelBackup); + + /* + ExportAllChannelBackups returns static channel backups for all existing + channels known to lnd. A set of regular singular static channel backups for + each channel are returned. Additionally, a multi-channel backup is returned + as well, which contains a single encrypted blob containing the backups of + each channel. + */ + rpc ExportAllChannelBackups (ChanBackupExportRequest) + returns (ChanBackupSnapshot); + + /* + VerifyChanBackup allows a caller to verify the integrity of a channel backup + snapshot. This method will accept either a packed Single or a packed Multi. + Specifying both will result in an error. + */ + rpc VerifyChanBackup (ChanBackupSnapshot) + returns (VerifyChanBackupResponse); + + /* lncli: `restorechanbackup` + RestoreChannelBackups accepts a set of singular channel backups, or a + single encrypted multi-chan backup and attempts to recover any funds + remaining within the channel. If we are able to unpack the backup, then the + new channel will be shown under listchannels, as well as pending channels. + */ + rpc RestoreChannelBackups (RestoreChanBackupRequest) + returns (RestoreBackupResponse); + + /* + SubscribeChannelBackups allows a client to sub-subscribe to the most up to + date information concerning the state of all channel backups. Each time a + new channel is added, we return the new set of channels, along with a + multi-chan backup containing the backup info for all channels. Each time a + channel is closed, we send a new update, which contains new new chan back + ups, but the updated set of encrypted multi-chan backups with the closed + channel(s) removed. + */ + rpc SubscribeChannelBackups (ChannelBackupSubscription) + returns (stream ChanBackupSnapshot); + + /* 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. + */ + rpc BakeMacaroon (BakeMacaroonRequest) returns (BakeMacaroonResponse); + + /* lncli: `listmacaroonids` + ListMacaroonIDs returns all root key IDs that are in use. + */ + rpc ListMacaroonIDs (ListMacaroonIDsRequest) + returns (ListMacaroonIDsResponse); + + /* lncli: `deletemacaroonid` + DeleteMacaroonID deletes the specified macaroon ID and invalidates all + macaroons derived from that ID. + */ + rpc DeleteMacaroonID (DeleteMacaroonIDRequest) + returns (DeleteMacaroonIDResponse); + + /* lncli: `listpermissions` + ListPermissions lists all RPC method URIs and their required macaroon + permissions to access them. + */ + rpc ListPermissions (ListPermissionsRequest) + returns (ListPermissionsResponse); +} + +message Utxo { + // The type of address + AddressType address_type = 1; + + // The address + string address = 2; + + // The value of the unspent coin in satoshis + int64 amount_sat = 3; + + // The pkscript in hex + string pk_script = 4; + + // The outpoint in format txid:n + OutPoint outpoint = 5; + + // The number of confirmations for the Utxo + int64 confirmations = 6; +} + +message Transaction { + // The transaction hash + string tx_hash = 1; + + // The transaction amount, denominated in satoshis + int64 amount = 2; + + // The number of confirmations + int32 num_confirmations = 3; + + // The hash of the block this transaction was included in + string block_hash = 4; + + // The height of the block this transaction was included in + int32 block_height = 5; + + // Timestamp of this transaction + int64 time_stamp = 6; + + // Fees paid for this transaction + int64 total_fees = 7; + + // Addresses that received funds for this transaction + repeated string dest_addresses = 8; + + // The raw transaction hex. + string raw_tx_hex = 9; + + // A label that was optionally set on transaction broadcast. + string label = 10; +} +message GetTransactionsRequest { + /* + The height from which to list transactions, inclusive. If this value is + greater than end_height, transactions will be read in reverse. + */ + int32 start_height = 1; + + /* + The height until which to list transactions, inclusive. To include + unconfirmed transactions, this value should be set to -1, which will + return transactions from start_height until the current chain tip and + unconfirmed transactions. If no end_height is provided, the call will + default to this option. + */ + int32 end_height = 2; + + // An optional filter to only include transactions relevant to an account. + string account = 3; +} + +message TransactionDetails { + // The list of transactions relevant to the wallet. + repeated Transaction transactions = 1; +} + +message FeeLimit { + oneof limit { + /* + The fee limit expressed as a fixed amount of satoshis. + + The fields fixed and fixed_msat are mutually exclusive. + */ + int64 fixed = 1; + + /* + The fee limit expressed as a fixed amount of millisatoshis. + + The fields fixed and fixed_msat are mutually exclusive. + */ + int64 fixed_msat = 3; + + // The fee limit expressed as a percentage of the payment amount. + int64 percent = 2; + } +} + +message SendRequest { + /* + The identity pubkey of the payment recipient. When using REST, this field + must be encoded as base64. + */ + bytes dest = 1; + + /* + The hex-encoded identity pubkey of the payment recipient. Deprecated now + that the REST gateway supports base64 encoding of bytes fields. + */ + string dest_string = 2 [deprecated = true]; + + /* + The amount to send expressed in satoshis. + + The fields amt and amt_msat are mutually exclusive. + */ + int64 amt = 3; + + /* + The amount to send expressed in millisatoshis. + + The fields amt and amt_msat are mutually exclusive. + */ + int64 amt_msat = 12; + + /* + The hash to use within the payment's HTLC. When using REST, this field + must be encoded as base64. + */ + bytes payment_hash = 4; + + /* + The hex-encoded hash to use within the payment's HTLC. Deprecated now + that the REST gateway supports base64 encoding of bytes fields. + */ + string payment_hash_string = 5 [deprecated = true]; + + /* + A bare-bones invoice for a payment within the Lightning Network. With the + details of the invoice, the sender has all the data necessary to send a + payment to the recipient. + */ + string payment_request = 6; + + /* + The CLTV delta from the current height that should be used to set the + timelock for the final hop. + */ + int32 final_cltv_delta = 7; + + /* + The maximum number of satoshis that will be paid as a fee of the payment. + This value can be represented either as a percentage of the amount being + sent, or as a fixed amount of the maximum fee the user is willing the pay to + send the payment. + */ + FeeLimit fee_limit = 8; + + /* + The channel id of the channel that must be taken to the first hop. If zero, + any channel may be used. + */ + uint64 outgoing_chan_id = 9 [jstype = JS_STRING]; + + /* + The pubkey of the last hop of the route. If empty, any hop may be used. + */ + bytes last_hop_pubkey = 13; + + /* + An optional maximum total time lock for the route. This should not exceed + lnd's `--max-cltv-expiry` setting. If zero, then the value of + `--max-cltv-expiry` is enforced. + */ + uint32 cltv_limit = 10; + + /* + An optional field that can be used to pass an arbitrary set of TLV records + to a peer which understands the new records. This can be used to pass + application specific data during the payment attempt. Record types are + required to be in the custom range >= 65536. When using REST, the values + must be encoded as base64. + */ + map dest_custom_records = 11; + + // If set, circular payments to self are permitted. + bool allow_self_payment = 14; + + /* + Features assumed to be supported by the final node. All transitive feature + dependencies must also be set properly. For a given feature bit pair, either + optional or remote may be set, but not both. If this field is nil or empty, + the router will try to load destination features from the graph as a + fallback. + */ + repeated FeatureBit dest_features = 15; + + /* + The payment address of the generated invoice. + */ + bytes payment_addr = 16; +} + +message SendResponse { + string payment_error = 1; + bytes payment_preimage = 2; + Route payment_route = 3; + bytes payment_hash = 4; +} + +message SendToRouteRequest { + /* + The payment hash to use for the HTLC. When using REST, this field must be + encoded as base64. + */ + bytes payment_hash = 1; + + /* + An optional hex-encoded payment hash to be used for the HTLC. Deprecated now + that the REST gateway supports base64 encoding of bytes fields. + */ + string payment_hash_string = 2 [deprecated = true]; + + reserved 3; + + // Route that should be used to attempt to complete the payment. + Route route = 4; +} + +message ChannelAcceptRequest { + // The pubkey of the node that wishes to open an inbound channel. + bytes node_pubkey = 1; + + // The hash of the genesis block that the proposed channel resides in. + bytes chain_hash = 2; + + // The pending channel id. + bytes pending_chan_id = 3; + + // The funding amount in satoshis that initiator wishes to use in the + // channel. + uint64 funding_amt = 4; + + // The push amount of the proposed channel in millisatoshis. + uint64 push_amt = 5; + + // The dust limit of the initiator's commitment tx. + uint64 dust_limit = 6; + + // The maximum amount of coins in millisatoshis that can be pending in this + // channel. + uint64 max_value_in_flight = 7; + + // The minimum amount of satoshis the initiator requires us to have at all + // times. + uint64 channel_reserve = 8; + + // The smallest HTLC in millisatoshis that the initiator will accept. + uint64 min_htlc = 9; + + // The initial fee rate that the initiator suggests for both commitment + // transactions. + uint64 fee_per_kw = 10; + + /* + The number of blocks to use for the relative time lock in the pay-to-self + output of both commitment transactions. + */ + uint32 csv_delay = 11; + + // The total number of incoming HTLC's that the initiator will accept. + uint32 max_accepted_htlcs = 12; + + // A bit-field which the initiator uses to specify proposed channel + // behavior. + uint32 channel_flags = 13; +} + +message ChannelAcceptResponse { + // Whether or not the client accepts the channel. + bool accept = 1; + + // The pending channel id to which this response applies. + bytes pending_chan_id = 2; + + /* + An optional error to send the initiating party to indicate why the channel + was rejected. This field *should not* contain sensitive information, it will + be sent to the initiating party. This field should only be set if accept is + false, the channel will be rejected if an error is set with accept=true + because the meaning of this response is ambiguous. Limited to 500 + characters. + */ + string error = 3; + + /* + The upfront shutdown address to use if the initiating peer supports option + upfront shutdown script (see ListPeers for the features supported). Note + that the channel open will fail if this value is set for a peer that does + not support this feature bit. + */ + string upfront_shutdown = 4; + + /* + The csv delay (in blocks) that we require for the remote party. + */ + uint32 csv_delay = 5; + + /* + The reserve amount in satoshis that we require the remote peer to adhere to. + We require that the remote peer always have some reserve amount allocated to + them so that there is always a disincentive to broadcast old state (if they + hold 0 sats on their side of the channel, there is nothing to lose). + */ + uint64 reserve_sat = 6; + + /* + The maximum amount of funds in millisatoshis that we allow the remote peer + to have in outstanding htlcs. + */ + uint64 in_flight_max_msat = 7; + + /* + The maximum number of htlcs that the remote peer can offer us. + */ + uint32 max_htlc_count = 8; + + /* + The minimum value in millisatoshis for incoming htlcs on the channel. + */ + uint64 min_htlc_in = 9; + + /* + The number of confirmations we require before we consider the channel open. + */ + uint32 min_accept_depth = 10; +} + +message ChannelPoint { + oneof funding_txid { + /* + Txid of the funding transaction. When using REST, this field must be + encoded as base64. + */ + bytes funding_txid_bytes = 1; + + /* + Hex-encoded string representing the byte-reversed hash of the funding + transaction. + */ + string funding_txid_str = 2; + } + + // The index of the output of the funding transaction + uint32 output_index = 3; +} + +message OutPoint { + // Raw bytes representing the transaction id. + bytes txid_bytes = 1; + + // Reversed, hex-encoded string representing the transaction id. + string txid_str = 2; + + // The index of the output on the transaction. + uint32 output_index = 3; +} + +message LightningAddress { + // The identity pubkey of the Lightning node + string pubkey = 1; + + // The network location of the lightning node, e.g. `69.69.69.69:1337` or + // `localhost:10011` + string host = 2; +} + +message EstimateFeeRequest { + // The map from addresses to amounts for the transaction. + map AddrToAmount = 1; + + // The target number of blocks that this transaction should be confirmed + // by. + int32 target_conf = 2; + + // The minimum number of confirmations each one of your outputs used for + // the transaction must satisfy. + int32 min_confs = 3; + + // Whether unconfirmed outputs should be used as inputs for the transaction. + bool spend_unconfirmed = 4; +} + +message EstimateFeeResponse { + // The total fee in satoshis. + int64 fee_sat = 1; + + // Deprecated, use sat_per_vbyte. + // The fee rate in satoshi/vbyte. + int64 feerate_sat_per_byte = 2 [deprecated = true]; + + // The fee rate in satoshi/vbyte. + uint64 sat_per_vbyte = 3; +} + +message SendManyRequest { + // The map from addresses to amounts + map AddrToAmount = 1; + + // The target number of blocks that this transaction should be confirmed + // by. + int32 target_conf = 3; + + // A manual fee rate set in sat/vbyte that should be used when crafting the + // transaction. + uint64 sat_per_vbyte = 4; + + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the + // transaction. + int64 sat_per_byte = 5 [deprecated = true]; + + // An optional label for the transaction, limited to 500 characters. + string label = 6; + + // The minimum number of confirmations each one of your outputs used for + // the transaction must satisfy. + int32 min_confs = 7; + + // Whether unconfirmed outputs should be used as inputs for the transaction. + bool spend_unconfirmed = 8; +} +message SendManyResponse { + // The id of the transaction + string txid = 1; +} + +message SendCoinsRequest { + // The address to send coins to + string addr = 1; + + // The amount in satoshis to send + int64 amount = 2; + + // The target number of blocks that this transaction should be confirmed + // by. + int32 target_conf = 3; + + // A manual fee rate set in sat/vbyte that should be used when crafting the + // transaction. + uint64 sat_per_vbyte = 4; + + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the + // transaction. + int64 sat_per_byte = 5 [deprecated = true]; + + /* + If set, then the amount field will be ignored, and lnd will attempt to + send all the coins under control of the internal wallet to the specified + address. + */ + bool send_all = 6; + + // An optional label for the transaction, limited to 500 characters. + string label = 7; + + // The minimum number of confirmations each one of your outputs used for + // the transaction must satisfy. + int32 min_confs = 8; + + // Whether unconfirmed outputs should be used as inputs for the transaction. + bool spend_unconfirmed = 9; +} +message SendCoinsResponse { + // The transaction ID of the transaction + string txid = 1; +} + +message ListUnspentRequest { + // The minimum number of confirmations to be included. + int32 min_confs = 1; + + // The maximum number of confirmations to be included. + int32 max_confs = 2; + + // An optional filter to only include outputs belonging to an account. + string account = 3; +} +message ListUnspentResponse { + // A list of utxos + repeated Utxo utxos = 1; +} + +/* +`AddressType` has to be one of: + +- `p2wkh`: Pay to witness key hash (`WITNESS_PUBKEY_HASH` = 0) +- `np2wkh`: Pay to nested witness key hash (`NESTED_PUBKEY_HASH` = 1) +*/ +enum AddressType { + WITNESS_PUBKEY_HASH = 0; + NESTED_PUBKEY_HASH = 1; + UNUSED_WITNESS_PUBKEY_HASH = 2; + UNUSED_NESTED_PUBKEY_HASH = 3; +} + +message NewAddressRequest { + // The type of address to generate. + AddressType type = 1; + + /* + The name of the account to generate a new address for. If empty, the + default wallet account is used. + */ + string account = 2; +} +message NewAddressResponse { + // The newly generated wallet address + string address = 1; +} + +message SignMessageRequest { + /* + The message to be signed. When using REST, this field must be encoded as + base64. + */ + bytes msg = 1; +} +message SignMessageResponse { + // The signature for the given message + string signature = 1; +} + +message VerifyMessageRequest { + /* + The message over which the signature is to be verified. When using REST, + this field must be encoded as base64. + */ + bytes msg = 1; + + // The signature to be verified over the given message + string signature = 2; +} +message VerifyMessageResponse { + // Whether the signature was valid over the given message + bool valid = 1; + + // The pubkey recovered from the signature + string pubkey = 2; +} + +message ConnectPeerRequest { + // Lightning address of the peer, in the format `@host` + LightningAddress addr = 1; + + /* If set, the daemon will attempt to persistently connect to the target + * peer. Otherwise, the call will be synchronous. */ + bool perm = 2; + + /* + The connection timeout value (in seconds) for this request. It won't affect + other requests. + */ + uint64 timeout = 3; +} +message ConnectPeerResponse { +} + +message DisconnectPeerRequest { + // The pubkey of the node to disconnect from + string pub_key = 1; +} +message DisconnectPeerResponse { +} + +message HTLC { + bool incoming = 1; + int64 amount = 2; + bytes hash_lock = 3; + uint32 expiration_height = 4; + + // Index identifying the htlc on the channel. + uint64 htlc_index = 5; + + // If this HTLC is involved in a forwarding operation, this field indicates + // the forwarding channel. For an outgoing htlc, it is the incoming channel. + // For an incoming htlc, it is the outgoing channel. When the htlc + // originates from this node or this node is the final destination, + // forwarding_channel will be zero. The forwarding channel will also be zero + // for htlcs that need to be forwarded but don't have a forwarding decision + // persisted yet. + uint64 forwarding_channel = 6; + + // Index identifying the htlc on the forwarding channel. + uint64 forwarding_htlc_index = 7; +} + +enum CommitmentType { + /* + A channel using the legacy commitment format having tweaked to_remote + keys. + */ + LEGACY = 0; + + /* + A channel that uses the modern commitment format where the key in the + output of the remote party does not change each state. This makes back + up and recovery easier as when the channel is closed, the funds go + directly to that key. + */ + STATIC_REMOTE_KEY = 1; + + /* + A channel that uses a commitment format that has anchor outputs on the + commitments, allowing fee bumping after a force close transaction has + been broadcast. + */ + ANCHORS = 2; + + /* + Returned when the commitment type isn't known or unavailable. + */ + UNKNOWN_COMMITMENT_TYPE = 999; +} + +message ChannelConstraints { + /* + The CSV delay expressed in relative blocks. If the channel is force closed, + we will need to wait for this many blocks before we can regain our funds. + */ + uint32 csv_delay = 1; + + // The minimum satoshis this node is required to reserve in its balance. + uint64 chan_reserve_sat = 2; + + // The dust limit (in satoshis) of the initiator's commitment tx. + uint64 dust_limit_sat = 3; + + // The maximum amount of coins in millisatoshis that can be pending in this + // channel. + uint64 max_pending_amt_msat = 4; + + // The smallest HTLC in millisatoshis that the initiator will accept. + uint64 min_htlc_msat = 5; + + // The total number of incoming HTLC's that the initiator will accept. + uint32 max_accepted_htlcs = 6; +} + +message Channel { + // Whether this channel is active or not + bool active = 1; + + // The identity pubkey of the remote node + string remote_pubkey = 2; + + /* + The outpoint (txid:index) of the funding transaction. With this value, Bob + will be able to generate a signature for Alice's version of the commitment + transaction. + */ + string channel_point = 3; + + /* + The unique channel ID for the channel. The first 3 bytes are the block + height, the next 3 the index within the block, and the last 2 bytes are the + output index for the channel. + */ + uint64 chan_id = 4 [jstype = JS_STRING]; + + // The total amount of funds held in this channel + int64 capacity = 5; + + // This node's current balance in this channel + int64 local_balance = 6; + + // The counterparty's current balance in this channel + int64 remote_balance = 7; + + /* + The amount calculated to be paid in fees for the current set of commitment + transactions. The fee amount is persisted with the channel in order to + allow the fee amount to be removed and recalculated with each channel state + update, including updates that happen after a system restart. + */ + int64 commit_fee = 8; + + // The weight of the commitment transaction + int64 commit_weight = 9; + + /* + The required number of satoshis per kilo-weight that the requester will pay + at all times, for both the funding transaction and commitment transaction. + This value can later be updated once the channel is open. + */ + int64 fee_per_kw = 10; + + // The unsettled balance in this channel + int64 unsettled_balance = 11; + + /* + The total number of satoshis we've sent within this channel. + */ + int64 total_satoshis_sent = 12; + + /* + The total number of satoshis we've received within this channel. + */ + int64 total_satoshis_received = 13; + + /* + The total number of updates conducted within this channel. + */ + uint64 num_updates = 14; + + /* + The list of active, uncleared HTLCs currently pending within the channel. + */ + repeated HTLC pending_htlcs = 15; + + /* + Deprecated. The CSV delay expressed in relative blocks. If the channel is + force closed, we will need to wait for this many blocks before we can regain + our funds. + */ + uint32 csv_delay = 16 [deprecated = true]; + + // Whether this channel is advertised to the network or not. + bool private = 17; + + // True if we were the ones that created the channel. + bool initiator = 18; + + // A set of flags showing the current state of the channel. + string chan_status_flags = 19; + + // Deprecated. The minimum satoshis this node is required to reserve in its + // balance. + int64 local_chan_reserve_sat = 20 [deprecated = true]; + + /* + Deprecated. The minimum satoshis the other node is required to reserve in + its balance. + */ + int64 remote_chan_reserve_sat = 21 [deprecated = true]; + + // Deprecated. Use commitment_type. + bool static_remote_key = 22 [deprecated = true]; + + // The commitment type used by this channel. + CommitmentType commitment_type = 26; + + /* + The number of seconds that the channel has been monitored by the channel + scoring system. Scores are currently not persisted, so this value may be + less than the lifetime of the channel [EXPERIMENTAL]. + */ + int64 lifetime = 23; + + /* + The number of seconds that the remote peer has been observed as being online + by the channel scoring system over the lifetime of the channel + [EXPERIMENTAL]. + */ + int64 uptime = 24; + + /* + Close address is the address that we will enforce payout to on cooperative + close if the channel was opened utilizing option upfront shutdown. This + value can be set on channel open by setting close_address in an open channel + request. If this value is not set, you can still choose a payout address by + cooperatively closing with the delivery_address field set. + */ + string close_address = 25; + + /* + The amount that the initiator of the channel optionally pushed to the remote + party on channel open. This amount will be zero if the channel initiator did + not push any funds to the remote peer. If the initiator field is true, we + pushed this amount to our peer, if it is false, the remote peer pushed this + amount to us. + */ + uint64 push_amount_sat = 27; + + /* + This uint32 indicates if this channel is to be considered 'frozen'. A + frozen channel doest not allow a cooperative channel close by the + initiator. The thaw_height is the height that this restriction stops + applying to the channel. This field is optional, not setting it or using a + value of zero will mean the channel has no additional restrictions. The + height can be interpreted in two ways: as a relative height if the value is + less than 500,000, or as an absolute height otherwise. + */ + uint32 thaw_height = 28; + + // List constraints for the local node. + ChannelConstraints local_constraints = 29; + + // List constraints for the remote node. + ChannelConstraints remote_constraints = 30; +} + +message ListChannelsRequest { + bool active_only = 1; + bool inactive_only = 2; + bool public_only = 3; + bool private_only = 4; + + /* + Filters the response for channels with a target peer's pubkey. If peer is + empty, all channels will be returned. + */ + bytes peer = 5; +} +message ListChannelsResponse { + // The list of active channels + repeated Channel channels = 11; +} + +enum Initiator { + INITIATOR_UNKNOWN = 0; + INITIATOR_LOCAL = 1; + INITIATOR_REMOTE = 2; + INITIATOR_BOTH = 3; +} + +message ChannelCloseSummary { + // The outpoint (txid:index) of the funding transaction. + string channel_point = 1; + + // The unique channel ID for the channel. + uint64 chan_id = 2 [jstype = JS_STRING]; + + // The hash of the genesis block that this channel resides within. + string chain_hash = 3; + + // The txid of the transaction which ultimately closed this channel. + string closing_tx_hash = 4; + + // Public key of the remote peer that we formerly had a channel with. + string remote_pubkey = 5; + + // Total capacity of the channel. + int64 capacity = 6; + + // Height at which the funding transaction was spent. + uint32 close_height = 7; + + // Settled balance at the time of channel closure + int64 settled_balance = 8; + + // The sum of all the time-locked outputs at the time of channel closure + int64 time_locked_balance = 9; + + enum ClosureType { + COOPERATIVE_CLOSE = 0; + LOCAL_FORCE_CLOSE = 1; + REMOTE_FORCE_CLOSE = 2; + BREACH_CLOSE = 3; + FUNDING_CANCELED = 4; + ABANDONED = 5; + } + + // Details on how the channel was closed. + ClosureType close_type = 10; + + /* + Open initiator is the party that initiated opening the channel. Note that + this value may be unknown if the channel was closed before we migrated to + store open channel information after close. + */ + Initiator open_initiator = 11; + + /* + Close initiator indicates which party initiated the close. This value will + be unknown for channels that were cooperatively closed before we started + tracking cooperative close initiators. Note that this indicates which party + initiated a close, and it is possible for both to initiate cooperative or + force closes, although only one party's close will be confirmed on chain. + */ + Initiator close_initiator = 12; + + repeated Resolution resolutions = 13; +} + +enum ResolutionType { + TYPE_UNKNOWN = 0; + + // We resolved an anchor output. + ANCHOR = 1; + + /* + We are resolving an incoming htlc on chain. This if this htlc is + claimed, we swept the incoming htlc with the preimage. If it is timed + out, our peer swept the timeout path. + */ + INCOMING_HTLC = 2; + + /* + We are resolving an outgoing htlc on chain. If this htlc is claimed, + the remote party swept the htlc with the preimage. If it is timed out, + we swept it with the timeout path. + */ + OUTGOING_HTLC = 3; + + // We force closed and need to sweep our time locked commitment output. + COMMIT = 4; +} + +enum ResolutionOutcome { + // Outcome unknown. + OUTCOME_UNKNOWN = 0; + + // An output was claimed on chain. + CLAIMED = 1; + + // An output was left unclaimed on chain. + UNCLAIMED = 2; + + /* + ResolverOutcomeAbandoned indicates that an output that we did not + claim on chain, for example an anchor that we did not sweep and a + third party claimed on chain, or a htlc that we could not decode + so left unclaimed. + */ + ABANDONED = 3; + + /* + If we force closed our channel, our htlcs need to be claimed in two + stages. This outcome represents the broadcast of a timeout or success + transaction for this two stage htlc claim. + */ + FIRST_STAGE = 4; + + // A htlc was timed out on chain. + TIMEOUT = 5; +} + +message Resolution { + // The type of output we are resolving. + ResolutionType resolution_type = 1; + + // The outcome of our on chain action that resolved the outpoint. + ResolutionOutcome outcome = 2; + + // The outpoint that was spent by the resolution. + OutPoint outpoint = 3; + + // The amount that was claimed by the resolution. + uint64 amount_sat = 4; + + // The hex-encoded transaction ID of the sweep transaction that spent the + // output. + string sweep_txid = 5; +} + +message ClosedChannelsRequest { + bool cooperative = 1; + bool local_force = 2; + bool remote_force = 3; + bool breach = 4; + bool funding_canceled = 5; + bool abandoned = 6; +} + +message ClosedChannelsResponse { + repeated ChannelCloseSummary channels = 1; +} + +message Peer { + // The identity pubkey of the peer + string pub_key = 1; + + // Network address of the peer; eg `127.0.0.1:10011` + string address = 3; + + // Bytes of data transmitted to this peer + uint64 bytes_sent = 4; + + // Bytes of data transmitted from this peer + uint64 bytes_recv = 5; + + // Satoshis sent to this peer + int64 sat_sent = 6; + + // Satoshis received from this peer + int64 sat_recv = 7; + + // A channel is inbound if the counterparty initiated the channel + bool inbound = 8; + + // Ping time to this peer + int64 ping_time = 9; + + enum SyncType { + /* + Denotes that we cannot determine the peer's current sync type. + */ + UNKNOWN_SYNC = 0; + + /* + Denotes that we are actively receiving new graph updates from the peer. + */ + ACTIVE_SYNC = 1; + + /* + Denotes that we are not receiving new graph updates from the peer. + */ + PASSIVE_SYNC = 2; + + /* + Denotes that this peer is pinned into an active sync. + */ + PINNED_SYNC = 3; + } + + // The type of sync we are currently performing with this peer. + SyncType sync_type = 10; + + // Features advertised by the remote peer in their init message. + map features = 11; + + /* + The latest errors received from our peer with timestamps, limited to the 10 + most recent errors. These errors are tracked across peer connections, but + are not persisted across lnd restarts. Note that these errors are only + stored for peers that we have channels open with, to prevent peers from + spamming us with errors at no cost. + */ + repeated TimestampedError errors = 12; + + /* + The number of times we have recorded this peer going offline or coming + online, recorded across restarts. Note that this value is decreased over + time if the peer has not recently flapped, so that we can forgive peers + with historically high flap counts. + */ + int32 flap_count = 13; + + /* + The timestamp of the last flap we observed for this peer. If this value is + zero, we have not observed any flaps for this peer. + */ + int64 last_flap_ns = 14; +} + +message TimestampedError { + // The unix timestamp in seconds when the error occurred. + uint64 timestamp = 1; + + // The string representation of the error sent by our peer. + string error = 2; +} + +message ListPeersRequest { + /* + If true, only the last error that our peer sent us will be returned with + the peer's information, rather than the full set of historic errors we have + stored. + */ + bool latest_error = 1; +} +message ListPeersResponse { + // The list of currently connected peers + repeated Peer peers = 1; +} + +message PeerEventSubscription { +} + +message PeerEvent { + // The identity pubkey of the peer. + string pub_key = 1; + + enum EventType { + PEER_ONLINE = 0; + PEER_OFFLINE = 1; + } + + EventType type = 2; +} + +message GetInfoRequest { +} +message GetInfoResponse { + // The version of the LND software that the node is running. + string version = 14; + + // The SHA1 commit hash that the daemon is compiled with. + string commit_hash = 20; + + // The identity pubkey of the current node. + string identity_pubkey = 1; + + // If applicable, the alias of the current node, e.g. "bob" + string alias = 2; + + // The color of the current node in hex code format + string color = 17; + + // Number of pending channels + uint32 num_pending_channels = 3; + + // Number of active channels + uint32 num_active_channels = 4; + + // Number of inactive channels + uint32 num_inactive_channels = 15; + + // Number of peers + uint32 num_peers = 5; + + // The node's current view of the height of the best block + uint32 block_height = 6; + + // The node's current view of the hash of the best block + string block_hash = 8; + + // Timestamp of the block best known to the wallet + int64 best_header_timestamp = 13; + + // Whether the wallet's view is synced to the main chain + bool synced_to_chain = 9; + + // Whether we consider ourselves synced with the public channel graph. + bool synced_to_graph = 18; + + /* + Whether the current node is connected to testnet. This field is + deprecated and the network field should be used instead + **/ + bool testnet = 10 [deprecated = true]; + + reserved 11; + + // A list of active chains the node is connected to + repeated Chain chains = 16; + + // The URIs of the current node. + repeated string uris = 12; + + /* + Features that our node has advertised in our init message, node + announcements and invoices. + */ + map features = 19; +} + +message GetRecoveryInfoRequest { +} +message GetRecoveryInfoResponse { + // Whether the wallet is in recovery mode + bool recovery_mode = 1; + + // Whether the wallet recovery progress is finished + bool recovery_finished = 2; + + // The recovery progress, ranging from 0 to 1. + double progress = 3; +} + +message Chain { + // The blockchain the node is on (eg bitcoin, litecoin) + string chain = 1; + + // The network the node is on (eg regtest, testnet, mainnet) + string network = 2; +} + +message ConfirmationUpdate { + bytes block_sha = 1; + int32 block_height = 2; + + uint32 num_confs_left = 3; +} + +message ChannelOpenUpdate { + ChannelPoint channel_point = 1; +} + +message ChannelCloseUpdate { + bytes closing_txid = 1; + + bool success = 2; +} + +message CloseChannelRequest { + /* + The outpoint (txid:index) of the funding transaction. With this value, Bob + will be able to generate a signature for Alice's version of the commitment + transaction. + */ + ChannelPoint channel_point = 1; + + // If true, then the channel will be closed forcibly. This means the + // current commitment transaction will be signed and broadcast. + bool force = 2; + + // The target number of blocks that the closure transaction should be + // confirmed by. + int32 target_conf = 3; + + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the + // closure transaction. + int64 sat_per_byte = 4 [deprecated = true]; + + /* + An optional address to send funds to in the case of a cooperative close. + If the channel was opened with an upfront shutdown script and this field + is set, the request to close will fail because the channel must pay out + to the upfront shutdown addresss. + */ + string delivery_address = 5; + + // A manual fee rate set in sat/vbyte that should be used when crafting the + // closure transaction. + uint64 sat_per_vbyte = 6; +} + +message CloseStatusUpdate { + oneof update { + PendingUpdate close_pending = 1; + ChannelCloseUpdate chan_close = 3; + } +} + +message PendingUpdate { + bytes txid = 1; + uint32 output_index = 2; +} + +message ReadyForPsbtFunding { + /* + The P2WSH address of the channel funding multisig address that the below + specified amount in satoshis needs to be sent to. + */ + string funding_address = 1; + + /* + The exact amount in satoshis that needs to be sent to the above address to + fund the pending channel. + */ + int64 funding_amount = 2; + + /* + A raw PSBT that contains the pending channel output. If a base PSBT was + provided in the PsbtShim, this is the base PSBT with one additional output. + If no base PSBT was specified, this is an otherwise empty PSBT with exactly + one output. + */ + bytes psbt = 3; +} + +message OpenChannelRequest { + // A manual fee rate set in sat/vbyte that should be used when crafting the + // funding transaction. + uint64 sat_per_vbyte = 1; + + /* + The pubkey of the node to open a channel with. When using REST, this field + must be encoded as base64. + */ + bytes node_pubkey = 2; + + /* + The hex encoded pubkey of the node to open a channel with. Deprecated now + that the REST gateway supports base64 encoding of bytes fields. + */ + string node_pubkey_string = 3 [deprecated = true]; + + // The number of satoshis the wallet should commit to the channel + int64 local_funding_amount = 4; + + // The number of satoshis to push to the remote side as part of the initial + // commitment state + int64 push_sat = 5; + + // The target number of blocks that the funding transaction should be + // confirmed by. + int32 target_conf = 6; + + // Deprecated, use sat_per_vbyte. + // A manual fee rate set in sat/vbyte that should be used when crafting the + // funding transaction. + int64 sat_per_byte = 7 [deprecated = true]; + + // Whether this channel should be private, not announced to the greater + // network. + bool private = 8; + + // The minimum value in millisatoshi we will require for incoming HTLCs on + // the channel. + int64 min_htlc_msat = 9; + + // The delay we require on the remote's commitment transaction. If this is + // not set, it will be scaled automatically with the channel size. + uint32 remote_csv_delay = 10; + + // The minimum number of confirmations each one of your outputs used for + // the funding transaction must satisfy. + int32 min_confs = 11; + + // Whether unconfirmed outputs should be used as inputs for the funding + // transaction. + bool spend_unconfirmed = 12; + + /* + Close address is an optional address which specifies the address to which + funds should be paid out to upon cooperative close. This field may only be + set if the peer supports the option upfront feature bit (call listpeers + to check). The remote peer will only accept cooperative closes to this + address if it is set. + + Note: If this value is set on channel creation, you will *not* be able to + cooperatively close out to a different address. + */ + string close_address = 13; + + /* + Funding shims are an optional argument that allow the caller to intercept + certain funding functionality. For example, a shim can be provided to use a + particular key for the commitment key (ideally cold) rather than use one + that is generated by the wallet as normal, or signal that signing will be + carried out in an interactive manner (PSBT based). + */ + FundingShim funding_shim = 14; + + /* + The maximum amount of coins in millisatoshi that can be pending within + the channel. It only applies to the remote party. + */ + uint64 remote_max_value_in_flight_msat = 15; + + /* + The maximum number of concurrent HTLCs we will allow the remote party to add + to the commitment transaction. + */ + uint32 remote_max_htlcs = 16; + + /* + Max local csv is the maximum csv delay we will allow for our own commitment + transaction. + */ + uint32 max_local_csv = 17; +} +message OpenStatusUpdate { + oneof update { + /* + Signals that the channel is now fully negotiated and the funding + transaction published. + */ + PendingUpdate chan_pending = 1; + + /* + Signals that the channel's funding transaction has now reached the + required number of confirmations on chain and can be used. + */ + ChannelOpenUpdate chan_open = 3; + + /* + Signals that the funding process has been suspended and the construction + of a PSBT that funds the channel PK script is now required. + */ + ReadyForPsbtFunding psbt_fund = 5; + } + + /* + The pending channel ID of the created channel. This value may be used to + further the funding flow manually via the FundingStateStep method. + */ + bytes pending_chan_id = 4; +} + +message KeyLocator { + // The family of key being identified. + int32 key_family = 1; + + // The precise index of the key being identified. + int32 key_index = 2; +} + +message KeyDescriptor { + /* + The raw bytes of the key being identified. + */ + bytes raw_key_bytes = 1; + + /* + The key locator that identifies which key to use for signing. + */ + KeyLocator key_loc = 2; +} + +message ChanPointShim { + /* + The size of the pre-crafted output to be used as the channel point for this + channel funding. + */ + int64 amt = 1; + + // The target channel point to refrence in created commitment transactions. + ChannelPoint chan_point = 2; + + // Our local key to use when creating the multi-sig output. + KeyDescriptor local_key = 3; + + // The key of the remote party to use when creating the multi-sig output. + bytes remote_key = 4; + + /* + If non-zero, then this will be used as the pending channel ID on the wire + protocol to initate the funding request. This is an optional field, and + should only be set if the responder is already expecting a specific pending + channel ID. + */ + bytes pending_chan_id = 5; + + /* + This uint32 indicates if this channel is to be considered 'frozen'. A frozen + channel does not allow a cooperative channel close by the initiator. The + thaw_height is the height that this restriction stops applying to the + channel. The height can be interpreted in two ways: as a relative height if + the value is less than 500,000, or as an absolute height otherwise. + */ + uint32 thaw_height = 6; +} + +message PsbtShim { + /* + A unique identifier of 32 random bytes that will be used as the pending + channel ID to identify the PSBT state machine when interacting with it and + on the wire protocol to initiate the funding request. + */ + bytes pending_chan_id = 1; + + /* + An optional base PSBT the new channel output will be added to. If this is + non-empty, it must be a binary serialized PSBT. + */ + bytes base_psbt = 2; + + /* + If a channel should be part of a batch (multiple channel openings in one + transaction), it can be dangerous if the whole batch transaction is + published too early before all channel opening negotiations are completed. + This flag prevents this particular channel from broadcasting the transaction + after the negotiation with the remote peer. In a batch of channel openings + this flag should be set to true for every channel but the very last. + */ + bool no_publish = 3; +} + +message FundingShim { + oneof shim { + /* + A channel shim where the channel point was fully constructed outside + of lnd's wallet and the transaction might already be published. + */ + ChanPointShim chan_point_shim = 1; + + /* + A channel shim that uses a PSBT to fund and sign the channel funding + transaction. + */ + PsbtShim psbt_shim = 2; + } +} + +message FundingShimCancel { + // The pending channel ID of the channel to cancel the funding shim for. + bytes pending_chan_id = 1; +} + +message FundingPsbtVerify { + /* + The funded but not yet signed PSBT that sends the exact channel capacity + amount to the PK script returned in the open channel message in a previous + step. + */ + bytes funded_psbt = 1; + + // The pending channel ID of the channel to get the PSBT for. + bytes pending_chan_id = 2; +} + +message FundingPsbtFinalize { + /* + The funded PSBT that contains all witness data to send the exact channel + capacity amount to the PK script returned in the open channel message in a + previous step. Cannot be set at the same time as final_raw_tx. + */ + bytes signed_psbt = 1; + + // The pending channel ID of the channel to get the PSBT for. + bytes pending_chan_id = 2; + + /* + As an alternative to the signed PSBT with all witness data, the final raw + wire format transaction can also be specified directly. Cannot be set at the + same time as signed_psbt. + */ + bytes final_raw_tx = 3; +} + +message FundingTransitionMsg { + oneof trigger { + /* + The funding shim to register. This should be used before any + channel funding has began by the remote party, as it is intended as a + preparatory step for the full channel funding. + */ + FundingShim shim_register = 1; + + // Used to cancel an existing registered funding shim. + FundingShimCancel shim_cancel = 2; + + /* + Used to continue a funding flow that was initiated to be executed + through a PSBT. This step verifies that the PSBT contains the correct + outputs to fund the channel. + */ + FundingPsbtVerify psbt_verify = 3; + + /* + Used to continue a funding flow that was initiated to be executed + through a PSBT. This step finalizes the funded and signed PSBT, finishes + negotiation with the peer and finally publishes the resulting funding + transaction. + */ + FundingPsbtFinalize psbt_finalize = 4; + } +} + +message FundingStateStepResp { +} + +message PendingHTLC { + // The direction within the channel that the htlc was sent + bool incoming = 1; + + // The total value of the htlc + int64 amount = 2; + + // The final output to be swept back to the user's wallet + string outpoint = 3; + + // The next block height at which we can spend the current stage + uint32 maturity_height = 4; + + /* + The number of blocks remaining until the current stage can be swept. + Negative values indicate how many blocks have passed since becoming + mature. + */ + int32 blocks_til_maturity = 5; + + // Indicates whether the htlc is in its first or second stage of recovery + uint32 stage = 6; +} + +message PendingChannelsRequest { +} +message PendingChannelsResponse { + message PendingChannel { + string remote_node_pub = 1; + string channel_point = 2; + + int64 capacity = 3; + + int64 local_balance = 4; + int64 remote_balance = 5; + + // The minimum satoshis this node is required to reserve in its + // balance. + int64 local_chan_reserve_sat = 6; + + /* + The minimum satoshis the other node is required to reserve in its + balance. + */ + int64 remote_chan_reserve_sat = 7; + + // The party that initiated opening the channel. + Initiator initiator = 8; + + // The commitment type used by this channel. + CommitmentType commitment_type = 9; + } + + message PendingOpenChannel { + // The pending channel + PendingChannel channel = 1; + + // The height at which this channel will be confirmed + uint32 confirmation_height = 2; + + /* + The amount calculated to be paid in fees for the current set of + commitment transactions. The fee amount is persisted with the channel + in order to allow the fee amount to be removed and recalculated with + each channel state update, including updates that happen after a system + restart. + */ + int64 commit_fee = 4; + + // The weight of the commitment transaction + int64 commit_weight = 5; + + /* + The required number of satoshis per kilo-weight that the requester will + pay at all times, for both the funding transaction and commitment + transaction. This value can later be updated once the channel is open. + */ + int64 fee_per_kw = 6; + } + + message WaitingCloseChannel { + // The pending channel waiting for closing tx to confirm + PendingChannel channel = 1; + + // The balance in satoshis encumbered in this channel + int64 limbo_balance = 2; + + /* + A list of valid commitment transactions. Any of these can confirm at + this point. + */ + Commitments commitments = 3; + } + + message Commitments { + // Hash of the local version of the commitment tx. + string local_txid = 1; + + // Hash of the remote version of the commitment tx. + string remote_txid = 2; + + // Hash of the remote pending version of the commitment tx. + string remote_pending_txid = 3; + + /* + The amount in satoshis calculated to be paid in fees for the local + commitment. + */ + uint64 local_commit_fee_sat = 4; + + /* + The amount in satoshis calculated to be paid in fees for the remote + commitment. + */ + uint64 remote_commit_fee_sat = 5; + + /* + The amount in satoshis calculated to be paid in fees for the remote + pending commitment. + */ + uint64 remote_pending_commit_fee_sat = 6; + } + + message ClosedChannel { + // The pending channel to be closed + PendingChannel channel = 1; + + // The transaction id of the closing transaction + string closing_txid = 2; + } + + message ForceClosedChannel { + // The pending channel to be force closed + PendingChannel channel = 1; + + // The transaction id of the closing transaction + string closing_txid = 2; + + // The balance in satoshis encumbered in this pending channel + int64 limbo_balance = 3; + + // The height at which funds can be swept into the wallet + uint32 maturity_height = 4; + + /* + Remaining # of blocks until the commitment output can be swept. + Negative values indicate how many blocks have passed since becoming + mature. + */ + int32 blocks_til_maturity = 5; + + // The total value of funds successfully recovered from this channel + int64 recovered_balance = 6; + + repeated PendingHTLC pending_htlcs = 8; + + enum AnchorState { + LIMBO = 0; + RECOVERED = 1; + LOST = 2; + } + + AnchorState anchor = 9; + } + + // The balance in satoshis encumbered in pending channels + int64 total_limbo_balance = 1; + + // Channels pending opening + repeated PendingOpenChannel pending_open_channels = 2; + + /* + Deprecated: Channels pending closing previously contained cooperatively + closed channels with a single confirmation. These channels are now + considered closed from the time we see them on chain. + */ + repeated ClosedChannel pending_closing_channels = 3 [deprecated = true]; + + // Channels pending force closing + repeated ForceClosedChannel pending_force_closing_channels = 4; + + // Channels waiting for closing tx to confirm + repeated WaitingCloseChannel waiting_close_channels = 5; +} + +message ChannelEventSubscription { +} + +message ChannelEventUpdate { + oneof channel { + Channel open_channel = 1; + ChannelCloseSummary closed_channel = 2; + ChannelPoint active_channel = 3; + ChannelPoint inactive_channel = 4; + PendingUpdate pending_open_channel = 6; + } + + enum UpdateType { + OPEN_CHANNEL = 0; + CLOSED_CHANNEL = 1; + ACTIVE_CHANNEL = 2; + INACTIVE_CHANNEL = 3; + PENDING_OPEN_CHANNEL = 4; + } + + UpdateType type = 5; +} + +message WalletAccountBalance { + // The confirmed balance of the account (with >= 1 confirmations). + int64 confirmed_balance = 1; + + // The unconfirmed balance of the account (with 0 confirmations). + int64 unconfirmed_balance = 2; +} + +message WalletBalanceRequest { +} + +message WalletBalanceResponse { + // The balance of the wallet + int64 total_balance = 1; + + // The confirmed balance of a wallet(with >= 1 confirmations) + int64 confirmed_balance = 2; + + // The unconfirmed balance of a wallet(with 0 confirmations) + int64 unconfirmed_balance = 3; + + // A mapping of each wallet account's name to its balance. + map account_balance = 4; +} + +message Amount { + // Value denominated in satoshis. + uint64 sat = 1; + + // Value denominated in milli-satoshis. + uint64 msat = 2; +} + +message ChannelBalanceRequest { +} +message ChannelBalanceResponse { + // Deprecated. Sum of channels balances denominated in satoshis + int64 balance = 1 [deprecated = true]; + + // Deprecated. Sum of channels pending balances denominated in satoshis + int64 pending_open_balance = 2 [deprecated = true]; + + // Sum of channels local balances. + Amount local_balance = 3; + + // Sum of channels remote balances. + Amount remote_balance = 4; + + // Sum of channels local unsettled balances. + Amount unsettled_local_balance = 5; + + // Sum of channels remote unsettled balances. + Amount unsettled_remote_balance = 6; + + // Sum of channels pending local balances. + Amount pending_open_local_balance = 7; + + // Sum of channels pending remote balances. + Amount pending_open_remote_balance = 8; +} + +message QueryRoutesRequest { + // The 33-byte hex-encoded public key for the payment destination + string pub_key = 1; + + /* + The amount to send expressed in satoshis. + + The fields amt and amt_msat are mutually exclusive. + */ + int64 amt = 2; + + /* + The amount to send expressed in millisatoshis. + + The fields amt and amt_msat are mutually exclusive. + */ + int64 amt_msat = 12; + + reserved 3; + + /* + An optional CLTV delta from the current height that should be used for the + timelock of the final hop. Note that unlike SendPayment, QueryRoutes does + not add any additional block padding on top of final_ctlv_delta. This + padding of a few blocks needs to be added manually or otherwise failures may + happen when a block comes in while the payment is in flight. + */ + int32 final_cltv_delta = 4; + + /* + The maximum number of satoshis that will be paid as a fee of the payment. + This value can be represented either as a percentage of the amount being + sent, or as a fixed amount of the maximum fee the user is willing the pay to + send the payment. + */ + FeeLimit fee_limit = 5; + + /* + A list of nodes to ignore during path finding. When using REST, these fields + must be encoded as base64. + */ + repeated bytes ignored_nodes = 6; + + /* + Deprecated. A list of edges to ignore during path finding. + */ + repeated EdgeLocator ignored_edges = 7 [deprecated = true]; + + /* + The source node where the request route should originated from. If empty, + self is assumed. + */ + string source_pub_key = 8; + + /* + If set to true, edge probabilities from mission control will be used to get + the optimal route. + */ + bool use_mission_control = 9; + + /* + A list of directed node pairs that will be ignored during path finding. + */ + repeated NodePair ignored_pairs = 10; + + /* + An optional maximum total time lock for the route. If the source is empty or + ourselves, this should not exceed lnd's `--max-cltv-expiry` setting. If + zero, then the value of `--max-cltv-expiry` is used as the limit. + */ + uint32 cltv_limit = 11; + + /* + An optional field that can be used to pass an arbitrary set of TLV records + to a peer which understands the new records. This can be used to pass + application specific data during the payment attempt. If the destination + does not support the specified recrods, and error will be returned. + Record types are required to be in the custom range >= 65536. When using + REST, the values must be encoded as base64. + */ + map dest_custom_records = 13; + + /* + The channel id of the channel that must be taken to the first hop. If zero, + any channel may be used. + */ + uint64 outgoing_chan_id = 14 [jstype = JS_STRING]; + + /* + The pubkey of the last hop of the route. If empty, any hop may be used. + */ + bytes last_hop_pubkey = 15; + + /* + Optional route hints to reach the destination through private channels. + */ + repeated lnrpc.RouteHint route_hints = 16; + + /* + Features assumed to be supported by the final node. All transitive feature + dependencies must also be set properly. For a given feature bit pair, either + optional or remote may be set, but not both. If this field is nil or empty, + the router will try to load destination features from the graph as a + fallback. + */ + repeated lnrpc.FeatureBit dest_features = 17; +} + +message NodePair { + /* + The sending node of the pair. When using REST, this field must be encoded as + base64. + */ + bytes from = 1; + + /* + The receiving node of the pair. When using REST, this field must be encoded + as base64. + */ + bytes to = 2; +} + +message EdgeLocator { + // The short channel id of this edge. + uint64 channel_id = 1 [jstype = JS_STRING]; + + /* + The direction of this edge. If direction_reverse is false, the direction + of this edge is from the channel endpoint with the lexicographically smaller + pub key to the endpoint with the larger pub key. If direction_reverse is + is true, the edge goes the other way. + */ + bool direction_reverse = 2; +} + +message QueryRoutesResponse { + /* + The route that results from the path finding operation. This is still a + repeated field to retain backwards compatibility. + */ + repeated Route routes = 1; + + /* + The success probability of the returned route based on the current mission + control state. [EXPERIMENTAL] + */ + double success_prob = 2; +} + +message Hop { + /* + The unique channel ID for the channel. The first 3 bytes are the block + height, the next 3 the index within the block, and the last 2 bytes are the + output index for the channel. + */ + uint64 chan_id = 1 [jstype = JS_STRING]; + int64 chan_capacity = 2 [deprecated = true]; + int64 amt_to_forward = 3 [deprecated = true]; + int64 fee = 4 [deprecated = true]; + uint32 expiry = 5; + int64 amt_to_forward_msat = 6; + int64 fee_msat = 7; + + /* + An optional public key of the hop. If the public key is given, the payment + can be executed without relying on a copy of the channel graph. + */ + string pub_key = 8; + + /* + If set to true, then this hop will be encoded using the new variable length + TLV format. Note that if any custom tlv_records below are specified, then + this field MUST be set to true for them to be encoded properly. + */ + bool tlv_payload = 9; + + /* + An optional TLV record that signals the use of an MPP payment. If present, + the receiver will enforce that the same mpp_record is included in the final + hop payload of all non-zero payments in the HTLC set. If empty, a regular + single-shot payment is or was attempted. + */ + MPPRecord mpp_record = 10; + + /* + An optional TLV record that signals the use of an AMP payment. If present, + the receiver will treat all received payments including the same + (payment_addr, set_id) pair as being part of one logical payment. The + payment will be settled by XORing the root_share's together and deriving the + child hashes and preimages according to BOLT XX. Must be used in conjunction + with mpp_record. + */ + AMPRecord amp_record = 12; + + /* + An optional set of key-value TLV records. This is useful within the context + of the SendToRoute call as it allows callers to specify arbitrary K-V pairs + to drop off at each hop within the onion. + */ + map custom_records = 11; +} + +message MPPRecord { + /* + A unique, random identifier used to authenticate the sender as the intended + payer of a multi-path payment. The payment_addr must be the same for all + subpayments, and match the payment_addr provided in the receiver's invoice. + The same payment_addr must be used on all subpayments. + */ + bytes payment_addr = 11; + + /* + The total amount in milli-satoshis being sent as part of a larger multi-path + payment. The caller is responsible for ensuring subpayments to the same node + and payment_hash sum exactly to total_amt_msat. The same + total_amt_msat must be used on all subpayments. + */ + int64 total_amt_msat = 10; +} + +message AMPRecord { + bytes root_share = 1; + + bytes set_id = 2; + + uint32 child_index = 3; +} + +/* +A path through the channel graph which runs over one or more channels in +succession. This struct carries all the information required to craft the +Sphinx onion packet, and send the payment along the first hop in the path. A +route is only selected as valid if all the channels have sufficient capacity to +carry the initial payment amount after fees are accounted for. +*/ +message Route { + /* + The cumulative (final) time lock across the entire route. This is the CLTV + value that should be extended to the first hop in the route. All other hops + will decrement the time-lock as advertised, leaving enough time for all + hops to wait for or present the payment preimage to complete the payment. + */ + uint32 total_time_lock = 1; + + /* + The sum of the fees paid at each hop within the final route. In the case + of a one-hop payment, this value will be zero as we don't need to pay a fee + to ourselves. + */ + int64 total_fees = 2 [deprecated = true]; + + /* + The total amount of funds required to complete a payment over this route. + This value includes the cumulative fees at each hop. As a result, the HTLC + extended to the first-hop in the route will need to have at least this many + satoshis, otherwise the route will fail at an intermediate node due to an + insufficient amount of fees. + */ + int64 total_amt = 3 [deprecated = true]; + + /* + Contains details concerning the specific forwarding details at each hop. + */ + repeated Hop hops = 4; + + /* + The total fees in millisatoshis. + */ + int64 total_fees_msat = 5; + + /* + The total amount in millisatoshis. + */ + int64 total_amt_msat = 6; +} + +message NodeInfoRequest { + // The 33-byte hex-encoded compressed public of the target node + string pub_key = 1; + + // If true, will include all known channels associated with the node. + bool include_channels = 2; +} + +message NodeInfo { + /* + An individual vertex/node within the channel graph. A node is + connected to other nodes by one or more channel edges emanating from it. As + the graph is directed, a node will also have an incoming edge attached to + it for each outgoing edge. + */ + LightningNode node = 1; + + // The total number of channels for the node. + uint32 num_channels = 2; + + // The sum of all channels capacity for the node, denominated in satoshis. + int64 total_capacity = 3; + + // A list of all public channels for the node. + repeated ChannelEdge channels = 4; +} + +/* +An individual vertex/node within the channel graph. A node is +connected to other nodes by one or more channel edges emanating from it. As the +graph is directed, a node will also have an incoming edge attached to it for +each outgoing edge. +*/ +message LightningNode { + uint32 last_update = 1; + string pub_key = 2; + string alias = 3; + repeated NodeAddress addresses = 4; + string color = 5; + map features = 6; +} + +message NodeAddress { + string network = 1; + string addr = 2; +} + +message RoutingPolicy { + uint32 time_lock_delta = 1; + int64 min_htlc = 2; + int64 fee_base_msat = 3; + int64 fee_rate_milli_msat = 4; + bool disabled = 5; + uint64 max_htlc_msat = 6; + uint32 last_update = 7; +} + +/* +A fully authenticated channel along with all its unique attributes. +Once an authenticated channel announcement has been processed on the network, +then an instance of ChannelEdgeInfo encapsulating the channels attributes is +stored. The other portions relevant to routing policy of a channel are stored +within a ChannelEdgePolicy for each direction of the channel. +*/ +message ChannelEdge { + /* + The unique channel ID for the channel. The first 3 bytes are the block + height, the next 3 the index within the block, and the last 2 bytes are the + output index for the channel. + */ + uint64 channel_id = 1 [jstype = JS_STRING]; + string chan_point = 2; + + uint32 last_update = 3 [deprecated = true]; + + string node1_pub = 4; + string node2_pub = 5; + + int64 capacity = 6; + + RoutingPolicy node1_policy = 7; + RoutingPolicy node2_policy = 8; +} + +message ChannelGraphRequest { + /* + Whether unannounced channels are included in the response or not. If set, + unannounced channels are included. Unannounced channels are both private + channels, and public channels that are not yet announced to the network. + */ + bool include_unannounced = 1; +} + +// Returns a new instance of the directed channel graph. +message ChannelGraph { + // The list of `LightningNode`s in this channel graph + repeated LightningNode nodes = 1; + + // The list of `ChannelEdge`s in this channel graph + repeated ChannelEdge edges = 2; +} + +enum NodeMetricType { + UNKNOWN = 0; + BETWEENNESS_CENTRALITY = 1; +} + +message NodeMetricsRequest { + // The requested node metrics. + repeated NodeMetricType types = 1; +} + +message NodeMetricsResponse { + /* + Betweenness centrality is the sum of the ratio of shortest paths that pass + through the node for each pair of nodes in the graph (not counting paths + starting or ending at this node). + Map of node pubkey to betweenness centrality of the node. Normalized + values are in the [0,1] closed interval. + */ + map betweenness_centrality = 1; +} + +message FloatMetric { + // Arbitrary float value. + double value = 1; + + // The value normalized to [0,1] or [-1,1]. + double normalized_value = 2; +} + +message ChanInfoRequest { + /* + The unique channel ID for the channel. The first 3 bytes are the block + height, the next 3 the index within the block, and the last 2 bytes are the + output index for the channel. + */ + uint64 chan_id = 1 [jstype = JS_STRING]; +} + +message NetworkInfoRequest { +} +message NetworkInfo { + uint32 graph_diameter = 1; + double avg_out_degree = 2; + uint32 max_out_degree = 3; + + uint32 num_nodes = 4; + uint32 num_channels = 5; + + int64 total_network_capacity = 6; + + double avg_channel_size = 7; + int64 min_channel_size = 8; + int64 max_channel_size = 9; + int64 median_channel_size_sat = 10; + + // The number of edges marked as zombies. + uint64 num_zombie_chans = 11; + + // TODO(roasbeef): fee rate info, expiry + // * also additional RPC for tracking fee info once in +} + +message StopRequest { +} +message StopResponse { +} + +message GraphTopologySubscription { +} +message GraphTopologyUpdate { + repeated NodeUpdate node_updates = 1; + repeated ChannelEdgeUpdate channel_updates = 2; + repeated ClosedChannelUpdate closed_chans = 3; +} +message NodeUpdate { + /* + Deprecated, use node_addresses. + */ + repeated string addresses = 1 [deprecated = true]; + + string identity_key = 2; + + /* + Deprecated, use features. + */ + bytes global_features = 3 [deprecated = true]; + + string alias = 4; + string color = 5; + repeated NodeAddress node_addresses = 7; + + /* + Features that the node has advertised in the init message, node + announcements and invoices. + */ + map features = 6; +} +message ChannelEdgeUpdate { + /* + The unique channel ID for the channel. The first 3 bytes are the block + height, the next 3 the index within the block, and the last 2 bytes are the + output index for the channel. + */ + uint64 chan_id = 1 [jstype = JS_STRING]; + + ChannelPoint chan_point = 2; + + int64 capacity = 3; + + RoutingPolicy routing_policy = 4; + + string advertising_node = 5; + string connecting_node = 6; +} +message ClosedChannelUpdate { + /* + The unique channel ID for the channel. The first 3 bytes are the block + height, the next 3 the index within the block, and the last 2 bytes are the + output index for the channel. + */ + uint64 chan_id = 1 [jstype = JS_STRING]; + int64 capacity = 2; + uint32 closed_height = 3; + ChannelPoint chan_point = 4; +} + +message HopHint { + // The public key of the node at the start of the channel. + string node_id = 1; + + // The unique identifier of the channel. + uint64 chan_id = 2 [jstype = JS_STRING]; + + // The base fee of the channel denominated in millisatoshis. + uint32 fee_base_msat = 3; + + /* + The fee rate of the channel for sending one satoshi across it denominated in + millionths of a satoshi. + */ + uint32 fee_proportional_millionths = 4; + + // The time-lock delta of the channel. + uint32 cltv_expiry_delta = 5; +} + +message RouteHint { + /* + A list of hop hints that when chained together can assist in reaching a + specific destination. + */ + repeated HopHint hop_hints = 1; +} + +message Invoice { + /* + An optional memo to attach along with the invoice. Used for record keeping + purposes for the invoice's creator, and will also be set in the description + field of the encoded payment request if the description_hash field is not + being used. + */ + string memo = 1; + + reserved 2; + + /* + The hex-encoded preimage (32 byte) which will allow settling an incoming + HTLC payable to this preimage. When using REST, this field must be encoded + as base64. + */ + bytes r_preimage = 3; + + /* + The hash of the preimage. When using REST, this field must be encoded as + base64. + */ + bytes r_hash = 4; + + /* + The value of this invoice in satoshis + + The fields value and value_msat are mutually exclusive. + */ + int64 value = 5; + + /* + The value of this invoice in millisatoshis + + The fields value and value_msat are mutually exclusive. + */ + int64 value_msat = 23; + + // Whether this invoice has been fulfilled + bool settled = 6 [deprecated = true]; + + // When this invoice was created + int64 creation_date = 7; + + // When this invoice was settled + int64 settle_date = 8; + + /* + A bare-bones invoice for a payment within the Lightning Network. With the + details of the invoice, the sender has all the data necessary to send a + payment to the recipient. + */ + string payment_request = 9; + + /* + Hash (SHA-256) of a description of the payment. Used if the description of + payment (memo) is too long to naturally fit within the description field + of an encoded payment request. When using REST, this field must be encoded + as base64. + */ + bytes description_hash = 10; + + // Payment request expiry time in seconds. Default is 3600 (1 hour). + int64 expiry = 11; + + // Fallback on-chain address. + string fallback_addr = 12; + + // Delta to use for the time-lock of the CLTV extended to the final hop. + uint64 cltv_expiry = 13; + + /* + Route hints that can each be individually used to assist in reaching the + invoice's destination. + */ + repeated RouteHint route_hints = 14; + + // Whether this invoice should include routing hints for private channels. + bool private = 15; + + /* + The "add" index of this invoice. Each newly created invoice will increment + this index making it monotonically increasing. Callers to the + SubscribeInvoices call can use this to instantly get notified of all added + invoices with an add_index greater than this one. + */ + uint64 add_index = 16; + + /* + The "settle" index of this invoice. Each newly settled invoice will + increment this index making it monotonically increasing. Callers to the + SubscribeInvoices call can use this to instantly get notified of all + settled invoices with an settle_index greater than this one. + */ + uint64 settle_index = 17; + + // Deprecated, use amt_paid_sat or amt_paid_msat. + int64 amt_paid = 18 [deprecated = true]; + + /* + The amount that was accepted for this invoice, in satoshis. This will ONLY + be set if this invoice has been settled. We provide this field as if the + invoice was created with a zero value, then we need to record what amount + was ultimately accepted. Additionally, it's possible that the sender paid + MORE that was specified in the original invoice. So we'll record that here + as well. + */ + int64 amt_paid_sat = 19; + + /* + The amount that was accepted for this invoice, in millisatoshis. This will + ONLY be set if this invoice has been settled. We provide this field as if + the invoice was created with a zero value, then we need to record what + amount was ultimately accepted. Additionally, it's possible that the sender + paid MORE that was specified in the original invoice. So we'll record that + here as well. + */ + int64 amt_paid_msat = 20; + + enum InvoiceState { + OPEN = 0; + SETTLED = 1; + CANCELED = 2; + ACCEPTED = 3; + } + + /* + The state the invoice is in. + */ + InvoiceState state = 21; + + // List of HTLCs paying to this invoice [EXPERIMENTAL]. + repeated InvoiceHTLC htlcs = 22; + + // List of features advertised on the invoice. + map features = 24; + + /* + Indicates if this invoice was a spontaneous payment that arrived via keysend + [EXPERIMENTAL]. + */ + bool is_keysend = 25; + + /* + The payment address of this invoice. This value will be used in MPP + payments, and also for newer invoies that always require the MPP paylaod + for added end-to-end security. + */ + bytes payment_addr = 26; + + /* + Signals whether or not this is an AMP invoice. + */ + bool is_amp = 27; +} + +enum InvoiceHTLCState { + ACCEPTED = 0; + SETTLED = 1; + CANCELED = 2; +} + +// Details of an HTLC that paid to an invoice +message InvoiceHTLC { + // Short channel id over which the htlc was received. + uint64 chan_id = 1 [jstype = JS_STRING]; + + // Index identifying the htlc on the channel. + uint64 htlc_index = 2; + + // The amount of the htlc in msat. + uint64 amt_msat = 3; + + // Block height at which this htlc was accepted. + int32 accept_height = 4; + + // Time at which this htlc was accepted. + int64 accept_time = 5; + + // Time at which this htlc was settled or canceled. + int64 resolve_time = 6; + + // Block height at which this htlc expires. + int32 expiry_height = 7; + + // Current state the htlc is in. + InvoiceHTLCState state = 8; + + // Custom tlv records. + map custom_records = 9; + + // The total amount of the mpp payment in msat. + uint64 mpp_total_amt_msat = 10; + + // Details relevant to AMP HTLCs, only populated if this is an AMP HTLC. + AMP amp = 11; +} + +// Details specific to AMP HTLCs. +message AMP { + // An n-of-n secret share of the root seed from which child payment hashes + // and preimages are derived. + bytes root_share = 1; + + // An identifier for the HTLC set that this HTLC belongs to. + bytes set_id = 2; + + // A nonce used to randomize the child preimage and child hash from a given + // root_share. + uint32 child_index = 3; + + // The payment hash of the AMP HTLC. + bytes hash = 4; + + // The preimage used to settle this AMP htlc. This field will only be + // populated if the invoice is in InvoiceState_ACCEPTED or + // InvoiceState_SETTLED. + bytes preimage = 5; +} + +message AddInvoiceResponse { + bytes r_hash = 1; + + /* + A bare-bones invoice for a payment within the Lightning Network. With the + details of the invoice, the sender has all the data necessary to send a + payment to the recipient. + */ + string payment_request = 2; + + /* + The "add" index of this invoice. Each newly created invoice will increment + this index making it monotonically increasing. Callers to the + SubscribeInvoices call can use this to instantly get notified of all added + invoices with an add_index greater than this one. + */ + uint64 add_index = 16; + + /* + The payment address of the generated invoice. This value should be used + in all payments for this invoice as we require it for end to end + security. + */ + bytes payment_addr = 17; +} +message PaymentHash { + /* + The hex-encoded payment hash of the invoice to be looked up. The passed + payment hash must be exactly 32 bytes, otherwise an error is returned. + Deprecated now that the REST gateway supports base64 encoding of bytes + fields. + */ + string r_hash_str = 1 [deprecated = true]; + + /* + The payment hash of the invoice to be looked up. When using REST, this field + must be encoded as base64. + */ + bytes r_hash = 2; +} + +message ListInvoiceRequest { + /* + If set, only invoices that are not settled and not canceled will be returned + in the response. + */ + bool pending_only = 1; + + /* + The index of an invoice that will be used as either the start or end of a + query to determine which invoices should be returned in the response. + */ + uint64 index_offset = 4; + + // The max number of invoices to return in the response to this query. + uint64 num_max_invoices = 5; + + /* + If set, the invoices returned will result from seeking backwards from the + specified index offset. This can be used to paginate backwards. + */ + bool reversed = 6; +} +message ListInvoiceResponse { + /* + A list of invoices from the time slice of the time series specified in the + request. + */ + repeated Invoice invoices = 1; + + /* + The index of the last item in the set of returned invoices. This can be used + to seek further, pagination style. + */ + uint64 last_index_offset = 2; + + /* + The index of the last item in the set of returned invoices. This can be used + to seek backwards, pagination style. + */ + uint64 first_index_offset = 3; +} + +message InvoiceSubscription { + /* + If specified (non-zero), then we'll first start by sending out + notifications for all added indexes with an add_index greater than this + value. This allows callers to catch up on any events they missed while they + weren't connected to the streaming RPC. + */ + uint64 add_index = 1; + + /* + If specified (non-zero), then we'll first start by sending out + notifications for all settled indexes with an settle_index greater than + this value. This allows callers to catch up on any events they missed while + they weren't connected to the streaming RPC. + */ + uint64 settle_index = 2; +} + +enum PaymentFailureReason { + /* + Payment isn't failed (yet). + */ + FAILURE_REASON_NONE = 0; + + /* + There are more routes to try, but the payment timeout was exceeded. + */ + FAILURE_REASON_TIMEOUT = 1; + + /* + All possible routes were tried and failed permanently. Or were no + routes to the destination at all. + */ + FAILURE_REASON_NO_ROUTE = 2; + + /* + A non-recoverable error has occured. + */ + FAILURE_REASON_ERROR = 3; + + /* + Payment details incorrect (unknown hash, invalid amt or + invalid final cltv delta) + */ + FAILURE_REASON_INCORRECT_PAYMENT_DETAILS = 4; + + /* + Insufficient local balance. + */ + FAILURE_REASON_INSUFFICIENT_BALANCE = 5; +} + +message Payment { + // The payment hash + string payment_hash = 1; + + // Deprecated, use value_sat or value_msat. + int64 value = 2 [deprecated = true]; + + // Deprecated, use creation_time_ns + int64 creation_date = 3 [deprecated = true]; + + reserved 4; + + // Deprecated, use fee_sat or fee_msat. + int64 fee = 5 [deprecated = true]; + + // The payment preimage + string payment_preimage = 6; + + // The value of the payment in satoshis + int64 value_sat = 7; + + // The value of the payment in milli-satoshis + int64 value_msat = 8; + + // The optional payment request being fulfilled. + string payment_request = 9; + + enum PaymentStatus { + UNKNOWN = 0; + IN_FLIGHT = 1; + SUCCEEDED = 2; + FAILED = 3; + } + + // The status of the payment. + PaymentStatus status = 10; + + // The fee paid for this payment in satoshis + int64 fee_sat = 11; + + // The fee paid for this payment in milli-satoshis + int64 fee_msat = 12; + + // The time in UNIX nanoseconds at which the payment was created. + int64 creation_time_ns = 13; + + // The HTLCs made in attempt to settle the payment. + repeated HTLCAttempt htlcs = 14; + + /* + The creation index of this payment. Each payment can be uniquely identified + by this index, which may not strictly increment by 1 for payments made in + older versions of lnd. + */ + uint64 payment_index = 15; + + PaymentFailureReason failure_reason = 16; +} + +message HTLCAttempt { + // The unique ID that is used for this attempt. + uint64 attempt_id = 7; + + enum HTLCStatus { + IN_FLIGHT = 0; + SUCCEEDED = 1; + FAILED = 2; + } + + // The status of the HTLC. + HTLCStatus status = 1; + + // The route taken by this HTLC. + Route route = 2; + + // The time in UNIX nanoseconds at which this HTLC was sent. + int64 attempt_time_ns = 3; + + /* + The time in UNIX nanoseconds at which this HTLC was settled or failed. + This value will not be set if the HTLC is still IN_FLIGHT. + */ + int64 resolve_time_ns = 4; + + // Detailed htlc failure info. + Failure failure = 5; + + // The preimage that was used to settle the HTLC. + bytes preimage = 6; +} + +message ListPaymentsRequest { + /* + If true, then return payments that have not yet fully completed. This means + that pending payments, as well as failed payments will show up if this + field is set to true. This flag doesn't change the meaning of the indices, + which are tied to individual payments. + */ + bool include_incomplete = 1; + + /* + The index of a payment that will be used as either the start or end of a + query to determine which payments should be returned in the response. The + index_offset is exclusive. In the case of a zero index_offset, the query + will start with the oldest payment when paginating forwards, or will end + with the most recent payment when paginating backwards. + */ + uint64 index_offset = 2; + + // The maximal number of payments returned in the response to this query. + uint64 max_payments = 3; + + /* + If set, the payments returned will result from seeking backwards from the + specified index offset. This can be used to paginate backwards. The order + of the returned payments is always oldest first (ascending index order). + */ + bool reversed = 4; +} + +message ListPaymentsResponse { + // The list of payments + repeated Payment payments = 1; + + /* + The index of the first item in the set of returned payments. This can be + used as the index_offset to continue seeking backwards in the next request. + */ + uint64 first_index_offset = 2; + + /* + The index of the last item in the set of returned payments. This can be used + as the index_offset to continue seeking forwards in the next request. + */ + uint64 last_index_offset = 3; +} + +message DeleteAllPaymentsRequest { + // Only delete failed payments. + bool failed_payments_only = 1; + + /* + Only delete failed HTLCs from payments, not the payment itself. + */ + bool failed_htlcs_only = 2; +} + +message DeleteAllPaymentsResponse { +} + +message AbandonChannelRequest { + ChannelPoint channel_point = 1; + + bool pending_funding_shim_only = 2; + + /* + Override the requirement for being in dev mode by setting this to true and + confirming the user knows what they are doing and this is a potential foot + gun to lose funds if used on active channels. + */ + bool i_know_what_i_am_doing = 3; +} + +message AbandonChannelResponse { +} + +message DebugLevelRequest { + bool show = 1; + string level_spec = 2; +} +message DebugLevelResponse { + string sub_systems = 1; +} + +message PayReqString { + // The payment request string to be decoded + string pay_req = 1; +} +message PayReq { + string destination = 1; + string payment_hash = 2; + int64 num_satoshis = 3; + int64 timestamp = 4; + int64 expiry = 5; + string description = 6; + string description_hash = 7; + string fallback_addr = 8; + int64 cltv_expiry = 9; + repeated RouteHint route_hints = 10; + bytes payment_addr = 11; + int64 num_msat = 12; + map features = 13; +} + +enum FeatureBit { + DATALOSS_PROTECT_REQ = 0; + DATALOSS_PROTECT_OPT = 1; + INITIAL_ROUING_SYNC = 3; + UPFRONT_SHUTDOWN_SCRIPT_REQ = 4; + UPFRONT_SHUTDOWN_SCRIPT_OPT = 5; + GOSSIP_QUERIES_REQ = 6; + GOSSIP_QUERIES_OPT = 7; + TLV_ONION_REQ = 8; + TLV_ONION_OPT = 9; + EXT_GOSSIP_QUERIES_REQ = 10; + EXT_GOSSIP_QUERIES_OPT = 11; + STATIC_REMOTE_KEY_REQ = 12; + STATIC_REMOTE_KEY_OPT = 13; + PAYMENT_ADDR_REQ = 14; + PAYMENT_ADDR_OPT = 15; + MPP_REQ = 16; + MPP_OPT = 17; + WUMBO_CHANNELS_REQ = 18; + WUMBO_CHANNELS_OPT = 19; + ANCHORS_REQ = 20; + ANCHORS_OPT = 21; + ANCHORS_ZERO_FEE_HTLC_REQ = 22; + ANCHORS_ZERO_FEE_HTLC_OPT = 23; + AMP_REQ = 30; + AMP_OPT = 31; +} + +message Feature { + string name = 2; + bool is_required = 3; + bool is_known = 4; +} + +message FeeReportRequest { +} +message ChannelFeeReport { + // The short channel id that this fee report belongs to. + uint64 chan_id = 5 [jstype = JS_STRING]; + + // The channel that this fee report belongs to. + string channel_point = 1; + + // The base fee charged regardless of the number of milli-satoshis sent. + int64 base_fee_msat = 2; + + // The amount charged per milli-satoshis transferred expressed in + // millionths of a satoshi. + int64 fee_per_mil = 3; + + // The effective fee rate in milli-satoshis. Computed by dividing the + // fee_per_mil value by 1 million. + double fee_rate = 4; +} +message FeeReportResponse { + // An array of channel fee reports which describes the current fee schedule + // for each channel. + repeated ChannelFeeReport channel_fees = 1; + + // The total amount of fee revenue (in satoshis) the switch has collected + // over the past 24 hrs. + uint64 day_fee_sum = 2; + + // The total amount of fee revenue (in satoshis) the switch has collected + // over the past 1 week. + uint64 week_fee_sum = 3; + + // The total amount of fee revenue (in satoshis) the switch has collected + // over the past 1 month. + uint64 month_fee_sum = 4; +} + +message PolicyUpdateRequest { + oneof scope { + // If set, then this update applies to all currently active channels. + bool global = 1; + + // If set, this update will target a specific channel. + ChannelPoint chan_point = 2; + } + + // The base fee charged regardless of the number of milli-satoshis sent. + int64 base_fee_msat = 3; + + // The effective fee rate in milli-satoshis. The precision of this value + // goes up to 6 decimal places, so 1e-6. + double fee_rate = 4; + + // The required timelock delta for HTLCs forwarded over the channel. + uint32 time_lock_delta = 5; + + // If set, the maximum HTLC size in milli-satoshis. If unset, the maximum + // HTLC will be unchanged. + uint64 max_htlc_msat = 6; + + // The minimum HTLC size in milli-satoshis. Only applied if + // min_htlc_msat_specified is true. + uint64 min_htlc_msat = 7; + + // If true, min_htlc_msat is applied. + bool min_htlc_msat_specified = 8; +} +message PolicyUpdateResponse { +} + +message ForwardingHistoryRequest { + // Start time is the starting point of the forwarding history request. All + // records beyond this point will be included, respecting the end time, and + // the index offset. + uint64 start_time = 1; + + // End time is the end point of the forwarding history request. The + // response will carry at most 50k records between the start time and the + // end time. The index offset can be used to implement pagination. + uint64 end_time = 2; + + // Index offset is the offset in the time series to start at. As each + // response can only contain 50k records, callers can use this to skip + // around within a packed time series. + uint32 index_offset = 3; + + // The max number of events to return in the response to this query. + uint32 num_max_events = 4; +} +message ForwardingEvent { + // Timestamp is the time (unix epoch offset) that this circuit was + // completed. Deprecated by timestamp_ns. + uint64 timestamp = 1 [deprecated = true]; + + // The incoming channel ID that carried the HTLC that created the circuit. + uint64 chan_id_in = 2 [jstype = JS_STRING]; + + // The outgoing channel ID that carried the preimage that completed the + // circuit. + uint64 chan_id_out = 4 [jstype = JS_STRING]; + + // The total amount (in satoshis) of the incoming HTLC that created half + // the circuit. + uint64 amt_in = 5; + + // The total amount (in satoshis) of the outgoing HTLC that created the + // second half of the circuit. + uint64 amt_out = 6; + + // The total fee (in satoshis) that this payment circuit carried. + uint64 fee = 7; + + // The total fee (in milli-satoshis) that this payment circuit carried. + uint64 fee_msat = 8; + + // The total amount (in milli-satoshis) of the incoming HTLC that created + // half the circuit. + uint64 amt_in_msat = 9; + + // The total amount (in milli-satoshis) of the outgoing HTLC that created + // the second half of the circuit. + uint64 amt_out_msat = 10; + + // The number of nanoseconds elapsed since January 1, 1970 UTC when this + // circuit was completed. + uint64 timestamp_ns = 11; + + // TODO(roasbeef): add settlement latency? + // * use FPE on the chan id? + // * also list failures? +} +message ForwardingHistoryResponse { + // A list of forwarding events from the time slice of the time series + // specified in the request. + repeated ForwardingEvent forwarding_events = 1; + + // The index of the last time in the set of returned forwarding events. Can + // be used to seek further, pagination style. + uint32 last_offset_index = 2; +} + +message ExportChannelBackupRequest { + // The target channel point to obtain a back up for. + ChannelPoint chan_point = 1; +} + +message ChannelBackup { + /* + Identifies the channel that this backup belongs to. + */ + ChannelPoint chan_point = 1; + + /* + Is an encrypted single-chan backup. this can be passed to + RestoreChannelBackups, or the WalletUnlocker Init and Unlock methods in + order to trigger the recovery protocol. When using REST, this field must be + encoded as base64. + */ + bytes chan_backup = 2; +} + +message MultiChanBackup { + /* + Is the set of all channels that are included in this multi-channel backup. + */ + repeated ChannelPoint chan_points = 1; + + /* + A single encrypted blob containing all the static channel backups of the + channel listed above. This can be stored as a single file or blob, and + safely be replaced with any prior/future versions. When using REST, this + field must be encoded as base64. + */ + bytes multi_chan_backup = 2; +} + +message ChanBackupExportRequest { +} +message ChanBackupSnapshot { + /* + The set of new channels that have been added since the last channel backup + snapshot was requested. + */ + ChannelBackups single_chan_backups = 1; + + /* + A multi-channel backup that covers all open channels currently known to + lnd. + */ + MultiChanBackup multi_chan_backup = 2; +} + +message ChannelBackups { + /* + A set of single-chan static channel backups. + */ + repeated ChannelBackup chan_backups = 1; +} + +message RestoreChanBackupRequest { + oneof backup { + /* + The channels to restore as a list of channel/backup pairs. + */ + ChannelBackups chan_backups = 1; + + /* + The channels to restore in the packed multi backup format. When using + REST, this field must be encoded as base64. + */ + bytes multi_chan_backup = 2; + } +} +message RestoreBackupResponse { +} + +message ChannelBackupSubscription { +} + +message VerifyChanBackupResponse { +} + +message MacaroonPermission { + // The entity a permission grants access to. + string entity = 1; + + // The action that is granted. + string action = 2; +} +message BakeMacaroonRequest { + // The list of permissions the new macaroon should grant. + repeated MacaroonPermission permissions = 1; + + // The root key ID used to create the macaroon, must be a positive integer. + uint64 root_key_id = 2; +} +message BakeMacaroonResponse { + // The hex encoded macaroon, serialized in binary format. + string macaroon = 1; +} + +message ListMacaroonIDsRequest { +} +message ListMacaroonIDsResponse { + // The list of root key IDs that are in use. + repeated uint64 root_key_ids = 1; +} + +message DeleteMacaroonIDRequest { + // The root key ID to be removed. + uint64 root_key_id = 1; +} +message DeleteMacaroonIDResponse { + // A boolean indicates that the deletion is successful. + bool deleted = 1; +} + +message MacaroonPermissionList { + // A list of macaroon permissions. + repeated MacaroonPermission permissions = 1; +} + +message ListPermissionsRequest { +} +message ListPermissionsResponse { + /* + A map between all RPC method URIs and their required macaroon permissions to + access them. + */ + map method_permissions = 1; +} + +message Failure { + enum FailureCode { + /* + The numbers assigned in this enumeration match the failure codes as + defined in BOLT #4. Because protobuf 3 requires enums to start with 0, + a RESERVED value is added. + */ + RESERVED = 0; + + INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS = 1; + INCORRECT_PAYMENT_AMOUNT = 2; + FINAL_INCORRECT_CLTV_EXPIRY = 3; + FINAL_INCORRECT_HTLC_AMOUNT = 4; + FINAL_EXPIRY_TOO_SOON = 5; + INVALID_REALM = 6; + EXPIRY_TOO_SOON = 7; + INVALID_ONION_VERSION = 8; + INVALID_ONION_HMAC = 9; + INVALID_ONION_KEY = 10; + AMOUNT_BELOW_MINIMUM = 11; + FEE_INSUFFICIENT = 12; + INCORRECT_CLTV_EXPIRY = 13; + CHANNEL_DISABLED = 14; + TEMPORARY_CHANNEL_FAILURE = 15; + REQUIRED_NODE_FEATURE_MISSING = 16; + REQUIRED_CHANNEL_FEATURE_MISSING = 17; + UNKNOWN_NEXT_PEER = 18; + TEMPORARY_NODE_FAILURE = 19; + PERMANENT_NODE_FAILURE = 20; + PERMANENT_CHANNEL_FAILURE = 21; + EXPIRY_TOO_FAR = 22; + MPP_TIMEOUT = 23; + INVALID_ONION_PAYLOAD = 24; + + /* + An internal error occurred. + */ + INTERNAL_FAILURE = 997; + + /* + The error source is known, but the failure itself couldn't be decoded. + */ + UNKNOWN_FAILURE = 998; + + /* + An unreadable failure result is returned if the received failure message + cannot be decrypted. In that case the error source is unknown. + */ + UNREADABLE_FAILURE = 999; + } + + // Failure code as defined in the Lightning spec + FailureCode code = 1; + + reserved 2; + + // An optional channel update message. + ChannelUpdate channel_update = 3; + + // A failure type-dependent htlc value. + uint64 htlc_msat = 4; + + // The sha256 sum of the onion payload. + bytes onion_sha_256 = 5; + + // A failure type-dependent cltv expiry value. + uint32 cltv_expiry = 6; + + // A failure type-dependent flags value. + uint32 flags = 7; + + /* + The position in the path of the intermediate or final node that generated + the failure message. Position zero is the sender node. + **/ + uint32 failure_source_index = 8; + + // A failure type-dependent block height. + uint32 height = 9; +} + +message ChannelUpdate { + /* + The signature that validates the announced data and proves the ownership + of node id. + */ + bytes signature = 1; + + /* + The target chain that this channel was opened within. This value + should be the genesis hash of the target chain. Along with the short + channel ID, this uniquely identifies the channel globally in a + blockchain. + */ + bytes chain_hash = 2; + + /* + The unique description of the funding transaction. + */ + uint64 chan_id = 3 [jstype = JS_STRING]; + + /* + A timestamp that allows ordering in the case of multiple announcements. + We should ignore the message if timestamp is not greater than the + last-received. + */ + uint32 timestamp = 4; + + /* + The bitfield that describes whether optional fields are present in this + update. Currently, the least-significant bit must be set to 1 if the + optional field MaxHtlc is present. + */ + uint32 message_flags = 10; + + /* + The bitfield that describes additional meta-data concerning how the + update is to be interpreted. Currently, the least-significant bit must be + set to 0 if the creating node corresponds to the first node in the + previously sent channel announcement and 1 otherwise. If the second bit + is set, then the channel is set to be disabled. + */ + uint32 channel_flags = 5; + + /* + The minimum number of blocks this node requires to be added to the expiry + of HTLCs. This is a security parameter determined by the node operator. + This value represents the required gap between the time locks of the + incoming and outgoing HTLC's set to this node. + */ + uint32 time_lock_delta = 6; + + /* + The minimum HTLC value which will be accepted. + */ + uint64 htlc_minimum_msat = 7; + + /* + The base fee that must be used for incoming HTLC's to this particular + channel. This value will be tacked onto the required for a payment + independent of the size of the payment. + */ + uint32 base_fee = 8; + + /* + The fee rate that will be charged per millionth of a satoshi. + */ + uint32 fee_rate = 9; + + /* + The maximum HTLC value which will be accepted. + */ + uint64 htlc_maximum_msat = 11; + + /* + The set of data that was appended to this message, some of which we may + not actually know how to iterate or parse. By holding onto this data, we + ensure that we're able to properly validate the set of signatures that + cover these new fields, and ensure we're able to make upgrades to the + network in a forwards compatible manner. + */ + bytes extra_opaque_data = 12; +} + +message MacaroonId { + bytes nonce = 1; + bytes storageId = 2; + repeated Op ops = 3; +} + +message Op { + string entity = 1; + repeated string actions = 2; +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/rpc_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/rpc_pb2.py new file mode 100644 index 00000000..77d280c3 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/rpc_pb2.py @@ -0,0 +1,12992 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/rpc.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/rpc.proto', + package='lnrpc', + syntax='proto3', + serialized_options=b'Z%github.com/lightningnetwork/lnd/lnrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\x13v0131beta/rpc.proto\x12\x05lnrpc\"\xa2\x01\n\x04Utxo\x12(\n\x0c\x61\x64\x64ress_type\x18\x01 \x01(\x0e\x32\x12.lnrpc.AddressType\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\x12\x12\n\namount_sat\x18\x03 \x01(\x03\x12\x11\n\tpk_script\x18\x04 \x01(\t\x12!\n\x08outpoint\x18\x05 \x01(\x0b\x32\x0f.lnrpc.OutPoint\x12\x15\n\rconfirmations\x18\x06 \x01(\x03\"\xd6\x01\n\x0bTransaction\x12\x0f\n\x07tx_hash\x18\x01 \x01(\t\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x03\x12\x19\n\x11num_confirmations\x18\x03 \x01(\x05\x12\x12\n\nblock_hash\x18\x04 \x01(\t\x12\x14\n\x0c\x62lock_height\x18\x05 \x01(\x05\x12\x12\n\ntime_stamp\x18\x06 \x01(\x03\x12\x12\n\ntotal_fees\x18\x07 \x01(\x03\x12\x16\n\x0e\x64\x65st_addresses\x18\x08 \x03(\t\x12\x12\n\nraw_tx_hex\x18\t \x01(\t\x12\r\n\x05label\x18\n \x01(\t\"S\n\x16GetTransactionsRequest\x12\x14\n\x0cstart_height\x18\x01 \x01(\x05\x12\x12\n\nend_height\x18\x02 \x01(\x05\x12\x0f\n\x07\x61\x63\x63ount\x18\x03 \x01(\t\">\n\x12TransactionDetails\x12(\n\x0ctransactions\x18\x01 \x03(\x0b\x32\x12.lnrpc.Transaction\"M\n\x08\x46\x65\x65Limit\x12\x0f\n\x05\x66ixed\x18\x01 \x01(\x03H\x00\x12\x14\n\nfixed_msat\x18\x03 \x01(\x03H\x00\x12\x11\n\x07percent\x18\x02 \x01(\x03H\x00\x42\x07\n\x05limit\"\x8a\x04\n\x0bSendRequest\x12\x0c\n\x04\x64\x65st\x18\x01 \x01(\x0c\x12\x17\n\x0b\x64\x65st_string\x18\x02 \x01(\tB\x02\x18\x01\x12\x0b\n\x03\x61mt\x18\x03 \x01(\x03\x12\x10\n\x08\x61mt_msat\x18\x0c \x01(\x03\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\x12\x1f\n\x13payment_hash_string\x18\x05 \x01(\tB\x02\x18\x01\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\x17\n\x0flast_hop_pubkey\x18\r \x01(\x0c\x12\x12\n\ncltv_limit\x18\n \x01(\r\x12\x46\n\x13\x64\x65st_custom_records\x18\x0b \x03(\x0b\x32).lnrpc.SendRequest.DestCustomRecordsEntry\x12\x1a\n\x12\x61llow_self_payment\x18\x0e \x01(\x08\x12(\n\rdest_features\x18\x0f \x03(\x0e\x32\x11.lnrpc.FeatureBit\x12\x14\n\x0cpayment_addr\x18\x10 \x01(\x0c\x1a\x38\n\x16\x44\x65stCustomRecordsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"z\n\x0cSendResponse\x12\x15\n\rpayment_error\x18\x01 \x01(\t\x12\x18\n\x10payment_preimage\x18\x02 \x01(\x0c\x12#\n\rpayment_route\x18\x03 \x01(\x0b\x32\x0c.lnrpc.Route\x12\x14\n\x0cpayment_hash\x18\x04 \x01(\x0c\"n\n\x12SendToRouteRequest\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\x0c\x12\x1f\n\x13payment_hash_string\x18\x02 \x01(\tB\x02\x18\x01\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\"\xf4\x01\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\x12\r\n\x05\x65rror\x18\x03 \x01(\t\x12\x18\n\x10upfront_shutdown\x18\x04 \x01(\t\x12\x11\n\tcsv_delay\x18\x05 \x01(\r\x12\x13\n\x0breserve_sat\x18\x06 \x01(\x04\x12\x1a\n\x12in_flight_max_msat\x18\x07 \x01(\x04\x12\x16\n\x0emax_htlc_count\x18\x08 \x01(\r\x12\x13\n\x0bmin_htlc_in\x18\t \x01(\x04\x12\x18\n\x10min_accept_depth\x18\n \x01(\r\"n\n\x0c\x43hannelPoint\x12\x1c\n\x12\x66unding_txid_bytes\x18\x01 \x01(\x0cH\x00\x12\x1a\n\x10\x66unding_txid_str\x18\x02 \x01(\tH\x00\x12\x14\n\x0coutput_index\x18\x03 \x01(\rB\x0e\n\x0c\x66unding_txid\"F\n\x08OutPoint\x12\x12\n\ntxid_bytes\x18\x01 \x01(\x0c\x12\x10\n\x08txid_str\x18\x02 \x01(\t\x12\x14\n\x0coutput_index\x18\x03 \x01(\r\"0\n\x10LightningAddress\x12\x0e\n\x06pubkey\x18\x01 \x01(\t\x12\x0c\n\x04host\x18\x02 \x01(\t\"\xcf\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\x12\x11\n\tmin_confs\x18\x03 \x01(\x05\x12\x19\n\x11spend_unconfirmed\x18\x04 \x01(\x08\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\x13\x45stimateFeeResponse\x12\x0f\n\x07\x66\x65\x65_sat\x18\x01 \x01(\x03\x12 \n\x14\x66\x65\x65rate_sat_per_byte\x18\x02 \x01(\x03\x42\x02\x18\x01\x12\x15\n\rsat_per_vbyte\x18\x03 \x01(\x04\"\x89\x02\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\x15\n\rsat_per_vbyte\x18\x04 \x01(\x04\x12\x18\n\x0csat_per_byte\x18\x05 \x01(\x03\x42\x02\x18\x01\x12\r\n\x05label\x18\x06 \x01(\t\x12\x11\n\tmin_confs\x18\x07 \x01(\x05\x12\x19\n\x11spend_unconfirmed\x18\x08 \x01(\x08\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\x0c\n\x04txid\x18\x01 \x01(\t\"\xc5\x01\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\x15\n\rsat_per_vbyte\x18\x04 \x01(\x04\x12\x18\n\x0csat_per_byte\x18\x05 \x01(\x03\x42\x02\x18\x01\x12\x10\n\x08send_all\x18\x06 \x01(\x08\x12\r\n\x05label\x18\x07 \x01(\t\x12\x11\n\tmin_confs\x18\x08 \x01(\x05\x12\x19\n\x11spend_unconfirmed\x18\t \x01(\x08\"!\n\x11SendCoinsResponse\x12\x0c\n\x04txid\x18\x01 \x01(\t\"K\n\x12ListUnspentRequest\x12\x11\n\tmin_confs\x18\x01 \x01(\x05\x12\x11\n\tmax_confs\x18\x02 \x01(\x05\x12\x0f\n\x07\x61\x63\x63ount\x18\x03 \x01(\t\"1\n\x13ListUnspentResponse\x12\x1a\n\x05utxos\x18\x01 \x03(\x0b\x32\x0b.lnrpc.Utxo\"F\n\x11NewAddressRequest\x12 \n\x04type\x18\x01 \x01(\x0e\x32\x12.lnrpc.AddressType\x12\x0f\n\x07\x61\x63\x63ount\x18\x02 \x01(\t\"%\n\x12NewAddressResponse\x12\x0f\n\x07\x61\x64\x64ress\x18\x01 \x01(\t\"!\n\x12SignMessageRequest\x12\x0b\n\x03msg\x18\x01 \x01(\x0c\"(\n\x13SignMessageResponse\x12\x11\n\tsignature\x18\x01 \x01(\t\"6\n\x14VerifyMessageRequest\x12\x0b\n\x03msg\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\t\"6\n\x15VerifyMessageResponse\x12\r\n\x05valid\x18\x01 \x01(\x08\x12\x0e\n\x06pubkey\x18\x02 \x01(\t\"Z\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\x12\x0f\n\x07timeout\x18\x03 \x01(\x04\"\x15\n\x13\x43onnectPeerResponse\"(\n\x15\x44isconnectPeerRequest\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\"\x18\n\x16\x44isconnectPeerResponse\"\xa5\x01\n\x04HTLC\x12\x10\n\x08incoming\x18\x01 \x01(\x08\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x03\x12\x11\n\thash_lock\x18\x03 \x01(\x0c\x12\x19\n\x11\x65xpiration_height\x18\x04 \x01(\r\x12\x12\n\nhtlc_index\x18\x05 \x01(\x04\x12\x1a\n\x12\x66orwarding_channel\x18\x06 \x01(\x04\x12\x1d\n\x15\x66orwarding_htlc_index\x18\x07 \x01(\x04\"\xaa\x01\n\x12\x43hannelConstraints\x12\x11\n\tcsv_delay\x18\x01 \x01(\r\x12\x18\n\x10\x63han_reserve_sat\x18\x02 \x01(\x04\x12\x16\n\x0e\x64ust_limit_sat\x18\x03 \x01(\x04\x12\x1c\n\x14max_pending_amt_msat\x18\x04 \x01(\x04\x12\x15\n\rmin_htlc_msat\x18\x05 \x01(\x04\x12\x1a\n\x12max_accepted_htlcs\x18\x06 \x01(\r\"\xb0\x06\n\x07\x43hannel\x12\x0e\n\x06\x61\x63tive\x18\x01 \x01(\x08\x12\x15\n\rremote_pubkey\x18\x02 \x01(\t\x12\x15\n\rchannel_point\x18\x03 \x01(\t\x12\x13\n\x07\x63han_id\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x10\n\x08\x63\x61pacity\x18\x05 \x01(\x03\x12\x15\n\rlocal_balance\x18\x06 \x01(\x03\x12\x16\n\x0eremote_balance\x18\x07 \x01(\x03\x12\x12\n\ncommit_fee\x18\x08 \x01(\x03\x12\x15\n\rcommit_weight\x18\t \x01(\x03\x12\x12\n\nfee_per_kw\x18\n \x01(\x03\x12\x19\n\x11unsettled_balance\x18\x0b \x01(\x03\x12\x1b\n\x13total_satoshis_sent\x18\x0c \x01(\x03\x12\x1f\n\x17total_satoshis_received\x18\r \x01(\x03\x12\x13\n\x0bnum_updates\x18\x0e \x01(\x04\x12\"\n\rpending_htlcs\x18\x0f \x03(\x0b\x32\x0b.lnrpc.HTLC\x12\x15\n\tcsv_delay\x18\x10 \x01(\rB\x02\x18\x01\x12\x0f\n\x07private\x18\x11 \x01(\x08\x12\x11\n\tinitiator\x18\x12 \x01(\x08\x12\x19\n\x11\x63han_status_flags\x18\x13 \x01(\t\x12\"\n\x16local_chan_reserve_sat\x18\x14 \x01(\x03\x42\x02\x18\x01\x12#\n\x17remote_chan_reserve_sat\x18\x15 \x01(\x03\x42\x02\x18\x01\x12\x1d\n\x11static_remote_key\x18\x16 \x01(\x08\x42\x02\x18\x01\x12.\n\x0f\x63ommitment_type\x18\x1a \x01(\x0e\x32\x15.lnrpc.CommitmentType\x12\x10\n\x08lifetime\x18\x17 \x01(\x03\x12\x0e\n\x06uptime\x18\x18 \x01(\x03\x12\x15\n\rclose_address\x18\x19 \x01(\t\x12\x17\n\x0fpush_amount_sat\x18\x1b \x01(\x04\x12\x13\n\x0bthaw_height\x18\x1c \x01(\r\x12\x34\n\x11local_constraints\x18\x1d \x01(\x0b\x32\x19.lnrpc.ChannelConstraints\x12\x35\n\x12remote_constraints\x18\x1e \x01(\x0b\x32\x19.lnrpc.ChannelConstraints\"z\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\x12\x0c\n\x04peer\x18\x05 \x01(\x0c\"8\n\x14ListChannelsResponse\x12 \n\x08\x63hannels\x18\x0b \x03(\x0b\x32\x0e.lnrpc.Channel\"\xa9\x04\n\x13\x43hannelCloseSummary\x12\x15\n\rchannel_point\x18\x01 \x01(\t\x12\x13\n\x07\x63han_id\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x12\n\nchain_hash\x18\x03 \x01(\t\x12\x17\n\x0f\x63losing_tx_hash\x18\x04 \x01(\t\x12\x15\n\rremote_pubkey\x18\x05 \x01(\t\x12\x10\n\x08\x63\x61pacity\x18\x06 \x01(\x03\x12\x14\n\x0c\x63lose_height\x18\x07 \x01(\r\x12\x17\n\x0fsettled_balance\x18\x08 \x01(\x03\x12\x1b\n\x13time_locked_balance\x18\t \x01(\x03\x12:\n\nclose_type\x18\n \x01(\x0e\x32&.lnrpc.ChannelCloseSummary.ClosureType\x12(\n\x0eopen_initiator\x18\x0b \x01(\x0e\x32\x10.lnrpc.Initiator\x12)\n\x0f\x63lose_initiator\x18\x0c \x01(\x0e\x32\x10.lnrpc.Initiator\x12&\n\x0bresolutions\x18\r \x03(\x0b\x32\x11.lnrpc.Resolution\"\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\"\xb2\x01\n\nResolution\x12.\n\x0fresolution_type\x18\x01 \x01(\x0e\x32\x15.lnrpc.ResolutionType\x12)\n\x07outcome\x18\x02 \x01(\x0e\x32\x18.lnrpc.ResolutionOutcome\x12!\n\x08outpoint\x18\x03 \x01(\x0b\x32\x0f.lnrpc.OutPoint\x12\x12\n\namount_sat\x18\x04 \x01(\x04\x12\x12\n\nsweep_txid\x18\x05 \x01(\t\"\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\"F\n\x16\x43losedChannelsResponse\x12,\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1a.lnrpc.ChannelCloseSummary\"\xd4\x03\n\x04Peer\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x64\x64ress\x18\x03 \x01(\t\x12\x12\n\nbytes_sent\x18\x04 \x01(\x04\x12\x12\n\nbytes_recv\x18\x05 \x01(\x04\x12\x10\n\x08sat_sent\x18\x06 \x01(\x03\x12\x10\n\x08sat_recv\x18\x07 \x01(\x03\x12\x0f\n\x07inbound\x18\x08 \x01(\x08\x12\x11\n\tping_time\x18\t \x01(\x03\x12\'\n\tsync_type\x18\n \x01(\x0e\x32\x14.lnrpc.Peer.SyncType\x12+\n\x08\x66\x65\x61tures\x18\x0b \x03(\x0b\x32\x19.lnrpc.Peer.FeaturesEntry\x12\'\n\x06\x65rrors\x18\x0c \x03(\x0b\x32\x17.lnrpc.TimestampedError\x12\x12\n\nflap_count\x18\r \x01(\x05\x12\x14\n\x0clast_flap_ns\x18\x0e \x01(\x03\x1a?\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.lnrpc.Feature:\x02\x38\x01\"P\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\x0f\n\x0bPINNED_SYNC\x10\x03\"4\n\x10TimestampedError\x12\x11\n\ttimestamp\x18\x01 \x01(\x04\x12\r\n\x05\x65rror\x18\x02 \x01(\t\"(\n\x10ListPeersRequest\x12\x14\n\x0clatest_error\x18\x01 \x01(\x08\"/\n\x11ListPeersResponse\x12\x1a\n\x05peers\x18\x01 \x03(\x0b\x32\x0b.lnrpc.Peer\"\x17\n\x15PeerEventSubscription\"v\n\tPeerEvent\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\x12(\n\x04type\x18\x02 \x01(\x0e\x32\x1a.lnrpc.PeerEvent.EventType\".\n\tEventType\x12\x0f\n\x0bPEER_ONLINE\x10\x00\x12\x10\n\x0cPEER_OFFLINE\x10\x01\"\x10\n\x0eGetInfoRequest\"\x96\x04\n\x0fGetInfoResponse\x12\x0f\n\x07version\x18\x0e \x01(\t\x12\x13\n\x0b\x63ommit_hash\x18\x14 \x01(\t\x12\x17\n\x0fidentity_pubkey\x18\x01 \x01(\t\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\r\n\x05\x63olor\x18\x11 \x01(\t\x12\x1c\n\x14num_pending_channels\x18\x03 \x01(\r\x12\x1b\n\x13num_active_channels\x18\x04 \x01(\r\x12\x1d\n\x15num_inactive_channels\x18\x0f \x01(\r\x12\x11\n\tnum_peers\x18\x05 \x01(\r\x12\x14\n\x0c\x62lock_height\x18\x06 \x01(\r\x12\x12\n\nblock_hash\x18\x08 \x01(\t\x12\x1d\n\x15\x62\x65st_header_timestamp\x18\r \x01(\x03\x12\x17\n\x0fsynced_to_chain\x18\t \x01(\x08\x12\x17\n\x0fsynced_to_graph\x18\x12 \x01(\x08\x12\x13\n\x07testnet\x18\n \x01(\x08\x42\x02\x18\x01\x12\x1c\n\x06\x63hains\x18\x10 \x03(\x0b\x32\x0c.lnrpc.Chain\x12\x0c\n\x04uris\x18\x0c \x03(\t\x12\x36\n\x08\x66\x65\x61tures\x18\x13 \x03(\x0b\x32$.lnrpc.GetInfoResponse.FeaturesEntry\x1a?\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.lnrpc.Feature:\x02\x38\x01J\x04\x08\x0b\x10\x0c\"\x18\n\x16GetRecoveryInfoRequest\"]\n\x17GetRecoveryInfoResponse\x12\x15\n\rrecovery_mode\x18\x01 \x01(\x08\x12\x19\n\x11recovery_finished\x18\x02 \x01(\x08\x12\x10\n\x08progress\x18\x03 \x01(\x01\"\'\n\x05\x43hain\x12\r\n\x05\x63hain\x18\x01 \x01(\t\x12\x0f\n\x07network\x18\x02 \x01(\t\"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\x11\x43hannelOpenUpdate\x12*\n\rchannel_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\";\n\x12\x43hannelCloseUpdate\x12\x14\n\x0c\x63losing_txid\x18\x01 \x01(\x0c\x12\x0f\n\x07success\x18\x02 \x01(\x08\"\xb0\x01\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\x18\n\x0csat_per_byte\x18\x04 \x01(\x03\x42\x02\x18\x01\x12\x18\n\x10\x64\x65livery_address\x18\x05 \x01(\t\x12\x15\n\rsat_per_vbyte\x18\x06 \x01(\x04\"}\n\x11\x43loseStatusUpdate\x12-\n\rclose_pending\x18\x01 \x01(\x0b\x32\x14.lnrpc.PendingUpdateH\x00\x12/\n\nchan_close\x18\x03 \x01(\x0b\x32\x19.lnrpc.ChannelCloseUpdateH\x00\x42\x08\n\x06update\"3\n\rPendingUpdate\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\x14\n\x0coutput_index\x18\x02 \x01(\r\"T\n\x13ReadyForPsbtFunding\x12\x17\n\x0f\x66unding_address\x18\x01 \x01(\t\x12\x16\n\x0e\x66unding_amount\x18\x02 \x01(\x03\x12\x0c\n\x04psbt\x18\x03 \x01(\x0c\"\xca\x03\n\x12OpenChannelRequest\x12\x15\n\rsat_per_vbyte\x18\x01 \x01(\x04\x12\x13\n\x0bnode_pubkey\x18\x02 \x01(\x0c\x12\x1e\n\x12node_pubkey_string\x18\x03 \x01(\tB\x02\x18\x01\x12\x1c\n\x14local_funding_amount\x18\x04 \x01(\x03\x12\x10\n\x08push_sat\x18\x05 \x01(\x03\x12\x13\n\x0btarget_conf\x18\x06 \x01(\x05\x12\x18\n\x0csat_per_byte\x18\x07 \x01(\x03\x42\x02\x18\x01\x12\x0f\n\x07private\x18\x08 \x01(\x08\x12\x15\n\rmin_htlc_msat\x18\t \x01(\x03\x12\x18\n\x10remote_csv_delay\x18\n \x01(\r\x12\x11\n\tmin_confs\x18\x0b \x01(\x05\x12\x19\n\x11spend_unconfirmed\x18\x0c \x01(\x08\x12\x15\n\rclose_address\x18\r \x01(\t\x12(\n\x0c\x66unding_shim\x18\x0e \x01(\x0b\x32\x12.lnrpc.FundingShim\x12\'\n\x1fremote_max_value_in_flight_msat\x18\x0f \x01(\x04\x12\x18\n\x10remote_max_htlcs\x18\x10 \x01(\r\x12\x15\n\rmax_local_csv\x18\x11 \x01(\r\"\xc3\x01\n\x10OpenStatusUpdate\x12,\n\x0c\x63han_pending\x18\x01 \x01(\x0b\x32\x14.lnrpc.PendingUpdateH\x00\x12-\n\tchan_open\x18\x03 \x01(\x0b\x32\x18.lnrpc.ChannelOpenUpdateH\x00\x12/\n\tpsbt_fund\x18\x05 \x01(\x0b\x32\x1a.lnrpc.ReadyForPsbtFundingH\x00\x12\x17\n\x0fpending_chan_id\x18\x04 \x01(\x0c\x42\x08\n\x06update\"3\n\nKeyLocator\x12\x12\n\nkey_family\x18\x01 \x01(\x05\x12\x11\n\tkey_index\x18\x02 \x01(\x05\"J\n\rKeyDescriptor\x12\x15\n\rraw_key_bytes\x18\x01 \x01(\x0c\x12\"\n\x07key_loc\x18\x02 \x01(\x0b\x32\x11.lnrpc.KeyLocator\"\xb0\x01\n\rChanPointShim\x12\x0b\n\x03\x61mt\x18\x01 \x01(\x03\x12\'\n\nchan_point\x18\x02 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\x12\'\n\tlocal_key\x18\x03 \x01(\x0b\x32\x14.lnrpc.KeyDescriptor\x12\x12\n\nremote_key\x18\x04 \x01(\x0c\x12\x17\n\x0fpending_chan_id\x18\x05 \x01(\x0c\x12\x13\n\x0bthaw_height\x18\x06 \x01(\r\"J\n\x08PsbtShim\x12\x17\n\x0fpending_chan_id\x18\x01 \x01(\x0c\x12\x11\n\tbase_psbt\x18\x02 \x01(\x0c\x12\x12\n\nno_publish\x18\x03 \x01(\x08\"l\n\x0b\x46undingShim\x12/\n\x0f\x63han_point_shim\x18\x01 \x01(\x0b\x32\x14.lnrpc.ChanPointShimH\x00\x12$\n\tpsbt_shim\x18\x02 \x01(\x0b\x32\x0f.lnrpc.PsbtShimH\x00\x42\x06\n\x04shim\",\n\x11\x46undingShimCancel\x12\x17\n\x0fpending_chan_id\x18\x01 \x01(\x0c\"A\n\x11\x46undingPsbtVerify\x12\x13\n\x0b\x66unded_psbt\x18\x01 \x01(\x0c\x12\x17\n\x0fpending_chan_id\x18\x02 \x01(\x0c\"Y\n\x13\x46undingPsbtFinalize\x12\x13\n\x0bsigned_psbt\x18\x01 \x01(\x0c\x12\x17\n\x0fpending_chan_id\x18\x02 \x01(\x0c\x12\x14\n\x0c\x66inal_raw_tx\x18\x03 \x01(\x0c\"\xe5\x01\n\x14\x46undingTransitionMsg\x12+\n\rshim_register\x18\x01 \x01(\x0b\x32\x12.lnrpc.FundingShimH\x00\x12/\n\x0bshim_cancel\x18\x02 \x01(\x0b\x32\x18.lnrpc.FundingShimCancelH\x00\x12/\n\x0bpsbt_verify\x18\x03 \x01(\x0b\x32\x18.lnrpc.FundingPsbtVerifyH\x00\x12\x33\n\rpsbt_finalize\x18\x04 \x01(\x0b\x32\x1a.lnrpc.FundingPsbtFinalizeH\x00\x42\t\n\x07trigger\"\x16\n\x14\x46undingStateStepResp\"\x86\x01\n\x0bPendingHTLC\x12\x10\n\x08incoming\x18\x01 \x01(\x08\x12\x0e\n\x06\x61mount\x18\x02 \x01(\x03\x12\x10\n\x08outpoint\x18\x03 \x01(\t\x12\x17\n\x0fmaturity_height\x18\x04 \x01(\r\x12\x1b\n\x13\x62locks_til_maturity\x18\x05 \x01(\x05\x12\r\n\x05stage\x18\x06 \x01(\r\"\x18\n\x16PendingChannelsRequest\"\xab\r\n\x17PendingChannelsResponse\x12\x1b\n\x13total_limbo_balance\x18\x01 \x01(\x03\x12P\n\x15pending_open_channels\x18\x02 \x03(\x0b\x32\x31.lnrpc.PendingChannelsResponse.PendingOpenChannel\x12R\n\x18pending_closing_channels\x18\x03 \x03(\x0b\x32,.lnrpc.PendingChannelsResponse.ClosedChannelB\x02\x18\x01\x12Y\n\x1epending_force_closing_channels\x18\x04 \x03(\x0b\x32\x31.lnrpc.PendingChannelsResponse.ForceClosedChannel\x12R\n\x16waiting_close_channels\x18\x05 \x03(\x0b\x32\x32.lnrpc.PendingChannelsResponse.WaitingCloseChannel\x1a\x97\x02\n\x0ePendingChannel\x12\x17\n\x0fremote_node_pub\x18\x01 \x01(\t\x12\x15\n\rchannel_point\x18\x02 \x01(\t\x12\x10\n\x08\x63\x61pacity\x18\x03 \x01(\x03\x12\x15\n\rlocal_balance\x18\x04 \x01(\x03\x12\x16\n\x0eremote_balance\x18\x05 \x01(\x03\x12\x1e\n\x16local_chan_reserve_sat\x18\x06 \x01(\x03\x12\x1f\n\x17remote_chan_reserve_sat\x18\x07 \x01(\x03\x12#\n\tinitiator\x18\x08 \x01(\x0e\x32\x10.lnrpc.Initiator\x12.\n\x0f\x63ommitment_type\x18\t \x01(\x0e\x32\x15.lnrpc.CommitmentType\x1a\xb0\x01\n\x12PendingOpenChannel\x12>\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannel\x12\x1b\n\x13\x63onfirmation_height\x18\x02 \x01(\r\x12\x12\n\ncommit_fee\x18\x04 \x01(\x03\x12\x15\n\rcommit_weight\x18\x05 \x01(\x03\x12\x12\n\nfee_per_kw\x18\x06 \x01(\x03\x1a\xad\x01\n\x13WaitingCloseChannel\x12>\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannel\x12\x15\n\rlimbo_balance\x18\x02 \x01(\x03\x12?\n\x0b\x63ommitments\x18\x03 \x01(\x0b\x32*.lnrpc.PendingChannelsResponse.Commitments\x1a\xb7\x01\n\x0b\x43ommitments\x12\x12\n\nlocal_txid\x18\x01 \x01(\t\x12\x13\n\x0bremote_txid\x18\x02 \x01(\t\x12\x1b\n\x13remote_pending_txid\x18\x03 \x01(\t\x12\x1c\n\x14local_commit_fee_sat\x18\x04 \x01(\x04\x12\x1d\n\x15remote_commit_fee_sat\x18\x05 \x01(\x04\x12%\n\x1dremote_pending_commit_fee_sat\x18\x06 \x01(\x04\x1a\x65\n\rClosedChannel\x12>\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannel\x12\x14\n\x0c\x63losing_txid\x18\x02 \x01(\t\x1a\xff\x02\n\x12\x46orceClosedChannel\x12>\n\x07\x63hannel\x18\x01 \x01(\x0b\x32-.lnrpc.PendingChannelsResponse.PendingChannel\x12\x14\n\x0c\x63losing_txid\x18\x02 \x01(\t\x12\x15\n\rlimbo_balance\x18\x03 \x01(\x03\x12\x17\n\x0fmaturity_height\x18\x04 \x01(\r\x12\x1b\n\x13\x62locks_til_maturity\x18\x05 \x01(\x05\x12\x19\n\x11recovered_balance\x18\x06 \x01(\x03\x12)\n\rpending_htlcs\x18\x08 \x03(\x0b\x32\x12.lnrpc.PendingHTLC\x12M\n\x06\x61nchor\x18\t \x01(\x0e\x32=.lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState\"1\n\x0b\x41nchorState\x12\t\n\x05LIMBO\x10\x00\x12\r\n\tRECOVERED\x10\x01\x12\x08\n\x04LOST\x10\x02\"\x1a\n\x18\x43hannelEventSubscription\"\xbf\x03\n\x12\x43hannelEventUpdate\x12&\n\x0copen_channel\x18\x01 \x01(\x0b\x32\x0e.lnrpc.ChannelH\x00\x12\x34\n\x0e\x63losed_channel\x18\x02 \x01(\x0b\x32\x1a.lnrpc.ChannelCloseSummaryH\x00\x12-\n\x0e\x61\x63tive_channel\x18\x03 \x01(\x0b\x32\x13.lnrpc.ChannelPointH\x00\x12/\n\x10inactive_channel\x18\x04 \x01(\x0b\x32\x13.lnrpc.ChannelPointH\x00\x12\x34\n\x14pending_open_channel\x18\x06 \x01(\x0b\x32\x14.lnrpc.PendingUpdateH\x00\x12\x32\n\x04type\x18\x05 \x01(\x0e\x32$.lnrpc.ChannelEventUpdate.UpdateType\"v\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\x12\x18\n\x14PENDING_OPEN_CHANNEL\x10\x04\x42\t\n\x07\x63hannel\"N\n\x14WalletAccountBalance\x12\x19\n\x11\x63onfirmed_balance\x18\x01 \x01(\x03\x12\x1b\n\x13unconfirmed_balance\x18\x02 \x01(\x03\"\x16\n\x14WalletBalanceRequest\"\x85\x02\n\x15WalletBalanceResponse\x12\x15\n\rtotal_balance\x18\x01 \x01(\x03\x12\x19\n\x11\x63onfirmed_balance\x18\x02 \x01(\x03\x12\x1b\n\x13unconfirmed_balance\x18\x03 \x01(\x03\x12I\n\x0f\x61\x63\x63ount_balance\x18\x04 \x03(\x0b\x32\x30.lnrpc.WalletBalanceResponse.AccountBalanceEntry\x1aR\n\x13\x41\x63\x63ountBalanceEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12*\n\x05value\x18\x02 \x01(\x0b\x32\x1b.lnrpc.WalletAccountBalance:\x02\x38\x01\"#\n\x06\x41mount\x12\x0b\n\x03sat\x18\x01 \x01(\x04\x12\x0c\n\x04msat\x18\x02 \x01(\x04\"\x17\n\x15\x43hannelBalanceRequest\"\xe4\x02\n\x16\x43hannelBalanceResponse\x12\x13\n\x07\x62\x61lance\x18\x01 \x01(\x03\x42\x02\x18\x01\x12 \n\x14pending_open_balance\x18\x02 \x01(\x03\x42\x02\x18\x01\x12$\n\rlocal_balance\x18\x03 \x01(\x0b\x32\r.lnrpc.Amount\x12%\n\x0eremote_balance\x18\x04 \x01(\x0b\x32\r.lnrpc.Amount\x12.\n\x17unsettled_local_balance\x18\x05 \x01(\x0b\x32\r.lnrpc.Amount\x12/\n\x18unsettled_remote_balance\x18\x06 \x01(\x0b\x32\r.lnrpc.Amount\x12\x31\n\x1apending_open_local_balance\x18\x07 \x01(\x0b\x32\r.lnrpc.Amount\x12\x32\n\x1bpending_open_remote_balance\x18\x08 \x01(\x0b\x32\r.lnrpc.Amount\"\xd0\x04\n\x12QueryRoutesRequest\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\x12\x0b\n\x03\x61mt\x18\x02 \x01(\x03\x12\x10\n\x08\x61mt_msat\x18\x0c \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(\r\x12M\n\x13\x64\x65st_custom_records\x18\r \x03(\x0b\x32\x30.lnrpc.QueryRoutesRequest.DestCustomRecordsEntry\x12\x1c\n\x10outgoing_chan_id\x18\x0e \x01(\x04\x42\x02\x30\x01\x12\x17\n\x0flast_hop_pubkey\x18\x0f \x01(\x0c\x12%\n\x0broute_hints\x18\x10 \x03(\x0b\x32\x10.lnrpc.RouteHint\x12(\n\rdest_features\x18\x11 \x03(\x0e\x32\x11.lnrpc.FeatureBit\x1a\x38\n\x16\x44\x65stCustomRecordsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01J\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\"I\n\x13QueryRoutesResponse\x12\x1c\n\x06routes\x18\x01 \x03(\x0b\x32\x0c.lnrpc.Route\x12\x14\n\x0csuccess_prob\x18\x02 \x01(\x01\"\x80\x03\n\x03Hop\x12\x13\n\x07\x63han_id\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x19\n\rchan_capacity\x18\x02 \x01(\x03\x42\x02\x18\x01\x12\x1a\n\x0e\x61mt_to_forward\x18\x03 \x01(\x03\x42\x02\x18\x01\x12\x0f\n\x03\x66\x65\x65\x18\x04 \x01(\x03\x42\x02\x18\x01\x12\x0e\n\x06\x65xpiry\x18\x05 \x01(\r\x12\x1b\n\x13\x61mt_to_forward_msat\x18\x06 \x01(\x03\x12\x10\n\x08\x66\x65\x65_msat\x18\x07 \x01(\x03\x12\x0f\n\x07pub_key\x18\x08 \x01(\t\x12\x13\n\x0btlv_payload\x18\t \x01(\x08\x12$\n\nmpp_record\x18\n \x01(\x0b\x32\x10.lnrpc.MPPRecord\x12$\n\namp_record\x18\x0c \x01(\x0b\x32\x10.lnrpc.AMPRecord\x12\x35\n\x0e\x63ustom_records\x18\x0b \x03(\x0b\x32\x1d.lnrpc.Hop.CustomRecordsEntry\x1a\x34\n\x12\x43ustomRecordsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"9\n\tMPPRecord\x12\x14\n\x0cpayment_addr\x18\x0b \x01(\x0c\x12\x16\n\x0etotal_amt_msat\x18\n \x01(\x03\"D\n\tAMPRecord\x12\x12\n\nroot_share\x18\x01 \x01(\x0c\x12\x0e\n\x06set_id\x18\x02 \x01(\x0c\x12\x13\n\x0b\x63hild_index\x18\x03 \x01(\r\"\x9a\x01\n\x05Route\x12\x17\n\x0ftotal_time_lock\x18\x01 \x01(\r\x12\x16\n\ntotal_fees\x18\x02 \x01(\x03\x42\x02\x18\x01\x12\x15\n\ttotal_amt\x18\x03 \x01(\x03\x42\x02\x18\x01\x12\x18\n\x04hops\x18\x04 \x03(\x0b\x32\n.lnrpc.Hop\x12\x17\n\x0ftotal_fees_msat\x18\x05 \x01(\x03\x12\x16\n\x0etotal_amt_msat\x18\x06 \x01(\x03\"<\n\x0fNodeInfoRequest\x12\x0f\n\x07pub_key\x18\x01 \x01(\t\x12\x18\n\x10include_channels\x18\x02 \x01(\x08\"\x82\x01\n\x08NodeInfo\x12\"\n\x04node\x18\x01 \x01(\x0b\x32\x14.lnrpc.LightningNode\x12\x14\n\x0cnum_channels\x18\x02 \x01(\r\x12\x16\n\x0etotal_capacity\x18\x03 \x01(\x03\x12$\n\x08\x63hannels\x18\x04 \x03(\x0b\x32\x12.lnrpc.ChannelEdge\"\xf1\x01\n\rLightningNode\x12\x13\n\x0blast_update\x18\x01 \x01(\r\x12\x0f\n\x07pub_key\x18\x02 \x01(\t\x12\r\n\x05\x61lias\x18\x03 \x01(\t\x12%\n\taddresses\x18\x04 \x03(\x0b\x32\x12.lnrpc.NodeAddress\x12\r\n\x05\x63olor\x18\x05 \x01(\t\x12\x34\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0b\x32\".lnrpc.LightningNode.FeaturesEntry\x1a?\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.lnrpc.Feature:\x02\x38\x01\",\n\x0bNodeAddress\x12\x0f\n\x07network\x18\x01 \x01(\t\x12\x0c\n\x04\x61\x64\x64r\x18\x02 \x01(\t\"\xac\x01\n\rRoutingPolicy\x12\x17\n\x0ftime_lock_delta\x18\x01 \x01(\r\x12\x10\n\x08min_htlc\x18\x02 \x01(\x03\x12\x15\n\rfee_base_msat\x18\x03 \x01(\x03\x12\x1b\n\x13\x66\x65\x65_rate_milli_msat\x18\x04 \x01(\x03\x12\x10\n\x08\x64isabled\x18\x05 \x01(\x08\x12\x15\n\rmax_htlc_msat\x18\x06 \x01(\x04\x12\x13\n\x0blast_update\x18\x07 \x01(\r\"\xe2\x01\n\x0b\x43hannelEdge\x12\x16\n\nchannel_id\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x12\n\nchan_point\x18\x02 \x01(\t\x12\x17\n\x0blast_update\x18\x03 \x01(\rB\x02\x18\x01\x12\x11\n\tnode1_pub\x18\x04 \x01(\t\x12\x11\n\tnode2_pub\x18\x05 \x01(\t\x12\x10\n\x08\x63\x61pacity\x18\x06 \x01(\x03\x12*\n\x0cnode1_policy\x18\x07 \x01(\x0b\x32\x14.lnrpc.RoutingPolicy\x12*\n\x0cnode2_policy\x18\x08 \x01(\x0b\x32\x14.lnrpc.RoutingPolicy\"2\n\x13\x43hannelGraphRequest\x12\x1b\n\x13include_unannounced\x18\x01 \x01(\x08\"V\n\x0c\x43hannelGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.lnrpc.LightningNode\x12!\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x12.lnrpc.ChannelEdge\":\n\x12NodeMetricsRequest\x12$\n\x05types\x18\x01 \x03(\x0e\x32\x15.lnrpc.NodeMetricType\"\xbe\x01\n\x13NodeMetricsResponse\x12U\n\x16\x62\x65tweenness_centrality\x18\x01 \x03(\x0b\x32\x35.lnrpc.NodeMetricsResponse.BetweennessCentralityEntry\x1aP\n\x1a\x42\x65tweennessCentralityEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.lnrpc.FloatMetric:\x02\x38\x01\"6\n\x0b\x46loatMetric\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x18\n\x10normalized_value\x18\x02 \x01(\x01\"&\n\x0f\x43hanInfoRequest\x12\x13\n\x07\x63han_id\x18\x01 \x01(\x04\x42\x02\x30\x01\"\x14\n\x12NetworkInfoRequest\"\xa7\x02\n\x0bNetworkInfo\x12\x16\n\x0egraph_diameter\x18\x01 \x01(\r\x12\x16\n\x0e\x61vg_out_degree\x18\x02 \x01(\x01\x12\x16\n\x0emax_out_degree\x18\x03 \x01(\r\x12\x11\n\tnum_nodes\x18\x04 \x01(\r\x12\x14\n\x0cnum_channels\x18\x05 \x01(\r\x12\x1e\n\x16total_network_capacity\x18\x06 \x01(\x03\x12\x18\n\x10\x61vg_channel_size\x18\x07 \x01(\x01\x12\x18\n\x10min_channel_size\x18\x08 \x01(\x03\x12\x18\n\x10max_channel_size\x18\t \x01(\x03\x12\x1f\n\x17median_channel_size_sat\x18\n \x01(\x03\x12\x18\n\x10num_zombie_chans\x18\x0b \x01(\x04\"\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\"\x94\x02\n\nNodeUpdate\x12\x15\n\taddresses\x18\x01 \x03(\tB\x02\x18\x01\x12\x14\n\x0cidentity_key\x18\x02 \x01(\t\x12\x1b\n\x0fglobal_features\x18\x03 \x01(\x0c\x42\x02\x18\x01\x12\r\n\x05\x61lias\x18\x04 \x01(\t\x12\r\n\x05\x63olor\x18\x05 \x01(\t\x12*\n\x0enode_addresses\x18\x07 \x03(\x0b\x32\x12.lnrpc.NodeAddress\x12\x31\n\x08\x66\x65\x61tures\x18\x06 \x03(\x0b\x32\x1f.lnrpc.NodeUpdate.FeaturesEntry\x1a?\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.lnrpc.Feature:\x02\x38\x01\"\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\"\x86\x01\n\x07HopHint\x12\x0f\n\x07node_id\x18\x01 \x01(\t\x12\x13\n\x07\x63han_id\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x15\n\rfee_base_msat\x18\x03 \x01(\r\x12#\n\x1b\x66\x65\x65_proportional_millionths\x18\x04 \x01(\r\x12\x19\n\x11\x63ltv_expiry_delta\x18\x05 \x01(\r\".\n\tRouteHint\x12!\n\thop_hints\x18\x01 \x03(\x0b\x32\x0e.lnrpc.HopHint\"\xf5\x05\n\x07Invoice\x12\x0c\n\x04memo\x18\x01 \x01(\t\x12\x12\n\nr_preimage\x18\x03 \x01(\x0c\x12\x0e\n\x06r_hash\x18\x04 \x01(\x0c\x12\r\n\x05value\x18\x05 \x01(\x03\x12\x12\n\nvalue_msat\x18\x17 \x01(\x03\x12\x13\n\x07settled\x18\x06 \x01(\x08\x42\x02\x18\x01\x12\x15\n\rcreation_date\x18\x07 \x01(\x03\x12\x13\n\x0bsettle_date\x18\x08 \x01(\x03\x12\x17\n\x0fpayment_request\x18\t \x01(\t\x12\x18\n\x10\x64\x65scription_hash\x18\n \x01(\x0c\x12\x0e\n\x06\x65xpiry\x18\x0b \x01(\x03\x12\x15\n\rfallback_addr\x18\x0c \x01(\t\x12\x13\n\x0b\x63ltv_expiry\x18\r \x01(\x04\x12%\n\x0broute_hints\x18\x0e \x03(\x0b\x32\x10.lnrpc.RouteHint\x12\x0f\n\x07private\x18\x0f \x01(\x08\x12\x11\n\tadd_index\x18\x10 \x01(\x04\x12\x14\n\x0csettle_index\x18\x11 \x01(\x04\x12\x14\n\x08\x61mt_paid\x18\x12 \x01(\x03\x42\x02\x18\x01\x12\x14\n\x0c\x61mt_paid_sat\x18\x13 \x01(\x03\x12\x15\n\ramt_paid_msat\x18\x14 \x01(\x03\x12*\n\x05state\x18\x15 \x01(\x0e\x32\x1b.lnrpc.Invoice.InvoiceState\x12!\n\x05htlcs\x18\x16 \x03(\x0b\x32\x12.lnrpc.InvoiceHTLC\x12.\n\x08\x66\x65\x61tures\x18\x18 \x03(\x0b\x32\x1c.lnrpc.Invoice.FeaturesEntry\x12\x12\n\nis_keysend\x18\x19 \x01(\x08\x12\x14\n\x0cpayment_addr\x18\x1a \x01(\x0c\x12\x0e\n\x06is_amp\x18\x1b \x01(\x08\x1a?\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.lnrpc.Feature:\x02\x38\x01\"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\x03J\x04\x08\x02\x10\x03\"\xf3\x02\n\x0bInvoiceHTLC\x12\x13\n\x07\x63han_id\x18\x01 \x01(\x04\x42\x02\x30\x01\x12\x12\n\nhtlc_index\x18\x02 \x01(\x04\x12\x10\n\x08\x61mt_msat\x18\x03 \x01(\x04\x12\x15\n\raccept_height\x18\x04 \x01(\x05\x12\x13\n\x0b\x61\x63\x63\x65pt_time\x18\x05 \x01(\x03\x12\x14\n\x0cresolve_time\x18\x06 \x01(\x03\x12\x15\n\rexpiry_height\x18\x07 \x01(\x05\x12&\n\x05state\x18\x08 \x01(\x0e\x32\x17.lnrpc.InvoiceHTLCState\x12=\n\x0e\x63ustom_records\x18\t \x03(\x0b\x32%.lnrpc.InvoiceHTLC.CustomRecordsEntry\x12\x1a\n\x12mpp_total_amt_msat\x18\n \x01(\x04\x12\x17\n\x03\x61mp\x18\x0b \x01(\x0b\x32\n.lnrpc.AMP\x1a\x34\n\x12\x43ustomRecordsEntry\x12\x0b\n\x03key\x18\x01 \x01(\x04\x12\r\n\x05value\x18\x02 \x01(\x0c:\x02\x38\x01\"^\n\x03\x41MP\x12\x12\n\nroot_share\x18\x01 \x01(\x0c\x12\x0e\n\x06set_id\x18\x02 \x01(\x0c\x12\x13\n\x0b\x63hild_index\x18\x03 \x01(\r\x12\x0c\n\x04hash\x18\x04 \x01(\x0c\x12\x10\n\x08preimage\x18\x05 \x01(\x0c\"f\n\x12\x41\x64\x64InvoiceResponse\x12\x0e\n\x06r_hash\x18\x01 \x01(\x0c\x12\x17\n\x0fpayment_request\x18\x02 \x01(\t\x12\x11\n\tadd_index\x18\x10 \x01(\x04\x12\x14\n\x0cpayment_addr\x18\x11 \x01(\x0c\"5\n\x0bPaymentHash\x12\x16\n\nr_hash_str\x18\x01 \x01(\tB\x02\x18\x01\x12\x0e\n\x06r_hash\x18\x02 \x01(\x0c\"l\n\x12ListInvoiceRequest\x12\x14\n\x0cpending_only\x18\x01 \x01(\x08\x12\x14\n\x0cindex_offset\x18\x04 \x01(\x04\x12\x18\n\x10num_max_invoices\x18\x05 \x01(\x04\x12\x10\n\x08reversed\x18\x06 \x01(\x08\"n\n\x13ListInvoiceResponse\x12 \n\x08invoices\x18\x01 \x03(\x0b\x32\x0e.lnrpc.Invoice\x12\x19\n\x11last_index_offset\x18\x02 \x01(\x04\x12\x1a\n\x12\x66irst_index_offset\x18\x03 \x01(\x04\">\n\x13InvoiceSubscription\x12\x11\n\tadd_index\x18\x01 \x01(\x04\x12\x14\n\x0csettle_index\x18\x02 \x01(\x04\"\xe0\x03\n\x07Payment\x12\x14\n\x0cpayment_hash\x18\x01 \x01(\t\x12\x11\n\x05value\x18\x02 \x01(\x03\x42\x02\x18\x01\x12\x19\n\rcreation_date\x18\x03 \x01(\x03\x42\x02\x18\x01\x12\x0f\n\x03\x66\x65\x65\x18\x05 \x01(\x03\x42\x02\x18\x01\x12\x18\n\x10payment_preimage\x18\x06 \x01(\t\x12\x11\n\tvalue_sat\x18\x07 \x01(\x03\x12\x12\n\nvalue_msat\x18\x08 \x01(\x03\x12\x17\n\x0fpayment_request\x18\t \x01(\t\x12,\n\x06status\x18\n \x01(\x0e\x32\x1c.lnrpc.Payment.PaymentStatus\x12\x0f\n\x07\x66\x65\x65_sat\x18\x0b \x01(\x03\x12\x10\n\x08\x66\x65\x65_msat\x18\x0c \x01(\x03\x12\x18\n\x10\x63reation_time_ns\x18\r \x01(\x03\x12!\n\x05htlcs\x18\x0e \x03(\x0b\x32\x12.lnrpc.HTLCAttempt\x12\x15\n\rpayment_index\x18\x0f \x01(\x04\x12\x33\n\x0e\x66\x61ilure_reason\x18\x10 \x01(\x0e\x32\x1b.lnrpc.PaymentFailureReason\"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\x03J\x04\x08\x04\x10\x05\"\x8a\x02\n\x0bHTLCAttempt\x12\x12\n\nattempt_id\x18\x07 \x01(\x04\x12-\n\x06status\x18\x01 \x01(\x0e\x32\x1d.lnrpc.HTLCAttempt.HTLCStatus\x12\x1b\n\x05route\x18\x02 \x01(\x0b\x32\x0c.lnrpc.Route\x12\x17\n\x0f\x61ttempt_time_ns\x18\x03 \x01(\x03\x12\x17\n\x0fresolve_time_ns\x18\x04 \x01(\x03\x12\x1f\n\x07\x66\x61ilure\x18\x05 \x01(\x0b\x32\x0e.lnrpc.Failure\x12\x10\n\x08preimage\x18\x06 \x01(\x0c\"6\n\nHTLCStatus\x12\r\n\tIN_FLIGHT\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02\"o\n\x13ListPaymentsRequest\x12\x1a\n\x12include_incomplete\x18\x01 \x01(\x08\x12\x14\n\x0cindex_offset\x18\x02 \x01(\x04\x12\x14\n\x0cmax_payments\x18\x03 \x01(\x04\x12\x10\n\x08reversed\x18\x04 \x01(\x08\"o\n\x14ListPaymentsResponse\x12 \n\x08payments\x18\x01 \x03(\x0b\x32\x0e.lnrpc.Payment\x12\x1a\n\x12\x66irst_index_offset\x18\x02 \x01(\x04\x12\x19\n\x11last_index_offset\x18\x03 \x01(\x04\"S\n\x18\x44\x65leteAllPaymentsRequest\x12\x1c\n\x14\x66\x61iled_payments_only\x18\x01 \x01(\x08\x12\x19\n\x11\x66\x61iled_htlcs_only\x18\x02 \x01(\x08\"\x1b\n\x19\x44\x65leteAllPaymentsResponse\"\x86\x01\n\x15\x41\x62\x61ndonChannelRequest\x12*\n\rchannel_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\x12!\n\x19pending_funding_shim_only\x18\x02 \x01(\x08\x12\x1e\n\x16i_know_what_i_am_doing\x18\x03 \x01(\x08\"\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\")\n\x12\x44\x65\x62ugLevelResponse\x12\x13\n\x0bsub_systems\x18\x01 \x01(\t\"\x1f\n\x0cPayReqString\x12\x0f\n\x07pay_req\x18\x01 \x01(\t\"\x86\x03\n\x06PayReq\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12\x14\n\x0cpayment_hash\x18\x02 \x01(\t\x12\x14\n\x0cnum_satoshis\x18\x03 \x01(\x03\x12\x11\n\ttimestamp\x18\x04 \x01(\x03\x12\x0e\n\x06\x65xpiry\x18\x05 \x01(\x03\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x18\n\x10\x64\x65scription_hash\x18\x07 \x01(\t\x12\x15\n\rfallback_addr\x18\x08 \x01(\t\x12\x13\n\x0b\x63ltv_expiry\x18\t \x01(\x03\x12%\n\x0broute_hints\x18\n \x03(\x0b\x32\x10.lnrpc.RouteHint\x12\x14\n\x0cpayment_addr\x18\x0b \x01(\x0c\x12\x10\n\x08num_msat\x18\x0c \x01(\x03\x12-\n\x08\x66\x65\x61tures\x18\r \x03(\x0b\x32\x1b.lnrpc.PayReq.FeaturesEntry\x1a?\n\rFeaturesEntry\x12\x0b\n\x03key\x18\x01 \x01(\r\x12\x1d\n\x05value\x18\x02 \x01(\x0b\x32\x0e.lnrpc.Feature:\x02\x38\x01\">\n\x07\x46\x65\x61ture\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x13\n\x0bis_required\x18\x03 \x01(\x08\x12\x10\n\x08is_known\x18\x04 \x01(\x08\"\x12\n\x10\x46\x65\x65ReportRequest\"|\n\x10\x43hannelFeeReport\x12\x13\n\x07\x63han_id\x18\x05 \x01(\x04\x42\x02\x30\x01\x12\x15\n\rchannel_point\x18\x01 \x01(\t\x12\x15\n\rbase_fee_msat\x18\x02 \x01(\x03\x12\x13\n\x0b\x66\x65\x65_per_mil\x18\x03 \x01(\x03\x12\x10\n\x08\x66\x65\x65_rate\x18\x04 \x01(\x01\"\x84\x01\n\x11\x46\x65\x65ReportResponse\x12-\n\x0c\x63hannel_fees\x18\x01 \x03(\x0b\x32\x17.lnrpc.ChannelFeeReport\x12\x13\n\x0b\x64\x61y_fee_sum\x18\x02 \x01(\x04\x12\x14\n\x0cweek_fee_sum\x18\x03 \x01(\x04\x12\x15\n\rmonth_fee_sum\x18\x04 \x01(\x04\"\xec\x01\n\x13PolicyUpdateRequest\x12\x10\n\x06global\x18\x01 \x01(\x08H\x00\x12)\n\nchan_point\x18\x02 \x01(\x0b\x32\x13.lnrpc.ChannelPointH\x00\x12\x15\n\rbase_fee_msat\x18\x03 \x01(\x03\x12\x10\n\x08\x66\x65\x65_rate\x18\x04 \x01(\x01\x12\x17\n\x0ftime_lock_delta\x18\x05 \x01(\r\x12\x15\n\rmax_htlc_msat\x18\x06 \x01(\x04\x12\x15\n\rmin_htlc_msat\x18\x07 \x01(\x04\x12\x1f\n\x17min_htlc_msat_specified\x18\x08 \x01(\x08\x42\x07\n\x05scope\"\x16\n\x14PolicyUpdateResponse\"n\n\x18\x46orwardingHistoryRequest\x12\x12\n\nstart_time\x18\x01 \x01(\x04\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x04\x12\x14\n\x0cindex_offset\x18\x03 \x01(\r\x12\x16\n\x0enum_max_events\x18\x04 \x01(\r\"\xda\x01\n\x0f\x46orwardingEvent\x12\x15\n\ttimestamp\x18\x01 \x01(\x04\x42\x02\x18\x01\x12\x16\n\nchan_id_in\x18\x02 \x01(\x04\x42\x02\x30\x01\x12\x17\n\x0b\x63han_id_out\x18\x04 \x01(\x04\x42\x02\x30\x01\x12\x0e\n\x06\x61mt_in\x18\x05 \x01(\x04\x12\x0f\n\x07\x61mt_out\x18\x06 \x01(\x04\x12\x0b\n\x03\x66\x65\x65\x18\x07 \x01(\x04\x12\x10\n\x08\x66\x65\x65_msat\x18\x08 \x01(\x04\x12\x13\n\x0b\x61mt_in_msat\x18\t \x01(\x04\x12\x14\n\x0c\x61mt_out_msat\x18\n \x01(\x04\x12\x14\n\x0ctimestamp_ns\x18\x0b \x01(\x04\"i\n\x19\x46orwardingHistoryResponse\x12\x31\n\x11\x66orwarding_events\x18\x01 \x03(\x0b\x32\x16.lnrpc.ForwardingEvent\x12\x19\n\x11last_offset_index\x18\x02 \x01(\r\"E\n\x1a\x45xportChannelBackupRequest\x12\'\n\nchan_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\"M\n\rChannelBackup\x12\'\n\nchan_point\x18\x01 \x01(\x0b\x32\x13.lnrpc.ChannelPoint\x12\x13\n\x0b\x63han_backup\x18\x02 \x01(\x0c\"V\n\x0fMultiChanBackup\x12(\n\x0b\x63han_points\x18\x01 \x03(\x0b\x32\x13.lnrpc.ChannelPoint\x12\x19\n\x11multi_chan_backup\x18\x02 \x01(\x0c\"\x19\n\x17\x43hanBackupExportRequest\"{\n\x12\x43hanBackupSnapshot\x12\x32\n\x13single_chan_backups\x18\x01 \x01(\x0b\x32\x15.lnrpc.ChannelBackups\x12\x31\n\x11multi_chan_backup\x18\x02 \x01(\x0b\x32\x16.lnrpc.MultiChanBackup\"<\n\x0e\x43hannelBackups\x12*\n\x0c\x63han_backups\x18\x01 \x03(\x0b\x32\x14.lnrpc.ChannelBackup\"p\n\x18RestoreChanBackupRequest\x12-\n\x0c\x63han_backups\x18\x01 \x01(\x0b\x32\x15.lnrpc.ChannelBackupsH\x00\x12\x1b\n\x11multi_chan_backup\x18\x02 \x01(\x0cH\x00\x42\x08\n\x06\x62\x61\x63kup\"\x17\n\x15RestoreBackupResponse\"\x1b\n\x19\x43hannelBackupSubscription\"\x1a\n\x18VerifyChanBackupResponse\"4\n\x12MacaroonPermission\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\t\x12\x0e\n\x06\x61\x63tion\x18\x02 \x01(\t\"Z\n\x13\x42\x61keMacaroonRequest\x12.\n\x0bpermissions\x18\x01 \x03(\x0b\x32\x19.lnrpc.MacaroonPermission\x12\x13\n\x0broot_key_id\x18\x02 \x01(\x04\"(\n\x14\x42\x61keMacaroonResponse\x12\x10\n\x08macaroon\x18\x01 \x01(\t\"\x18\n\x16ListMacaroonIDsRequest\"/\n\x17ListMacaroonIDsResponse\x12\x14\n\x0croot_key_ids\x18\x01 \x03(\x04\".\n\x17\x44\x65leteMacaroonIDRequest\x12\x13\n\x0broot_key_id\x18\x01 \x01(\x04\"+\n\x18\x44\x65leteMacaroonIDResponse\x12\x0f\n\x07\x64\x65leted\x18\x01 \x01(\x08\"H\n\x16MacaroonPermissionList\x12.\n\x0bpermissions\x18\x01 \x03(\x0b\x32\x19.lnrpc.MacaroonPermission\"\x18\n\x16ListPermissionsRequest\"\xc5\x01\n\x17ListPermissionsResponse\x12Q\n\x12method_permissions\x18\x01 \x03(\x0b\x32\x35.lnrpc.ListPermissionsResponse.MethodPermissionsEntry\x1aW\n\x16MethodPermissionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12,\n\x05value\x18\x02 \x01(\x0b\x32\x1d.lnrpc.MacaroonPermissionList:\x02\x38\x01\"\xd5\x07\n\x07\x46\x61ilure\x12(\n\x04\x63ode\x18\x01 \x01(\x0e\x32\x1a.lnrpc.Failure.FailureCode\x12,\n\x0e\x63hannel_update\x18\x03 \x01(\x0b\x32\x14.lnrpc.ChannelUpdate\x12\x11\n\thtlc_msat\x18\x04 \x01(\x04\x12\x15\n\ronion_sha_256\x18\x05 \x01(\x0c\x12\x13\n\x0b\x63ltv_expiry\x18\x06 \x01(\r\x12\r\n\x05\x66lags\x18\x07 \x01(\r\x12\x1c\n\x14\x66\x61ilure_source_index\x18\x08 \x01(\r\x12\x0e\n\x06height\x18\t \x01(\r\"\xef\x05\n\x0b\x46\x61ilureCode\x12\x0c\n\x08RESERVED\x10\x00\x12(\n$INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS\x10\x01\x12\x1c\n\x18INCORRECT_PAYMENT_AMOUNT\x10\x02\x12\x1f\n\x1b\x46INAL_INCORRECT_CLTV_EXPIRY\x10\x03\x12\x1f\n\x1b\x46INAL_INCORRECT_HTLC_AMOUNT\x10\x04\x12\x19\n\x15\x46INAL_EXPIRY_TOO_SOON\x10\x05\x12\x11\n\rINVALID_REALM\x10\x06\x12\x13\n\x0f\x45XPIRY_TOO_SOON\x10\x07\x12\x19\n\x15INVALID_ONION_VERSION\x10\x08\x12\x16\n\x12INVALID_ONION_HMAC\x10\t\x12\x15\n\x11INVALID_ONION_KEY\x10\n\x12\x18\n\x14\x41MOUNT_BELOW_MINIMUM\x10\x0b\x12\x14\n\x10\x46\x45\x45_INSUFFICIENT\x10\x0c\x12\x19\n\x15INCORRECT_CLTV_EXPIRY\x10\r\x12\x14\n\x10\x43HANNEL_DISABLED\x10\x0e\x12\x1d\n\x19TEMPORARY_CHANNEL_FAILURE\x10\x0f\x12!\n\x1dREQUIRED_NODE_FEATURE_MISSING\x10\x10\x12$\n REQUIRED_CHANNEL_FEATURE_MISSING\x10\x11\x12\x15\n\x11UNKNOWN_NEXT_PEER\x10\x12\x12\x1a\n\x16TEMPORARY_NODE_FAILURE\x10\x13\x12\x1a\n\x16PERMANENT_NODE_FAILURE\x10\x14\x12\x1d\n\x19PERMANENT_CHANNEL_FAILURE\x10\x15\x12\x12\n\x0e\x45XPIRY_TOO_FAR\x10\x16\x12\x0f\n\x0bMPP_TIMEOUT\x10\x17\x12\x19\n\x15INVALID_ONION_PAYLOAD\x10\x18\x12\x15\n\x10INTERNAL_FAILURE\x10\xe5\x07\x12\x14\n\x0fUNKNOWN_FAILURE\x10\xe6\x07\x12\x17\n\x12UNREADABLE_FAILURE\x10\xe7\x07J\x04\x08\x02\x10\x03\"\x9a\x02\n\rChannelUpdate\x12\x11\n\tsignature\x18\x01 \x01(\x0c\x12\x12\n\nchain_hash\x18\x02 \x01(\x0c\x12\x13\n\x07\x63han_id\x18\x03 \x01(\x04\x42\x02\x30\x01\x12\x11\n\ttimestamp\x18\x04 \x01(\r\x12\x15\n\rmessage_flags\x18\n \x01(\r\x12\x15\n\rchannel_flags\x18\x05 \x01(\r\x12\x17\n\x0ftime_lock_delta\x18\x06 \x01(\r\x12\x19\n\x11htlc_minimum_msat\x18\x07 \x01(\x04\x12\x10\n\x08\x62\x61se_fee\x18\x08 \x01(\r\x12\x10\n\x08\x66\x65\x65_rate\x18\t \x01(\r\x12\x19\n\x11htlc_maximum_msat\x18\x0b \x01(\x04\x12\x19\n\x11\x65xtra_opaque_data\x18\x0c \x01(\x0c\"F\n\nMacaroonId\x12\r\n\x05nonce\x18\x01 \x01(\x0c\x12\x11\n\tstorageId\x18\x02 \x01(\x0c\x12\x16\n\x03ops\x18\x03 \x03(\x0b\x32\t.lnrpc.Op\"%\n\x02Op\x12\x0e\n\x06\x65ntity\x18\x01 \x01(\t\x12\x0f\n\x07\x61\x63tions\x18\x02 \x03(\t*}\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\x0e\x43ommitmentType\x12\n\n\x06LEGACY\x10\x00\x12\x15\n\x11STATIC_REMOTE_KEY\x10\x01\x12\x0b\n\x07\x41NCHORS\x10\x02\x12\x1c\n\x17UNKNOWN_COMMITMENT_TYPE\x10\xe7\x07*a\n\tInitiator\x12\x15\n\x11INITIATOR_UNKNOWN\x10\x00\x12\x13\n\x0fINITIATOR_LOCAL\x10\x01\x12\x14\n\x10INITIATOR_REMOTE\x10\x02\x12\x12\n\x0eINITIATOR_BOTH\x10\x03*`\n\x0eResolutionType\x12\x10\n\x0cTYPE_UNKNOWN\x10\x00\x12\n\n\x06\x41NCHOR\x10\x01\x12\x11\n\rINCOMING_HTLC\x10\x02\x12\x11\n\rOUTGOING_HTLC\x10\x03\x12\n\n\x06\x43OMMIT\x10\x04*q\n\x11ResolutionOutcome\x12\x13\n\x0fOUTCOME_UNKNOWN\x10\x00\x12\x0b\n\x07\x43LAIMED\x10\x01\x12\r\n\tUNCLAIMED\x10\x02\x12\r\n\tABANDONED\x10\x03\x12\x0f\n\x0b\x46IRST_STAGE\x10\x04\x12\x0b\n\x07TIMEOUT\x10\x05*9\n\x0eNodeMetricType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x1a\n\x16\x42\x45TWEENNESS_CENTRALITY\x10\x01*;\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*\xd9\x01\n\x14PaymentFailureReason\x12\x17\n\x13\x46\x41ILURE_REASON_NONE\x10\x00\x12\x1a\n\x16\x46\x41ILURE_REASON_TIMEOUT\x10\x01\x12\x1b\n\x17\x46\x41ILURE_REASON_NO_ROUTE\x10\x02\x12\x18\n\x14\x46\x41ILURE_REASON_ERROR\x10\x03\x12,\n(FAILURE_REASON_INCORRECT_PAYMENT_DETAILS\x10\x04\x12\'\n#FAILURE_REASON_INSUFFICIENT_BALANCE\x10\x05*\xcf\x04\n\nFeatureBit\x12\x18\n\x14\x44\x41TALOSS_PROTECT_REQ\x10\x00\x12\x18\n\x14\x44\x41TALOSS_PROTECT_OPT\x10\x01\x12\x17\n\x13INITIAL_ROUING_SYNC\x10\x03\x12\x1f\n\x1bUPFRONT_SHUTDOWN_SCRIPT_REQ\x10\x04\x12\x1f\n\x1bUPFRONT_SHUTDOWN_SCRIPT_OPT\x10\x05\x12\x16\n\x12GOSSIP_QUERIES_REQ\x10\x06\x12\x16\n\x12GOSSIP_QUERIES_OPT\x10\x07\x12\x11\n\rTLV_ONION_REQ\x10\x08\x12\x11\n\rTLV_ONION_OPT\x10\t\x12\x1a\n\x16\x45XT_GOSSIP_QUERIES_REQ\x10\n\x12\x1a\n\x16\x45XT_GOSSIP_QUERIES_OPT\x10\x0b\x12\x19\n\x15STATIC_REMOTE_KEY_REQ\x10\x0c\x12\x19\n\x15STATIC_REMOTE_KEY_OPT\x10\r\x12\x14\n\x10PAYMENT_ADDR_REQ\x10\x0e\x12\x14\n\x10PAYMENT_ADDR_OPT\x10\x0f\x12\x0b\n\x07MPP_REQ\x10\x10\x12\x0b\n\x07MPP_OPT\x10\x11\x12\x16\n\x12WUMBO_CHANNELS_REQ\x10\x12\x12\x16\n\x12WUMBO_CHANNELS_OPT\x10\x13\x12\x0f\n\x0b\x41NCHORS_REQ\x10\x14\x12\x0f\n\x0b\x41NCHORS_OPT\x10\x15\x12\x1d\n\x19\x41NCHORS_ZERO_FEE_HTLC_REQ\x10\x16\x12\x1d\n\x19\x41NCHORS_ZERO_FEE_HTLC_OPT\x10\x17\x12\x0b\n\x07\x41MP_REQ\x10\x1e\x12\x0b\n\x07\x41MP_OPT\x10\x1f\x32\xc9!\n\tLightning\x12J\n\rWalletBalance\x12\x1b.lnrpc.WalletBalanceRequest\x1a\x1c.lnrpc.WalletBalanceResponse\x12M\n\x0e\x43hannelBalance\x12\x1c.lnrpc.ChannelBalanceRequest\x1a\x1d.lnrpc.ChannelBalanceResponse\x12K\n\x0fGetTransactions\x12\x1d.lnrpc.GetTransactionsRequest\x1a\x19.lnrpc.TransactionDetails\x12\x44\n\x0b\x45stimateFee\x12\x19.lnrpc.EstimateFeeRequest\x1a\x1a.lnrpc.EstimateFeeResponse\x12>\n\tSendCoins\x12\x17.lnrpc.SendCoinsRequest\x1a\x18.lnrpc.SendCoinsResponse\x12\x44\n\x0bListUnspent\x12\x19.lnrpc.ListUnspentRequest\x1a\x1a.lnrpc.ListUnspentResponse\x12L\n\x15SubscribeTransactions\x12\x1d.lnrpc.GetTransactionsRequest\x1a\x12.lnrpc.Transaction0\x01\x12;\n\x08SendMany\x12\x16.lnrpc.SendManyRequest\x1a\x17.lnrpc.SendManyResponse\x12\x41\n\nNewAddress\x12\x18.lnrpc.NewAddressRequest\x1a\x19.lnrpc.NewAddressResponse\x12\x44\n\x0bSignMessage\x12\x19.lnrpc.SignMessageRequest\x1a\x1a.lnrpc.SignMessageResponse\x12J\n\rVerifyMessage\x12\x1b.lnrpc.VerifyMessageRequest\x1a\x1c.lnrpc.VerifyMessageResponse\x12\x44\n\x0b\x43onnectPeer\x12\x19.lnrpc.ConnectPeerRequest\x1a\x1a.lnrpc.ConnectPeerResponse\x12M\n\x0e\x44isconnectPeer\x12\x1c.lnrpc.DisconnectPeerRequest\x1a\x1d.lnrpc.DisconnectPeerResponse\x12>\n\tListPeers\x12\x17.lnrpc.ListPeersRequest\x1a\x18.lnrpc.ListPeersResponse\x12G\n\x13SubscribePeerEvents\x12\x1c.lnrpc.PeerEventSubscription\x1a\x10.lnrpc.PeerEvent0\x01\x12\x38\n\x07GetInfo\x12\x15.lnrpc.GetInfoRequest\x1a\x16.lnrpc.GetInfoResponse\x12P\n\x0fGetRecoveryInfo\x12\x1d.lnrpc.GetRecoveryInfoRequest\x1a\x1e.lnrpc.GetRecoveryInfoResponse\x12P\n\x0fPendingChannels\x12\x1d.lnrpc.PendingChannelsRequest\x1a\x1e.lnrpc.PendingChannelsResponse\x12G\n\x0cListChannels\x12\x1a.lnrpc.ListChannelsRequest\x1a\x1b.lnrpc.ListChannelsResponse\x12V\n\x16SubscribeChannelEvents\x12\x1f.lnrpc.ChannelEventSubscription\x1a\x19.lnrpc.ChannelEventUpdate0\x01\x12M\n\x0e\x43losedChannels\x12\x1c.lnrpc.ClosedChannelsRequest\x1a\x1d.lnrpc.ClosedChannelsResponse\x12\x41\n\x0fOpenChannelSync\x12\x19.lnrpc.OpenChannelRequest\x1a\x13.lnrpc.ChannelPoint\x12\x43\n\x0bOpenChannel\x12\x19.lnrpc.OpenChannelRequest\x1a\x17.lnrpc.OpenStatusUpdate0\x01\x12L\n\x10\x46undingStateStep\x12\x1b.lnrpc.FundingTransitionMsg\x1a\x1b.lnrpc.FundingStateStepResp\x12P\n\x0f\x43hannelAcceptor\x12\x1c.lnrpc.ChannelAcceptResponse\x1a\x1b.lnrpc.ChannelAcceptRequest(\x01\x30\x01\x12\x46\n\x0c\x43loseChannel\x12\x1a.lnrpc.CloseChannelRequest\x1a\x18.lnrpc.CloseStatusUpdate0\x01\x12M\n\x0e\x41\x62\x61ndonChannel\x12\x1c.lnrpc.AbandonChannelRequest\x1a\x1d.lnrpc.AbandonChannelResponse\x12?\n\x0bSendPayment\x12\x12.lnrpc.SendRequest\x1a\x13.lnrpc.SendResponse\"\x03\x88\x02\x01(\x01\x30\x01\x12:\n\x0fSendPaymentSync\x12\x12.lnrpc.SendRequest\x1a\x13.lnrpc.SendResponse\x12\x46\n\x0bSendToRoute\x12\x19.lnrpc.SendToRouteRequest\x1a\x13.lnrpc.SendResponse\"\x03\x88\x02\x01(\x01\x30\x01\x12\x41\n\x0fSendToRouteSync\x12\x19.lnrpc.SendToRouteRequest\x1a\x13.lnrpc.SendResponse\x12\x37\n\nAddInvoice\x12\x0e.lnrpc.Invoice\x1a\x19.lnrpc.AddInvoiceResponse\x12\x45\n\x0cListInvoices\x12\x19.lnrpc.ListInvoiceRequest\x1a\x1a.lnrpc.ListInvoiceResponse\x12\x33\n\rLookupInvoice\x12\x12.lnrpc.PaymentHash\x1a\x0e.lnrpc.Invoice\x12\x41\n\x11SubscribeInvoices\x12\x1a.lnrpc.InvoiceSubscription\x1a\x0e.lnrpc.Invoice0\x01\x12\x32\n\x0c\x44\x65\x63odePayReq\x12\x13.lnrpc.PayReqString\x1a\r.lnrpc.PayReq\x12G\n\x0cListPayments\x12\x1a.lnrpc.ListPaymentsRequest\x1a\x1b.lnrpc.ListPaymentsResponse\x12V\n\x11\x44\x65leteAllPayments\x12\x1f.lnrpc.DeleteAllPaymentsRequest\x1a .lnrpc.DeleteAllPaymentsResponse\x12@\n\rDescribeGraph\x12\x1a.lnrpc.ChannelGraphRequest\x1a\x13.lnrpc.ChannelGraph\x12G\n\x0eGetNodeMetrics\x12\x19.lnrpc.NodeMetricsRequest\x1a\x1a.lnrpc.NodeMetricsResponse\x12\x39\n\x0bGetChanInfo\x12\x16.lnrpc.ChanInfoRequest\x1a\x12.lnrpc.ChannelEdge\x12\x36\n\x0bGetNodeInfo\x12\x16.lnrpc.NodeInfoRequest\x1a\x0f.lnrpc.NodeInfo\x12\x44\n\x0bQueryRoutes\x12\x19.lnrpc.QueryRoutesRequest\x1a\x1a.lnrpc.QueryRoutesResponse\x12?\n\x0eGetNetworkInfo\x12\x19.lnrpc.NetworkInfoRequest\x1a\x12.lnrpc.NetworkInfo\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\x12>\n\tFeeReport\x12\x17.lnrpc.FeeReportRequest\x1a\x18.lnrpc.FeeReportResponse\x12N\n\x13UpdateChannelPolicy\x12\x1a.lnrpc.PolicyUpdateRequest\x1a\x1b.lnrpc.PolicyUpdateResponse\x12V\n\x11\x46orwardingHistory\x12\x1f.lnrpc.ForwardingHistoryRequest\x1a .lnrpc.ForwardingHistoryResponse\x12N\n\x13\x45xportChannelBackup\x12!.lnrpc.ExportChannelBackupRequest\x1a\x14.lnrpc.ChannelBackup\x12T\n\x17\x45xportAllChannelBackups\x12\x1e.lnrpc.ChanBackupExportRequest\x1a\x19.lnrpc.ChanBackupSnapshot\x12N\n\x10VerifyChanBackup\x12\x19.lnrpc.ChanBackupSnapshot\x1a\x1f.lnrpc.VerifyChanBackupResponse\x12V\n\x15RestoreChannelBackups\x12\x1f.lnrpc.RestoreChanBackupRequest\x1a\x1c.lnrpc.RestoreBackupResponse\x12X\n\x17SubscribeChannelBackups\x12 .lnrpc.ChannelBackupSubscription\x1a\x19.lnrpc.ChanBackupSnapshot0\x01\x12G\n\x0c\x42\x61keMacaroon\x12\x1a.lnrpc.BakeMacaroonRequest\x1a\x1b.lnrpc.BakeMacaroonResponse\x12P\n\x0fListMacaroonIDs\x12\x1d.lnrpc.ListMacaroonIDsRequest\x1a\x1e.lnrpc.ListMacaroonIDsResponse\x12S\n\x10\x44\x65leteMacaroonID\x12\x1e.lnrpc.DeleteMacaroonIDRequest\x1a\x1f.lnrpc.DeleteMacaroonIDResponse\x12P\n\x0fListPermissions\x12\x1d.lnrpc.ListPermissionsRequest\x1a\x1e.lnrpc.ListPermissionsResponseB\'Z%github.com/lightningnetwork/lnd/lnrpcb\x06proto3' +) + +_ADDRESSTYPE = _descriptor.EnumDescriptor( + name='AddressType', + full_name='lnrpc.AddressType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='WITNESS_PUBKEY_HASH', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='NESTED_PUBKEY_HASH', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UNUSED_WITNESS_PUBKEY_HASH', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UNUSED_NESTED_PUBKEY_HASH', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=24186, + serialized_end=24311, +) +_sym_db.RegisterEnumDescriptor(_ADDRESSTYPE) + +AddressType = enum_type_wrapper.EnumTypeWrapper(_ADDRESSTYPE) +_COMMITMENTTYPE = _descriptor.EnumDescriptor( + name='CommitmentType', + full_name='lnrpc.CommitmentType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='LEGACY', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATIC_REMOTE_KEY', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ANCHORS', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UNKNOWN_COMMITMENT_TYPE', index=3, number=999, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=24313, + serialized_end=24407, +) +_sym_db.RegisterEnumDescriptor(_COMMITMENTTYPE) + +CommitmentType = enum_type_wrapper.EnumTypeWrapper(_COMMITMENTTYPE) +_INITIATOR = _descriptor.EnumDescriptor( + name='Initiator', + full_name='lnrpc.Initiator', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='INITIATOR_UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INITIATOR_LOCAL', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INITIATOR_REMOTE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INITIATOR_BOTH', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=24409, + serialized_end=24506, +) +_sym_db.RegisterEnumDescriptor(_INITIATOR) + +Initiator = enum_type_wrapper.EnumTypeWrapper(_INITIATOR) +_RESOLUTIONTYPE = _descriptor.EnumDescriptor( + name='ResolutionType', + full_name='lnrpc.ResolutionType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='TYPE_UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ANCHOR', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INCOMING_HTLC', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='OUTGOING_HTLC', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='COMMIT', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=24508, + serialized_end=24604, +) +_sym_db.RegisterEnumDescriptor(_RESOLUTIONTYPE) + +ResolutionType = enum_type_wrapper.EnumTypeWrapper(_RESOLUTIONTYPE) +_RESOLUTIONOUTCOME = _descriptor.EnumDescriptor( + name='ResolutionOutcome', + full_name='lnrpc.ResolutionOutcome', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='OUTCOME_UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='CLAIMED', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UNCLAIMED', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ABANDONED', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FIRST_STAGE', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='TIMEOUT', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=24606, + serialized_end=24719, +) +_sym_db.RegisterEnumDescriptor(_RESOLUTIONOUTCOME) + +ResolutionOutcome = enum_type_wrapper.EnumTypeWrapper(_RESOLUTIONOUTCOME) +_NODEMETRICTYPE = _descriptor.EnumDescriptor( + name='NodeMetricType', + full_name='lnrpc.NodeMetricType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='BETWEENNESS_CENTRALITY', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=24721, + serialized_end=24778, +) +_sym_db.RegisterEnumDescriptor(_NODEMETRICTYPE) + +NodeMetricType = enum_type_wrapper.EnumTypeWrapper(_NODEMETRICTYPE) +_INVOICEHTLCSTATE = _descriptor.EnumDescriptor( + name='InvoiceHTLCState', + full_name='lnrpc.InvoiceHTLCState', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='ACCEPTED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SETTLED', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='CANCELED', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=24780, + serialized_end=24839, +) +_sym_db.RegisterEnumDescriptor(_INVOICEHTLCSTATE) + +InvoiceHTLCState = enum_type_wrapper.EnumTypeWrapper(_INVOICEHTLCSTATE) +_PAYMENTFAILUREREASON = _descriptor.EnumDescriptor( + name='PaymentFailureReason', + full_name='lnrpc.PaymentFailureReason', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='FAILURE_REASON_NONE', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILURE_REASON_TIMEOUT', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILURE_REASON_NO_ROUTE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILURE_REASON_ERROR', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILURE_REASON_INCORRECT_PAYMENT_DETAILS', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILURE_REASON_INSUFFICIENT_BALANCE', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=24842, + serialized_end=25059, +) +_sym_db.RegisterEnumDescriptor(_PAYMENTFAILUREREASON) + +PaymentFailureReason = enum_type_wrapper.EnumTypeWrapper(_PAYMENTFAILUREREASON) +_FEATUREBIT = _descriptor.EnumDescriptor( + name='FeatureBit', + full_name='lnrpc.FeatureBit', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='DATALOSS_PROTECT_REQ', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='DATALOSS_PROTECT_OPT', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INITIAL_ROUING_SYNC', index=2, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UPFRONT_SHUTDOWN_SCRIPT_REQ', index=3, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UPFRONT_SHUTDOWN_SCRIPT_OPT', index=4, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='GOSSIP_QUERIES_REQ', index=5, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='GOSSIP_QUERIES_OPT', index=6, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='TLV_ONION_REQ', index=7, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='TLV_ONION_OPT', index=8, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='EXT_GOSSIP_QUERIES_REQ', index=9, number=10, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='EXT_GOSSIP_QUERIES_OPT', index=10, number=11, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATIC_REMOTE_KEY_REQ', index=11, number=12, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='STATIC_REMOTE_KEY_OPT', index=12, number=13, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='PAYMENT_ADDR_REQ', index=13, number=14, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='PAYMENT_ADDR_OPT', index=14, number=15, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='MPP_REQ', index=15, number=16, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='MPP_OPT', index=16, number=17, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='WUMBO_CHANNELS_REQ', index=17, number=18, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='WUMBO_CHANNELS_OPT', index=18, number=19, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ANCHORS_REQ', index=19, number=20, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ANCHORS_OPT', index=20, number=21, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ANCHORS_ZERO_FEE_HTLC_REQ', index=21, number=22, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ANCHORS_ZERO_FEE_HTLC_OPT', index=22, number=23, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='AMP_REQ', index=23, number=30, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='AMP_OPT', index=24, number=31, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=25062, + serialized_end=25653, +) +_sym_db.RegisterEnumDescriptor(_FEATUREBIT) + +FeatureBit = enum_type_wrapper.EnumTypeWrapper(_FEATUREBIT) +WITNESS_PUBKEY_HASH = 0 +NESTED_PUBKEY_HASH = 1 +UNUSED_WITNESS_PUBKEY_HASH = 2 +UNUSED_NESTED_PUBKEY_HASH = 3 +LEGACY = 0 +STATIC_REMOTE_KEY = 1 +ANCHORS = 2 +UNKNOWN_COMMITMENT_TYPE = 999 +INITIATOR_UNKNOWN = 0 +INITIATOR_LOCAL = 1 +INITIATOR_REMOTE = 2 +INITIATOR_BOTH = 3 +TYPE_UNKNOWN = 0 +ANCHOR = 1 +INCOMING_HTLC = 2 +OUTGOING_HTLC = 3 +COMMIT = 4 +OUTCOME_UNKNOWN = 0 +CLAIMED = 1 +UNCLAIMED = 2 +ABANDONED = 3 +FIRST_STAGE = 4 +TIMEOUT = 5 +UNKNOWN = 0 +BETWEENNESS_CENTRALITY = 1 +ACCEPTED = 0 +SETTLED = 1 +CANCELED = 2 +FAILURE_REASON_NONE = 0 +FAILURE_REASON_TIMEOUT = 1 +FAILURE_REASON_NO_ROUTE = 2 +FAILURE_REASON_ERROR = 3 +FAILURE_REASON_INCORRECT_PAYMENT_DETAILS = 4 +FAILURE_REASON_INSUFFICIENT_BALANCE = 5 +DATALOSS_PROTECT_REQ = 0 +DATALOSS_PROTECT_OPT = 1 +INITIAL_ROUING_SYNC = 3 +UPFRONT_SHUTDOWN_SCRIPT_REQ = 4 +UPFRONT_SHUTDOWN_SCRIPT_OPT = 5 +GOSSIP_QUERIES_REQ = 6 +GOSSIP_QUERIES_OPT = 7 +TLV_ONION_REQ = 8 +TLV_ONION_OPT = 9 +EXT_GOSSIP_QUERIES_REQ = 10 +EXT_GOSSIP_QUERIES_OPT = 11 +STATIC_REMOTE_KEY_REQ = 12 +STATIC_REMOTE_KEY_OPT = 13 +PAYMENT_ADDR_REQ = 14 +PAYMENT_ADDR_OPT = 15 +MPP_REQ = 16 +MPP_OPT = 17 +WUMBO_CHANNELS_REQ = 18 +WUMBO_CHANNELS_OPT = 19 +ANCHORS_REQ = 20 +ANCHORS_OPT = 21 +ANCHORS_ZERO_FEE_HTLC_REQ = 22 +ANCHORS_ZERO_FEE_HTLC_OPT = 23 +AMP_REQ = 30 +AMP_OPT = 31 + + +_CHANNELCLOSESUMMARY_CLOSURETYPE = _descriptor.EnumDescriptor( + name='ClosureType', + full_name='lnrpc.ChannelCloseSummary.ClosureType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='COOPERATIVE_CLOSE', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='LOCAL_FORCE_CLOSE', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='REMOTE_FORCE_CLOSE', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='BREACH_CLOSE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FUNDING_CANCELED', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ABANDONED', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=5407, + serialized_end=5545, +) +_sym_db.RegisterEnumDescriptor(_CHANNELCLOSESUMMARY_CLOSURETYPE) + +_PEER_SYNCTYPE = _descriptor.EnumDescriptor( + name='SyncType', + full_name='lnrpc.Peer.SyncType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN_SYNC', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ACTIVE_SYNC', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='PASSIVE_SYNC', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='PINNED_SYNC', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=6340, + serialized_end=6420, +) +_sym_db.RegisterEnumDescriptor(_PEER_SYNCTYPE) + +_PEEREVENT_EVENTTYPE = _descriptor.EnumDescriptor( + name='EventType', + full_name='lnrpc.PeerEvent.EventType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='PEER_ONLINE', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='PEER_OFFLINE', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=6664, + serialized_end=6710, +) +_sym_db.RegisterEnumDescriptor(_PEEREVENT_EVENTTYPE) + +_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL_ANCHORSTATE = _descriptor.EnumDescriptor( + name='AnchorState', + full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.AnchorState', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='LIMBO', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='RECOVERED', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='LOST', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=11522, + serialized_end=11571, +) +_sym_db.RegisterEnumDescriptor(_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL_ANCHORSTATE) + +_CHANNELEVENTUPDATE_UPDATETYPE = _descriptor.EnumDescriptor( + name='UpdateType', + full_name='lnrpc.ChannelEventUpdate.UpdateType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='OPEN_CHANNEL', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='CLOSED_CHANNEL', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ACTIVE_CHANNEL', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INACTIVE_CHANNEL', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='PENDING_OPEN_CHANNEL', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=11920, + serialized_end=12038, +) +_sym_db.RegisterEnumDescriptor(_CHANNELEVENTUPDATE_UPDATETYPE) + +_INVOICE_INVOICESTATE = _descriptor.EnumDescriptor( + name='InvoiceState', + full_name='lnrpc.Invoice.InvoiceState', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='OPEN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SETTLED', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='CANCELED', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ACCEPTED', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=17687, + serialized_end=17752, +) +_sym_db.RegisterEnumDescriptor(_INVOICE_INVOICESTATE) + +_PAYMENT_PAYMENTSTATUS = _descriptor.EnumDescriptor( + name='PaymentStatus', + full_name='lnrpc.Payment.PaymentStatus', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='IN_FLIGHT', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SUCCEEDED', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILED', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=19080, + serialized_end=19150, +) +_sym_db.RegisterEnumDescriptor(_PAYMENT_PAYMENTSTATUS) + +_HTLCATTEMPT_HTLCSTATUS = _descriptor.EnumDescriptor( + name='HTLCStatus', + full_name='lnrpc.HTLCAttempt.HTLCStatus', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='IN_FLIGHT', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='SUCCEEDED', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FAILED', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=19371, + serialized_end=19425, +) +_sym_db.RegisterEnumDescriptor(_HTLCATTEMPT_HTLCSTATUS) + +_FAILURE_FAILURECODE = _descriptor.EnumDescriptor( + name='FailureCode', + full_name='lnrpc.Failure.FailureCode', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='RESERVED', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INCORRECT_OR_UNKNOWN_PAYMENT_DETAILS', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INCORRECT_PAYMENT_AMOUNT', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FINAL_INCORRECT_CLTV_EXPIRY', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FINAL_INCORRECT_HTLC_AMOUNT', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FINAL_EXPIRY_TOO_SOON', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVALID_REALM', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='EXPIRY_TOO_SOON', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVALID_ONION_VERSION', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVALID_ONION_HMAC', index=9, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVALID_ONION_KEY', index=10, number=10, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='AMOUNT_BELOW_MINIMUM', index=11, number=11, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='FEE_INSUFFICIENT', index=12, number=12, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INCORRECT_CLTV_EXPIRY', index=13, number=13, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='CHANNEL_DISABLED', index=14, number=14, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='TEMPORARY_CHANNEL_FAILURE', index=15, number=15, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='REQUIRED_NODE_FEATURE_MISSING', index=16, number=16, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='REQUIRED_CHANNEL_FEATURE_MISSING', index=17, number=17, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UNKNOWN_NEXT_PEER', index=18, number=18, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='TEMPORARY_NODE_FAILURE', index=19, number=19, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='PERMANENT_NODE_FAILURE', index=20, number=20, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='PERMANENT_CHANNEL_FAILURE', index=21, number=21, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='EXPIRY_TOO_FAR', index=22, number=22, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='MPP_TIMEOUT', index=23, number=23, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INVALID_ONION_PAYLOAD', index=24, number=24, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='INTERNAL_FAILURE', index=25, number=997, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UNKNOWN_FAILURE', index=26, number=998, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='UNREADABLE_FAILURE', index=27, number=999, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=23031, + serialized_end=23782, +) +_sym_db.RegisterEnumDescriptor(_FAILURE_FAILURECODE) + + +_UTXO = _descriptor.Descriptor( + name='Utxo', + full_name='lnrpc.Utxo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='address_type', full_name='lnrpc.Utxo.address_type', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='address', full_name='lnrpc.Utxo.address', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amount_sat', full_name='lnrpc.Utxo.amount_sat', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pk_script', full_name='lnrpc.Utxo.pk_script', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outpoint', full_name='lnrpc.Utxo.outpoint', index=4, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='confirmations', full_name='lnrpc.Utxo.confirmations', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=31, + serialized_end=193, +) + + +_TRANSACTION = _descriptor.Descriptor( + name='Transaction', + full_name='lnrpc.Transaction', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='tx_hash', full_name='lnrpc.Transaction.tx_hash', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amount', full_name='lnrpc.Transaction.amount', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_confirmations', full_name='lnrpc.Transaction.num_confirmations', 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='block_hash', full_name='lnrpc.Transaction.block_hash', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='block_height', full_name='lnrpc.Transaction.block_height', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_stamp', full_name='lnrpc.Transaction.time_stamp', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_fees', full_name='lnrpc.Transaction.total_fees', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dest_addresses', full_name='lnrpc.Transaction.dest_addresses', index=7, + number=8, type=9, 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, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='label', full_name='lnrpc.Transaction.label', index=9, + number=10, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=196, + serialized_end=410, +) + + +_GETTRANSACTIONSREQUEST = _descriptor.Descriptor( + name='GetTransactionsRequest', + full_name='lnrpc.GetTransactionsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start_height', full_name='lnrpc.GetTransactionsRequest.start_height', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='end_height', full_name='lnrpc.GetTransactionsRequest.end_height', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='account', full_name='lnrpc.GetTransactionsRequest.account', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=412, + serialized_end=495, +) + + +_TRANSACTIONDETAILS = _descriptor.Descriptor( + name='TransactionDetails', + full_name='lnrpc.TransactionDetails', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='transactions', full_name='lnrpc.TransactionDetails.transactions', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=497, + serialized_end=559, +) + + +_FEELIMIT = _descriptor.Descriptor( + name='FeeLimit', + full_name='lnrpc.FeeLimit', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='fixed', full_name='lnrpc.FeeLimit.fixed', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fixed_msat', full_name='lnrpc.FeeLimit.fixed_msat', index=1, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='percent', full_name='lnrpc.FeeLimit.percent', index=2, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='limit', full_name='lnrpc.FeeLimit.limit', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=561, + serialized_end=638, +) + + +_SENDREQUEST_DESTCUSTOMRECORDSENTRY = _descriptor.Descriptor( + name='DestCustomRecordsEntry', + full_name='lnrpc.SendRequest.DestCustomRecordsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.SendRequest.DestCustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.SendRequest.DestCustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1107, + serialized_end=1163, +) + +_SENDREQUEST = _descriptor.Descriptor( + name='SendRequest', + full_name='lnrpc.SendRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='dest', full_name='lnrpc.SendRequest.dest', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dest_string', full_name='lnrpc.SendRequest.dest_string', 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt', full_name='lnrpc.SendRequest.amt', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_msat', full_name='lnrpc.SendRequest.amt_msat', index=3, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_hash', full_name='lnrpc.SendRequest.payment_hash', index=4, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_hash_string', full_name='lnrpc.SendRequest.payment_hash_string', index=5, + 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_request', full_name='lnrpc.SendRequest.payment_request', index=6, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='final_cltv_delta', full_name='lnrpc.SendRequest.final_cltv_delta', index=7, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_limit', full_name='lnrpc.SendRequest.fee_limit', index=8, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_chan_id', full_name='lnrpc.SendRequest.outgoing_chan_id', index=9, + 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=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_hop_pubkey', full_name='lnrpc.SendRequest.last_hop_pubkey', index=10, + number=13, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cltv_limit', full_name='lnrpc.SendRequest.cltv_limit', index=11, + number=10, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dest_custom_records', full_name='lnrpc.SendRequest.dest_custom_records', index=12, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='allow_self_payment', full_name='lnrpc.SendRequest.allow_self_payment', index=13, + number=14, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dest_features', full_name='lnrpc.SendRequest.dest_features', index=14, + number=15, type=14, cpp_type=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_addr', full_name='lnrpc.SendRequest.payment_addr', index=15, + number=16, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_SENDREQUEST_DESTCUSTOMRECORDSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=641, + serialized_end=1163, +) + + +_SENDRESPONSE = _descriptor.Descriptor( + name='SendResponse', + full_name='lnrpc.SendResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='payment_error', full_name='lnrpc.SendResponse.payment_error', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_preimage', full_name='lnrpc.SendResponse.payment_preimage', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_route', full_name='lnrpc.SendResponse.payment_route', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_hash', full_name='lnrpc.SendResponse.payment_hash', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1165, + serialized_end=1287, +) + + +_SENDTOROUTEREQUEST = _descriptor.Descriptor( + name='SendToRouteRequest', + full_name='lnrpc.SendToRouteRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='payment_hash', full_name='lnrpc.SendToRouteRequest.payment_hash', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_hash_string', full_name='lnrpc.SendToRouteRequest.payment_hash_string', 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1289, + serialized_end=1399, +) + + +_CHANNELACCEPTREQUEST = _descriptor.Descriptor( + name='ChannelAcceptRequest', + full_name='lnrpc.ChannelAcceptRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + 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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1402, + serialized_end=1711, +) + + +_CHANNELACCEPTRESPONSE = _descriptor.Descriptor( + name='ChannelAcceptResponse', + full_name='lnrpc.ChannelAcceptResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + 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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='error', full_name='lnrpc.ChannelAcceptResponse.error', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='upfront_shutdown', full_name='lnrpc.ChannelAcceptResponse.upfront_shutdown', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='csv_delay', full_name='lnrpc.ChannelAcceptResponse.csv_delay', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='reserve_sat', full_name='lnrpc.ChannelAcceptResponse.reserve_sat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='in_flight_max_msat', full_name='lnrpc.ChannelAcceptResponse.in_flight_max_msat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_htlc_count', full_name='lnrpc.ChannelAcceptResponse.max_htlc_count', index=7, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_htlc_in', full_name='lnrpc.ChannelAcceptResponse.min_htlc_in', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_accept_depth', full_name='lnrpc.ChannelAcceptResponse.min_accept_depth', index=9, + number=10, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1714, + serialized_end=1958, +) + + +_CHANNELPOINT = _descriptor.Descriptor( + name='ChannelPoint', + full_name='lnrpc.ChannelPoint', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='funding_txid_bytes', full_name='lnrpc.ChannelPoint.funding_txid_bytes', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='funding_txid_str', full_name='lnrpc.ChannelPoint.funding_txid_str', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='output_index', full_name='lnrpc.ChannelPoint.output_index', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='funding_txid', full_name='lnrpc.ChannelPoint.funding_txid', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=1960, + serialized_end=2070, +) + + +_OUTPOINT = _descriptor.Descriptor( + name='OutPoint', + full_name='lnrpc.OutPoint', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='txid_bytes', full_name='lnrpc.OutPoint.txid_bytes', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='txid_str', full_name='lnrpc.OutPoint.txid_str', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='output_index', full_name='lnrpc.OutPoint.output_index', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2072, + serialized_end=2142, +) + + +_LIGHTNINGADDRESS = _descriptor.Descriptor( + name='LightningAddress', + full_name='lnrpc.LightningAddress', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pubkey', full_name='lnrpc.LightningAddress.pubkey', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='host', full_name='lnrpc.LightningAddress.host', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2144, + serialized_end=2192, +) + + +_ESTIMATEFEEREQUEST_ADDRTOAMOUNTENTRY = _descriptor.Descriptor( + name='AddrToAmountEntry', + full_name='lnrpc.EstimateFeeRequest.AddrToAmountEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.EstimateFeeRequest.AddrToAmountEntry.key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.EstimateFeeRequest.AddrToAmountEntry.value', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2351, + serialized_end=2402, +) + +_ESTIMATEFEEREQUEST = _descriptor.Descriptor( + name='EstimateFeeRequest', + full_name='lnrpc.EstimateFeeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='AddrToAmount', full_name='lnrpc.EstimateFeeRequest.AddrToAmount', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='target_conf', full_name='lnrpc.EstimateFeeRequest.target_conf', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_confs', full_name='lnrpc.EstimateFeeRequest.min_confs', 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spend_unconfirmed', full_name='lnrpc.EstimateFeeRequest.spend_unconfirmed', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_ESTIMATEFEEREQUEST_ADDRTOAMOUNTENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2195, + serialized_end=2402, +) + + +_ESTIMATEFEERESPONSE = _descriptor.Descriptor( + name='EstimateFeeResponse', + full_name='lnrpc.EstimateFeeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='fee_sat', full_name='lnrpc.EstimateFeeResponse.fee_sat', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='feerate_sat_per_byte', full_name='lnrpc.EstimateFeeResponse.feerate_sat_per_byte', index=1, + number=2, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_vbyte', full_name='lnrpc.EstimateFeeResponse.sat_per_vbyte', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2404, + serialized_end=2499, +) + + +_SENDMANYREQUEST_ADDRTOAMOUNTENTRY = _descriptor.Descriptor( + name='AddrToAmountEntry', + full_name='lnrpc.SendManyRequest.AddrToAmountEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.SendManyRequest.AddrToAmountEntry.key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.SendManyRequest.AddrToAmountEntry.value', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2351, + serialized_end=2402, +) + +_SENDMANYREQUEST = _descriptor.Descriptor( + name='SendManyRequest', + full_name='lnrpc.SendManyRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='AddrToAmount', full_name='lnrpc.SendManyRequest.AddrToAmount', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='target_conf', full_name='lnrpc.SendManyRequest.target_conf', index=1, + 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_vbyte', full_name='lnrpc.SendManyRequest.sat_per_vbyte', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_byte', full_name='lnrpc.SendManyRequest.sat_per_byte', index=3, + 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='label', full_name='lnrpc.SendManyRequest.label', index=4, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_confs', full_name='lnrpc.SendManyRequest.min_confs', index=5, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spend_unconfirmed', full_name='lnrpc.SendManyRequest.spend_unconfirmed', index=6, + number=8, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_SENDMANYREQUEST_ADDRTOAMOUNTENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2502, + serialized_end=2767, +) + + +_SENDMANYRESPONSE = _descriptor.Descriptor( + name='SendManyResponse', + full_name='lnrpc.SendManyResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='txid', full_name='lnrpc.SendManyResponse.txid', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2769, + serialized_end=2801, +) + + +_SENDCOINSREQUEST = _descriptor.Descriptor( + name='SendCoinsRequest', + full_name='lnrpc.SendCoinsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='addr', full_name='lnrpc.SendCoinsRequest.addr', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amount', full_name='lnrpc.SendCoinsRequest.amount', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='target_conf', full_name='lnrpc.SendCoinsRequest.target_conf', 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_vbyte', full_name='lnrpc.SendCoinsRequest.sat_per_vbyte', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_byte', full_name='lnrpc.SendCoinsRequest.sat_per_byte', 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='send_all', full_name='lnrpc.SendCoinsRequest.send_all', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='label', full_name='lnrpc.SendCoinsRequest.label', index=6, + number=7, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_confs', full_name='lnrpc.SendCoinsRequest.min_confs', index=7, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spend_unconfirmed', full_name='lnrpc.SendCoinsRequest.spend_unconfirmed', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2804, + serialized_end=3001, +) + + +_SENDCOINSRESPONSE = _descriptor.Descriptor( + name='SendCoinsResponse', + full_name='lnrpc.SendCoinsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='txid', full_name='lnrpc.SendCoinsResponse.txid', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3003, + serialized_end=3036, +) + + +_LISTUNSPENTREQUEST = _descriptor.Descriptor( + name='ListUnspentRequest', + full_name='lnrpc.ListUnspentRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='min_confs', full_name='lnrpc.ListUnspentRequest.min_confs', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_confs', full_name='lnrpc.ListUnspentRequest.max_confs', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='account', full_name='lnrpc.ListUnspentRequest.account', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3038, + serialized_end=3113, +) + + +_LISTUNSPENTRESPONSE = _descriptor.Descriptor( + name='ListUnspentResponse', + full_name='lnrpc.ListUnspentResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='utxos', full_name='lnrpc.ListUnspentResponse.utxos', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3115, + serialized_end=3164, +) + + +_NEWADDRESSREQUEST = _descriptor.Descriptor( + name='NewAddressRequest', + full_name='lnrpc.NewAddressRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='type', full_name='lnrpc.NewAddressRequest.type', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='account', full_name='lnrpc.NewAddressRequest.account', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3166, + serialized_end=3236, +) + + +_NEWADDRESSRESPONSE = _descriptor.Descriptor( + name='NewAddressResponse', + full_name='lnrpc.NewAddressResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='address', full_name='lnrpc.NewAddressResponse.address', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3238, + serialized_end=3275, +) + + +_SIGNMESSAGEREQUEST = _descriptor.Descriptor( + name='SignMessageRequest', + full_name='lnrpc.SignMessageRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='msg', full_name='lnrpc.SignMessageRequest.msg', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3277, + serialized_end=3310, +) + + +_SIGNMESSAGERESPONSE = _descriptor.Descriptor( + name='SignMessageResponse', + full_name='lnrpc.SignMessageResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='signature', full_name='lnrpc.SignMessageResponse.signature', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3312, + serialized_end=3352, +) + + +_VERIFYMESSAGEREQUEST = _descriptor.Descriptor( + name='VerifyMessageRequest', + full_name='lnrpc.VerifyMessageRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='msg', full_name='lnrpc.VerifyMessageRequest.msg', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='signature', full_name='lnrpc.VerifyMessageRequest.signature', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3354, + serialized_end=3408, +) + + +_VERIFYMESSAGERESPONSE = _descriptor.Descriptor( + name='VerifyMessageResponse', + full_name='lnrpc.VerifyMessageResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='valid', full_name='lnrpc.VerifyMessageResponse.valid', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pubkey', full_name='lnrpc.VerifyMessageResponse.pubkey', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3410, + serialized_end=3464, +) + + +_CONNECTPEERREQUEST = _descriptor.Descriptor( + name='ConnectPeerRequest', + full_name='lnrpc.ConnectPeerRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='addr', full_name='lnrpc.ConnectPeerRequest.addr', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='perm', full_name='lnrpc.ConnectPeerRequest.perm', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='timeout', full_name='lnrpc.ConnectPeerRequest.timeout', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3466, + serialized_end=3556, +) + + +_CONNECTPEERRESPONSE = _descriptor.Descriptor( + name='ConnectPeerResponse', + full_name='lnrpc.ConnectPeerResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3558, + serialized_end=3579, +) + + +_DISCONNECTPEERREQUEST = _descriptor.Descriptor( + name='DisconnectPeerRequest', + full_name='lnrpc.DisconnectPeerRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pub_key', full_name='lnrpc.DisconnectPeerRequest.pub_key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3581, + serialized_end=3621, +) + + +_DISCONNECTPEERRESPONSE = _descriptor.Descriptor( + name='DisconnectPeerResponse', + full_name='lnrpc.DisconnectPeerResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3623, + serialized_end=3647, +) + + +_HTLC = _descriptor.Descriptor( + name='HTLC', + full_name='lnrpc.HTLC', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='incoming', full_name='lnrpc.HTLC.incoming', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amount', full_name='lnrpc.HTLC.amount', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hash_lock', full_name='lnrpc.HTLC.hash_lock', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='expiration_height', full_name='lnrpc.HTLC.expiration_height', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='htlc_index', full_name='lnrpc.HTLC.htlc_index', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='forwarding_channel', full_name='lnrpc.HTLC.forwarding_channel', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='forwarding_htlc_index', full_name='lnrpc.HTLC.forwarding_htlc_index', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3650, + serialized_end=3815, +) + + +_CHANNELCONSTRAINTS = _descriptor.Descriptor( + name='ChannelConstraints', + full_name='lnrpc.ChannelConstraints', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='csv_delay', full_name='lnrpc.ChannelConstraints.csv_delay', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_reserve_sat', full_name='lnrpc.ChannelConstraints.chan_reserve_sat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dust_limit_sat', full_name='lnrpc.ChannelConstraints.dust_limit_sat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_pending_amt_msat', full_name='lnrpc.ChannelConstraints.max_pending_amt_msat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_htlc_msat', full_name='lnrpc.ChannelConstraints.min_htlc_msat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_accepted_htlcs', full_name='lnrpc.ChannelConstraints.max_accepted_htlcs', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3818, + serialized_end=3988, +) + + +_CHANNEL = _descriptor.Descriptor( + name='Channel', + full_name='lnrpc.Channel', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='active', full_name='lnrpc.Channel.active', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_pubkey', full_name='lnrpc.Channel.remote_pubkey', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='channel_point', full_name='lnrpc.Channel.channel_point', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_id', full_name='lnrpc.Channel.chan_id', 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=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='capacity', full_name='lnrpc.Channel.capacity', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='local_balance', full_name='lnrpc.Channel.local_balance', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_balance', full_name='lnrpc.Channel.remote_balance', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='commit_fee', full_name='lnrpc.Channel.commit_fee', index=7, + number=8, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='commit_weight', full_name='lnrpc.Channel.commit_weight', index=8, + number=9, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_per_kw', full_name='lnrpc.Channel.fee_per_kw', index=9, + number=10, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='unsettled_balance', full_name='lnrpc.Channel.unsettled_balance', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_satoshis_sent', full_name='lnrpc.Channel.total_satoshis_sent', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_satoshis_received', full_name='lnrpc.Channel.total_satoshis_received', index=12, + number=13, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_updates', full_name='lnrpc.Channel.num_updates', index=13, + number=14, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_htlcs', full_name='lnrpc.Channel.pending_htlcs', index=14, + number=15, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='csv_delay', full_name='lnrpc.Channel.csv_delay', index=15, + number=16, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='private', full_name='lnrpc.Channel.private', index=16, + number=17, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='initiator', full_name='lnrpc.Channel.initiator', index=17, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_status_flags', full_name='lnrpc.Channel.chan_status_flags', index=18, + number=19, 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, create_key=_descriptor._internal_create_key), + _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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='commitment_type', full_name='lnrpc.Channel.commitment_type', index=22, + number=26, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='lifetime', full_name='lnrpc.Channel.lifetime', index=23, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='uptime', full_name='lnrpc.Channel.uptime', index=24, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='close_address', full_name='lnrpc.Channel.close_address', index=25, + number=25, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='push_amount_sat', full_name='lnrpc.Channel.push_amount_sat', index=26, + number=27, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='thaw_height', full_name='lnrpc.Channel.thaw_height', index=27, + number=28, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='local_constraints', full_name='lnrpc.Channel.local_constraints', index=28, + number=29, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_constraints', full_name='lnrpc.Channel.remote_constraints', index=29, + number=30, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3991, + serialized_end=4807, +) + + +_LISTCHANNELSREQUEST = _descriptor.Descriptor( + name='ListChannelsRequest', + full_name='lnrpc.ListChannelsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='active_only', full_name='lnrpc.ListChannelsRequest.active_only', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='inactive_only', full_name='lnrpc.ListChannelsRequest.inactive_only', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='public_only', full_name='lnrpc.ListChannelsRequest.public_only', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='private_only', full_name='lnrpc.ListChannelsRequest.private_only', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='peer', full_name='lnrpc.ListChannelsRequest.peer', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4809, + serialized_end=4931, +) + + +_LISTCHANNELSRESPONSE = _descriptor.Descriptor( + name='ListChannelsResponse', + full_name='lnrpc.ListChannelsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channels', full_name='lnrpc.ListChannelsResponse.channels', index=0, + 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4933, + serialized_end=4989, +) + + +_CHANNELCLOSESUMMARY = _descriptor.Descriptor( + name='ChannelCloseSummary', + full_name='lnrpc.ChannelCloseSummary', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel_point', full_name='lnrpc.ChannelCloseSummary.channel_point', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_id', full_name='lnrpc.ChannelCloseSummary.chan_id', 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=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chain_hash', full_name='lnrpc.ChannelCloseSummary.chain_hash', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='closing_tx_hash', full_name='lnrpc.ChannelCloseSummary.closing_tx_hash', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_pubkey', full_name='lnrpc.ChannelCloseSummary.remote_pubkey', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='capacity', full_name='lnrpc.ChannelCloseSummary.capacity', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='close_height', full_name='lnrpc.ChannelCloseSummary.close_height', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='settled_balance', full_name='lnrpc.ChannelCloseSummary.settled_balance', index=7, + number=8, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_locked_balance', full_name='lnrpc.ChannelCloseSummary.time_locked_balance', index=8, + number=9, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='close_type', full_name='lnrpc.ChannelCloseSummary.close_type', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='open_initiator', full_name='lnrpc.ChannelCloseSummary.open_initiator', index=10, + number=11, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='close_initiator', full_name='lnrpc.ChannelCloseSummary.close_initiator', index=11, + number=12, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='resolutions', full_name='lnrpc.ChannelCloseSummary.resolutions', index=12, + number=13, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CHANNELCLOSESUMMARY_CLOSURETYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=4992, + serialized_end=5545, +) + + +_RESOLUTION = _descriptor.Descriptor( + name='Resolution', + full_name='lnrpc.Resolution', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='resolution_type', full_name='lnrpc.Resolution.resolution_type', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outcome', full_name='lnrpc.Resolution.outcome', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outpoint', full_name='lnrpc.Resolution.outpoint', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amount_sat', full_name='lnrpc.Resolution.amount_sat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sweep_txid', full_name='lnrpc.Resolution.sweep_txid', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5548, + serialized_end=5726, +) + + +_CLOSEDCHANNELSREQUEST = _descriptor.Descriptor( + name='ClosedChannelsRequest', + full_name='lnrpc.ClosedChannelsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='cooperative', full_name='lnrpc.ClosedChannelsRequest.cooperative', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='local_force', full_name='lnrpc.ClosedChannelsRequest.local_force', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_force', full_name='lnrpc.ClosedChannelsRequest.remote_force', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='breach', full_name='lnrpc.ClosedChannelsRequest.breach', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='funding_canceled', full_name='lnrpc.ClosedChannelsRequest.funding_canceled', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='abandoned', full_name='lnrpc.ClosedChannelsRequest.abandoned', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5729, + serialized_end=5877, +) + + +_CLOSEDCHANNELSRESPONSE = _descriptor.Descriptor( + name='ClosedChannelsResponse', + full_name='lnrpc.ClosedChannelsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channels', full_name='lnrpc.ClosedChannelsResponse.channels', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5879, + serialized_end=5949, +) + + +_PEER_FEATURESENTRY = _descriptor.Descriptor( + name='FeaturesEntry', + full_name='lnrpc.Peer.FeaturesEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.Peer.FeaturesEntry.key', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.Peer.FeaturesEntry.value', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6275, + serialized_end=6338, +) + +_PEER = _descriptor.Descriptor( + name='Peer', + full_name='lnrpc.Peer', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pub_key', full_name='lnrpc.Peer.pub_key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='address', full_name='lnrpc.Peer.address', index=1, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='bytes_sent', full_name='lnrpc.Peer.bytes_sent', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='bytes_recv', full_name='lnrpc.Peer.bytes_recv', index=3, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_sent', full_name='lnrpc.Peer.sat_sent', index=4, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_recv', full_name='lnrpc.Peer.sat_recv', index=5, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='inbound', full_name='lnrpc.Peer.inbound', index=6, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='ping_time', full_name='lnrpc.Peer.ping_time', index=7, + number=9, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sync_type', full_name='lnrpc.Peer.sync_type', index=8, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='features', full_name='lnrpc.Peer.features', index=9, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='errors', full_name='lnrpc.Peer.errors', index=10, + number=12, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='flap_count', full_name='lnrpc.Peer.flap_count', index=11, + number=13, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_flap_ns', full_name='lnrpc.Peer.last_flap_ns', index=12, + number=14, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_PEER_FEATURESENTRY, ], + enum_types=[ + _PEER_SYNCTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=5952, + serialized_end=6420, +) + + +_TIMESTAMPEDERROR = _descriptor.Descriptor( + name='TimestampedError', + full_name='lnrpc.TimestampedError', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='timestamp', full_name='lnrpc.TimestampedError.timestamp', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='error', full_name='lnrpc.TimestampedError.error', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6422, + serialized_end=6474, +) + + +_LISTPEERSREQUEST = _descriptor.Descriptor( + name='ListPeersRequest', + full_name='lnrpc.ListPeersRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='latest_error', full_name='lnrpc.ListPeersRequest.latest_error', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6476, + serialized_end=6516, +) + + +_LISTPEERSRESPONSE = _descriptor.Descriptor( + name='ListPeersResponse', + full_name='lnrpc.ListPeersResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='peers', full_name='lnrpc.ListPeersResponse.peers', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6518, + serialized_end=6565, +) + + +_PEEREVENTSUBSCRIPTION = _descriptor.Descriptor( + name='PeerEventSubscription', + full_name='lnrpc.PeerEventSubscription', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6567, + serialized_end=6590, +) + + +_PEEREVENT = _descriptor.Descriptor( + name='PeerEvent', + full_name='lnrpc.PeerEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pub_key', full_name='lnrpc.PeerEvent.pub_key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='type', full_name='lnrpc.PeerEvent.type', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PEEREVENT_EVENTTYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6592, + serialized_end=6710, +) + + +_GETINFOREQUEST = _descriptor.Descriptor( + name='GetInfoRequest', + full_name='lnrpc.GetInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6712, + serialized_end=6728, +) + + +_GETINFORESPONSE_FEATURESENTRY = _descriptor.Descriptor( + name='FeaturesEntry', + full_name='lnrpc.GetInfoResponse.FeaturesEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.GetInfoResponse.FeaturesEntry.key', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.GetInfoResponse.FeaturesEntry.value', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6275, + serialized_end=6338, +) + +_GETINFORESPONSE = _descriptor.Descriptor( + name='GetInfoResponse', + full_name='lnrpc.GetInfoResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='version', full_name='lnrpc.GetInfoResponse.version', index=0, + number=14, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='commit_hash', full_name='lnrpc.GetInfoResponse.commit_hash', index=1, + number=20, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='identity_pubkey', full_name='lnrpc.GetInfoResponse.identity_pubkey', index=2, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='alias', full_name='lnrpc.GetInfoResponse.alias', index=3, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='color', full_name='lnrpc.GetInfoResponse.color', index=4, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_pending_channels', full_name='lnrpc.GetInfoResponse.num_pending_channels', index=5, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_active_channels', full_name='lnrpc.GetInfoResponse.num_active_channels', index=6, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_inactive_channels', full_name='lnrpc.GetInfoResponse.num_inactive_channels', index=7, + number=15, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_peers', full_name='lnrpc.GetInfoResponse.num_peers', index=8, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='block_height', full_name='lnrpc.GetInfoResponse.block_height', index=9, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='block_hash', full_name='lnrpc.GetInfoResponse.block_hash', index=10, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='best_header_timestamp', full_name='lnrpc.GetInfoResponse.best_header_timestamp', index=11, + number=13, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='synced_to_chain', full_name='lnrpc.GetInfoResponse.synced_to_chain', index=12, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='synced_to_graph', full_name='lnrpc.GetInfoResponse.synced_to_graph', index=13, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='testnet', full_name='lnrpc.GetInfoResponse.testnet', index=14, + number=10, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chains', full_name='lnrpc.GetInfoResponse.chains', index=15, + number=16, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='uris', full_name='lnrpc.GetInfoResponse.uris', index=16, + number=12, type=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='features', full_name='lnrpc.GetInfoResponse.features', index=17, + number=19, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_GETINFORESPONSE_FEATURESENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6731, + serialized_end=7265, +) + + +_GETRECOVERYINFOREQUEST = _descriptor.Descriptor( + name='GetRecoveryInfoRequest', + full_name='lnrpc.GetRecoveryInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7267, + serialized_end=7291, +) + + +_GETRECOVERYINFORESPONSE = _descriptor.Descriptor( + name='GetRecoveryInfoResponse', + full_name='lnrpc.GetRecoveryInfoResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='recovery_mode', full_name='lnrpc.GetRecoveryInfoResponse.recovery_mode', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='recovery_finished', full_name='lnrpc.GetRecoveryInfoResponse.recovery_finished', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='progress', full_name='lnrpc.GetRecoveryInfoResponse.progress', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7293, + serialized_end=7386, +) + + +_CHAIN = _descriptor.Descriptor( + name='Chain', + full_name='lnrpc.Chain', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chain', full_name='lnrpc.Chain.chain', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='network', full_name='lnrpc.Chain.network', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7388, + serialized_end=7427, +) + + +_CONFIRMATIONUPDATE = _descriptor.Descriptor( + name='ConfirmationUpdate', + full_name='lnrpc.ConfirmationUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='block_sha', full_name='lnrpc.ConfirmationUpdate.block_sha', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='block_height', full_name='lnrpc.ConfirmationUpdate.block_height', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_confs_left', full_name='lnrpc.ConfirmationUpdate.num_confs_left', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7429, + serialized_end=7514, +) + + +_CHANNELOPENUPDATE = _descriptor.Descriptor( + name='ChannelOpenUpdate', + full_name='lnrpc.ChannelOpenUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel_point', full_name='lnrpc.ChannelOpenUpdate.channel_point', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7516, + serialized_end=7579, +) + + +_CHANNELCLOSEUPDATE = _descriptor.Descriptor( + name='ChannelCloseUpdate', + full_name='lnrpc.ChannelCloseUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='closing_txid', full_name='lnrpc.ChannelCloseUpdate.closing_txid', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='success', full_name='lnrpc.ChannelCloseUpdate.success', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7581, + serialized_end=7640, +) + + +_CLOSECHANNELREQUEST = _descriptor.Descriptor( + name='CloseChannelRequest', + full_name='lnrpc.CloseChannelRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel_point', full_name='lnrpc.CloseChannelRequest.channel_point', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='force', full_name='lnrpc.CloseChannelRequest.force', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='target_conf', full_name='lnrpc.CloseChannelRequest.target_conf', 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_byte', full_name='lnrpc.CloseChannelRequest.sat_per_byte', index=3, + number=4, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='delivery_address', full_name='lnrpc.CloseChannelRequest.delivery_address', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_vbyte', full_name='lnrpc.CloseChannelRequest.sat_per_vbyte', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7643, + serialized_end=7819, +) + + +_CLOSESTATUSUPDATE = _descriptor.Descriptor( + name='CloseStatusUpdate', + full_name='lnrpc.CloseStatusUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='close_pending', full_name='lnrpc.CloseStatusUpdate.close_pending', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_close', full_name='lnrpc.CloseStatusUpdate.chan_close', index=1, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='update', full_name='lnrpc.CloseStatusUpdate.update', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=7821, + serialized_end=7946, +) + + +_PENDINGUPDATE = _descriptor.Descriptor( + name='PendingUpdate', + full_name='lnrpc.PendingUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='txid', full_name='lnrpc.PendingUpdate.txid', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='output_index', full_name='lnrpc.PendingUpdate.output_index', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=7948, + serialized_end=7999, +) + + +_READYFORPSBTFUNDING = _descriptor.Descriptor( + name='ReadyForPsbtFunding', + full_name='lnrpc.ReadyForPsbtFunding', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='funding_address', full_name='lnrpc.ReadyForPsbtFunding.funding_address', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='funding_amount', full_name='lnrpc.ReadyForPsbtFunding.funding_amount', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='psbt', full_name='lnrpc.ReadyForPsbtFunding.psbt', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8001, + serialized_end=8085, +) + + +_OPENCHANNELREQUEST = _descriptor.Descriptor( + name='OpenChannelRequest', + full_name='lnrpc.OpenChannelRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='sat_per_vbyte', full_name='lnrpc.OpenChannelRequest.sat_per_vbyte', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='node_pubkey', full_name='lnrpc.OpenChannelRequest.node_pubkey', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='node_pubkey_string', full_name='lnrpc.OpenChannelRequest.node_pubkey_string', index=2, + number=3, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='local_funding_amount', full_name='lnrpc.OpenChannelRequest.local_funding_amount', index=3, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='push_sat', full_name='lnrpc.OpenChannelRequest.push_sat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='target_conf', full_name='lnrpc.OpenChannelRequest.target_conf', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_byte', full_name='lnrpc.OpenChannelRequest.sat_per_byte', 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='private', full_name='lnrpc.OpenChannelRequest.private', index=7, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_htlc_msat', full_name='lnrpc.OpenChannelRequest.min_htlc_msat', index=8, + number=9, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_csv_delay', full_name='lnrpc.OpenChannelRequest.remote_csv_delay', index=9, + number=10, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_confs', full_name='lnrpc.OpenChannelRequest.min_confs', index=10, + number=11, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spend_unconfirmed', full_name='lnrpc.OpenChannelRequest.spend_unconfirmed', index=11, + number=12, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='close_address', full_name='lnrpc.OpenChannelRequest.close_address', index=12, + number=13, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='funding_shim', full_name='lnrpc.OpenChannelRequest.funding_shim', index=13, + number=14, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_max_value_in_flight_msat', full_name='lnrpc.OpenChannelRequest.remote_max_value_in_flight_msat', index=14, + number=15, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_max_htlcs', full_name='lnrpc.OpenChannelRequest.remote_max_htlcs', index=15, + number=16, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_local_csv', full_name='lnrpc.OpenChannelRequest.max_local_csv', index=16, + number=17, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8088, + serialized_end=8546, +) + + +_OPENSTATUSUPDATE = _descriptor.Descriptor( + name='OpenStatusUpdate', + full_name='lnrpc.OpenStatusUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_pending', full_name='lnrpc.OpenStatusUpdate.chan_pending', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_open', full_name='lnrpc.OpenStatusUpdate.chan_open', index=1, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='psbt_fund', full_name='lnrpc.OpenStatusUpdate.psbt_fund', index=2, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_chan_id', full_name='lnrpc.OpenStatusUpdate.pending_chan_id', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='update', full_name='lnrpc.OpenStatusUpdate.update', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=8549, + serialized_end=8744, +) + + +_KEYLOCATOR = _descriptor.Descriptor( + name='KeyLocator', + full_name='lnrpc.KeyLocator', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key_family', full_name='lnrpc.KeyLocator.key_family', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='key_index', full_name='lnrpc.KeyLocator.key_index', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8746, + serialized_end=8797, +) + + +_KEYDESCRIPTOR = _descriptor.Descriptor( + name='KeyDescriptor', + full_name='lnrpc.KeyDescriptor', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='raw_key_bytes', full_name='lnrpc.KeyDescriptor.raw_key_bytes', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='key_loc', full_name='lnrpc.KeyDescriptor.key_loc', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8799, + serialized_end=8873, +) + + +_CHANPOINTSHIM = _descriptor.Descriptor( + name='ChanPointShim', + full_name='lnrpc.ChanPointShim', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='amt', full_name='lnrpc.ChanPointShim.amt', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_point', full_name='lnrpc.ChanPointShim.chan_point', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='local_key', full_name='lnrpc.ChanPointShim.local_key', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_key', full_name='lnrpc.ChanPointShim.remote_key', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_chan_id', full_name='lnrpc.ChanPointShim.pending_chan_id', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='thaw_height', full_name='lnrpc.ChanPointShim.thaw_height', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=8876, + serialized_end=9052, +) + + +_PSBTSHIM = _descriptor.Descriptor( + name='PsbtShim', + full_name='lnrpc.PsbtShim', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pending_chan_id', full_name='lnrpc.PsbtShim.pending_chan_id', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_psbt', full_name='lnrpc.PsbtShim.base_psbt', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='no_publish', full_name='lnrpc.PsbtShim.no_publish', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9054, + serialized_end=9128, +) + + +_FUNDINGSHIM = _descriptor.Descriptor( + name='FundingShim', + full_name='lnrpc.FundingShim', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_point_shim', full_name='lnrpc.FundingShim.chan_point_shim', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='psbt_shim', full_name='lnrpc.FundingShim.psbt_shim', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='shim', full_name='lnrpc.FundingShim.shim', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=9130, + serialized_end=9238, +) + + +_FUNDINGSHIMCANCEL = _descriptor.Descriptor( + name='FundingShimCancel', + full_name='lnrpc.FundingShimCancel', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pending_chan_id', full_name='lnrpc.FundingShimCancel.pending_chan_id', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9240, + serialized_end=9284, +) + + +_FUNDINGPSBTVERIFY = _descriptor.Descriptor( + name='FundingPsbtVerify', + full_name='lnrpc.FundingPsbtVerify', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='funded_psbt', full_name='lnrpc.FundingPsbtVerify.funded_psbt', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_chan_id', full_name='lnrpc.FundingPsbtVerify.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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9286, + serialized_end=9351, +) + + +_FUNDINGPSBTFINALIZE = _descriptor.Descriptor( + name='FundingPsbtFinalize', + full_name='lnrpc.FundingPsbtFinalize', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='signed_psbt', full_name='lnrpc.FundingPsbtFinalize.signed_psbt', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_chan_id', full_name='lnrpc.FundingPsbtFinalize.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='final_raw_tx', full_name='lnrpc.FundingPsbtFinalize.final_raw_tx', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9353, + serialized_end=9442, +) + + +_FUNDINGTRANSITIONMSG = _descriptor.Descriptor( + name='FundingTransitionMsg', + full_name='lnrpc.FundingTransitionMsg', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='shim_register', full_name='lnrpc.FundingTransitionMsg.shim_register', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='shim_cancel', full_name='lnrpc.FundingTransitionMsg.shim_cancel', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='psbt_verify', full_name='lnrpc.FundingTransitionMsg.psbt_verify', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='psbt_finalize', full_name='lnrpc.FundingTransitionMsg.psbt_finalize', index=3, + 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='trigger', full_name='lnrpc.FundingTransitionMsg.trigger', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=9445, + serialized_end=9674, +) + + +_FUNDINGSTATESTEPRESP = _descriptor.Descriptor( + name='FundingStateStepResp', + full_name='lnrpc.FundingStateStepResp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9676, + serialized_end=9698, +) + + +_PENDINGHTLC = _descriptor.Descriptor( + name='PendingHTLC', + full_name='lnrpc.PendingHTLC', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='incoming', full_name='lnrpc.PendingHTLC.incoming', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amount', full_name='lnrpc.PendingHTLC.amount', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outpoint', full_name='lnrpc.PendingHTLC.outpoint', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='maturity_height', full_name='lnrpc.PendingHTLC.maturity_height', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='blocks_til_maturity', full_name='lnrpc.PendingHTLC.blocks_til_maturity', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='stage', full_name='lnrpc.PendingHTLC.stage', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9701, + serialized_end=9835, +) + + +_PENDINGCHANNELSREQUEST = _descriptor.Descriptor( + name='PendingChannelsRequest', + full_name='lnrpc.PendingChannelsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9837, + serialized_end=9861, +) + + +_PENDINGCHANNELSRESPONSE_PENDINGCHANNEL = _descriptor.Descriptor( + name='PendingChannel', + full_name='lnrpc.PendingChannelsResponse.PendingChannel', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='remote_node_pub', full_name='lnrpc.PendingChannelsResponse.PendingChannel.remote_node_pub', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='channel_point', full_name='lnrpc.PendingChannelsResponse.PendingChannel.channel_point', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='capacity', full_name='lnrpc.PendingChannelsResponse.PendingChannel.capacity', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='local_balance', full_name='lnrpc.PendingChannelsResponse.PendingChannel.local_balance', index=3, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_balance', full_name='lnrpc.PendingChannelsResponse.PendingChannel.remote_balance', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='initiator', full_name='lnrpc.PendingChannelsResponse.PendingChannel.initiator', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='commitment_type', full_name='lnrpc.PendingChannelsResponse.PendingChannel.commitment_type', index=8, + number=9, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10262, + serialized_end=10541, +) + +_PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL = _descriptor.Descriptor( + name='PendingOpenChannel', + full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.channel', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='confirmation_height', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.confirmation_height', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='commit_fee', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.commit_fee', index=2, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='commit_weight', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.commit_weight', index=3, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_per_kw', full_name='lnrpc.PendingChannelsResponse.PendingOpenChannel.fee_per_kw', index=4, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10544, + serialized_end=10720, +) + +_PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL = _descriptor.Descriptor( + name='WaitingCloseChannel', + full_name='lnrpc.PendingChannelsResponse.WaitingCloseChannel', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel', full_name='lnrpc.PendingChannelsResponse.WaitingCloseChannel.channel', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='limbo_balance', full_name='lnrpc.PendingChannelsResponse.WaitingCloseChannel.limbo_balance', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='commitments', full_name='lnrpc.PendingChannelsResponse.WaitingCloseChannel.commitments', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10723, + serialized_end=10896, +) + +_PENDINGCHANNELSRESPONSE_COMMITMENTS = _descriptor.Descriptor( + name='Commitments', + full_name='lnrpc.PendingChannelsResponse.Commitments', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='local_txid', full_name='lnrpc.PendingChannelsResponse.Commitments.local_txid', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_txid', full_name='lnrpc.PendingChannelsResponse.Commitments.remote_txid', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_pending_txid', full_name='lnrpc.PendingChannelsResponse.Commitments.remote_pending_txid', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='local_commit_fee_sat', full_name='lnrpc.PendingChannelsResponse.Commitments.local_commit_fee_sat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_commit_fee_sat', full_name='lnrpc.PendingChannelsResponse.Commitments.remote_commit_fee_sat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_pending_commit_fee_sat', full_name='lnrpc.PendingChannelsResponse.Commitments.remote_pending_commit_fee_sat', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=10899, + serialized_end=11082, +) + +_PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL = _descriptor.Descriptor( + name='ClosedChannel', + full_name='lnrpc.PendingChannelsResponse.ClosedChannel', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel', full_name='lnrpc.PendingChannelsResponse.ClosedChannel.channel', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='closing_txid', full_name='lnrpc.PendingChannelsResponse.ClosedChannel.closing_txid', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11084, + serialized_end=11185, +) + +_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL = _descriptor.Descriptor( + name='ForceClosedChannel', + full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.channel', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='closing_txid', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.closing_txid', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='limbo_balance', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.limbo_balance', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='maturity_height', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.maturity_height', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='blocks_til_maturity', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.blocks_til_maturity', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='recovered_balance', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.recovered_balance', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_htlcs', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.pending_htlcs', index=6, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='anchor', full_name='lnrpc.PendingChannelsResponse.ForceClosedChannel.anchor', index=7, + number=9, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL_ANCHORSTATE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11188, + serialized_end=11571, +) + +_PENDINGCHANNELSRESPONSE = _descriptor.Descriptor( + name='PendingChannelsResponse', + full_name='lnrpc.PendingChannelsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='total_limbo_balance', full_name='lnrpc.PendingChannelsResponse.total_limbo_balance', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_open_channels', full_name='lnrpc.PendingChannelsResponse.pending_open_channels', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_closing_channels', full_name='lnrpc.PendingChannelsResponse.pending_closing_channels', index=2, + number=3, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_force_closing_channels', full_name='lnrpc.PendingChannelsResponse.pending_force_closing_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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='waiting_close_channels', full_name='lnrpc.PendingChannelsResponse.waiting_close_channels', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_PENDINGCHANNELSRESPONSE_PENDINGCHANNEL, _PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL, _PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL, _PENDINGCHANNELSRESPONSE_COMMITMENTS, _PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL, _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=9864, + serialized_end=11571, +) + + +_CHANNELEVENTSUBSCRIPTION = _descriptor.Descriptor( + name='ChannelEventSubscription', + full_name='lnrpc.ChannelEventSubscription', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=11573, + serialized_end=11599, +) + + +_CHANNELEVENTUPDATE = _descriptor.Descriptor( + name='ChannelEventUpdate', + full_name='lnrpc.ChannelEventUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='open_channel', full_name='lnrpc.ChannelEventUpdate.open_channel', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='closed_channel', full_name='lnrpc.ChannelEventUpdate.closed_channel', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='active_channel', full_name='lnrpc.ChannelEventUpdate.active_channel', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='inactive_channel', full_name='lnrpc.ChannelEventUpdate.inactive_channel', index=3, + 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_open_channel', full_name='lnrpc.ChannelEventUpdate.pending_open_channel', index=4, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='type', full_name='lnrpc.ChannelEventUpdate.type', index=5, + number=5, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _CHANNELEVENTUPDATE_UPDATETYPE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='channel', full_name='lnrpc.ChannelEventUpdate.channel', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=11602, + serialized_end=12049, +) + + +_WALLETACCOUNTBALANCE = _descriptor.Descriptor( + name='WalletAccountBalance', + full_name='lnrpc.WalletAccountBalance', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='confirmed_balance', full_name='lnrpc.WalletAccountBalance.confirmed_balance', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='unconfirmed_balance', full_name='lnrpc.WalletAccountBalance.unconfirmed_balance', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12051, + serialized_end=12129, +) + + +_WALLETBALANCEREQUEST = _descriptor.Descriptor( + name='WalletBalanceRequest', + full_name='lnrpc.WalletBalanceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12131, + serialized_end=12153, +) + + +_WALLETBALANCERESPONSE_ACCOUNTBALANCEENTRY = _descriptor.Descriptor( + name='AccountBalanceEntry', + full_name='lnrpc.WalletBalanceResponse.AccountBalanceEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.WalletBalanceResponse.AccountBalanceEntry.key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.WalletBalanceResponse.AccountBalanceEntry.value', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12335, + serialized_end=12417, +) + +_WALLETBALANCERESPONSE = _descriptor.Descriptor( + name='WalletBalanceResponse', + full_name='lnrpc.WalletBalanceResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='total_balance', full_name='lnrpc.WalletBalanceResponse.total_balance', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='confirmed_balance', full_name='lnrpc.WalletBalanceResponse.confirmed_balance', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='unconfirmed_balance', full_name='lnrpc.WalletBalanceResponse.unconfirmed_balance', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='account_balance', full_name='lnrpc.WalletBalanceResponse.account_balance', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_WALLETBALANCERESPONSE_ACCOUNTBALANCEENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12156, + serialized_end=12417, +) + + +_AMOUNT = _descriptor.Descriptor( + name='Amount', + full_name='lnrpc.Amount', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='sat', full_name='lnrpc.Amount.sat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='msat', full_name='lnrpc.Amount.msat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12419, + serialized_end=12454, +) + + +_CHANNELBALANCEREQUEST = _descriptor.Descriptor( + name='ChannelBalanceRequest', + full_name='lnrpc.ChannelBalanceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12456, + serialized_end=12479, +) + + +_CHANNELBALANCERESPONSE = _descriptor.Descriptor( + name='ChannelBalanceResponse', + full_name='lnrpc.ChannelBalanceResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='balance', full_name='lnrpc.ChannelBalanceResponse.balance', index=0, + number=1, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_open_balance', full_name='lnrpc.ChannelBalanceResponse.pending_open_balance', index=1, + number=2, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='local_balance', full_name='lnrpc.ChannelBalanceResponse.local_balance', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='remote_balance', full_name='lnrpc.ChannelBalanceResponse.remote_balance', index=3, + 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='unsettled_local_balance', full_name='lnrpc.ChannelBalanceResponse.unsettled_local_balance', index=4, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='unsettled_remote_balance', full_name='lnrpc.ChannelBalanceResponse.unsettled_remote_balance', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_open_local_balance', full_name='lnrpc.ChannelBalanceResponse.pending_open_local_balance', index=6, + number=7, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_open_remote_balance', full_name='lnrpc.ChannelBalanceResponse.pending_open_remote_balance', index=7, + number=8, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12482, + serialized_end=12838, +) + + +_QUERYROUTESREQUEST_DESTCUSTOMRECORDSENTRY = _descriptor.Descriptor( + name='DestCustomRecordsEntry', + full_name='lnrpc.QueryRoutesRequest.DestCustomRecordsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.QueryRoutesRequest.DestCustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.QueryRoutesRequest.DestCustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1107, + serialized_end=1163, +) + +_QUERYROUTESREQUEST = _descriptor.Descriptor( + name='QueryRoutesRequest', + full_name='lnrpc.QueryRoutesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pub_key', full_name='lnrpc.QueryRoutesRequest.pub_key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt', full_name='lnrpc.QueryRoutesRequest.amt', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_msat', full_name='lnrpc.QueryRoutesRequest.amt_msat', index=2, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='final_cltv_delta', full_name='lnrpc.QueryRoutesRequest.final_cltv_delta', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_limit', full_name='lnrpc.QueryRoutesRequest.fee_limit', index=4, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='ignored_nodes', full_name='lnrpc.QueryRoutesRequest.ignored_nodes', index=5, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='ignored_edges', full_name='lnrpc.QueryRoutesRequest.ignored_edges', index=6, + 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='source_pub_key', full_name='lnrpc.QueryRoutesRequest.source_pub_key', index=7, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='use_mission_control', full_name='lnrpc.QueryRoutesRequest.use_mission_control', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='ignored_pairs', full_name='lnrpc.QueryRoutesRequest.ignored_pairs', index=9, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cltv_limit', full_name='lnrpc.QueryRoutesRequest.cltv_limit', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dest_custom_records', full_name='lnrpc.QueryRoutesRequest.dest_custom_records', index=11, + number=13, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outgoing_chan_id', full_name='lnrpc.QueryRoutesRequest.outgoing_chan_id', index=12, + number=14, 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', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_hop_pubkey', full_name='lnrpc.QueryRoutesRequest.last_hop_pubkey', index=13, + number=15, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='route_hints', full_name='lnrpc.QueryRoutesRequest.route_hints', index=14, + number=16, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dest_features', full_name='lnrpc.QueryRoutesRequest.dest_features', index=15, + number=17, type=14, cpp_type=8, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_QUERYROUTESREQUEST_DESTCUSTOMRECORDSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=12841, + serialized_end=13433, +) + + +_NODEPAIR = _descriptor.Descriptor( + name='NodePair', + full_name='lnrpc.NodePair', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + 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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13435, + serialized_end=13471, +) + + +_EDGELOCATOR = _descriptor.Descriptor( + name='EdgeLocator', + full_name='lnrpc.EdgeLocator', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel_id', full_name='lnrpc.EdgeLocator.channel_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', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='direction_reverse', full_name='lnrpc.EdgeLocator.direction_reverse', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13473, + serialized_end=13537, +) + + +_QUERYROUTESRESPONSE = _descriptor.Descriptor( + name='QueryRoutesResponse', + full_name='lnrpc.QueryRoutesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='routes', full_name='lnrpc.QueryRoutesResponse.routes', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13539, + serialized_end=13612, +) + + +_HOP_CUSTOMRECORDSENTRY = _descriptor.Descriptor( + name='CustomRecordsEntry', + full_name='lnrpc.Hop.CustomRecordsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.Hop.CustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.Hop.CustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13947, + serialized_end=13999, +) + +_HOP = _descriptor.Descriptor( + name='Hop', + full_name='lnrpc.Hop', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_id', full_name='lnrpc.Hop.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', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_capacity', full_name='lnrpc.Hop.chan_capacity', index=1, + number=2, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_to_forward', full_name='lnrpc.Hop.amt_to_forward', index=2, + number=3, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee', full_name='lnrpc.Hop.fee', index=3, + number=4, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='expiry', full_name='lnrpc.Hop.expiry', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_to_forward_msat', full_name='lnrpc.Hop.amt_to_forward_msat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_msat', full_name='lnrpc.Hop.fee_msat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pub_key', full_name='lnrpc.Hop.pub_key', index=7, + 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, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='mpp_record', full_name='lnrpc.Hop.mpp_record', index=9, + number=10, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amp_record', full_name='lnrpc.Hop.amp_record', index=10, + number=12, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='custom_records', full_name='lnrpc.Hop.custom_records', index=11, + 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_HOP_CUSTOMRECORDSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13615, + serialized_end=13999, +) + + +_MPPRECORD = _descriptor.Descriptor( + name='MPPRecord', + full_name='lnrpc.MPPRecord', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='payment_addr', full_name='lnrpc.MPPRecord.payment_addr', index=0, + number=11, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_amt_msat', full_name='lnrpc.MPPRecord.total_amt_msat', index=1, + number=10, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14001, + serialized_end=14058, +) + + +_AMPRECORD = _descriptor.Descriptor( + name='AMPRecord', + full_name='lnrpc.AMPRecord', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='root_share', full_name='lnrpc.AMPRecord.root_share', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='set_id', full_name='lnrpc.AMPRecord.set_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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='child_index', full_name='lnrpc.AMPRecord.child_index', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14060, + serialized_end=14128, +) + + +_ROUTE = _descriptor.Descriptor( + name='Route', + full_name='lnrpc.Route', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='total_time_lock', full_name='lnrpc.Route.total_time_lock', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_fees', full_name='lnrpc.Route.total_fees', index=1, + number=2, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_amt', full_name='lnrpc.Route.total_amt', index=2, + number=3, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hops', full_name='lnrpc.Route.hops', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_fees_msat', full_name='lnrpc.Route.total_fees_msat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_amt_msat', full_name='lnrpc.Route.total_amt_msat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14131, + serialized_end=14285, +) + + +_NODEINFOREQUEST = _descriptor.Descriptor( + name='NodeInfoRequest', + full_name='lnrpc.NodeInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pub_key', full_name='lnrpc.NodeInfoRequest.pub_key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14287, + serialized_end=14347, +) + + +_NODEINFO = _descriptor.Descriptor( + name='NodeInfo', + full_name='lnrpc.NodeInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='node', full_name='lnrpc.NodeInfo.node', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_channels', full_name='lnrpc.NodeInfo.num_channels', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_capacity', full_name='lnrpc.NodeInfo.total_capacity', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14350, + serialized_end=14480, +) + + +_LIGHTNINGNODE_FEATURESENTRY = _descriptor.Descriptor( + name='FeaturesEntry', + full_name='lnrpc.LightningNode.FeaturesEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.LightningNode.FeaturesEntry.key', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.LightningNode.FeaturesEntry.value', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6275, + serialized_end=6338, +) + +_LIGHTNINGNODE = _descriptor.Descriptor( + name='LightningNode', + full_name='lnrpc.LightningNode', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='last_update', full_name='lnrpc.LightningNode.last_update', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pub_key', full_name='lnrpc.LightningNode.pub_key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='alias', full_name='lnrpc.LightningNode.alias', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='addresses', full_name='lnrpc.LightningNode.addresses', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='color', full_name='lnrpc.LightningNode.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='features', full_name='lnrpc.LightningNode.features', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_LIGHTNINGNODE_FEATURESENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14483, + serialized_end=14724, +) + + +_NODEADDRESS = _descriptor.Descriptor( + name='NodeAddress', + full_name='lnrpc.NodeAddress', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='network', full_name='lnrpc.NodeAddress.network', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='addr', full_name='lnrpc.NodeAddress.addr', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14726, + serialized_end=14770, +) + + +_ROUTINGPOLICY = _descriptor.Descriptor( + name='RoutingPolicy', + full_name='lnrpc.RoutingPolicy', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='time_lock_delta', full_name='lnrpc.RoutingPolicy.time_lock_delta', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_htlc', full_name='lnrpc.RoutingPolicy.min_htlc', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_base_msat', full_name='lnrpc.RoutingPolicy.fee_base_msat', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_rate_milli_msat', full_name='lnrpc.RoutingPolicy.fee_rate_milli_msat', index=3, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='disabled', full_name='lnrpc.RoutingPolicy.disabled', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_htlc_msat', full_name='lnrpc.RoutingPolicy.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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14773, + serialized_end=14945, +) + + +_CHANNELEDGE = _descriptor.Descriptor( + name='ChannelEdge', + full_name='lnrpc.ChannelEdge', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel_id', full_name='lnrpc.ChannelEdge.channel_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', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_point', full_name='lnrpc.ChannelEdge.chan_point', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_update', full_name='lnrpc.ChannelEdge.last_update', index=2, + number=3, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='node1_pub', full_name='lnrpc.ChannelEdge.node1_pub', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='node2_pub', full_name='lnrpc.ChannelEdge.node2_pub', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='capacity', full_name='lnrpc.ChannelEdge.capacity', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='node1_policy', full_name='lnrpc.ChannelEdge.node1_policy', index=6, + number=7, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='node2_policy', full_name='lnrpc.ChannelEdge.node2_policy', index=7, + number=8, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=14948, + serialized_end=15174, +) + + +_CHANNELGRAPHREQUEST = _descriptor.Descriptor( + name='ChannelGraphRequest', + full_name='lnrpc.ChannelGraphRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='include_unannounced', full_name='lnrpc.ChannelGraphRequest.include_unannounced', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15176, + serialized_end=15226, +) + + +_CHANNELGRAPH = _descriptor.Descriptor( + name='ChannelGraph', + full_name='lnrpc.ChannelGraph', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='nodes', full_name='lnrpc.ChannelGraph.nodes', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='edges', full_name='lnrpc.ChannelGraph.edges', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15228, + serialized_end=15314, +) + + +_NODEMETRICSREQUEST = _descriptor.Descriptor( + name='NodeMetricsRequest', + full_name='lnrpc.NodeMetricsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='types', full_name='lnrpc.NodeMetricsRequest.types', index=0, + number=1, type=14, cpp_type=8, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15316, + serialized_end=15374, +) + + +_NODEMETRICSRESPONSE_BETWEENNESSCENTRALITYENTRY = _descriptor.Descriptor( + name='BetweennessCentralityEntry', + full_name='lnrpc.NodeMetricsResponse.BetweennessCentralityEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.NodeMetricsResponse.BetweennessCentralityEntry.key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.NodeMetricsResponse.BetweennessCentralityEntry.value', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15487, + serialized_end=15567, +) + +_NODEMETRICSRESPONSE = _descriptor.Descriptor( + name='NodeMetricsResponse', + full_name='lnrpc.NodeMetricsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='betweenness_centrality', full_name='lnrpc.NodeMetricsResponse.betweenness_centrality', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_NODEMETRICSRESPONSE_BETWEENNESSCENTRALITYENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15377, + serialized_end=15567, +) + + +_FLOATMETRIC = _descriptor.Descriptor( + name='FloatMetric', + full_name='lnrpc.FloatMetric', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.FloatMetric.value', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='normalized_value', full_name='lnrpc.FloatMetric.normalized_value', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15569, + serialized_end=15623, +) + + +_CHANINFOREQUEST = _descriptor.Descriptor( + name='ChanInfoRequest', + full_name='lnrpc.ChanInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_id', full_name='lnrpc.ChanInfoRequest.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', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15625, + serialized_end=15663, +) + + +_NETWORKINFOREQUEST = _descriptor.Descriptor( + name='NetworkInfoRequest', + full_name='lnrpc.NetworkInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15665, + serialized_end=15685, +) + + +_NETWORKINFO = _descriptor.Descriptor( + name='NetworkInfo', + full_name='lnrpc.NetworkInfo', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='graph_diameter', full_name='lnrpc.NetworkInfo.graph_diameter', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='avg_out_degree', full_name='lnrpc.NetworkInfo.avg_out_degree', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_out_degree', full_name='lnrpc.NetworkInfo.max_out_degree', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_nodes', full_name='lnrpc.NetworkInfo.num_nodes', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_channels', full_name='lnrpc.NetworkInfo.num_channels', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='total_network_capacity', full_name='lnrpc.NetworkInfo.total_network_capacity', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='avg_channel_size', full_name='lnrpc.NetworkInfo.avg_channel_size', index=6, + number=7, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_channel_size', full_name='lnrpc.NetworkInfo.min_channel_size', index=7, + number=8, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_channel_size', full_name='lnrpc.NetworkInfo.max_channel_size', index=8, + number=9, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='median_channel_size_sat', full_name='lnrpc.NetworkInfo.median_channel_size_sat', index=9, + number=10, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15688, + serialized_end=15983, +) + + +_STOPREQUEST = _descriptor.Descriptor( + name='StopRequest', + full_name='lnrpc.StopRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=15985, + serialized_end=15998, +) + + +_STOPRESPONSE = _descriptor.Descriptor( + name='StopResponse', + full_name='lnrpc.StopResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16000, + serialized_end=16014, +) + + +_GRAPHTOPOLOGYSUBSCRIPTION = _descriptor.Descriptor( + name='GraphTopologySubscription', + full_name='lnrpc.GraphTopologySubscription', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16016, + serialized_end=16043, +) + + +_GRAPHTOPOLOGYUPDATE = _descriptor.Descriptor( + name='GraphTopologyUpdate', + full_name='lnrpc.GraphTopologyUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='node_updates', full_name='lnrpc.GraphTopologyUpdate.node_updates', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='channel_updates', full_name='lnrpc.GraphTopologyUpdate.channel_updates', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='closed_chans', full_name='lnrpc.GraphTopologyUpdate.closed_chans', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16046, + serialized_end=16209, +) + + +_NODEUPDATE_FEATURESENTRY = _descriptor.Descriptor( + name='FeaturesEntry', + full_name='lnrpc.NodeUpdate.FeaturesEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.NodeUpdate.FeaturesEntry.key', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.NodeUpdate.FeaturesEntry.value', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6275, + serialized_end=6338, +) + +_NODEUPDATE = _descriptor.Descriptor( + name='NodeUpdate', + full_name='lnrpc.NodeUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='addresses', full_name='lnrpc.NodeUpdate.addresses', index=0, + number=1, type=9, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='identity_key', full_name='lnrpc.NodeUpdate.identity_key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='global_features', full_name='lnrpc.NodeUpdate.global_features', 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='alias', full_name='lnrpc.NodeUpdate.alias', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='node_addresses', full_name='lnrpc.NodeUpdate.node_addresses', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='features', full_name='lnrpc.NodeUpdate.features', index=6, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_NODEUPDATE_FEATURESENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16212, + serialized_end=16488, +) + + +_CHANNELEDGEUPDATE = _descriptor.Descriptor( + name='ChannelEdgeUpdate', + full_name='lnrpc.ChannelEdgeUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_id', full_name='lnrpc.ChannelEdgeUpdate.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', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_point', full_name='lnrpc.ChannelEdgeUpdate.chan_point', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='capacity', full_name='lnrpc.ChannelEdgeUpdate.capacity', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='routing_policy', full_name='lnrpc.ChannelEdgeUpdate.routing_policy', index=3, + 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='advertising_node', full_name='lnrpc.ChannelEdgeUpdate.advertising_node', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='connecting_node', full_name='lnrpc.ChannelEdgeUpdate.connecting_node', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16491, + serialized_end=16687, +) + + +_CLOSEDCHANNELUPDATE = _descriptor.Descriptor( + name='ClosedChannelUpdate', + full_name='lnrpc.ClosedChannelUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_id', full_name='lnrpc.ClosedChannelUpdate.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', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='capacity', full_name='lnrpc.ClosedChannelUpdate.capacity', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='closed_height', full_name='lnrpc.ClosedChannelUpdate.closed_height', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_point', full_name='lnrpc.ClosedChannelUpdate.chan_point', index=3, + 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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16689, + serialized_end=16813, +) + + +_HOPHINT = _descriptor.Descriptor( + name='HopHint', + full_name='lnrpc.HopHint', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='node_id', full_name='lnrpc.HopHint.node_id', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_id', full_name='lnrpc.HopHint.chan_id', 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=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_base_msat', full_name='lnrpc.HopHint.fee_base_msat', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_proportional_millionths', full_name='lnrpc.HopHint.fee_proportional_millionths', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cltv_expiry_delta', full_name='lnrpc.HopHint.cltv_expiry_delta', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16816, + serialized_end=16950, +) + + +_ROUTEHINT = _descriptor.Descriptor( + name='RouteHint', + full_name='lnrpc.RouteHint', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='hop_hints', full_name='lnrpc.RouteHint.hop_hints', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=16952, + serialized_end=16998, +) + + +_INVOICE_FEATURESENTRY = _descriptor.Descriptor( + name='FeaturesEntry', + full_name='lnrpc.Invoice.FeaturesEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.Invoice.FeaturesEntry.key', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.Invoice.FeaturesEntry.value', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6275, + serialized_end=6338, +) + +_INVOICE = _descriptor.Descriptor( + name='Invoice', + full_name='lnrpc.Invoice', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='memo', full_name='lnrpc.Invoice.memo', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='r_preimage', full_name='lnrpc.Invoice.r_preimage', index=1, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='r_hash', full_name='lnrpc.Invoice.r_hash', index=2, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.Invoice.value', index=3, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value_msat', full_name='lnrpc.Invoice.value_msat', index=4, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='settled', full_name='lnrpc.Invoice.settled', index=5, + number=6, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='creation_date', full_name='lnrpc.Invoice.creation_date', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='settle_date', full_name='lnrpc.Invoice.settle_date', index=7, + number=8, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_request', full_name='lnrpc.Invoice.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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='description_hash', full_name='lnrpc.Invoice.description_hash', index=9, + number=10, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='expiry', full_name='lnrpc.Invoice.expiry', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fallback_addr', full_name='lnrpc.Invoice.fallback_addr', index=11, + number=12, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cltv_expiry', full_name='lnrpc.Invoice.cltv_expiry', index=12, + number=13, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='route_hints', full_name='lnrpc.Invoice.route_hints', index=13, + number=14, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='private', full_name='lnrpc.Invoice.private', index=14, + number=15, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='add_index', full_name='lnrpc.Invoice.add_index', index=15, + number=16, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='settle_index', full_name='lnrpc.Invoice.settle_index', index=16, + number=17, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_paid', full_name='lnrpc.Invoice.amt_paid', index=17, + number=18, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_paid_sat', full_name='lnrpc.Invoice.amt_paid_sat', index=18, + number=19, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_paid_msat', full_name='lnrpc.Invoice.amt_paid_msat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='state', full_name='lnrpc.Invoice.state', index=20, + number=21, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='features', full_name='lnrpc.Invoice.features', index=22, + number=24, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_keysend', full_name='lnrpc.Invoice.is_keysend', index=23, + number=25, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_addr', full_name='lnrpc.Invoice.payment_addr', index=24, + number=26, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_amp', full_name='lnrpc.Invoice.is_amp', index=25, + number=27, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_INVOICE_FEATURESENTRY, ], + enum_types=[ + _INVOICE_INVOICESTATE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=17001, + serialized_end=17758, +) + + +_INVOICEHTLC_CUSTOMRECORDSENTRY = _descriptor.Descriptor( + name='CustomRecordsEntry', + full_name='lnrpc.InvoiceHTLC.CustomRecordsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.InvoiceHTLC.CustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.InvoiceHTLC.CustomRecordsEntry.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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=13947, + serialized_end=13999, +) + +_INVOICEHTLC = _descriptor.Descriptor( + name='InvoiceHTLC', + full_name='lnrpc.InvoiceHTLC', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + 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', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='custom_records', full_name='lnrpc.InvoiceHTLC.custom_records', index=8, + number=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='mpp_total_amt_msat', full_name='lnrpc.InvoiceHTLC.mpp_total_amt_msat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amp', full_name='lnrpc.InvoiceHTLC.amp', index=10, + number=11, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_INVOICEHTLC_CUSTOMRECORDSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=17761, + serialized_end=18132, +) + + +_AMP = _descriptor.Descriptor( + name='AMP', + full_name='lnrpc.AMP', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='root_share', full_name='lnrpc.AMP.root_share', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='set_id', full_name='lnrpc.AMP.set_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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='child_index', full_name='lnrpc.AMP.child_index', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='hash', full_name='lnrpc.AMP.hash', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='preimage', full_name='lnrpc.AMP.preimage', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18134, + serialized_end=18228, +) + + +_ADDINVOICERESPONSE = _descriptor.Descriptor( + name='AddInvoiceResponse', + full_name='lnrpc.AddInvoiceResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='r_hash', full_name='lnrpc.AddInvoiceResponse.r_hash', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_request', full_name='lnrpc.AddInvoiceResponse.payment_request', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='add_index', full_name='lnrpc.AddInvoiceResponse.add_index', index=2, + number=16, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_addr', full_name='lnrpc.AddInvoiceResponse.payment_addr', index=3, + number=17, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18230, + serialized_end=18332, +) + + +_PAYMENTHASH = _descriptor.Descriptor( + name='PaymentHash', + full_name='lnrpc.PaymentHash', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='r_hash_str', full_name='lnrpc.PaymentHash.r_hash_str', 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='r_hash', full_name='lnrpc.PaymentHash.r_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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18334, + serialized_end=18387, +) + + +_LISTINVOICEREQUEST = _descriptor.Descriptor( + name='ListInvoiceRequest', + full_name='lnrpc.ListInvoiceRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pending_only', full_name='lnrpc.ListInvoiceRequest.pending_only', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='index_offset', full_name='lnrpc.ListInvoiceRequest.index_offset', index=1, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_max_invoices', full_name='lnrpc.ListInvoiceRequest.num_max_invoices', index=2, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='reversed', full_name='lnrpc.ListInvoiceRequest.reversed', index=3, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18389, + serialized_end=18497, +) + + +_LISTINVOICERESPONSE = _descriptor.Descriptor( + name='ListInvoiceResponse', + full_name='lnrpc.ListInvoiceResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='invoices', full_name='lnrpc.ListInvoiceResponse.invoices', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_index_offset', full_name='lnrpc.ListInvoiceResponse.last_index_offset', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='first_index_offset', full_name='lnrpc.ListInvoiceResponse.first_index_offset', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18499, + serialized_end=18609, +) + + +_INVOICESUBSCRIPTION = _descriptor.Descriptor( + name='InvoiceSubscription', + full_name='lnrpc.InvoiceSubscription', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='add_index', full_name='lnrpc.InvoiceSubscription.add_index', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='settle_index', full_name='lnrpc.InvoiceSubscription.settle_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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18611, + serialized_end=18673, +) + + +_PAYMENT = _descriptor.Descriptor( + name='Payment', + full_name='lnrpc.Payment', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='payment_hash', full_name='lnrpc.Payment.payment_hash', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.Payment.value', index=1, + number=2, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='creation_date', full_name='lnrpc.Payment.creation_date', index=2, + number=3, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee', full_name='lnrpc.Payment.fee', index=3, + 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_preimage', full_name='lnrpc.Payment.payment_preimage', index=4, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value_sat', full_name='lnrpc.Payment.value_sat', index=5, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value_msat', full_name='lnrpc.Payment.value_msat', index=6, + number=8, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_request', full_name='lnrpc.Payment.payment_request', index=7, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='status', full_name='lnrpc.Payment.status', index=8, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_sat', full_name='lnrpc.Payment.fee_sat', index=9, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_msat', full_name='lnrpc.Payment.fee_msat', index=10, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='creation_time_ns', full_name='lnrpc.Payment.creation_time_ns', index=11, + number=13, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='htlcs', full_name='lnrpc.Payment.htlcs', index=12, + number=14, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_index', full_name='lnrpc.Payment.payment_index', index=13, + number=15, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='failure_reason', full_name='lnrpc.Payment.failure_reason', index=14, + number=16, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _PAYMENT_PAYMENTSTATUS, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=18676, + serialized_end=19156, +) + + +_HTLCATTEMPT = _descriptor.Descriptor( + name='HTLCAttempt', + full_name='lnrpc.HTLCAttempt', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='attempt_id', full_name='lnrpc.HTLCAttempt.attempt_id', index=0, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='status', full_name='lnrpc.HTLCAttempt.status', index=1, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='route', full_name='lnrpc.HTLCAttempt.route', index=2, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='attempt_time_ns', full_name='lnrpc.HTLCAttempt.attempt_time_ns', index=3, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='resolve_time_ns', full_name='lnrpc.HTLCAttempt.resolve_time_ns', index=4, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='failure', full_name='lnrpc.HTLCAttempt.failure', index=5, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='preimage', full_name='lnrpc.HTLCAttempt.preimage', index=6, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _HTLCATTEMPT_HTLCSTATUS, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19159, + serialized_end=19425, +) + + +_LISTPAYMENTSREQUEST = _descriptor.Descriptor( + name='ListPaymentsRequest', + full_name='lnrpc.ListPaymentsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='index_offset', full_name='lnrpc.ListPaymentsRequest.index_offset', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_payments', full_name='lnrpc.ListPaymentsRequest.max_payments', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='reversed', full_name='lnrpc.ListPaymentsRequest.reversed', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19427, + serialized_end=19538, +) + + +_LISTPAYMENTSRESPONSE = _descriptor.Descriptor( + name='ListPaymentsResponse', + full_name='lnrpc.ListPaymentsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='payments', full_name='lnrpc.ListPaymentsResponse.payments', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='first_index_offset', full_name='lnrpc.ListPaymentsResponse.first_index_offset', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_index_offset', full_name='lnrpc.ListPaymentsResponse.last_index_offset', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19540, + serialized_end=19651, +) + + +_DELETEALLPAYMENTSREQUEST = _descriptor.Descriptor( + name='DeleteAllPaymentsRequest', + full_name='lnrpc.DeleteAllPaymentsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='failed_payments_only', full_name='lnrpc.DeleteAllPaymentsRequest.failed_payments_only', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='failed_htlcs_only', full_name='lnrpc.DeleteAllPaymentsRequest.failed_htlcs_only', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19653, + serialized_end=19736, +) + + +_DELETEALLPAYMENTSRESPONSE = _descriptor.Descriptor( + name='DeleteAllPaymentsResponse', + full_name='lnrpc.DeleteAllPaymentsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19738, + serialized_end=19765, +) + + +_ABANDONCHANNELREQUEST = _descriptor.Descriptor( + name='AbandonChannelRequest', + full_name='lnrpc.AbandonChannelRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel_point', full_name='lnrpc.AbandonChannelRequest.channel_point', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pending_funding_shim_only', full_name='lnrpc.AbandonChannelRequest.pending_funding_shim_only', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='i_know_what_i_am_doing', full_name='lnrpc.AbandonChannelRequest.i_know_what_i_am_doing', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19768, + serialized_end=19902, +) + + +_ABANDONCHANNELRESPONSE = _descriptor.Descriptor( + name='AbandonChannelResponse', + full_name='lnrpc.AbandonChannelResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19904, + serialized_end=19928, +) + + +_DEBUGLEVELREQUEST = _descriptor.Descriptor( + name='DebugLevelRequest', + full_name='lnrpc.DebugLevelRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='show', full_name='lnrpc.DebugLevelRequest.show', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='level_spec', full_name='lnrpc.DebugLevelRequest.level_spec', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19930, + serialized_end=19983, +) + + +_DEBUGLEVELRESPONSE = _descriptor.Descriptor( + name='DebugLevelResponse', + full_name='lnrpc.DebugLevelResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='sub_systems', full_name='lnrpc.DebugLevelResponse.sub_systems', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=19985, + serialized_end=20026, +) + + +_PAYREQSTRING = _descriptor.Descriptor( + name='PayReqString', + full_name='lnrpc.PayReqString', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pay_req', full_name='lnrpc.PayReqString.pay_req', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20028, + serialized_end=20059, +) + + +_PAYREQ_FEATURESENTRY = _descriptor.Descriptor( + name='FeaturesEntry', + full_name='lnrpc.PayReq.FeaturesEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.PayReq.FeaturesEntry.key', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.PayReq.FeaturesEntry.value', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=6275, + serialized_end=6338, +) + +_PAYREQ = _descriptor.Descriptor( + name='PayReq', + full_name='lnrpc.PayReq', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='destination', full_name='lnrpc.PayReq.destination', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_hash', full_name='lnrpc.PayReq.payment_hash', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_satoshis', full_name='lnrpc.PayReq.num_satoshis', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='timestamp', full_name='lnrpc.PayReq.timestamp', index=3, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='expiry', full_name='lnrpc.PayReq.expiry', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='description', full_name='lnrpc.PayReq.description', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='description_hash', full_name='lnrpc.PayReq.description_hash', index=6, + number=7, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fallback_addr', full_name='lnrpc.PayReq.fallback_addr', index=7, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cltv_expiry', full_name='lnrpc.PayReq.cltv_expiry', index=8, + number=9, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='route_hints', full_name='lnrpc.PayReq.route_hints', index=9, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='payment_addr', full_name='lnrpc.PayReq.payment_addr', index=10, + number=11, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_msat', full_name='lnrpc.PayReq.num_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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='features', full_name='lnrpc.PayReq.features', index=12, + number=13, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_PAYREQ_FEATURESENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20062, + serialized_end=20452, +) + + +_FEATURE = _descriptor.Descriptor( + name='Feature', + full_name='lnrpc.Feature', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='lnrpc.Feature.name', index=0, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_required', full_name='lnrpc.Feature.is_required', index=1, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='is_known', full_name='lnrpc.Feature.is_known', index=2, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20454, + serialized_end=20516, +) + + +_FEEREPORTREQUEST = _descriptor.Descriptor( + name='FeeReportRequest', + full_name='lnrpc.FeeReportRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20518, + serialized_end=20536, +) + + +_CHANNELFEEREPORT = _descriptor.Descriptor( + name='ChannelFeeReport', + full_name='lnrpc.ChannelFeeReport', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_id', full_name='lnrpc.ChannelFeeReport.chan_id', index=0, + 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=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='channel_point', full_name='lnrpc.ChannelFeeReport.channel_point', index=1, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_fee_msat', full_name='lnrpc.ChannelFeeReport.base_fee_msat', index=2, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_per_mil', full_name='lnrpc.ChannelFeeReport.fee_per_mil', index=3, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_rate', full_name='lnrpc.ChannelFeeReport.fee_rate', index=4, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20538, + serialized_end=20662, +) + + +_FEEREPORTRESPONSE = _descriptor.Descriptor( + name='FeeReportResponse', + full_name='lnrpc.FeeReportResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='channel_fees', full_name='lnrpc.FeeReportResponse.channel_fees', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='day_fee_sum', full_name='lnrpc.FeeReportResponse.day_fee_sum', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='week_fee_sum', full_name='lnrpc.FeeReportResponse.week_fee_sum', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='month_fee_sum', full_name='lnrpc.FeeReportResponse.month_fee_sum', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=20665, + serialized_end=20797, +) + + +_POLICYUPDATEREQUEST = _descriptor.Descriptor( + name='PolicyUpdateRequest', + full_name='lnrpc.PolicyUpdateRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='global', full_name='lnrpc.PolicyUpdateRequest.global', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_point', full_name='lnrpc.PolicyUpdateRequest.chan_point', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_fee_msat', full_name='lnrpc.PolicyUpdateRequest.base_fee_msat', index=2, + number=3, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_rate', full_name='lnrpc.PolicyUpdateRequest.fee_rate', index=3, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_lock_delta', full_name='lnrpc.PolicyUpdateRequest.time_lock_delta', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_htlc_msat', full_name='lnrpc.PolicyUpdateRequest.min_htlc_msat', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_htlc_msat_specified', full_name='lnrpc.PolicyUpdateRequest.min_htlc_msat_specified', index=7, + number=8, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='scope', full_name='lnrpc.PolicyUpdateRequest.scope', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=20800, + serialized_end=21036, +) + + +_POLICYUPDATERESPONSE = _descriptor.Descriptor( + name='PolicyUpdateResponse', + full_name='lnrpc.PolicyUpdateResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21038, + serialized_end=21060, +) + + +_FORWARDINGHISTORYREQUEST = _descriptor.Descriptor( + name='ForwardingHistoryRequest', + full_name='lnrpc.ForwardingHistoryRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='start_time', full_name='lnrpc.ForwardingHistoryRequest.start_time', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='end_time', full_name='lnrpc.ForwardingHistoryRequest.end_time', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='index_offset', full_name='lnrpc.ForwardingHistoryRequest.index_offset', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_max_events', full_name='lnrpc.ForwardingHistoryRequest.num_max_events', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21062, + serialized_end=21172, +) + + +_FORWARDINGEVENT = _descriptor.Descriptor( + name='ForwardingEvent', + full_name='lnrpc.ForwardingEvent', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='timestamp', full_name='lnrpc.ForwardingEvent.timestamp', 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'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_id_in', full_name='lnrpc.ForwardingEvent.chan_id_in', 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=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_in', full_name='lnrpc.ForwardingEvent.amt_in', index=3, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amt_out', full_name='lnrpc.ForwardingEvent.amt_out', index=4, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee', full_name='lnrpc.ForwardingEvent.fee', index=5, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_msat', full_name='lnrpc.ForwardingEvent.fee_msat', index=6, + 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, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='timestamp_ns', full_name='lnrpc.ForwardingEvent.timestamp_ns', index=9, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21175, + serialized_end=21393, +) + + +_FORWARDINGHISTORYRESPONSE = _descriptor.Descriptor( + name='ForwardingHistoryResponse', + full_name='lnrpc.ForwardingHistoryResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='forwarding_events', full_name='lnrpc.ForwardingHistoryResponse.forwarding_events', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='last_offset_index', full_name='lnrpc.ForwardingHistoryResponse.last_offset_index', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21395, + serialized_end=21500, +) + + +_EXPORTCHANNELBACKUPREQUEST = _descriptor.Descriptor( + name='ExportChannelBackupRequest', + full_name='lnrpc.ExportChannelBackupRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_point', full_name='lnrpc.ExportChannelBackupRequest.chan_point', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21502, + serialized_end=21571, +) + + +_CHANNELBACKUP = _descriptor.Descriptor( + name='ChannelBackup', + full_name='lnrpc.ChannelBackup', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_point', full_name='lnrpc.ChannelBackup.chan_point', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_backup', full_name='lnrpc.ChannelBackup.chan_backup', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21573, + serialized_end=21650, +) + + +_MULTICHANBACKUP = _descriptor.Descriptor( + name='MultiChanBackup', + full_name='lnrpc.MultiChanBackup', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_points', full_name='lnrpc.MultiChanBackup.chan_points', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='multi_chan_backup', full_name='lnrpc.MultiChanBackup.multi_chan_backup', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21652, + serialized_end=21738, +) + + +_CHANBACKUPEXPORTREQUEST = _descriptor.Descriptor( + name='ChanBackupExportRequest', + full_name='lnrpc.ChanBackupExportRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21740, + serialized_end=21765, +) + + +_CHANBACKUPSNAPSHOT = _descriptor.Descriptor( + name='ChanBackupSnapshot', + full_name='lnrpc.ChanBackupSnapshot', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='single_chan_backups', full_name='lnrpc.ChanBackupSnapshot.single_chan_backups', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='multi_chan_backup', full_name='lnrpc.ChanBackupSnapshot.multi_chan_backup', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21767, + serialized_end=21890, +) + + +_CHANNELBACKUPS = _descriptor.Descriptor( + name='ChannelBackups', + full_name='lnrpc.ChannelBackups', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_backups', full_name='lnrpc.ChannelBackups.chan_backups', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=21892, + serialized_end=21952, +) + + +_RESTORECHANBACKUPREQUEST = _descriptor.Descriptor( + name='RestoreChanBackupRequest', + full_name='lnrpc.RestoreChanBackupRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='chan_backups', full_name='lnrpc.RestoreChanBackupRequest.chan_backups', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='multi_chan_backup', full_name='lnrpc.RestoreChanBackupRequest.multi_chan_backup', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='backup', full_name='lnrpc.RestoreChanBackupRequest.backup', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=21954, + serialized_end=22066, +) + + +_RESTOREBACKUPRESPONSE = _descriptor.Descriptor( + name='RestoreBackupResponse', + full_name='lnrpc.RestoreBackupResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22068, + serialized_end=22091, +) + + +_CHANNELBACKUPSUBSCRIPTION = _descriptor.Descriptor( + name='ChannelBackupSubscription', + full_name='lnrpc.ChannelBackupSubscription', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22093, + serialized_end=22120, +) + + +_VERIFYCHANBACKUPRESPONSE = _descriptor.Descriptor( + name='VerifyChanBackupResponse', + full_name='lnrpc.VerifyChanBackupResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22122, + serialized_end=22148, +) + + +_MACAROONPERMISSION = _descriptor.Descriptor( + name='MacaroonPermission', + full_name='lnrpc.MacaroonPermission', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22150, + serialized_end=22202, +) + + +_BAKEMACAROONREQUEST = _descriptor.Descriptor( + name='BakeMacaroonRequest', + full_name='lnrpc.BakeMacaroonRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='root_key_id', full_name='lnrpc.BakeMacaroonRequest.root_key_id', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22204, + serialized_end=22294, +) + + +_BAKEMACAROONRESPONSE = _descriptor.Descriptor( + name='BakeMacaroonResponse', + full_name='lnrpc.BakeMacaroonResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22296, + serialized_end=22336, +) + + +_LISTMACAROONIDSREQUEST = _descriptor.Descriptor( + name='ListMacaroonIDsRequest', + full_name='lnrpc.ListMacaroonIDsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22338, + serialized_end=22362, +) + + +_LISTMACAROONIDSRESPONSE = _descriptor.Descriptor( + name='ListMacaroonIDsResponse', + full_name='lnrpc.ListMacaroonIDsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='root_key_ids', full_name='lnrpc.ListMacaroonIDsResponse.root_key_ids', index=0, + number=1, type=4, cpp_type=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22364, + serialized_end=22411, +) + + +_DELETEMACAROONIDREQUEST = _descriptor.Descriptor( + name='DeleteMacaroonIDRequest', + full_name='lnrpc.DeleteMacaroonIDRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='root_key_id', full_name='lnrpc.DeleteMacaroonIDRequest.root_key_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=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22413, + serialized_end=22459, +) + + +_DELETEMACAROONIDRESPONSE = _descriptor.Descriptor( + name='DeleteMacaroonIDResponse', + full_name='lnrpc.DeleteMacaroonIDResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='deleted', full_name='lnrpc.DeleteMacaroonIDResponse.deleted', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22461, + serialized_end=22504, +) + + +_MACAROONPERMISSIONLIST = _descriptor.Descriptor( + name='MacaroonPermissionList', + full_name='lnrpc.MacaroonPermissionList', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='permissions', full_name='lnrpc.MacaroonPermissionList.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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22506, + serialized_end=22578, +) + + +_LISTPERMISSIONSREQUEST = _descriptor.Descriptor( + name='ListPermissionsRequest', + full_name='lnrpc.ListPermissionsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22580, + serialized_end=22604, +) + + +_LISTPERMISSIONSRESPONSE_METHODPERMISSIONSENTRY = _descriptor.Descriptor( + name='MethodPermissionsEntry', + full_name='lnrpc.ListPermissionsResponse.MethodPermissionsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='lnrpc.ListPermissionsResponse.MethodPermissionsEntry.key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='lnrpc.ListPermissionsResponse.MethodPermissionsEntry.value', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22717, + serialized_end=22804, +) + +_LISTPERMISSIONSRESPONSE = _descriptor.Descriptor( + name='ListPermissionsResponse', + full_name='lnrpc.ListPermissionsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='method_permissions', full_name='lnrpc.ListPermissionsResponse.method_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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_LISTPERMISSIONSRESPONSE_METHODPERMISSIONSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22607, + serialized_end=22804, +) + + +_FAILURE = _descriptor.Descriptor( + name='Failure', + full_name='lnrpc.Failure', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='code', full_name='lnrpc.Failure.code', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='channel_update', full_name='lnrpc.Failure.channel_update', index=1, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='htlc_msat', full_name='lnrpc.Failure.htlc_msat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='onion_sha_256', full_name='lnrpc.Failure.onion_sha_256', index=3, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cltv_expiry', full_name='lnrpc.Failure.cltv_expiry', index=4, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='flags', full_name='lnrpc.Failure.flags', index=5, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='failure_source_index', full_name='lnrpc.Failure.failure_source_index', index=6, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='height', full_name='lnrpc.Failure.height', index=7, + number=9, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + _FAILURE_FAILURECODE, + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=22807, + serialized_end=23788, +) + + +_CHANNELUPDATE = _descriptor.Descriptor( + name='ChannelUpdate', + full_name='lnrpc.ChannelUpdate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='signature', full_name='lnrpc.ChannelUpdate.signature', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chain_hash', full_name='lnrpc.ChannelUpdate.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='chan_id', full_name='lnrpc.ChannelUpdate.chan_id', 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=b'0\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='timestamp', full_name='lnrpc.ChannelUpdate.timestamp', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='message_flags', full_name='lnrpc.ChannelUpdate.message_flags', index=4, + number=10, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='channel_flags', full_name='lnrpc.ChannelUpdate.channel_flags', index=5, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='time_lock_delta', full_name='lnrpc.ChannelUpdate.time_lock_delta', index=6, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='htlc_minimum_msat', full_name='lnrpc.ChannelUpdate.htlc_minimum_msat', index=7, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='base_fee', full_name='lnrpc.ChannelUpdate.base_fee', index=8, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='fee_rate', full_name='lnrpc.ChannelUpdate.fee_rate', index=9, + number=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='htlc_maximum_msat', full_name='lnrpc.ChannelUpdate.htlc_maximum_msat', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extra_opaque_data', full_name='lnrpc.ChannelUpdate.extra_opaque_data', index=11, + number=12, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=23791, + serialized_end=24073, +) + + +_MACAROONID = _descriptor.Descriptor( + name='MacaroonId', + full_name='lnrpc.MacaroonId', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='nonce', full_name='lnrpc.MacaroonId.nonce', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='storageId', full_name='lnrpc.MacaroonId.storageId', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='ops', full_name='lnrpc.MacaroonId.ops', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=24075, + serialized_end=24145, +) + + +_OP = _descriptor.Descriptor( + name='Op', + full_name='lnrpc.Op', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='entity', full_name='lnrpc.Op.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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='actions', full_name='lnrpc.Op.actions', index=1, + number=2, type=9, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=24147, + serialized_end=24184, +) + +_UTXO.fields_by_name['address_type'].enum_type = _ADDRESSTYPE +_UTXO.fields_by_name['outpoint'].message_type = _OUTPOINT +_TRANSACTIONDETAILS.fields_by_name['transactions'].message_type = _TRANSACTION +_FEELIMIT.oneofs_by_name['limit'].fields.append( + _FEELIMIT.fields_by_name['fixed']) +_FEELIMIT.fields_by_name['fixed'].containing_oneof = _FEELIMIT.oneofs_by_name['limit'] +_FEELIMIT.oneofs_by_name['limit'].fields.append( + _FEELIMIT.fields_by_name['fixed_msat']) +_FEELIMIT.fields_by_name['fixed_msat'].containing_oneof = _FEELIMIT.oneofs_by_name['limit'] +_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_DESTCUSTOMRECORDSENTRY.containing_type = _SENDREQUEST +_SENDREQUEST.fields_by_name['fee_limit'].message_type = _FEELIMIT +_SENDREQUEST.fields_by_name['dest_custom_records'].message_type = _SENDREQUEST_DESTCUSTOMRECORDSENTRY +_SENDREQUEST.fields_by_name['dest_features'].enum_type = _FEATUREBIT +_SENDRESPONSE.fields_by_name['payment_route'].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']) +_CHANNELPOINT.fields_by_name['funding_txid_bytes'].containing_oneof = _CHANNELPOINT.oneofs_by_name['funding_txid'] +_CHANNELPOINT.oneofs_by_name['funding_txid'].fields.append( + _CHANNELPOINT.fields_by_name['funding_txid_str']) +_CHANNELPOINT.fields_by_name['funding_txid_str'].containing_oneof = _CHANNELPOINT.oneofs_by_name['funding_txid'] +_ESTIMATEFEEREQUEST_ADDRTOAMOUNTENTRY.containing_type = _ESTIMATEFEEREQUEST +_ESTIMATEFEEREQUEST.fields_by_name['AddrToAmount'].message_type = _ESTIMATEFEEREQUEST_ADDRTOAMOUNTENTRY +_SENDMANYREQUEST_ADDRTOAMOUNTENTRY.containing_type = _SENDMANYREQUEST +_SENDMANYREQUEST.fields_by_name['AddrToAmount'].message_type = _SENDMANYREQUEST_ADDRTOAMOUNTENTRY +_LISTUNSPENTRESPONSE.fields_by_name['utxos'].message_type = _UTXO +_NEWADDRESSREQUEST.fields_by_name['type'].enum_type = _ADDRESSTYPE +_CONNECTPEERREQUEST.fields_by_name['addr'].message_type = _LIGHTNINGADDRESS +_CHANNEL.fields_by_name['pending_htlcs'].message_type = _HTLC +_CHANNEL.fields_by_name['commitment_type'].enum_type = _COMMITMENTTYPE +_CHANNEL.fields_by_name['local_constraints'].message_type = _CHANNELCONSTRAINTS +_CHANNEL.fields_by_name['remote_constraints'].message_type = _CHANNELCONSTRAINTS +_LISTCHANNELSRESPONSE.fields_by_name['channels'].message_type = _CHANNEL +_CHANNELCLOSESUMMARY.fields_by_name['close_type'].enum_type = _CHANNELCLOSESUMMARY_CLOSURETYPE +_CHANNELCLOSESUMMARY.fields_by_name['open_initiator'].enum_type = _INITIATOR +_CHANNELCLOSESUMMARY.fields_by_name['close_initiator'].enum_type = _INITIATOR +_CHANNELCLOSESUMMARY.fields_by_name['resolutions'].message_type = _RESOLUTION +_CHANNELCLOSESUMMARY_CLOSURETYPE.containing_type = _CHANNELCLOSESUMMARY +_RESOLUTION.fields_by_name['resolution_type'].enum_type = _RESOLUTIONTYPE +_RESOLUTION.fields_by_name['outcome'].enum_type = _RESOLUTIONOUTCOME +_RESOLUTION.fields_by_name['outpoint'].message_type = _OUTPOINT +_CLOSEDCHANNELSRESPONSE.fields_by_name['channels'].message_type = _CHANNELCLOSESUMMARY +_PEER_FEATURESENTRY.fields_by_name['value'].message_type = _FEATURE +_PEER_FEATURESENTRY.containing_type = _PEER +_PEER.fields_by_name['sync_type'].enum_type = _PEER_SYNCTYPE +_PEER.fields_by_name['features'].message_type = _PEER_FEATURESENTRY +_PEER.fields_by_name['errors'].message_type = _TIMESTAMPEDERROR +_PEER_SYNCTYPE.containing_type = _PEER +_LISTPEERSRESPONSE.fields_by_name['peers'].message_type = _PEER +_PEEREVENT.fields_by_name['type'].enum_type = _PEEREVENT_EVENTTYPE +_PEEREVENT_EVENTTYPE.containing_type = _PEEREVENT +_GETINFORESPONSE_FEATURESENTRY.fields_by_name['value'].message_type = _FEATURE +_GETINFORESPONSE_FEATURESENTRY.containing_type = _GETINFORESPONSE +_GETINFORESPONSE.fields_by_name['chains'].message_type = _CHAIN +_GETINFORESPONSE.fields_by_name['features'].message_type = _GETINFORESPONSE_FEATURESENTRY +_CHANNELOPENUPDATE.fields_by_name['channel_point'].message_type = _CHANNELPOINT +_CLOSECHANNELREQUEST.fields_by_name['channel_point'].message_type = _CHANNELPOINT +_CLOSESTATUSUPDATE.fields_by_name['close_pending'].message_type = _PENDINGUPDATE +_CLOSESTATUSUPDATE.fields_by_name['chan_close'].message_type = _CHANNELCLOSEUPDATE +_CLOSESTATUSUPDATE.oneofs_by_name['update'].fields.append( + _CLOSESTATUSUPDATE.fields_by_name['close_pending']) +_CLOSESTATUSUPDATE.fields_by_name['close_pending'].containing_oneof = _CLOSESTATUSUPDATE.oneofs_by_name['update'] +_CLOSESTATUSUPDATE.oneofs_by_name['update'].fields.append( + _CLOSESTATUSUPDATE.fields_by_name['chan_close']) +_CLOSESTATUSUPDATE.fields_by_name['chan_close'].containing_oneof = _CLOSESTATUSUPDATE.oneofs_by_name['update'] +_OPENCHANNELREQUEST.fields_by_name['funding_shim'].message_type = _FUNDINGSHIM +_OPENSTATUSUPDATE.fields_by_name['chan_pending'].message_type = _PENDINGUPDATE +_OPENSTATUSUPDATE.fields_by_name['chan_open'].message_type = _CHANNELOPENUPDATE +_OPENSTATUSUPDATE.fields_by_name['psbt_fund'].message_type = _READYFORPSBTFUNDING +_OPENSTATUSUPDATE.oneofs_by_name['update'].fields.append( + _OPENSTATUSUPDATE.fields_by_name['chan_pending']) +_OPENSTATUSUPDATE.fields_by_name['chan_pending'].containing_oneof = _OPENSTATUSUPDATE.oneofs_by_name['update'] +_OPENSTATUSUPDATE.oneofs_by_name['update'].fields.append( + _OPENSTATUSUPDATE.fields_by_name['chan_open']) +_OPENSTATUSUPDATE.fields_by_name['chan_open'].containing_oneof = _OPENSTATUSUPDATE.oneofs_by_name['update'] +_OPENSTATUSUPDATE.oneofs_by_name['update'].fields.append( + _OPENSTATUSUPDATE.fields_by_name['psbt_fund']) +_OPENSTATUSUPDATE.fields_by_name['psbt_fund'].containing_oneof = _OPENSTATUSUPDATE.oneofs_by_name['update'] +_KEYDESCRIPTOR.fields_by_name['key_loc'].message_type = _KEYLOCATOR +_CHANPOINTSHIM.fields_by_name['chan_point'].message_type = _CHANNELPOINT +_CHANPOINTSHIM.fields_by_name['local_key'].message_type = _KEYDESCRIPTOR +_FUNDINGSHIM.fields_by_name['chan_point_shim'].message_type = _CHANPOINTSHIM +_FUNDINGSHIM.fields_by_name['psbt_shim'].message_type = _PSBTSHIM +_FUNDINGSHIM.oneofs_by_name['shim'].fields.append( + _FUNDINGSHIM.fields_by_name['chan_point_shim']) +_FUNDINGSHIM.fields_by_name['chan_point_shim'].containing_oneof = _FUNDINGSHIM.oneofs_by_name['shim'] +_FUNDINGSHIM.oneofs_by_name['shim'].fields.append( + _FUNDINGSHIM.fields_by_name['psbt_shim']) +_FUNDINGSHIM.fields_by_name['psbt_shim'].containing_oneof = _FUNDINGSHIM.oneofs_by_name['shim'] +_FUNDINGTRANSITIONMSG.fields_by_name['shim_register'].message_type = _FUNDINGSHIM +_FUNDINGTRANSITIONMSG.fields_by_name['shim_cancel'].message_type = _FUNDINGSHIMCANCEL +_FUNDINGTRANSITIONMSG.fields_by_name['psbt_verify'].message_type = _FUNDINGPSBTVERIFY +_FUNDINGTRANSITIONMSG.fields_by_name['psbt_finalize'].message_type = _FUNDINGPSBTFINALIZE +_FUNDINGTRANSITIONMSG.oneofs_by_name['trigger'].fields.append( + _FUNDINGTRANSITIONMSG.fields_by_name['shim_register']) +_FUNDINGTRANSITIONMSG.fields_by_name['shim_register'].containing_oneof = _FUNDINGTRANSITIONMSG.oneofs_by_name['trigger'] +_FUNDINGTRANSITIONMSG.oneofs_by_name['trigger'].fields.append( + _FUNDINGTRANSITIONMSG.fields_by_name['shim_cancel']) +_FUNDINGTRANSITIONMSG.fields_by_name['shim_cancel'].containing_oneof = _FUNDINGTRANSITIONMSG.oneofs_by_name['trigger'] +_FUNDINGTRANSITIONMSG.oneofs_by_name['trigger'].fields.append( + _FUNDINGTRANSITIONMSG.fields_by_name['psbt_verify']) +_FUNDINGTRANSITIONMSG.fields_by_name['psbt_verify'].containing_oneof = _FUNDINGTRANSITIONMSG.oneofs_by_name['trigger'] +_FUNDINGTRANSITIONMSG.oneofs_by_name['trigger'].fields.append( + _FUNDINGTRANSITIONMSG.fields_by_name['psbt_finalize']) +_FUNDINGTRANSITIONMSG.fields_by_name['psbt_finalize'].containing_oneof = _FUNDINGTRANSITIONMSG.oneofs_by_name['trigger'] +_PENDINGCHANNELSRESPONSE_PENDINGCHANNEL.fields_by_name['initiator'].enum_type = _INITIATOR +_PENDINGCHANNELSRESPONSE_PENDINGCHANNEL.fields_by_name['commitment_type'].enum_type = _COMMITMENTTYPE +_PENDINGCHANNELSRESPONSE_PENDINGCHANNEL.containing_type = _PENDINGCHANNELSRESPONSE +_PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL.fields_by_name['channel'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL +_PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL.containing_type = _PENDINGCHANNELSRESPONSE +_PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL.fields_by_name['channel'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL +_PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL.fields_by_name['commitments'].message_type = _PENDINGCHANNELSRESPONSE_COMMITMENTS +_PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL.containing_type = _PENDINGCHANNELSRESPONSE +_PENDINGCHANNELSRESPONSE_COMMITMENTS.containing_type = _PENDINGCHANNELSRESPONSE +_PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL.fields_by_name['channel'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL +_PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL.containing_type = _PENDINGCHANNELSRESPONSE +_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL.fields_by_name['channel'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL +_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL.fields_by_name['pending_htlcs'].message_type = _PENDINGHTLC +_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL.fields_by_name['anchor'].enum_type = _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL_ANCHORSTATE +_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL.containing_type = _PENDINGCHANNELSRESPONSE +_PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL_ANCHORSTATE.containing_type = _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL +_PENDINGCHANNELSRESPONSE.fields_by_name['pending_open_channels'].message_type = _PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL +_PENDINGCHANNELSRESPONSE.fields_by_name['pending_closing_channels'].message_type = _PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL +_PENDINGCHANNELSRESPONSE.fields_by_name['pending_force_closing_channels'].message_type = _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL +_PENDINGCHANNELSRESPONSE.fields_by_name['waiting_close_channels'].message_type = _PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL +_CHANNELEVENTUPDATE.fields_by_name['open_channel'].message_type = _CHANNEL +_CHANNELEVENTUPDATE.fields_by_name['closed_channel'].message_type = _CHANNELCLOSESUMMARY +_CHANNELEVENTUPDATE.fields_by_name['active_channel'].message_type = _CHANNELPOINT +_CHANNELEVENTUPDATE.fields_by_name['inactive_channel'].message_type = _CHANNELPOINT +_CHANNELEVENTUPDATE.fields_by_name['pending_open_channel'].message_type = _PENDINGUPDATE +_CHANNELEVENTUPDATE.fields_by_name['type'].enum_type = _CHANNELEVENTUPDATE_UPDATETYPE +_CHANNELEVENTUPDATE_UPDATETYPE.containing_type = _CHANNELEVENTUPDATE +_CHANNELEVENTUPDATE.oneofs_by_name['channel'].fields.append( + _CHANNELEVENTUPDATE.fields_by_name['open_channel']) +_CHANNELEVENTUPDATE.fields_by_name['open_channel'].containing_oneof = _CHANNELEVENTUPDATE.oneofs_by_name['channel'] +_CHANNELEVENTUPDATE.oneofs_by_name['channel'].fields.append( + _CHANNELEVENTUPDATE.fields_by_name['closed_channel']) +_CHANNELEVENTUPDATE.fields_by_name['closed_channel'].containing_oneof = _CHANNELEVENTUPDATE.oneofs_by_name['channel'] +_CHANNELEVENTUPDATE.oneofs_by_name['channel'].fields.append( + _CHANNELEVENTUPDATE.fields_by_name['active_channel']) +_CHANNELEVENTUPDATE.fields_by_name['active_channel'].containing_oneof = _CHANNELEVENTUPDATE.oneofs_by_name['channel'] +_CHANNELEVENTUPDATE.oneofs_by_name['channel'].fields.append( + _CHANNELEVENTUPDATE.fields_by_name['inactive_channel']) +_CHANNELEVENTUPDATE.fields_by_name['inactive_channel'].containing_oneof = _CHANNELEVENTUPDATE.oneofs_by_name['channel'] +_CHANNELEVENTUPDATE.oneofs_by_name['channel'].fields.append( + _CHANNELEVENTUPDATE.fields_by_name['pending_open_channel']) +_CHANNELEVENTUPDATE.fields_by_name['pending_open_channel'].containing_oneof = _CHANNELEVENTUPDATE.oneofs_by_name['channel'] +_WALLETBALANCERESPONSE_ACCOUNTBALANCEENTRY.fields_by_name['value'].message_type = _WALLETACCOUNTBALANCE +_WALLETBALANCERESPONSE_ACCOUNTBALANCEENTRY.containing_type = _WALLETBALANCERESPONSE +_WALLETBALANCERESPONSE.fields_by_name['account_balance'].message_type = _WALLETBALANCERESPONSE_ACCOUNTBALANCEENTRY +_CHANNELBALANCERESPONSE.fields_by_name['local_balance'].message_type = _AMOUNT +_CHANNELBALANCERESPONSE.fields_by_name['remote_balance'].message_type = _AMOUNT +_CHANNELBALANCERESPONSE.fields_by_name['unsettled_local_balance'].message_type = _AMOUNT +_CHANNELBALANCERESPONSE.fields_by_name['unsettled_remote_balance'].message_type = _AMOUNT +_CHANNELBALANCERESPONSE.fields_by_name['pending_open_local_balance'].message_type = _AMOUNT +_CHANNELBALANCERESPONSE.fields_by_name['pending_open_remote_balance'].message_type = _AMOUNT +_QUERYROUTESREQUEST_DESTCUSTOMRECORDSENTRY.containing_type = _QUERYROUTESREQUEST +_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 +_QUERYROUTESREQUEST.fields_by_name['dest_custom_records'].message_type = _QUERYROUTESREQUEST_DESTCUSTOMRECORDSENTRY +_QUERYROUTESREQUEST.fields_by_name['route_hints'].message_type = _ROUTEHINT +_QUERYROUTESREQUEST.fields_by_name['dest_features'].enum_type = _FEATUREBIT +_QUERYROUTESRESPONSE.fields_by_name['routes'].message_type = _ROUTE +_HOP_CUSTOMRECORDSENTRY.containing_type = _HOP +_HOP.fields_by_name['mpp_record'].message_type = _MPPRECORD +_HOP.fields_by_name['amp_record'].message_type = _AMPRECORD +_HOP.fields_by_name['custom_records'].message_type = _HOP_CUSTOMRECORDSENTRY +_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_FEATURESENTRY.fields_by_name['value'].message_type = _FEATURE +_LIGHTNINGNODE_FEATURESENTRY.containing_type = _LIGHTNINGNODE +_LIGHTNINGNODE.fields_by_name['addresses'].message_type = _NODEADDRESS +_LIGHTNINGNODE.fields_by_name['features'].message_type = _LIGHTNINGNODE_FEATURESENTRY +_CHANNELEDGE.fields_by_name['node1_policy'].message_type = _ROUTINGPOLICY +_CHANNELEDGE.fields_by_name['node2_policy'].message_type = _ROUTINGPOLICY +_CHANNELGRAPH.fields_by_name['nodes'].message_type = _LIGHTNINGNODE +_CHANNELGRAPH.fields_by_name['edges'].message_type = _CHANNELEDGE +_NODEMETRICSREQUEST.fields_by_name['types'].enum_type = _NODEMETRICTYPE +_NODEMETRICSRESPONSE_BETWEENNESSCENTRALITYENTRY.fields_by_name['value'].message_type = _FLOATMETRIC +_NODEMETRICSRESPONSE_BETWEENNESSCENTRALITYENTRY.containing_type = _NODEMETRICSRESPONSE +_NODEMETRICSRESPONSE.fields_by_name['betweenness_centrality'].message_type = _NODEMETRICSRESPONSE_BETWEENNESSCENTRALITYENTRY +_GRAPHTOPOLOGYUPDATE.fields_by_name['node_updates'].message_type = _NODEUPDATE +_GRAPHTOPOLOGYUPDATE.fields_by_name['channel_updates'].message_type = _CHANNELEDGEUPDATE +_GRAPHTOPOLOGYUPDATE.fields_by_name['closed_chans'].message_type = _CLOSEDCHANNELUPDATE +_NODEUPDATE_FEATURESENTRY.fields_by_name['value'].message_type = _FEATURE +_NODEUPDATE_FEATURESENTRY.containing_type = _NODEUPDATE +_NODEUPDATE.fields_by_name['node_addresses'].message_type = _NODEADDRESS +_NODEUPDATE.fields_by_name['features'].message_type = _NODEUPDATE_FEATURESENTRY +_CHANNELEDGEUPDATE.fields_by_name['chan_point'].message_type = _CHANNELPOINT +_CHANNELEDGEUPDATE.fields_by_name['routing_policy'].message_type = _ROUTINGPOLICY +_CLOSEDCHANNELUPDATE.fields_by_name['chan_point'].message_type = _CHANNELPOINT +_ROUTEHINT.fields_by_name['hop_hints'].message_type = _HOPHINT +_INVOICE_FEATURESENTRY.fields_by_name['value'].message_type = _FEATURE +_INVOICE_FEATURESENTRY.containing_type = _INVOICE +_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.fields_by_name['features'].message_type = _INVOICE_FEATURESENTRY +_INVOICE_INVOICESTATE.containing_type = _INVOICE +_INVOICEHTLC_CUSTOMRECORDSENTRY.containing_type = _INVOICEHTLC +_INVOICEHTLC.fields_by_name['state'].enum_type = _INVOICEHTLCSTATE +_INVOICEHTLC.fields_by_name['custom_records'].message_type = _INVOICEHTLC_CUSTOMRECORDSENTRY +_INVOICEHTLC.fields_by_name['amp'].message_type = _AMP +_LISTINVOICERESPONSE.fields_by_name['invoices'].message_type = _INVOICE +_PAYMENT.fields_by_name['status'].enum_type = _PAYMENT_PAYMENTSTATUS +_PAYMENT.fields_by_name['htlcs'].message_type = _HTLCATTEMPT +_PAYMENT.fields_by_name['failure_reason'].enum_type = _PAYMENTFAILUREREASON +_PAYMENT_PAYMENTSTATUS.containing_type = _PAYMENT +_HTLCATTEMPT.fields_by_name['status'].enum_type = _HTLCATTEMPT_HTLCSTATUS +_HTLCATTEMPT.fields_by_name['route'].message_type = _ROUTE +_HTLCATTEMPT.fields_by_name['failure'].message_type = _FAILURE +_HTLCATTEMPT_HTLCSTATUS.containing_type = _HTLCATTEMPT +_LISTPAYMENTSRESPONSE.fields_by_name['payments'].message_type = _PAYMENT +_ABANDONCHANNELREQUEST.fields_by_name['channel_point'].message_type = _CHANNELPOINT +_PAYREQ_FEATURESENTRY.fields_by_name['value'].message_type = _FEATURE +_PAYREQ_FEATURESENTRY.containing_type = _PAYREQ +_PAYREQ.fields_by_name['route_hints'].message_type = _ROUTEHINT +_PAYREQ.fields_by_name['features'].message_type = _PAYREQ_FEATURESENTRY +_FEEREPORTRESPONSE.fields_by_name['channel_fees'].message_type = _CHANNELFEEREPORT +_POLICYUPDATEREQUEST.fields_by_name['chan_point'].message_type = _CHANNELPOINT +_POLICYUPDATEREQUEST.oneofs_by_name['scope'].fields.append( + _POLICYUPDATEREQUEST.fields_by_name['global']) +_POLICYUPDATEREQUEST.fields_by_name['global'].containing_oneof = _POLICYUPDATEREQUEST.oneofs_by_name['scope'] +_POLICYUPDATEREQUEST.oneofs_by_name['scope'].fields.append( + _POLICYUPDATEREQUEST.fields_by_name['chan_point']) +_POLICYUPDATEREQUEST.fields_by_name['chan_point'].containing_oneof = _POLICYUPDATEREQUEST.oneofs_by_name['scope'] +_FORWARDINGHISTORYRESPONSE.fields_by_name['forwarding_events'].message_type = _FORWARDINGEVENT +_EXPORTCHANNELBACKUPREQUEST.fields_by_name['chan_point'].message_type = _CHANNELPOINT +_CHANNELBACKUP.fields_by_name['chan_point'].message_type = _CHANNELPOINT +_MULTICHANBACKUP.fields_by_name['chan_points'].message_type = _CHANNELPOINT +_CHANBACKUPSNAPSHOT.fields_by_name['single_chan_backups'].message_type = _CHANNELBACKUPS +_CHANBACKUPSNAPSHOT.fields_by_name['multi_chan_backup'].message_type = _MULTICHANBACKUP +_CHANNELBACKUPS.fields_by_name['chan_backups'].message_type = _CHANNELBACKUP +_RESTORECHANBACKUPREQUEST.fields_by_name['chan_backups'].message_type = _CHANNELBACKUPS +_RESTORECHANBACKUPREQUEST.oneofs_by_name['backup'].fields.append( + _RESTORECHANBACKUPREQUEST.fields_by_name['chan_backups']) +_RESTORECHANBACKUPREQUEST.fields_by_name['chan_backups'].containing_oneof = _RESTORECHANBACKUPREQUEST.oneofs_by_name['backup'] +_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 +_MACAROONPERMISSIONLIST.fields_by_name['permissions'].message_type = _MACAROONPERMISSION +_LISTPERMISSIONSRESPONSE_METHODPERMISSIONSENTRY.fields_by_name['value'].message_type = _MACAROONPERMISSIONLIST +_LISTPERMISSIONSRESPONSE_METHODPERMISSIONSENTRY.containing_type = _LISTPERMISSIONSRESPONSE +_LISTPERMISSIONSRESPONSE.fields_by_name['method_permissions'].message_type = _LISTPERMISSIONSRESPONSE_METHODPERMISSIONSENTRY +_FAILURE.fields_by_name['code'].enum_type = _FAILURE_FAILURECODE +_FAILURE.fields_by_name['channel_update'].message_type = _CHANNELUPDATE +_FAILURE_FAILURECODE.containing_type = _FAILURE +_MACAROONID.fields_by_name['ops'].message_type = _OP +DESCRIPTOR.message_types_by_name['Utxo'] = _UTXO +DESCRIPTOR.message_types_by_name['Transaction'] = _TRANSACTION +DESCRIPTOR.message_types_by_name['GetTransactionsRequest'] = _GETTRANSACTIONSREQUEST +DESCRIPTOR.message_types_by_name['TransactionDetails'] = _TRANSACTIONDETAILS +DESCRIPTOR.message_types_by_name['FeeLimit'] = _FEELIMIT +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 +DESCRIPTOR.message_types_by_name['EstimateFeeRequest'] = _ESTIMATEFEEREQUEST +DESCRIPTOR.message_types_by_name['EstimateFeeResponse'] = _ESTIMATEFEERESPONSE +DESCRIPTOR.message_types_by_name['SendManyRequest'] = _SENDMANYREQUEST +DESCRIPTOR.message_types_by_name['SendManyResponse'] = _SENDMANYRESPONSE +DESCRIPTOR.message_types_by_name['SendCoinsRequest'] = _SENDCOINSREQUEST +DESCRIPTOR.message_types_by_name['SendCoinsResponse'] = _SENDCOINSRESPONSE +DESCRIPTOR.message_types_by_name['ListUnspentRequest'] = _LISTUNSPENTREQUEST +DESCRIPTOR.message_types_by_name['ListUnspentResponse'] = _LISTUNSPENTRESPONSE +DESCRIPTOR.message_types_by_name['NewAddressRequest'] = _NEWADDRESSREQUEST +DESCRIPTOR.message_types_by_name['NewAddressResponse'] = _NEWADDRESSRESPONSE +DESCRIPTOR.message_types_by_name['SignMessageRequest'] = _SIGNMESSAGEREQUEST +DESCRIPTOR.message_types_by_name['SignMessageResponse'] = _SIGNMESSAGERESPONSE +DESCRIPTOR.message_types_by_name['VerifyMessageRequest'] = _VERIFYMESSAGEREQUEST +DESCRIPTOR.message_types_by_name['VerifyMessageResponse'] = _VERIFYMESSAGERESPONSE +DESCRIPTOR.message_types_by_name['ConnectPeerRequest'] = _CONNECTPEERREQUEST +DESCRIPTOR.message_types_by_name['ConnectPeerResponse'] = _CONNECTPEERRESPONSE +DESCRIPTOR.message_types_by_name['DisconnectPeerRequest'] = _DISCONNECTPEERREQUEST +DESCRIPTOR.message_types_by_name['DisconnectPeerResponse'] = _DISCONNECTPEERRESPONSE +DESCRIPTOR.message_types_by_name['HTLC'] = _HTLC +DESCRIPTOR.message_types_by_name['ChannelConstraints'] = _CHANNELCONSTRAINTS +DESCRIPTOR.message_types_by_name['Channel'] = _CHANNEL +DESCRIPTOR.message_types_by_name['ListChannelsRequest'] = _LISTCHANNELSREQUEST +DESCRIPTOR.message_types_by_name['ListChannelsResponse'] = _LISTCHANNELSRESPONSE +DESCRIPTOR.message_types_by_name['ChannelCloseSummary'] = _CHANNELCLOSESUMMARY +DESCRIPTOR.message_types_by_name['Resolution'] = _RESOLUTION +DESCRIPTOR.message_types_by_name['ClosedChannelsRequest'] = _CLOSEDCHANNELSREQUEST +DESCRIPTOR.message_types_by_name['ClosedChannelsResponse'] = _CLOSEDCHANNELSRESPONSE +DESCRIPTOR.message_types_by_name['Peer'] = _PEER +DESCRIPTOR.message_types_by_name['TimestampedError'] = _TIMESTAMPEDERROR +DESCRIPTOR.message_types_by_name['ListPeersRequest'] = _LISTPEERSREQUEST +DESCRIPTOR.message_types_by_name['ListPeersResponse'] = _LISTPEERSRESPONSE +DESCRIPTOR.message_types_by_name['PeerEventSubscription'] = _PEEREVENTSUBSCRIPTION +DESCRIPTOR.message_types_by_name['PeerEvent'] = _PEEREVENT +DESCRIPTOR.message_types_by_name['GetInfoRequest'] = _GETINFOREQUEST +DESCRIPTOR.message_types_by_name['GetInfoResponse'] = _GETINFORESPONSE +DESCRIPTOR.message_types_by_name['GetRecoveryInfoRequest'] = _GETRECOVERYINFOREQUEST +DESCRIPTOR.message_types_by_name['GetRecoveryInfoResponse'] = _GETRECOVERYINFORESPONSE +DESCRIPTOR.message_types_by_name['Chain'] = _CHAIN +DESCRIPTOR.message_types_by_name['ConfirmationUpdate'] = _CONFIRMATIONUPDATE +DESCRIPTOR.message_types_by_name['ChannelOpenUpdate'] = _CHANNELOPENUPDATE +DESCRIPTOR.message_types_by_name['ChannelCloseUpdate'] = _CHANNELCLOSEUPDATE +DESCRIPTOR.message_types_by_name['CloseChannelRequest'] = _CLOSECHANNELREQUEST +DESCRIPTOR.message_types_by_name['CloseStatusUpdate'] = _CLOSESTATUSUPDATE +DESCRIPTOR.message_types_by_name['PendingUpdate'] = _PENDINGUPDATE +DESCRIPTOR.message_types_by_name['ReadyForPsbtFunding'] = _READYFORPSBTFUNDING +DESCRIPTOR.message_types_by_name['OpenChannelRequest'] = _OPENCHANNELREQUEST +DESCRIPTOR.message_types_by_name['OpenStatusUpdate'] = _OPENSTATUSUPDATE +DESCRIPTOR.message_types_by_name['KeyLocator'] = _KEYLOCATOR +DESCRIPTOR.message_types_by_name['KeyDescriptor'] = _KEYDESCRIPTOR +DESCRIPTOR.message_types_by_name['ChanPointShim'] = _CHANPOINTSHIM +DESCRIPTOR.message_types_by_name['PsbtShim'] = _PSBTSHIM +DESCRIPTOR.message_types_by_name['FundingShim'] = _FUNDINGSHIM +DESCRIPTOR.message_types_by_name['FundingShimCancel'] = _FUNDINGSHIMCANCEL +DESCRIPTOR.message_types_by_name['FundingPsbtVerify'] = _FUNDINGPSBTVERIFY +DESCRIPTOR.message_types_by_name['FundingPsbtFinalize'] = _FUNDINGPSBTFINALIZE +DESCRIPTOR.message_types_by_name['FundingTransitionMsg'] = _FUNDINGTRANSITIONMSG +DESCRIPTOR.message_types_by_name['FundingStateStepResp'] = _FUNDINGSTATESTEPRESP +DESCRIPTOR.message_types_by_name['PendingHTLC'] = _PENDINGHTLC +DESCRIPTOR.message_types_by_name['PendingChannelsRequest'] = _PENDINGCHANNELSREQUEST +DESCRIPTOR.message_types_by_name['PendingChannelsResponse'] = _PENDINGCHANNELSRESPONSE +DESCRIPTOR.message_types_by_name['ChannelEventSubscription'] = _CHANNELEVENTSUBSCRIPTION +DESCRIPTOR.message_types_by_name['ChannelEventUpdate'] = _CHANNELEVENTUPDATE +DESCRIPTOR.message_types_by_name['WalletAccountBalance'] = _WALLETACCOUNTBALANCE +DESCRIPTOR.message_types_by_name['WalletBalanceRequest'] = _WALLETBALANCEREQUEST +DESCRIPTOR.message_types_by_name['WalletBalanceResponse'] = _WALLETBALANCERESPONSE +DESCRIPTOR.message_types_by_name['Amount'] = _AMOUNT +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 +DESCRIPTOR.message_types_by_name['MPPRecord'] = _MPPRECORD +DESCRIPTOR.message_types_by_name['AMPRecord'] = _AMPRECORD +DESCRIPTOR.message_types_by_name['Route'] = _ROUTE +DESCRIPTOR.message_types_by_name['NodeInfoRequest'] = _NODEINFOREQUEST +DESCRIPTOR.message_types_by_name['NodeInfo'] = _NODEINFO +DESCRIPTOR.message_types_by_name['LightningNode'] = _LIGHTNINGNODE +DESCRIPTOR.message_types_by_name['NodeAddress'] = _NODEADDRESS +DESCRIPTOR.message_types_by_name['RoutingPolicy'] = _ROUTINGPOLICY +DESCRIPTOR.message_types_by_name['ChannelEdge'] = _CHANNELEDGE +DESCRIPTOR.message_types_by_name['ChannelGraphRequest'] = _CHANNELGRAPHREQUEST +DESCRIPTOR.message_types_by_name['ChannelGraph'] = _CHANNELGRAPH +DESCRIPTOR.message_types_by_name['NodeMetricsRequest'] = _NODEMETRICSREQUEST +DESCRIPTOR.message_types_by_name['NodeMetricsResponse'] = _NODEMETRICSRESPONSE +DESCRIPTOR.message_types_by_name['FloatMetric'] = _FLOATMETRIC +DESCRIPTOR.message_types_by_name['ChanInfoRequest'] = _CHANINFOREQUEST +DESCRIPTOR.message_types_by_name['NetworkInfoRequest'] = _NETWORKINFOREQUEST +DESCRIPTOR.message_types_by_name['NetworkInfo'] = _NETWORKINFO +DESCRIPTOR.message_types_by_name['StopRequest'] = _STOPREQUEST +DESCRIPTOR.message_types_by_name['StopResponse'] = _STOPRESPONSE +DESCRIPTOR.message_types_by_name['GraphTopologySubscription'] = _GRAPHTOPOLOGYSUBSCRIPTION +DESCRIPTOR.message_types_by_name['GraphTopologyUpdate'] = _GRAPHTOPOLOGYUPDATE +DESCRIPTOR.message_types_by_name['NodeUpdate'] = _NODEUPDATE +DESCRIPTOR.message_types_by_name['ChannelEdgeUpdate'] = _CHANNELEDGEUPDATE +DESCRIPTOR.message_types_by_name['ClosedChannelUpdate'] = _CLOSEDCHANNELUPDATE +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['AMP'] = _AMP +DESCRIPTOR.message_types_by_name['AddInvoiceResponse'] = _ADDINVOICERESPONSE +DESCRIPTOR.message_types_by_name['PaymentHash'] = _PAYMENTHASH +DESCRIPTOR.message_types_by_name['ListInvoiceRequest'] = _LISTINVOICEREQUEST +DESCRIPTOR.message_types_by_name['ListInvoiceResponse'] = _LISTINVOICERESPONSE +DESCRIPTOR.message_types_by_name['InvoiceSubscription'] = _INVOICESUBSCRIPTION +DESCRIPTOR.message_types_by_name['Payment'] = _PAYMENT +DESCRIPTOR.message_types_by_name['HTLCAttempt'] = _HTLCATTEMPT +DESCRIPTOR.message_types_by_name['ListPaymentsRequest'] = _LISTPAYMENTSREQUEST +DESCRIPTOR.message_types_by_name['ListPaymentsResponse'] = _LISTPAYMENTSRESPONSE +DESCRIPTOR.message_types_by_name['DeleteAllPaymentsRequest'] = _DELETEALLPAYMENTSREQUEST +DESCRIPTOR.message_types_by_name['DeleteAllPaymentsResponse'] = _DELETEALLPAYMENTSRESPONSE +DESCRIPTOR.message_types_by_name['AbandonChannelRequest'] = _ABANDONCHANNELREQUEST +DESCRIPTOR.message_types_by_name['AbandonChannelResponse'] = _ABANDONCHANNELRESPONSE +DESCRIPTOR.message_types_by_name['DebugLevelRequest'] = _DEBUGLEVELREQUEST +DESCRIPTOR.message_types_by_name['DebugLevelResponse'] = _DEBUGLEVELRESPONSE +DESCRIPTOR.message_types_by_name['PayReqString'] = _PAYREQSTRING +DESCRIPTOR.message_types_by_name['PayReq'] = _PAYREQ +DESCRIPTOR.message_types_by_name['Feature'] = _FEATURE +DESCRIPTOR.message_types_by_name['FeeReportRequest'] = _FEEREPORTREQUEST +DESCRIPTOR.message_types_by_name['ChannelFeeReport'] = _CHANNELFEEREPORT +DESCRIPTOR.message_types_by_name['FeeReportResponse'] = _FEEREPORTRESPONSE +DESCRIPTOR.message_types_by_name['PolicyUpdateRequest'] = _POLICYUPDATEREQUEST +DESCRIPTOR.message_types_by_name['PolicyUpdateResponse'] = _POLICYUPDATERESPONSE +DESCRIPTOR.message_types_by_name['ForwardingHistoryRequest'] = _FORWARDINGHISTORYREQUEST +DESCRIPTOR.message_types_by_name['ForwardingEvent'] = _FORWARDINGEVENT +DESCRIPTOR.message_types_by_name['ForwardingHistoryResponse'] = _FORWARDINGHISTORYRESPONSE +DESCRIPTOR.message_types_by_name['ExportChannelBackupRequest'] = _EXPORTCHANNELBACKUPREQUEST +DESCRIPTOR.message_types_by_name['ChannelBackup'] = _CHANNELBACKUP +DESCRIPTOR.message_types_by_name['MultiChanBackup'] = _MULTICHANBACKUP +DESCRIPTOR.message_types_by_name['ChanBackupExportRequest'] = _CHANBACKUPEXPORTREQUEST +DESCRIPTOR.message_types_by_name['ChanBackupSnapshot'] = _CHANBACKUPSNAPSHOT +DESCRIPTOR.message_types_by_name['ChannelBackups'] = _CHANNELBACKUPS +DESCRIPTOR.message_types_by_name['RestoreChanBackupRequest'] = _RESTORECHANBACKUPREQUEST +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.message_types_by_name['ListMacaroonIDsRequest'] = _LISTMACAROONIDSREQUEST +DESCRIPTOR.message_types_by_name['ListMacaroonIDsResponse'] = _LISTMACAROONIDSRESPONSE +DESCRIPTOR.message_types_by_name['DeleteMacaroonIDRequest'] = _DELETEMACAROONIDREQUEST +DESCRIPTOR.message_types_by_name['DeleteMacaroonIDResponse'] = _DELETEMACAROONIDRESPONSE +DESCRIPTOR.message_types_by_name['MacaroonPermissionList'] = _MACAROONPERMISSIONLIST +DESCRIPTOR.message_types_by_name['ListPermissionsRequest'] = _LISTPERMISSIONSREQUEST +DESCRIPTOR.message_types_by_name['ListPermissionsResponse'] = _LISTPERMISSIONSRESPONSE +DESCRIPTOR.message_types_by_name['Failure'] = _FAILURE +DESCRIPTOR.message_types_by_name['ChannelUpdate'] = _CHANNELUPDATE +DESCRIPTOR.message_types_by_name['MacaroonId'] = _MACAROONID +DESCRIPTOR.message_types_by_name['Op'] = _OP +DESCRIPTOR.enum_types_by_name['AddressType'] = _ADDRESSTYPE +DESCRIPTOR.enum_types_by_name['CommitmentType'] = _COMMITMENTTYPE +DESCRIPTOR.enum_types_by_name['Initiator'] = _INITIATOR +DESCRIPTOR.enum_types_by_name['ResolutionType'] = _RESOLUTIONTYPE +DESCRIPTOR.enum_types_by_name['ResolutionOutcome'] = _RESOLUTIONOUTCOME +DESCRIPTOR.enum_types_by_name['NodeMetricType'] = _NODEMETRICTYPE +DESCRIPTOR.enum_types_by_name['InvoiceHTLCState'] = _INVOICEHTLCSTATE +DESCRIPTOR.enum_types_by_name['PaymentFailureReason'] = _PAYMENTFAILUREREASON +DESCRIPTOR.enum_types_by_name['FeatureBit'] = _FEATUREBIT +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +Utxo = _reflection.GeneratedProtocolMessageType('Utxo', (_message.Message,), { + 'DESCRIPTOR' : _UTXO, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Utxo) + }) +_sym_db.RegisterMessage(Utxo) + +Transaction = _reflection.GeneratedProtocolMessageType('Transaction', (_message.Message,), { + 'DESCRIPTOR' : _TRANSACTION, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Transaction) + }) +_sym_db.RegisterMessage(Transaction) + +GetTransactionsRequest = _reflection.GeneratedProtocolMessageType('GetTransactionsRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETTRANSACTIONSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GetTransactionsRequest) + }) +_sym_db.RegisterMessage(GetTransactionsRequest) + +TransactionDetails = _reflection.GeneratedProtocolMessageType('TransactionDetails', (_message.Message,), { + 'DESCRIPTOR' : _TRANSACTIONDETAILS, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.TransactionDetails) + }) +_sym_db.RegisterMessage(TransactionDetails) + +FeeLimit = _reflection.GeneratedProtocolMessageType('FeeLimit', (_message.Message,), { + 'DESCRIPTOR' : _FEELIMIT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FeeLimit) + }) +_sym_db.RegisterMessage(FeeLimit) + +SendRequest = _reflection.GeneratedProtocolMessageType('SendRequest', (_message.Message,), { + + 'DestCustomRecordsEntry' : _reflection.GeneratedProtocolMessageType('DestCustomRecordsEntry', (_message.Message,), { + 'DESCRIPTOR' : _SENDREQUEST_DESTCUSTOMRECORDSENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SendRequest.DestCustomRecordsEntry) + }) + , + 'DESCRIPTOR' : _SENDREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SendRequest) + }) +_sym_db.RegisterMessage(SendRequest) +_sym_db.RegisterMessage(SendRequest.DestCustomRecordsEntry) + +SendResponse = _reflection.GeneratedProtocolMessageType('SendResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SendResponse) + }) +_sym_db.RegisterMessage(SendResponse) + +SendToRouteRequest = _reflection.GeneratedProtocolMessageType('SendToRouteRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDTOROUTEREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SendToRouteRequest) + }) +_sym_db.RegisterMessage(SendToRouteRequest) + +ChannelAcceptRequest = _reflection.GeneratedProtocolMessageType('ChannelAcceptRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELACCEPTREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelAcceptRequest) + }) +_sym_db.RegisterMessage(ChannelAcceptRequest) + +ChannelAcceptResponse = _reflection.GeneratedProtocolMessageType('ChannelAcceptResponse', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELACCEPTRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelAcceptResponse) + }) +_sym_db.RegisterMessage(ChannelAcceptResponse) + +ChannelPoint = _reflection.GeneratedProtocolMessageType('ChannelPoint', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELPOINT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelPoint) + }) +_sym_db.RegisterMessage(ChannelPoint) + +OutPoint = _reflection.GeneratedProtocolMessageType('OutPoint', (_message.Message,), { + 'DESCRIPTOR' : _OUTPOINT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.OutPoint) + }) +_sym_db.RegisterMessage(OutPoint) + +LightningAddress = _reflection.GeneratedProtocolMessageType('LightningAddress', (_message.Message,), { + 'DESCRIPTOR' : _LIGHTNINGADDRESS, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.LightningAddress) + }) +_sym_db.RegisterMessage(LightningAddress) + +EstimateFeeRequest = _reflection.GeneratedProtocolMessageType('EstimateFeeRequest', (_message.Message,), { + + 'AddrToAmountEntry' : _reflection.GeneratedProtocolMessageType('AddrToAmountEntry', (_message.Message,), { + 'DESCRIPTOR' : _ESTIMATEFEEREQUEST_ADDRTOAMOUNTENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.EstimateFeeRequest.AddrToAmountEntry) + }) + , + 'DESCRIPTOR' : _ESTIMATEFEEREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.EstimateFeeRequest) + }) +_sym_db.RegisterMessage(EstimateFeeRequest) +_sym_db.RegisterMessage(EstimateFeeRequest.AddrToAmountEntry) + +EstimateFeeResponse = _reflection.GeneratedProtocolMessageType('EstimateFeeResponse', (_message.Message,), { + 'DESCRIPTOR' : _ESTIMATEFEERESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.EstimateFeeResponse) + }) +_sym_db.RegisterMessage(EstimateFeeResponse) + +SendManyRequest = _reflection.GeneratedProtocolMessageType('SendManyRequest', (_message.Message,), { + + 'AddrToAmountEntry' : _reflection.GeneratedProtocolMessageType('AddrToAmountEntry', (_message.Message,), { + 'DESCRIPTOR' : _SENDMANYREQUEST_ADDRTOAMOUNTENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SendManyRequest.AddrToAmountEntry) + }) + , + 'DESCRIPTOR' : _SENDMANYREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SendManyRequest) + }) +_sym_db.RegisterMessage(SendManyRequest) +_sym_db.RegisterMessage(SendManyRequest.AddrToAmountEntry) + +SendManyResponse = _reflection.GeneratedProtocolMessageType('SendManyResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDMANYRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SendManyResponse) + }) +_sym_db.RegisterMessage(SendManyResponse) + +SendCoinsRequest = _reflection.GeneratedProtocolMessageType('SendCoinsRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDCOINSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SendCoinsRequest) + }) +_sym_db.RegisterMessage(SendCoinsRequest) + +SendCoinsResponse = _reflection.GeneratedProtocolMessageType('SendCoinsResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDCOINSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SendCoinsResponse) + }) +_sym_db.RegisterMessage(SendCoinsResponse) + +ListUnspentRequest = _reflection.GeneratedProtocolMessageType('ListUnspentRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTUNSPENTREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListUnspentRequest) + }) +_sym_db.RegisterMessage(ListUnspentRequest) + +ListUnspentResponse = _reflection.GeneratedProtocolMessageType('ListUnspentResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTUNSPENTRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListUnspentResponse) + }) +_sym_db.RegisterMessage(ListUnspentResponse) + +NewAddressRequest = _reflection.GeneratedProtocolMessageType('NewAddressRequest', (_message.Message,), { + 'DESCRIPTOR' : _NEWADDRESSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NewAddressRequest) + }) +_sym_db.RegisterMessage(NewAddressRequest) + +NewAddressResponse = _reflection.GeneratedProtocolMessageType('NewAddressResponse', (_message.Message,), { + 'DESCRIPTOR' : _NEWADDRESSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NewAddressResponse) + }) +_sym_db.RegisterMessage(NewAddressResponse) + +SignMessageRequest = _reflection.GeneratedProtocolMessageType('SignMessageRequest', (_message.Message,), { + 'DESCRIPTOR' : _SIGNMESSAGEREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SignMessageRequest) + }) +_sym_db.RegisterMessage(SignMessageRequest) + +SignMessageResponse = _reflection.GeneratedProtocolMessageType('SignMessageResponse', (_message.Message,), { + 'DESCRIPTOR' : _SIGNMESSAGERESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.SignMessageResponse) + }) +_sym_db.RegisterMessage(SignMessageResponse) + +VerifyMessageRequest = _reflection.GeneratedProtocolMessageType('VerifyMessageRequest', (_message.Message,), { + 'DESCRIPTOR' : _VERIFYMESSAGEREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.VerifyMessageRequest) + }) +_sym_db.RegisterMessage(VerifyMessageRequest) + +VerifyMessageResponse = _reflection.GeneratedProtocolMessageType('VerifyMessageResponse', (_message.Message,), { + 'DESCRIPTOR' : _VERIFYMESSAGERESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.VerifyMessageResponse) + }) +_sym_db.RegisterMessage(VerifyMessageResponse) + +ConnectPeerRequest = _reflection.GeneratedProtocolMessageType('ConnectPeerRequest', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTPEERREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ConnectPeerRequest) + }) +_sym_db.RegisterMessage(ConnectPeerRequest) + +ConnectPeerResponse = _reflection.GeneratedProtocolMessageType('ConnectPeerResponse', (_message.Message,), { + 'DESCRIPTOR' : _CONNECTPEERRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ConnectPeerResponse) + }) +_sym_db.RegisterMessage(ConnectPeerResponse) + +DisconnectPeerRequest = _reflection.GeneratedProtocolMessageType('DisconnectPeerRequest', (_message.Message,), { + 'DESCRIPTOR' : _DISCONNECTPEERREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.DisconnectPeerRequest) + }) +_sym_db.RegisterMessage(DisconnectPeerRequest) + +DisconnectPeerResponse = _reflection.GeneratedProtocolMessageType('DisconnectPeerResponse', (_message.Message,), { + 'DESCRIPTOR' : _DISCONNECTPEERRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.DisconnectPeerResponse) + }) +_sym_db.RegisterMessage(DisconnectPeerResponse) + +HTLC = _reflection.GeneratedProtocolMessageType('HTLC', (_message.Message,), { + 'DESCRIPTOR' : _HTLC, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.HTLC) + }) +_sym_db.RegisterMessage(HTLC) + +ChannelConstraints = _reflection.GeneratedProtocolMessageType('ChannelConstraints', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELCONSTRAINTS, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelConstraints) + }) +_sym_db.RegisterMessage(ChannelConstraints) + +Channel = _reflection.GeneratedProtocolMessageType('Channel', (_message.Message,), { + 'DESCRIPTOR' : _CHANNEL, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Channel) + }) +_sym_db.RegisterMessage(Channel) + +ListChannelsRequest = _reflection.GeneratedProtocolMessageType('ListChannelsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTCHANNELSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListChannelsRequest) + }) +_sym_db.RegisterMessage(ListChannelsRequest) + +ListChannelsResponse = _reflection.GeneratedProtocolMessageType('ListChannelsResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTCHANNELSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListChannelsResponse) + }) +_sym_db.RegisterMessage(ListChannelsResponse) + +ChannelCloseSummary = _reflection.GeneratedProtocolMessageType('ChannelCloseSummary', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELCLOSESUMMARY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelCloseSummary) + }) +_sym_db.RegisterMessage(ChannelCloseSummary) + +Resolution = _reflection.GeneratedProtocolMessageType('Resolution', (_message.Message,), { + 'DESCRIPTOR' : _RESOLUTION, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Resolution) + }) +_sym_db.RegisterMessage(Resolution) + +ClosedChannelsRequest = _reflection.GeneratedProtocolMessageType('ClosedChannelsRequest', (_message.Message,), { + 'DESCRIPTOR' : _CLOSEDCHANNELSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ClosedChannelsRequest) + }) +_sym_db.RegisterMessage(ClosedChannelsRequest) + +ClosedChannelsResponse = _reflection.GeneratedProtocolMessageType('ClosedChannelsResponse', (_message.Message,), { + 'DESCRIPTOR' : _CLOSEDCHANNELSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ClosedChannelsResponse) + }) +_sym_db.RegisterMessage(ClosedChannelsResponse) + +Peer = _reflection.GeneratedProtocolMessageType('Peer', (_message.Message,), { + + 'FeaturesEntry' : _reflection.GeneratedProtocolMessageType('FeaturesEntry', (_message.Message,), { + 'DESCRIPTOR' : _PEER_FEATURESENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Peer.FeaturesEntry) + }) + , + 'DESCRIPTOR' : _PEER, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Peer) + }) +_sym_db.RegisterMessage(Peer) +_sym_db.RegisterMessage(Peer.FeaturesEntry) + +TimestampedError = _reflection.GeneratedProtocolMessageType('TimestampedError', (_message.Message,), { + 'DESCRIPTOR' : _TIMESTAMPEDERROR, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.TimestampedError) + }) +_sym_db.RegisterMessage(TimestampedError) + +ListPeersRequest = _reflection.GeneratedProtocolMessageType('ListPeersRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListPeersRequest) + }) +_sym_db.RegisterMessage(ListPeersRequest) + +ListPeersResponse = _reflection.GeneratedProtocolMessageType('ListPeersResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTPEERSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListPeersResponse) + }) +_sym_db.RegisterMessage(ListPeersResponse) + +PeerEventSubscription = _reflection.GeneratedProtocolMessageType('PeerEventSubscription', (_message.Message,), { + 'DESCRIPTOR' : _PEEREVENTSUBSCRIPTION, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PeerEventSubscription) + }) +_sym_db.RegisterMessage(PeerEventSubscription) + +PeerEvent = _reflection.GeneratedProtocolMessageType('PeerEvent', (_message.Message,), { + 'DESCRIPTOR' : _PEEREVENT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PeerEvent) + }) +_sym_db.RegisterMessage(PeerEvent) + +GetInfoRequest = _reflection.GeneratedProtocolMessageType('GetInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETINFOREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GetInfoRequest) + }) +_sym_db.RegisterMessage(GetInfoRequest) + +GetInfoResponse = _reflection.GeneratedProtocolMessageType('GetInfoResponse', (_message.Message,), { + + 'FeaturesEntry' : _reflection.GeneratedProtocolMessageType('FeaturesEntry', (_message.Message,), { + 'DESCRIPTOR' : _GETINFORESPONSE_FEATURESENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GetInfoResponse.FeaturesEntry) + }) + , + 'DESCRIPTOR' : _GETINFORESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GetInfoResponse) + }) +_sym_db.RegisterMessage(GetInfoResponse) +_sym_db.RegisterMessage(GetInfoResponse.FeaturesEntry) + +GetRecoveryInfoRequest = _reflection.GeneratedProtocolMessageType('GetRecoveryInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETRECOVERYINFOREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GetRecoveryInfoRequest) + }) +_sym_db.RegisterMessage(GetRecoveryInfoRequest) + +GetRecoveryInfoResponse = _reflection.GeneratedProtocolMessageType('GetRecoveryInfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETRECOVERYINFORESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GetRecoveryInfoResponse) + }) +_sym_db.RegisterMessage(GetRecoveryInfoResponse) + +Chain = _reflection.GeneratedProtocolMessageType('Chain', (_message.Message,), { + 'DESCRIPTOR' : _CHAIN, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Chain) + }) +_sym_db.RegisterMessage(Chain) + +ConfirmationUpdate = _reflection.GeneratedProtocolMessageType('ConfirmationUpdate', (_message.Message,), { + 'DESCRIPTOR' : _CONFIRMATIONUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ConfirmationUpdate) + }) +_sym_db.RegisterMessage(ConfirmationUpdate) + +ChannelOpenUpdate = _reflection.GeneratedProtocolMessageType('ChannelOpenUpdate', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELOPENUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelOpenUpdate) + }) +_sym_db.RegisterMessage(ChannelOpenUpdate) + +ChannelCloseUpdate = _reflection.GeneratedProtocolMessageType('ChannelCloseUpdate', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELCLOSEUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelCloseUpdate) + }) +_sym_db.RegisterMessage(ChannelCloseUpdate) + +CloseChannelRequest = _reflection.GeneratedProtocolMessageType('CloseChannelRequest', (_message.Message,), { + 'DESCRIPTOR' : _CLOSECHANNELREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.CloseChannelRequest) + }) +_sym_db.RegisterMessage(CloseChannelRequest) + +CloseStatusUpdate = _reflection.GeneratedProtocolMessageType('CloseStatusUpdate', (_message.Message,), { + 'DESCRIPTOR' : _CLOSESTATUSUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.CloseStatusUpdate) + }) +_sym_db.RegisterMessage(CloseStatusUpdate) + +PendingUpdate = _reflection.GeneratedProtocolMessageType('PendingUpdate', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingUpdate) + }) +_sym_db.RegisterMessage(PendingUpdate) + +ReadyForPsbtFunding = _reflection.GeneratedProtocolMessageType('ReadyForPsbtFunding', (_message.Message,), { + 'DESCRIPTOR' : _READYFORPSBTFUNDING, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ReadyForPsbtFunding) + }) +_sym_db.RegisterMessage(ReadyForPsbtFunding) + +OpenChannelRequest = _reflection.GeneratedProtocolMessageType('OpenChannelRequest', (_message.Message,), { + 'DESCRIPTOR' : _OPENCHANNELREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.OpenChannelRequest) + }) +_sym_db.RegisterMessage(OpenChannelRequest) + +OpenStatusUpdate = _reflection.GeneratedProtocolMessageType('OpenStatusUpdate', (_message.Message,), { + 'DESCRIPTOR' : _OPENSTATUSUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.OpenStatusUpdate) + }) +_sym_db.RegisterMessage(OpenStatusUpdate) + +KeyLocator = _reflection.GeneratedProtocolMessageType('KeyLocator', (_message.Message,), { + 'DESCRIPTOR' : _KEYLOCATOR, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.KeyLocator) + }) +_sym_db.RegisterMessage(KeyLocator) + +KeyDescriptor = _reflection.GeneratedProtocolMessageType('KeyDescriptor', (_message.Message,), { + 'DESCRIPTOR' : _KEYDESCRIPTOR, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.KeyDescriptor) + }) +_sym_db.RegisterMessage(KeyDescriptor) + +ChanPointShim = _reflection.GeneratedProtocolMessageType('ChanPointShim', (_message.Message,), { + 'DESCRIPTOR' : _CHANPOINTSHIM, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChanPointShim) + }) +_sym_db.RegisterMessage(ChanPointShim) + +PsbtShim = _reflection.GeneratedProtocolMessageType('PsbtShim', (_message.Message,), { + 'DESCRIPTOR' : _PSBTSHIM, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PsbtShim) + }) +_sym_db.RegisterMessage(PsbtShim) + +FundingShim = _reflection.GeneratedProtocolMessageType('FundingShim', (_message.Message,), { + 'DESCRIPTOR' : _FUNDINGSHIM, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FundingShim) + }) +_sym_db.RegisterMessage(FundingShim) + +FundingShimCancel = _reflection.GeneratedProtocolMessageType('FundingShimCancel', (_message.Message,), { + 'DESCRIPTOR' : _FUNDINGSHIMCANCEL, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FundingShimCancel) + }) +_sym_db.RegisterMessage(FundingShimCancel) + +FundingPsbtVerify = _reflection.GeneratedProtocolMessageType('FundingPsbtVerify', (_message.Message,), { + 'DESCRIPTOR' : _FUNDINGPSBTVERIFY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FundingPsbtVerify) + }) +_sym_db.RegisterMessage(FundingPsbtVerify) + +FundingPsbtFinalize = _reflection.GeneratedProtocolMessageType('FundingPsbtFinalize', (_message.Message,), { + 'DESCRIPTOR' : _FUNDINGPSBTFINALIZE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FundingPsbtFinalize) + }) +_sym_db.RegisterMessage(FundingPsbtFinalize) + +FundingTransitionMsg = _reflection.GeneratedProtocolMessageType('FundingTransitionMsg', (_message.Message,), { + 'DESCRIPTOR' : _FUNDINGTRANSITIONMSG, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FundingTransitionMsg) + }) +_sym_db.RegisterMessage(FundingTransitionMsg) + +FundingStateStepResp = _reflection.GeneratedProtocolMessageType('FundingStateStepResp', (_message.Message,), { + 'DESCRIPTOR' : _FUNDINGSTATESTEPRESP, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FundingStateStepResp) + }) +_sym_db.RegisterMessage(FundingStateStepResp) + +PendingHTLC = _reflection.GeneratedProtocolMessageType('PendingHTLC', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGHTLC, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingHTLC) + }) +_sym_db.RegisterMessage(PendingHTLC) + +PendingChannelsRequest = _reflection.GeneratedProtocolMessageType('PendingChannelsRequest', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGCHANNELSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsRequest) + }) +_sym_db.RegisterMessage(PendingChannelsRequest) + +PendingChannelsResponse = _reflection.GeneratedProtocolMessageType('PendingChannelsResponse', (_message.Message,), { + + 'PendingChannel' : _reflection.GeneratedProtocolMessageType('PendingChannel', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_PENDINGCHANNEL, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.PendingChannel) + }) + , + + 'PendingOpenChannel' : _reflection.GeneratedProtocolMessageType('PendingOpenChannel', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_PENDINGOPENCHANNEL, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.PendingOpenChannel) + }) + , + + 'WaitingCloseChannel' : _reflection.GeneratedProtocolMessageType('WaitingCloseChannel', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_WAITINGCLOSECHANNEL, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.WaitingCloseChannel) + }) + , + + 'Commitments' : _reflection.GeneratedProtocolMessageType('Commitments', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_COMMITMENTS, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.Commitments) + }) + , + + 'ClosedChannel' : _reflection.GeneratedProtocolMessageType('ClosedChannel', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_CLOSEDCHANNEL, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.ClosedChannel) + }) + , + + 'ForceClosedChannel' : _reflection.GeneratedProtocolMessageType('ForceClosedChannel', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE_FORCECLOSEDCHANNEL, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse.ForceClosedChannel) + }) + , + 'DESCRIPTOR' : _PENDINGCHANNELSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PendingChannelsResponse) + }) +_sym_db.RegisterMessage(PendingChannelsResponse) +_sym_db.RegisterMessage(PendingChannelsResponse.PendingChannel) +_sym_db.RegisterMessage(PendingChannelsResponse.PendingOpenChannel) +_sym_db.RegisterMessage(PendingChannelsResponse.WaitingCloseChannel) +_sym_db.RegisterMessage(PendingChannelsResponse.Commitments) +_sym_db.RegisterMessage(PendingChannelsResponse.ClosedChannel) +_sym_db.RegisterMessage(PendingChannelsResponse.ForceClosedChannel) + +ChannelEventSubscription = _reflection.GeneratedProtocolMessageType('ChannelEventSubscription', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELEVENTSUBSCRIPTION, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelEventSubscription) + }) +_sym_db.RegisterMessage(ChannelEventSubscription) + +ChannelEventUpdate = _reflection.GeneratedProtocolMessageType('ChannelEventUpdate', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELEVENTUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelEventUpdate) + }) +_sym_db.RegisterMessage(ChannelEventUpdate) + +WalletAccountBalance = _reflection.GeneratedProtocolMessageType('WalletAccountBalance', (_message.Message,), { + 'DESCRIPTOR' : _WALLETACCOUNTBALANCE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.WalletAccountBalance) + }) +_sym_db.RegisterMessage(WalletAccountBalance) + +WalletBalanceRequest = _reflection.GeneratedProtocolMessageType('WalletBalanceRequest', (_message.Message,), { + 'DESCRIPTOR' : _WALLETBALANCEREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.WalletBalanceRequest) + }) +_sym_db.RegisterMessage(WalletBalanceRequest) + +WalletBalanceResponse = _reflection.GeneratedProtocolMessageType('WalletBalanceResponse', (_message.Message,), { + + 'AccountBalanceEntry' : _reflection.GeneratedProtocolMessageType('AccountBalanceEntry', (_message.Message,), { + 'DESCRIPTOR' : _WALLETBALANCERESPONSE_ACCOUNTBALANCEENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.WalletBalanceResponse.AccountBalanceEntry) + }) + , + 'DESCRIPTOR' : _WALLETBALANCERESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.WalletBalanceResponse) + }) +_sym_db.RegisterMessage(WalletBalanceResponse) +_sym_db.RegisterMessage(WalletBalanceResponse.AccountBalanceEntry) + +Amount = _reflection.GeneratedProtocolMessageType('Amount', (_message.Message,), { + 'DESCRIPTOR' : _AMOUNT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Amount) + }) +_sym_db.RegisterMessage(Amount) + +ChannelBalanceRequest = _reflection.GeneratedProtocolMessageType('ChannelBalanceRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELBALANCEREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelBalanceRequest) + }) +_sym_db.RegisterMessage(ChannelBalanceRequest) + +ChannelBalanceResponse = _reflection.GeneratedProtocolMessageType('ChannelBalanceResponse', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELBALANCERESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelBalanceResponse) + }) +_sym_db.RegisterMessage(ChannelBalanceResponse) + +QueryRoutesRequest = _reflection.GeneratedProtocolMessageType('QueryRoutesRequest', (_message.Message,), { + + 'DestCustomRecordsEntry' : _reflection.GeneratedProtocolMessageType('DestCustomRecordsEntry', (_message.Message,), { + 'DESCRIPTOR' : _QUERYROUTESREQUEST_DESTCUSTOMRECORDSENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.QueryRoutesRequest.DestCustomRecordsEntry) + }) + , + 'DESCRIPTOR' : _QUERYROUTESREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.QueryRoutesRequest) + }) +_sym_db.RegisterMessage(QueryRoutesRequest) +_sym_db.RegisterMessage(QueryRoutesRequest.DestCustomRecordsEntry) + +NodePair = _reflection.GeneratedProtocolMessageType('NodePair', (_message.Message,), { + 'DESCRIPTOR' : _NODEPAIR, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NodePair) + }) +_sym_db.RegisterMessage(NodePair) + +EdgeLocator = _reflection.GeneratedProtocolMessageType('EdgeLocator', (_message.Message,), { + 'DESCRIPTOR' : _EDGELOCATOR, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.EdgeLocator) + }) +_sym_db.RegisterMessage(EdgeLocator) + +QueryRoutesResponse = _reflection.GeneratedProtocolMessageType('QueryRoutesResponse', (_message.Message,), { + 'DESCRIPTOR' : _QUERYROUTESRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.QueryRoutesResponse) + }) +_sym_db.RegisterMessage(QueryRoutesResponse) + +Hop = _reflection.GeneratedProtocolMessageType('Hop', (_message.Message,), { + + 'CustomRecordsEntry' : _reflection.GeneratedProtocolMessageType('CustomRecordsEntry', (_message.Message,), { + 'DESCRIPTOR' : _HOP_CUSTOMRECORDSENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Hop.CustomRecordsEntry) + }) + , + 'DESCRIPTOR' : _HOP, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Hop) + }) +_sym_db.RegisterMessage(Hop) +_sym_db.RegisterMessage(Hop.CustomRecordsEntry) + +MPPRecord = _reflection.GeneratedProtocolMessageType('MPPRecord', (_message.Message,), { + 'DESCRIPTOR' : _MPPRECORD, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.MPPRecord) + }) +_sym_db.RegisterMessage(MPPRecord) + +AMPRecord = _reflection.GeneratedProtocolMessageType('AMPRecord', (_message.Message,), { + 'DESCRIPTOR' : _AMPRECORD, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.AMPRecord) + }) +_sym_db.RegisterMessage(AMPRecord) + +Route = _reflection.GeneratedProtocolMessageType('Route', (_message.Message,), { + 'DESCRIPTOR' : _ROUTE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Route) + }) +_sym_db.RegisterMessage(Route) + +NodeInfoRequest = _reflection.GeneratedProtocolMessageType('NodeInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _NODEINFOREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NodeInfoRequest) + }) +_sym_db.RegisterMessage(NodeInfoRequest) + +NodeInfo = _reflection.GeneratedProtocolMessageType('NodeInfo', (_message.Message,), { + 'DESCRIPTOR' : _NODEINFO, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NodeInfo) + }) +_sym_db.RegisterMessage(NodeInfo) + +LightningNode = _reflection.GeneratedProtocolMessageType('LightningNode', (_message.Message,), { + + 'FeaturesEntry' : _reflection.GeneratedProtocolMessageType('FeaturesEntry', (_message.Message,), { + 'DESCRIPTOR' : _LIGHTNINGNODE_FEATURESENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.LightningNode.FeaturesEntry) + }) + , + 'DESCRIPTOR' : _LIGHTNINGNODE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.LightningNode) + }) +_sym_db.RegisterMessage(LightningNode) +_sym_db.RegisterMessage(LightningNode.FeaturesEntry) + +NodeAddress = _reflection.GeneratedProtocolMessageType('NodeAddress', (_message.Message,), { + 'DESCRIPTOR' : _NODEADDRESS, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NodeAddress) + }) +_sym_db.RegisterMessage(NodeAddress) + +RoutingPolicy = _reflection.GeneratedProtocolMessageType('RoutingPolicy', (_message.Message,), { + 'DESCRIPTOR' : _ROUTINGPOLICY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.RoutingPolicy) + }) +_sym_db.RegisterMessage(RoutingPolicy) + +ChannelEdge = _reflection.GeneratedProtocolMessageType('ChannelEdge', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELEDGE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelEdge) + }) +_sym_db.RegisterMessage(ChannelEdge) + +ChannelGraphRequest = _reflection.GeneratedProtocolMessageType('ChannelGraphRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELGRAPHREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelGraphRequest) + }) +_sym_db.RegisterMessage(ChannelGraphRequest) + +ChannelGraph = _reflection.GeneratedProtocolMessageType('ChannelGraph', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELGRAPH, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelGraph) + }) +_sym_db.RegisterMessage(ChannelGraph) + +NodeMetricsRequest = _reflection.GeneratedProtocolMessageType('NodeMetricsRequest', (_message.Message,), { + 'DESCRIPTOR' : _NODEMETRICSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NodeMetricsRequest) + }) +_sym_db.RegisterMessage(NodeMetricsRequest) + +NodeMetricsResponse = _reflection.GeneratedProtocolMessageType('NodeMetricsResponse', (_message.Message,), { + + 'BetweennessCentralityEntry' : _reflection.GeneratedProtocolMessageType('BetweennessCentralityEntry', (_message.Message,), { + 'DESCRIPTOR' : _NODEMETRICSRESPONSE_BETWEENNESSCENTRALITYENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NodeMetricsResponse.BetweennessCentralityEntry) + }) + , + 'DESCRIPTOR' : _NODEMETRICSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NodeMetricsResponse) + }) +_sym_db.RegisterMessage(NodeMetricsResponse) +_sym_db.RegisterMessage(NodeMetricsResponse.BetweennessCentralityEntry) + +FloatMetric = _reflection.GeneratedProtocolMessageType('FloatMetric', (_message.Message,), { + 'DESCRIPTOR' : _FLOATMETRIC, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FloatMetric) + }) +_sym_db.RegisterMessage(FloatMetric) + +ChanInfoRequest = _reflection.GeneratedProtocolMessageType('ChanInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHANINFOREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChanInfoRequest) + }) +_sym_db.RegisterMessage(ChanInfoRequest) + +NetworkInfoRequest = _reflection.GeneratedProtocolMessageType('NetworkInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _NETWORKINFOREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NetworkInfoRequest) + }) +_sym_db.RegisterMessage(NetworkInfoRequest) + +NetworkInfo = _reflection.GeneratedProtocolMessageType('NetworkInfo', (_message.Message,), { + 'DESCRIPTOR' : _NETWORKINFO, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NetworkInfo) + }) +_sym_db.RegisterMessage(NetworkInfo) + +StopRequest = _reflection.GeneratedProtocolMessageType('StopRequest', (_message.Message,), { + 'DESCRIPTOR' : _STOPREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.StopRequest) + }) +_sym_db.RegisterMessage(StopRequest) + +StopResponse = _reflection.GeneratedProtocolMessageType('StopResponse', (_message.Message,), { + 'DESCRIPTOR' : _STOPRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.StopResponse) + }) +_sym_db.RegisterMessage(StopResponse) + +GraphTopologySubscription = _reflection.GeneratedProtocolMessageType('GraphTopologySubscription', (_message.Message,), { + 'DESCRIPTOR' : _GRAPHTOPOLOGYSUBSCRIPTION, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GraphTopologySubscription) + }) +_sym_db.RegisterMessage(GraphTopologySubscription) + +GraphTopologyUpdate = _reflection.GeneratedProtocolMessageType('GraphTopologyUpdate', (_message.Message,), { + 'DESCRIPTOR' : _GRAPHTOPOLOGYUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GraphTopologyUpdate) + }) +_sym_db.RegisterMessage(GraphTopologyUpdate) + +NodeUpdate = _reflection.GeneratedProtocolMessageType('NodeUpdate', (_message.Message,), { + + 'FeaturesEntry' : _reflection.GeneratedProtocolMessageType('FeaturesEntry', (_message.Message,), { + 'DESCRIPTOR' : _NODEUPDATE_FEATURESENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NodeUpdate.FeaturesEntry) + }) + , + 'DESCRIPTOR' : _NODEUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.NodeUpdate) + }) +_sym_db.RegisterMessage(NodeUpdate) +_sym_db.RegisterMessage(NodeUpdate.FeaturesEntry) + +ChannelEdgeUpdate = _reflection.GeneratedProtocolMessageType('ChannelEdgeUpdate', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELEDGEUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelEdgeUpdate) + }) +_sym_db.RegisterMessage(ChannelEdgeUpdate) + +ClosedChannelUpdate = _reflection.GeneratedProtocolMessageType('ClosedChannelUpdate', (_message.Message,), { + 'DESCRIPTOR' : _CLOSEDCHANNELUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ClosedChannelUpdate) + }) +_sym_db.RegisterMessage(ClosedChannelUpdate) + +HopHint = _reflection.GeneratedProtocolMessageType('HopHint', (_message.Message,), { + 'DESCRIPTOR' : _HOPHINT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.HopHint) + }) +_sym_db.RegisterMessage(HopHint) + +RouteHint = _reflection.GeneratedProtocolMessageType('RouteHint', (_message.Message,), { + 'DESCRIPTOR' : _ROUTEHINT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.RouteHint) + }) +_sym_db.RegisterMessage(RouteHint) + +Invoice = _reflection.GeneratedProtocolMessageType('Invoice', (_message.Message,), { + + 'FeaturesEntry' : _reflection.GeneratedProtocolMessageType('FeaturesEntry', (_message.Message,), { + 'DESCRIPTOR' : _INVOICE_FEATURESENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Invoice.FeaturesEntry) + }) + , + 'DESCRIPTOR' : _INVOICE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Invoice) + }) +_sym_db.RegisterMessage(Invoice) +_sym_db.RegisterMessage(Invoice.FeaturesEntry) + +InvoiceHTLC = _reflection.GeneratedProtocolMessageType('InvoiceHTLC', (_message.Message,), { + + 'CustomRecordsEntry' : _reflection.GeneratedProtocolMessageType('CustomRecordsEntry', (_message.Message,), { + 'DESCRIPTOR' : _INVOICEHTLC_CUSTOMRECORDSENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.InvoiceHTLC.CustomRecordsEntry) + }) + , + 'DESCRIPTOR' : _INVOICEHTLC, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.InvoiceHTLC) + }) +_sym_db.RegisterMessage(InvoiceHTLC) +_sym_db.RegisterMessage(InvoiceHTLC.CustomRecordsEntry) + +AMP = _reflection.GeneratedProtocolMessageType('AMP', (_message.Message,), { + 'DESCRIPTOR' : _AMP, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.AMP) + }) +_sym_db.RegisterMessage(AMP) + +AddInvoiceResponse = _reflection.GeneratedProtocolMessageType('AddInvoiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _ADDINVOICERESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.AddInvoiceResponse) + }) +_sym_db.RegisterMessage(AddInvoiceResponse) + +PaymentHash = _reflection.GeneratedProtocolMessageType('PaymentHash', (_message.Message,), { + 'DESCRIPTOR' : _PAYMENTHASH, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PaymentHash) + }) +_sym_db.RegisterMessage(PaymentHash) + +ListInvoiceRequest = _reflection.GeneratedProtocolMessageType('ListInvoiceRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTINVOICEREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListInvoiceRequest) + }) +_sym_db.RegisterMessage(ListInvoiceRequest) + +ListInvoiceResponse = _reflection.GeneratedProtocolMessageType('ListInvoiceResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTINVOICERESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListInvoiceResponse) + }) +_sym_db.RegisterMessage(ListInvoiceResponse) + +InvoiceSubscription = _reflection.GeneratedProtocolMessageType('InvoiceSubscription', (_message.Message,), { + 'DESCRIPTOR' : _INVOICESUBSCRIPTION, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.InvoiceSubscription) + }) +_sym_db.RegisterMessage(InvoiceSubscription) + +Payment = _reflection.GeneratedProtocolMessageType('Payment', (_message.Message,), { + 'DESCRIPTOR' : _PAYMENT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Payment) + }) +_sym_db.RegisterMessage(Payment) + +HTLCAttempt = _reflection.GeneratedProtocolMessageType('HTLCAttempt', (_message.Message,), { + 'DESCRIPTOR' : _HTLCATTEMPT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.HTLCAttempt) + }) +_sym_db.RegisterMessage(HTLCAttempt) + +ListPaymentsRequest = _reflection.GeneratedProtocolMessageType('ListPaymentsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTPAYMENTSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListPaymentsRequest) + }) +_sym_db.RegisterMessage(ListPaymentsRequest) + +ListPaymentsResponse = _reflection.GeneratedProtocolMessageType('ListPaymentsResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTPAYMENTSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListPaymentsResponse) + }) +_sym_db.RegisterMessage(ListPaymentsResponse) + +DeleteAllPaymentsRequest = _reflection.GeneratedProtocolMessageType('DeleteAllPaymentsRequest', (_message.Message,), { + 'DESCRIPTOR' : _DELETEALLPAYMENTSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.DeleteAllPaymentsRequest) + }) +_sym_db.RegisterMessage(DeleteAllPaymentsRequest) + +DeleteAllPaymentsResponse = _reflection.GeneratedProtocolMessageType('DeleteAllPaymentsResponse', (_message.Message,), { + 'DESCRIPTOR' : _DELETEALLPAYMENTSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.DeleteAllPaymentsResponse) + }) +_sym_db.RegisterMessage(DeleteAllPaymentsResponse) + +AbandonChannelRequest = _reflection.GeneratedProtocolMessageType('AbandonChannelRequest', (_message.Message,), { + 'DESCRIPTOR' : _ABANDONCHANNELREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.AbandonChannelRequest) + }) +_sym_db.RegisterMessage(AbandonChannelRequest) + +AbandonChannelResponse = _reflection.GeneratedProtocolMessageType('AbandonChannelResponse', (_message.Message,), { + 'DESCRIPTOR' : _ABANDONCHANNELRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.AbandonChannelResponse) + }) +_sym_db.RegisterMessage(AbandonChannelResponse) + +DebugLevelRequest = _reflection.GeneratedProtocolMessageType('DebugLevelRequest', (_message.Message,), { + 'DESCRIPTOR' : _DEBUGLEVELREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.DebugLevelRequest) + }) +_sym_db.RegisterMessage(DebugLevelRequest) + +DebugLevelResponse = _reflection.GeneratedProtocolMessageType('DebugLevelResponse', (_message.Message,), { + 'DESCRIPTOR' : _DEBUGLEVELRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.DebugLevelResponse) + }) +_sym_db.RegisterMessage(DebugLevelResponse) + +PayReqString = _reflection.GeneratedProtocolMessageType('PayReqString', (_message.Message,), { + 'DESCRIPTOR' : _PAYREQSTRING, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PayReqString) + }) +_sym_db.RegisterMessage(PayReqString) + +PayReq = _reflection.GeneratedProtocolMessageType('PayReq', (_message.Message,), { + + 'FeaturesEntry' : _reflection.GeneratedProtocolMessageType('FeaturesEntry', (_message.Message,), { + 'DESCRIPTOR' : _PAYREQ_FEATURESENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PayReq.FeaturesEntry) + }) + , + 'DESCRIPTOR' : _PAYREQ, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PayReq) + }) +_sym_db.RegisterMessage(PayReq) +_sym_db.RegisterMessage(PayReq.FeaturesEntry) + +Feature = _reflection.GeneratedProtocolMessageType('Feature', (_message.Message,), { + 'DESCRIPTOR' : _FEATURE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Feature) + }) +_sym_db.RegisterMessage(Feature) + +FeeReportRequest = _reflection.GeneratedProtocolMessageType('FeeReportRequest', (_message.Message,), { + 'DESCRIPTOR' : _FEEREPORTREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FeeReportRequest) + }) +_sym_db.RegisterMessage(FeeReportRequest) + +ChannelFeeReport = _reflection.GeneratedProtocolMessageType('ChannelFeeReport', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELFEEREPORT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelFeeReport) + }) +_sym_db.RegisterMessage(ChannelFeeReport) + +FeeReportResponse = _reflection.GeneratedProtocolMessageType('FeeReportResponse', (_message.Message,), { + 'DESCRIPTOR' : _FEEREPORTRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.FeeReportResponse) + }) +_sym_db.RegisterMessage(FeeReportResponse) + +PolicyUpdateRequest = _reflection.GeneratedProtocolMessageType('PolicyUpdateRequest', (_message.Message,), { + 'DESCRIPTOR' : _POLICYUPDATEREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PolicyUpdateRequest) + }) +_sym_db.RegisterMessage(PolicyUpdateRequest) + +PolicyUpdateResponse = _reflection.GeneratedProtocolMessageType('PolicyUpdateResponse', (_message.Message,), { + 'DESCRIPTOR' : _POLICYUPDATERESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.PolicyUpdateResponse) + }) +_sym_db.RegisterMessage(PolicyUpdateResponse) + +ForwardingHistoryRequest = _reflection.GeneratedProtocolMessageType('ForwardingHistoryRequest', (_message.Message,), { + 'DESCRIPTOR' : _FORWARDINGHISTORYREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ForwardingHistoryRequest) + }) +_sym_db.RegisterMessage(ForwardingHistoryRequest) + +ForwardingEvent = _reflection.GeneratedProtocolMessageType('ForwardingEvent', (_message.Message,), { + 'DESCRIPTOR' : _FORWARDINGEVENT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ForwardingEvent) + }) +_sym_db.RegisterMessage(ForwardingEvent) + +ForwardingHistoryResponse = _reflection.GeneratedProtocolMessageType('ForwardingHistoryResponse', (_message.Message,), { + 'DESCRIPTOR' : _FORWARDINGHISTORYRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ForwardingHistoryResponse) + }) +_sym_db.RegisterMessage(ForwardingHistoryResponse) + +ExportChannelBackupRequest = _reflection.GeneratedProtocolMessageType('ExportChannelBackupRequest', (_message.Message,), { + 'DESCRIPTOR' : _EXPORTCHANNELBACKUPREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ExportChannelBackupRequest) + }) +_sym_db.RegisterMessage(ExportChannelBackupRequest) + +ChannelBackup = _reflection.GeneratedProtocolMessageType('ChannelBackup', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELBACKUP, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelBackup) + }) +_sym_db.RegisterMessage(ChannelBackup) + +MultiChanBackup = _reflection.GeneratedProtocolMessageType('MultiChanBackup', (_message.Message,), { + 'DESCRIPTOR' : _MULTICHANBACKUP, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.MultiChanBackup) + }) +_sym_db.RegisterMessage(MultiChanBackup) + +ChanBackupExportRequest = _reflection.GeneratedProtocolMessageType('ChanBackupExportRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHANBACKUPEXPORTREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChanBackupExportRequest) + }) +_sym_db.RegisterMessage(ChanBackupExportRequest) + +ChanBackupSnapshot = _reflection.GeneratedProtocolMessageType('ChanBackupSnapshot', (_message.Message,), { + 'DESCRIPTOR' : _CHANBACKUPSNAPSHOT, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChanBackupSnapshot) + }) +_sym_db.RegisterMessage(ChanBackupSnapshot) + +ChannelBackups = _reflection.GeneratedProtocolMessageType('ChannelBackups', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELBACKUPS, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelBackups) + }) +_sym_db.RegisterMessage(ChannelBackups) + +RestoreChanBackupRequest = _reflection.GeneratedProtocolMessageType('RestoreChanBackupRequest', (_message.Message,), { + 'DESCRIPTOR' : _RESTORECHANBACKUPREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.RestoreChanBackupRequest) + }) +_sym_db.RegisterMessage(RestoreChanBackupRequest) + +RestoreBackupResponse = _reflection.GeneratedProtocolMessageType('RestoreBackupResponse', (_message.Message,), { + 'DESCRIPTOR' : _RESTOREBACKUPRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.RestoreBackupResponse) + }) +_sym_db.RegisterMessage(RestoreBackupResponse) + +ChannelBackupSubscription = _reflection.GeneratedProtocolMessageType('ChannelBackupSubscription', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELBACKUPSUBSCRIPTION, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelBackupSubscription) + }) +_sym_db.RegisterMessage(ChannelBackupSubscription) + +VerifyChanBackupResponse = _reflection.GeneratedProtocolMessageType('VerifyChanBackupResponse', (_message.Message,), { + 'DESCRIPTOR' : _VERIFYCHANBACKUPRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.VerifyChanBackupResponse) + }) +_sym_db.RegisterMessage(VerifyChanBackupResponse) + +MacaroonPermission = _reflection.GeneratedProtocolMessageType('MacaroonPermission', (_message.Message,), { + 'DESCRIPTOR' : _MACAROONPERMISSION, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.MacaroonPermission) + }) +_sym_db.RegisterMessage(MacaroonPermission) + +BakeMacaroonRequest = _reflection.GeneratedProtocolMessageType('BakeMacaroonRequest', (_message.Message,), { + 'DESCRIPTOR' : _BAKEMACAROONREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.BakeMacaroonRequest) + }) +_sym_db.RegisterMessage(BakeMacaroonRequest) + +BakeMacaroonResponse = _reflection.GeneratedProtocolMessageType('BakeMacaroonResponse', (_message.Message,), { + 'DESCRIPTOR' : _BAKEMACAROONRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.BakeMacaroonResponse) + }) +_sym_db.RegisterMessage(BakeMacaroonResponse) + +ListMacaroonIDsRequest = _reflection.GeneratedProtocolMessageType('ListMacaroonIDsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTMACAROONIDSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListMacaroonIDsRequest) + }) +_sym_db.RegisterMessage(ListMacaroonIDsRequest) + +ListMacaroonIDsResponse = _reflection.GeneratedProtocolMessageType('ListMacaroonIDsResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTMACAROONIDSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListMacaroonIDsResponse) + }) +_sym_db.RegisterMessage(ListMacaroonIDsResponse) + +DeleteMacaroonIDRequest = _reflection.GeneratedProtocolMessageType('DeleteMacaroonIDRequest', (_message.Message,), { + 'DESCRIPTOR' : _DELETEMACAROONIDREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.DeleteMacaroonIDRequest) + }) +_sym_db.RegisterMessage(DeleteMacaroonIDRequest) + +DeleteMacaroonIDResponse = _reflection.GeneratedProtocolMessageType('DeleteMacaroonIDResponse', (_message.Message,), { + 'DESCRIPTOR' : _DELETEMACAROONIDRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.DeleteMacaroonIDResponse) + }) +_sym_db.RegisterMessage(DeleteMacaroonIDResponse) + +MacaroonPermissionList = _reflection.GeneratedProtocolMessageType('MacaroonPermissionList', (_message.Message,), { + 'DESCRIPTOR' : _MACAROONPERMISSIONLIST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.MacaroonPermissionList) + }) +_sym_db.RegisterMessage(MacaroonPermissionList) + +ListPermissionsRequest = _reflection.GeneratedProtocolMessageType('ListPermissionsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTPERMISSIONSREQUEST, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListPermissionsRequest) + }) +_sym_db.RegisterMessage(ListPermissionsRequest) + +ListPermissionsResponse = _reflection.GeneratedProtocolMessageType('ListPermissionsResponse', (_message.Message,), { + + 'MethodPermissionsEntry' : _reflection.GeneratedProtocolMessageType('MethodPermissionsEntry', (_message.Message,), { + 'DESCRIPTOR' : _LISTPERMISSIONSRESPONSE_METHODPERMISSIONSENTRY, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListPermissionsResponse.MethodPermissionsEntry) + }) + , + 'DESCRIPTOR' : _LISTPERMISSIONSRESPONSE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ListPermissionsResponse) + }) +_sym_db.RegisterMessage(ListPermissionsResponse) +_sym_db.RegisterMessage(ListPermissionsResponse.MethodPermissionsEntry) + +Failure = _reflection.GeneratedProtocolMessageType('Failure', (_message.Message,), { + 'DESCRIPTOR' : _FAILURE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Failure) + }) +_sym_db.RegisterMessage(Failure) + +ChannelUpdate = _reflection.GeneratedProtocolMessageType('ChannelUpdate', (_message.Message,), { + 'DESCRIPTOR' : _CHANNELUPDATE, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChannelUpdate) + }) +_sym_db.RegisterMessage(ChannelUpdate) + +MacaroonId = _reflection.GeneratedProtocolMessageType('MacaroonId', (_message.Message,), { + 'DESCRIPTOR' : _MACAROONID, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.MacaroonId) + }) +_sym_db.RegisterMessage(MacaroonId) + +Op = _reflection.GeneratedProtocolMessageType('Op', (_message.Message,), { + 'DESCRIPTOR' : _OP, + '__module__' : 'v0131beta.rpc_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.Op) + }) +_sym_db.RegisterMessage(Op) + + +DESCRIPTOR._options = None +_SENDREQUEST_DESTCUSTOMRECORDSENTRY._options = None +_SENDREQUEST.fields_by_name['dest_string']._options = None +_SENDREQUEST.fields_by_name['payment_hash_string']._options = None +_SENDREQUEST.fields_by_name['outgoing_chan_id']._options = None +_SENDTOROUTEREQUEST.fields_by_name['payment_hash_string']._options = None +_ESTIMATEFEEREQUEST_ADDRTOAMOUNTENTRY._options = None +_ESTIMATEFEERESPONSE.fields_by_name['feerate_sat_per_byte']._options = None +_SENDMANYREQUEST_ADDRTOAMOUNTENTRY._options = None +_SENDMANYREQUEST.fields_by_name['sat_per_byte']._options = None +_SENDCOINSREQUEST.fields_by_name['sat_per_byte']._options = None +_CHANNEL.fields_by_name['chan_id']._options = None +_CHANNEL.fields_by_name['csv_delay']._options = None +_CHANNEL.fields_by_name['local_chan_reserve_sat']._options = None +_CHANNEL.fields_by_name['remote_chan_reserve_sat']._options = None +_CHANNEL.fields_by_name['static_remote_key']._options = None +_CHANNELCLOSESUMMARY.fields_by_name['chan_id']._options = None +_PEER_FEATURESENTRY._options = None +_GETINFORESPONSE_FEATURESENTRY._options = None +_GETINFORESPONSE.fields_by_name['testnet']._options = None +_CLOSECHANNELREQUEST.fields_by_name['sat_per_byte']._options = None +_OPENCHANNELREQUEST.fields_by_name['node_pubkey_string']._options = None +_OPENCHANNELREQUEST.fields_by_name['sat_per_byte']._options = None +_PENDINGCHANNELSRESPONSE.fields_by_name['pending_closing_channels']._options = None +_WALLETBALANCERESPONSE_ACCOUNTBALANCEENTRY._options = None +_CHANNELBALANCERESPONSE.fields_by_name['balance']._options = None +_CHANNELBALANCERESPONSE.fields_by_name['pending_open_balance']._options = None +_QUERYROUTESREQUEST_DESTCUSTOMRECORDSENTRY._options = None +_QUERYROUTESREQUEST.fields_by_name['ignored_edges']._options = None +_QUERYROUTESREQUEST.fields_by_name['outgoing_chan_id']._options = None +_EDGELOCATOR.fields_by_name['channel_id']._options = None +_HOP_CUSTOMRECORDSENTRY._options = None +_HOP.fields_by_name['chan_id']._options = None +_HOP.fields_by_name['chan_capacity']._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 +_LIGHTNINGNODE_FEATURESENTRY._options = None +_CHANNELEDGE.fields_by_name['channel_id']._options = None +_CHANNELEDGE.fields_by_name['last_update']._options = None +_NODEMETRICSRESPONSE_BETWEENNESSCENTRALITYENTRY._options = None +_CHANINFOREQUEST.fields_by_name['chan_id']._options = None +_NODEUPDATE_FEATURESENTRY._options = None +_NODEUPDATE.fields_by_name['addresses']._options = None +_NODEUPDATE.fields_by_name['global_features']._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_FEATURESENTRY._options = None +_INVOICE.fields_by_name['settled']._options = None +_INVOICE.fields_by_name['amt_paid']._options = None +_INVOICEHTLC_CUSTOMRECORDSENTRY._options = None +_INVOICEHTLC.fields_by_name['chan_id']._options = None +_PAYMENTHASH.fields_by_name['r_hash_str']._options = None +_PAYMENT.fields_by_name['value']._options = None +_PAYMENT.fields_by_name['creation_date']._options = None +_PAYMENT.fields_by_name['fee']._options = None +_PAYREQ_FEATURESENTRY._options = None +_CHANNELFEEREPORT.fields_by_name['chan_id']._options = None +_FORWARDINGEVENT.fields_by_name['timestamp']._options = None +_FORWARDINGEVENT.fields_by_name['chan_id_in']._options = None +_FORWARDINGEVENT.fields_by_name['chan_id_out']._options = None +_LISTPERMISSIONSRESPONSE_METHODPERMISSIONSENTRY._options = None +_CHANNELUPDATE.fields_by_name['chan_id']._options = None + +_LIGHTNING = _descriptor.ServiceDescriptor( + name='Lightning', + full_name='lnrpc.Lightning', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=25656, + serialized_end=29953, + methods=[ + _descriptor.MethodDescriptor( + name='WalletBalance', + full_name='lnrpc.Lightning.WalletBalance', + index=0, + containing_service=None, + input_type=_WALLETBALANCEREQUEST, + output_type=_WALLETBALANCERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ChannelBalance', + full_name='lnrpc.Lightning.ChannelBalance', + index=1, + containing_service=None, + input_type=_CHANNELBALANCEREQUEST, + output_type=_CHANNELBALANCERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GetTransactions', + full_name='lnrpc.Lightning.GetTransactions', + index=2, + containing_service=None, + input_type=_GETTRANSACTIONSREQUEST, + output_type=_TRANSACTIONDETAILS, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='EstimateFee', + full_name='lnrpc.Lightning.EstimateFee', + index=3, + containing_service=None, + input_type=_ESTIMATEFEEREQUEST, + output_type=_ESTIMATEFEERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendCoins', + full_name='lnrpc.Lightning.SendCoins', + index=4, + containing_service=None, + input_type=_SENDCOINSREQUEST, + output_type=_SENDCOINSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListUnspent', + full_name='lnrpc.Lightning.ListUnspent', + index=5, + containing_service=None, + input_type=_LISTUNSPENTREQUEST, + output_type=_LISTUNSPENTRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SubscribeTransactions', + full_name='lnrpc.Lightning.SubscribeTransactions', + index=6, + containing_service=None, + input_type=_GETTRANSACTIONSREQUEST, + output_type=_TRANSACTION, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendMany', + full_name='lnrpc.Lightning.SendMany', + index=7, + containing_service=None, + input_type=_SENDMANYREQUEST, + output_type=_SENDMANYRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='NewAddress', + full_name='lnrpc.Lightning.NewAddress', + index=8, + containing_service=None, + input_type=_NEWADDRESSREQUEST, + output_type=_NEWADDRESSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SignMessage', + full_name='lnrpc.Lightning.SignMessage', + index=9, + containing_service=None, + input_type=_SIGNMESSAGEREQUEST, + output_type=_SIGNMESSAGERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='VerifyMessage', + full_name='lnrpc.Lightning.VerifyMessage', + index=10, + containing_service=None, + input_type=_VERIFYMESSAGEREQUEST, + output_type=_VERIFYMESSAGERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ConnectPeer', + full_name='lnrpc.Lightning.ConnectPeer', + index=11, + containing_service=None, + input_type=_CONNECTPEERREQUEST, + output_type=_CONNECTPEERRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DisconnectPeer', + full_name='lnrpc.Lightning.DisconnectPeer', + index=12, + containing_service=None, + input_type=_DISCONNECTPEERREQUEST, + output_type=_DISCONNECTPEERRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListPeers', + full_name='lnrpc.Lightning.ListPeers', + index=13, + containing_service=None, + input_type=_LISTPEERSREQUEST, + output_type=_LISTPEERSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SubscribePeerEvents', + full_name='lnrpc.Lightning.SubscribePeerEvents', + index=14, + containing_service=None, + input_type=_PEEREVENTSUBSCRIPTION, + output_type=_PEEREVENT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GetInfo', + full_name='lnrpc.Lightning.GetInfo', + index=15, + containing_service=None, + input_type=_GETINFOREQUEST, + output_type=_GETINFORESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GetRecoveryInfo', + full_name='lnrpc.Lightning.GetRecoveryInfo', + index=16, + containing_service=None, + input_type=_GETRECOVERYINFOREQUEST, + output_type=_GETRECOVERYINFORESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PendingChannels', + full_name='lnrpc.Lightning.PendingChannels', + index=17, + containing_service=None, + input_type=_PENDINGCHANNELSREQUEST, + output_type=_PENDINGCHANNELSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListChannels', + full_name='lnrpc.Lightning.ListChannels', + index=18, + containing_service=None, + input_type=_LISTCHANNELSREQUEST, + output_type=_LISTCHANNELSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SubscribeChannelEvents', + full_name='lnrpc.Lightning.SubscribeChannelEvents', + index=19, + containing_service=None, + input_type=_CHANNELEVENTSUBSCRIPTION, + output_type=_CHANNELEVENTUPDATE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ClosedChannels', + full_name='lnrpc.Lightning.ClosedChannels', + index=20, + containing_service=None, + input_type=_CLOSEDCHANNELSREQUEST, + output_type=_CLOSEDCHANNELSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='OpenChannelSync', + full_name='lnrpc.Lightning.OpenChannelSync', + index=21, + containing_service=None, + input_type=_OPENCHANNELREQUEST, + output_type=_CHANNELPOINT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='OpenChannel', + full_name='lnrpc.Lightning.OpenChannel', + index=22, + containing_service=None, + input_type=_OPENCHANNELREQUEST, + output_type=_OPENSTATUSUPDATE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='FundingStateStep', + full_name='lnrpc.Lightning.FundingStateStep', + index=23, + containing_service=None, + input_type=_FUNDINGTRANSITIONMSG, + output_type=_FUNDINGSTATESTEPRESP, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ChannelAcceptor', + full_name='lnrpc.Lightning.ChannelAcceptor', + index=24, + containing_service=None, + input_type=_CHANNELACCEPTRESPONSE, + output_type=_CHANNELACCEPTREQUEST, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='CloseChannel', + full_name='lnrpc.Lightning.CloseChannel', + index=25, + containing_service=None, + input_type=_CLOSECHANNELREQUEST, + output_type=_CLOSESTATUSUPDATE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='AbandonChannel', + full_name='lnrpc.Lightning.AbandonChannel', + index=26, + containing_service=None, + input_type=_ABANDONCHANNELREQUEST, + output_type=_ABANDONCHANNELRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendPayment', + full_name='lnrpc.Lightning.SendPayment', + index=27, + containing_service=None, + input_type=_SENDREQUEST, + output_type=_SENDRESPONSE, + serialized_options=b'\210\002\001', + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendPaymentSync', + full_name='lnrpc.Lightning.SendPaymentSync', + index=28, + containing_service=None, + input_type=_SENDREQUEST, + output_type=_SENDRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendToRoute', + full_name='lnrpc.Lightning.SendToRoute', + index=29, + containing_service=None, + input_type=_SENDTOROUTEREQUEST, + output_type=_SENDRESPONSE, + serialized_options=b'\210\002\001', + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendToRouteSync', + full_name='lnrpc.Lightning.SendToRouteSync', + index=30, + containing_service=None, + input_type=_SENDTOROUTEREQUEST, + output_type=_SENDRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='AddInvoice', + full_name='lnrpc.Lightning.AddInvoice', + index=31, + containing_service=None, + input_type=_INVOICE, + output_type=_ADDINVOICERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListInvoices', + full_name='lnrpc.Lightning.ListInvoices', + index=32, + containing_service=None, + input_type=_LISTINVOICEREQUEST, + output_type=_LISTINVOICERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='LookupInvoice', + full_name='lnrpc.Lightning.LookupInvoice', + index=33, + containing_service=None, + input_type=_PAYMENTHASH, + output_type=_INVOICE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SubscribeInvoices', + full_name='lnrpc.Lightning.SubscribeInvoices', + index=34, + containing_service=None, + input_type=_INVOICESUBSCRIPTION, + output_type=_INVOICE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DecodePayReq', + full_name='lnrpc.Lightning.DecodePayReq', + index=35, + containing_service=None, + input_type=_PAYREQSTRING, + output_type=_PAYREQ, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListPayments', + full_name='lnrpc.Lightning.ListPayments', + index=36, + containing_service=None, + input_type=_LISTPAYMENTSREQUEST, + output_type=_LISTPAYMENTSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DeleteAllPayments', + full_name='lnrpc.Lightning.DeleteAllPayments', + index=37, + containing_service=None, + input_type=_DELETEALLPAYMENTSREQUEST, + output_type=_DELETEALLPAYMENTSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DescribeGraph', + full_name='lnrpc.Lightning.DescribeGraph', + index=38, + containing_service=None, + input_type=_CHANNELGRAPHREQUEST, + output_type=_CHANNELGRAPH, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GetNodeMetrics', + full_name='lnrpc.Lightning.GetNodeMetrics', + index=39, + containing_service=None, + input_type=_NODEMETRICSREQUEST, + output_type=_NODEMETRICSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GetChanInfo', + full_name='lnrpc.Lightning.GetChanInfo', + index=40, + containing_service=None, + input_type=_CHANINFOREQUEST, + output_type=_CHANNELEDGE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GetNodeInfo', + full_name='lnrpc.Lightning.GetNodeInfo', + index=41, + containing_service=None, + input_type=_NODEINFOREQUEST, + output_type=_NODEINFO, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='QueryRoutes', + full_name='lnrpc.Lightning.QueryRoutes', + index=42, + containing_service=None, + input_type=_QUERYROUTESREQUEST, + output_type=_QUERYROUTESRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GetNetworkInfo', + full_name='lnrpc.Lightning.GetNetworkInfo', + index=43, + containing_service=None, + input_type=_NETWORKINFOREQUEST, + output_type=_NETWORKINFO, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='StopDaemon', + full_name='lnrpc.Lightning.StopDaemon', + index=44, + containing_service=None, + input_type=_STOPREQUEST, + output_type=_STOPRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SubscribeChannelGraph', + full_name='lnrpc.Lightning.SubscribeChannelGraph', + index=45, + containing_service=None, + input_type=_GRAPHTOPOLOGYSUBSCRIPTION, + output_type=_GRAPHTOPOLOGYUPDATE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DebugLevel', + full_name='lnrpc.Lightning.DebugLevel', + index=46, + containing_service=None, + input_type=_DEBUGLEVELREQUEST, + output_type=_DEBUGLEVELRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='FeeReport', + full_name='lnrpc.Lightning.FeeReport', + index=47, + containing_service=None, + input_type=_FEEREPORTREQUEST, + output_type=_FEEREPORTRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='UpdateChannelPolicy', + full_name='lnrpc.Lightning.UpdateChannelPolicy', + index=48, + containing_service=None, + input_type=_POLICYUPDATEREQUEST, + output_type=_POLICYUPDATERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ForwardingHistory', + full_name='lnrpc.Lightning.ForwardingHistory', + index=49, + containing_service=None, + input_type=_FORWARDINGHISTORYREQUEST, + output_type=_FORWARDINGHISTORYRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ExportChannelBackup', + full_name='lnrpc.Lightning.ExportChannelBackup', + index=50, + containing_service=None, + input_type=_EXPORTCHANNELBACKUPREQUEST, + output_type=_CHANNELBACKUP, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ExportAllChannelBackups', + full_name='lnrpc.Lightning.ExportAllChannelBackups', + index=51, + containing_service=None, + input_type=_CHANBACKUPEXPORTREQUEST, + output_type=_CHANBACKUPSNAPSHOT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='VerifyChanBackup', + full_name='lnrpc.Lightning.VerifyChanBackup', + index=52, + containing_service=None, + input_type=_CHANBACKUPSNAPSHOT, + output_type=_VERIFYCHANBACKUPRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='RestoreChannelBackups', + full_name='lnrpc.Lightning.RestoreChannelBackups', + index=53, + containing_service=None, + input_type=_RESTORECHANBACKUPREQUEST, + output_type=_RESTOREBACKUPRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SubscribeChannelBackups', + full_name='lnrpc.Lightning.SubscribeChannelBackups', + index=54, + containing_service=None, + input_type=_CHANNELBACKUPSUBSCRIPTION, + output_type=_CHANBACKUPSNAPSHOT, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='BakeMacaroon', + full_name='lnrpc.Lightning.BakeMacaroon', + index=55, + containing_service=None, + input_type=_BAKEMACAROONREQUEST, + output_type=_BAKEMACAROONRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListMacaroonIDs', + full_name='lnrpc.Lightning.ListMacaroonIDs', + index=56, + containing_service=None, + input_type=_LISTMACAROONIDSREQUEST, + output_type=_LISTMACAROONIDSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DeleteMacaroonID', + full_name='lnrpc.Lightning.DeleteMacaroonID', + index=57, + containing_service=None, + input_type=_DELETEMACAROONIDREQUEST, + output_type=_DELETEMACAROONIDRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListPermissions', + full_name='lnrpc.Lightning.ListPermissions', + index=58, + containing_service=None, + input_type=_LISTPERMISSIONSREQUEST, + output_type=_LISTPERMISSIONSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_LIGHTNING) + +DESCRIPTOR.services_by_name['Lightning'] = _LIGHTNING + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/rpc_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/rpc_pb2_grpc.py new file mode 100644 index 00000000..c33bded9 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/rpc_pb2_grpc.py @@ -0,0 +1,2329 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from . import rpc_pb2 as v0131beta_dot_rpc__pb2 + + +class LightningStub(object): + """ + Comments in this file will be directly parsed into the API + Documentation as descriptions of the associated method, message, or field. + These descriptions should go right above the definition of the object, and + can be in either block or // comment format. + + An RPC method can be matched to an lncli command by placing a line in the + beginning of the description in exactly the following format: + lncli: `methodname` + + Failure to specify the exact name of the command will cause documentation + generation to fail. + + More information on how exactly the gRPC documentation is generated from + this proto file can be found here: + https://github.com/lightninglabs/lightning-api + + Lightning is the main RPC server of the daemon. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.WalletBalance = channel.unary_unary( + '/lnrpc.Lightning/WalletBalance', + request_serializer=v0131beta_dot_rpc__pb2.WalletBalanceRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.WalletBalanceResponse.FromString, + ) + self.ChannelBalance = channel.unary_unary( + '/lnrpc.Lightning/ChannelBalance', + request_serializer=v0131beta_dot_rpc__pb2.ChannelBalanceRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ChannelBalanceResponse.FromString, + ) + self.GetTransactions = channel.unary_unary( + '/lnrpc.Lightning/GetTransactions', + request_serializer=v0131beta_dot_rpc__pb2.GetTransactionsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.TransactionDetails.FromString, + ) + self.EstimateFee = channel.unary_unary( + '/lnrpc.Lightning/EstimateFee', + request_serializer=v0131beta_dot_rpc__pb2.EstimateFeeRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.EstimateFeeResponse.FromString, + ) + self.SendCoins = channel.unary_unary( + '/lnrpc.Lightning/SendCoins', + request_serializer=v0131beta_dot_rpc__pb2.SendCoinsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.SendCoinsResponse.FromString, + ) + self.ListUnspent = channel.unary_unary( + '/lnrpc.Lightning/ListUnspent', + request_serializer=v0131beta_dot_rpc__pb2.ListUnspentRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ListUnspentResponse.FromString, + ) + self.SubscribeTransactions = channel.unary_stream( + '/lnrpc.Lightning/SubscribeTransactions', + request_serializer=v0131beta_dot_rpc__pb2.GetTransactionsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.Transaction.FromString, + ) + self.SendMany = channel.unary_unary( + '/lnrpc.Lightning/SendMany', + request_serializer=v0131beta_dot_rpc__pb2.SendManyRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.SendManyResponse.FromString, + ) + self.NewAddress = channel.unary_unary( + '/lnrpc.Lightning/NewAddress', + request_serializer=v0131beta_dot_rpc__pb2.NewAddressRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.NewAddressResponse.FromString, + ) + self.SignMessage = channel.unary_unary( + '/lnrpc.Lightning/SignMessage', + request_serializer=v0131beta_dot_rpc__pb2.SignMessageRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.SignMessageResponse.FromString, + ) + self.VerifyMessage = channel.unary_unary( + '/lnrpc.Lightning/VerifyMessage', + request_serializer=v0131beta_dot_rpc__pb2.VerifyMessageRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.VerifyMessageResponse.FromString, + ) + self.ConnectPeer = channel.unary_unary( + '/lnrpc.Lightning/ConnectPeer', + request_serializer=v0131beta_dot_rpc__pb2.ConnectPeerRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ConnectPeerResponse.FromString, + ) + self.DisconnectPeer = channel.unary_unary( + '/lnrpc.Lightning/DisconnectPeer', + request_serializer=v0131beta_dot_rpc__pb2.DisconnectPeerRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.DisconnectPeerResponse.FromString, + ) + self.ListPeers = channel.unary_unary( + '/lnrpc.Lightning/ListPeers', + request_serializer=v0131beta_dot_rpc__pb2.ListPeersRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ListPeersResponse.FromString, + ) + self.SubscribePeerEvents = channel.unary_stream( + '/lnrpc.Lightning/SubscribePeerEvents', + request_serializer=v0131beta_dot_rpc__pb2.PeerEventSubscription.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.PeerEvent.FromString, + ) + self.GetInfo = channel.unary_unary( + '/lnrpc.Lightning/GetInfo', + request_serializer=v0131beta_dot_rpc__pb2.GetInfoRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.GetInfoResponse.FromString, + ) + self.GetRecoveryInfo = channel.unary_unary( + '/lnrpc.Lightning/GetRecoveryInfo', + request_serializer=v0131beta_dot_rpc__pb2.GetRecoveryInfoRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.GetRecoveryInfoResponse.FromString, + ) + self.PendingChannels = channel.unary_unary( + '/lnrpc.Lightning/PendingChannels', + request_serializer=v0131beta_dot_rpc__pb2.PendingChannelsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.PendingChannelsResponse.FromString, + ) + self.ListChannels = channel.unary_unary( + '/lnrpc.Lightning/ListChannels', + request_serializer=v0131beta_dot_rpc__pb2.ListChannelsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ListChannelsResponse.FromString, + ) + self.SubscribeChannelEvents = channel.unary_stream( + '/lnrpc.Lightning/SubscribeChannelEvents', + request_serializer=v0131beta_dot_rpc__pb2.ChannelEventSubscription.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ChannelEventUpdate.FromString, + ) + self.ClosedChannels = channel.unary_unary( + '/lnrpc.Lightning/ClosedChannels', + request_serializer=v0131beta_dot_rpc__pb2.ClosedChannelsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ClosedChannelsResponse.FromString, + ) + self.OpenChannelSync = channel.unary_unary( + '/lnrpc.Lightning/OpenChannelSync', + request_serializer=v0131beta_dot_rpc__pb2.OpenChannelRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ChannelPoint.FromString, + ) + self.OpenChannel = channel.unary_stream( + '/lnrpc.Lightning/OpenChannel', + request_serializer=v0131beta_dot_rpc__pb2.OpenChannelRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.OpenStatusUpdate.FromString, + ) + self.FundingStateStep = channel.unary_unary( + '/lnrpc.Lightning/FundingStateStep', + request_serializer=v0131beta_dot_rpc__pb2.FundingTransitionMsg.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.FundingStateStepResp.FromString, + ) + self.ChannelAcceptor = channel.stream_stream( + '/lnrpc.Lightning/ChannelAcceptor', + request_serializer=v0131beta_dot_rpc__pb2.ChannelAcceptResponse.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ChannelAcceptRequest.FromString, + ) + self.CloseChannel = channel.unary_stream( + '/lnrpc.Lightning/CloseChannel', + request_serializer=v0131beta_dot_rpc__pb2.CloseChannelRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.CloseStatusUpdate.FromString, + ) + self.AbandonChannel = channel.unary_unary( + '/lnrpc.Lightning/AbandonChannel', + request_serializer=v0131beta_dot_rpc__pb2.AbandonChannelRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.AbandonChannelResponse.FromString, + ) + self.SendPayment = channel.stream_stream( + '/lnrpc.Lightning/SendPayment', + request_serializer=v0131beta_dot_rpc__pb2.SendRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.SendResponse.FromString, + ) + self.SendPaymentSync = channel.unary_unary( + '/lnrpc.Lightning/SendPaymentSync', + request_serializer=v0131beta_dot_rpc__pb2.SendRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.SendResponse.FromString, + ) + self.SendToRoute = channel.stream_stream( + '/lnrpc.Lightning/SendToRoute', + request_serializer=v0131beta_dot_rpc__pb2.SendToRouteRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.SendResponse.FromString, + ) + self.SendToRouteSync = channel.unary_unary( + '/lnrpc.Lightning/SendToRouteSync', + request_serializer=v0131beta_dot_rpc__pb2.SendToRouteRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.SendResponse.FromString, + ) + self.AddInvoice = channel.unary_unary( + '/lnrpc.Lightning/AddInvoice', + request_serializer=v0131beta_dot_rpc__pb2.Invoice.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.AddInvoiceResponse.FromString, + ) + self.ListInvoices = channel.unary_unary( + '/lnrpc.Lightning/ListInvoices', + request_serializer=v0131beta_dot_rpc__pb2.ListInvoiceRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ListInvoiceResponse.FromString, + ) + self.LookupInvoice = channel.unary_unary( + '/lnrpc.Lightning/LookupInvoice', + request_serializer=v0131beta_dot_rpc__pb2.PaymentHash.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.Invoice.FromString, + ) + self.SubscribeInvoices = channel.unary_stream( + '/lnrpc.Lightning/SubscribeInvoices', + request_serializer=v0131beta_dot_rpc__pb2.InvoiceSubscription.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.Invoice.FromString, + ) + self.DecodePayReq = channel.unary_unary( + '/lnrpc.Lightning/DecodePayReq', + request_serializer=v0131beta_dot_rpc__pb2.PayReqString.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.PayReq.FromString, + ) + self.ListPayments = channel.unary_unary( + '/lnrpc.Lightning/ListPayments', + request_serializer=v0131beta_dot_rpc__pb2.ListPaymentsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ListPaymentsResponse.FromString, + ) + self.DeleteAllPayments = channel.unary_unary( + '/lnrpc.Lightning/DeleteAllPayments', + request_serializer=v0131beta_dot_rpc__pb2.DeleteAllPaymentsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.DeleteAllPaymentsResponse.FromString, + ) + self.DescribeGraph = channel.unary_unary( + '/lnrpc.Lightning/DescribeGraph', + request_serializer=v0131beta_dot_rpc__pb2.ChannelGraphRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ChannelGraph.FromString, + ) + self.GetNodeMetrics = channel.unary_unary( + '/lnrpc.Lightning/GetNodeMetrics', + request_serializer=v0131beta_dot_rpc__pb2.NodeMetricsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.NodeMetricsResponse.FromString, + ) + self.GetChanInfo = channel.unary_unary( + '/lnrpc.Lightning/GetChanInfo', + request_serializer=v0131beta_dot_rpc__pb2.ChanInfoRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ChannelEdge.FromString, + ) + self.GetNodeInfo = channel.unary_unary( + '/lnrpc.Lightning/GetNodeInfo', + request_serializer=v0131beta_dot_rpc__pb2.NodeInfoRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.NodeInfo.FromString, + ) + self.QueryRoutes = channel.unary_unary( + '/lnrpc.Lightning/QueryRoutes', + request_serializer=v0131beta_dot_rpc__pb2.QueryRoutesRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.QueryRoutesResponse.FromString, + ) + self.GetNetworkInfo = channel.unary_unary( + '/lnrpc.Lightning/GetNetworkInfo', + request_serializer=v0131beta_dot_rpc__pb2.NetworkInfoRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.NetworkInfo.FromString, + ) + self.StopDaemon = channel.unary_unary( + '/lnrpc.Lightning/StopDaemon', + request_serializer=v0131beta_dot_rpc__pb2.StopRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.StopResponse.FromString, + ) + self.SubscribeChannelGraph = channel.unary_stream( + '/lnrpc.Lightning/SubscribeChannelGraph', + request_serializer=v0131beta_dot_rpc__pb2.GraphTopologySubscription.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.GraphTopologyUpdate.FromString, + ) + self.DebugLevel = channel.unary_unary( + '/lnrpc.Lightning/DebugLevel', + request_serializer=v0131beta_dot_rpc__pb2.DebugLevelRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.DebugLevelResponse.FromString, + ) + self.FeeReport = channel.unary_unary( + '/lnrpc.Lightning/FeeReport', + request_serializer=v0131beta_dot_rpc__pb2.FeeReportRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.FeeReportResponse.FromString, + ) + self.UpdateChannelPolicy = channel.unary_unary( + '/lnrpc.Lightning/UpdateChannelPolicy', + request_serializer=v0131beta_dot_rpc__pb2.PolicyUpdateRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.PolicyUpdateResponse.FromString, + ) + self.ForwardingHistory = channel.unary_unary( + '/lnrpc.Lightning/ForwardingHistory', + request_serializer=v0131beta_dot_rpc__pb2.ForwardingHistoryRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ForwardingHistoryResponse.FromString, + ) + self.ExportChannelBackup = channel.unary_unary( + '/lnrpc.Lightning/ExportChannelBackup', + request_serializer=v0131beta_dot_rpc__pb2.ExportChannelBackupRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ChannelBackup.FromString, + ) + self.ExportAllChannelBackups = channel.unary_unary( + '/lnrpc.Lightning/ExportAllChannelBackups', + request_serializer=v0131beta_dot_rpc__pb2.ChanBackupExportRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ChanBackupSnapshot.FromString, + ) + self.VerifyChanBackup = channel.unary_unary( + '/lnrpc.Lightning/VerifyChanBackup', + request_serializer=v0131beta_dot_rpc__pb2.ChanBackupSnapshot.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.VerifyChanBackupResponse.FromString, + ) + self.RestoreChannelBackups = channel.unary_unary( + '/lnrpc.Lightning/RestoreChannelBackups', + request_serializer=v0131beta_dot_rpc__pb2.RestoreChanBackupRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.RestoreBackupResponse.FromString, + ) + self.SubscribeChannelBackups = channel.unary_stream( + '/lnrpc.Lightning/SubscribeChannelBackups', + request_serializer=v0131beta_dot_rpc__pb2.ChannelBackupSubscription.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ChanBackupSnapshot.FromString, + ) + self.BakeMacaroon = channel.unary_unary( + '/lnrpc.Lightning/BakeMacaroon', + request_serializer=v0131beta_dot_rpc__pb2.BakeMacaroonRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.BakeMacaroonResponse.FromString, + ) + self.ListMacaroonIDs = channel.unary_unary( + '/lnrpc.Lightning/ListMacaroonIDs', + request_serializer=v0131beta_dot_rpc__pb2.ListMacaroonIDsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ListMacaroonIDsResponse.FromString, + ) + self.DeleteMacaroonID = channel.unary_unary( + '/lnrpc.Lightning/DeleteMacaroonID', + request_serializer=v0131beta_dot_rpc__pb2.DeleteMacaroonIDRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.DeleteMacaroonIDResponse.FromString, + ) + self.ListPermissions = channel.unary_unary( + '/lnrpc.Lightning/ListPermissions', + request_serializer=v0131beta_dot_rpc__pb2.ListPermissionsRequest.SerializeToString, + response_deserializer=v0131beta_dot_rpc__pb2.ListPermissionsResponse.FromString, + ) + + +class LightningServicer(object): + """ + Comments in this file will be directly parsed into the API + Documentation as descriptions of the associated method, message, or field. + These descriptions should go right above the definition of the object, and + can be in either block or // comment format. + + An RPC method can be matched to an lncli command by placing a line in the + beginning of the description in exactly the following format: + lncli: `methodname` + + Failure to specify the exact name of the command will cause documentation + generation to fail. + + More information on how exactly the gRPC documentation is generated from + this proto file can be found here: + https://github.com/lightninglabs/lightning-api + + Lightning is the main RPC server of the daemon. + """ + + 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. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ChannelBalance(self, request, context): + """lncli: `channelbalance` + ChannelBalance returns a report on the total funds across all open channels, + categorized in local/remote, pending local/remote and unsettled local/remote + balances. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetTransactions(self, request, context): + """lncli: `listchaintxns` + GetTransactions returns a list describing all the known transactions + relevant to the wallet. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EstimateFee(self, request, context): + """lncli: `estimatefee` + EstimateFee asks the chain backend to estimate the fee rate and total fees + for a transaction that pays to multiple specified outputs. + + When using REST, the `AddrToAmount` map type can be set by appending + `&AddrToAmount[
]=` to the URL. Unfortunately this + map type doesn't appear in the REST API documentation because of a bug in + the grpc-gateway library. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendCoins(self, request, context): + """lncli: `sendcoins` + SendCoins executes a request to send coins to a particular address. Unlike + SendMany, this RPC call only allows creating a single output at a time. If + neither target_conf, or sat_per_vbyte are set, then the internal wallet will + consult its fee model to determine a fee for the default confirmation + target. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListUnspent(self, request, context): + """lncli: `listunspent` + Deprecated, use walletrpc.ListUnspent instead. + + ListUnspent returns a list of all utxos spendable by the wallet with a + number of confirmations between the specified minimum and maximum. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribeTransactions(self, request, context): + """ + SubscribeTransactions creates a uni-directional stream from the server to + the client in which any newly discovered transactions relevant to the + wallet are sent over. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendMany(self, request, context): + """lncli: `sendmany` + SendMany handles a request for a transaction that creates multiple specified + outputs in parallel. If neither target_conf, or sat_per_vbyte are set, then + the internal wallet will consult its fee model to determine a fee for the + default confirmation target. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NewAddress(self, request, context): + """lncli: `newaddress` + NewAddress creates a new address under control of the local wallet. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SignMessage(self, request, context): + """lncli: `signmessage` + SignMessage signs a message with this node's private key. The returned + signature string is `zbase32` encoded and pubkey recoverable, meaning that + only the message digest and signature are needed for verification. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def VerifyMessage(self, request, context): + """lncli: `verifymessage` + VerifyMessage verifies a signature over a msg. The signature must be + zbase32 encoded and signed by an active node in the resident node's + channel database. In addition to returning the validity of the signature, + VerifyMessage also returns the recovered pubkey from the signature. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ConnectPeer(self, request, context): + """lncli: `connect` + ConnectPeer attempts to establish a connection to a remote peer. This is at + the networking level, and is used for communication between nodes. This is + distinct from establishing a channel with a peer. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DisconnectPeer(self, request, context): + """lncli: `disconnect` + DisconnectPeer attempts to disconnect one peer from another identified by a + given pubKey. In the case that we currently have a pending or active channel + with the target peer, then this action will be not be allowed. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListPeers(self, request, context): + """lncli: `listpeers` + ListPeers returns a verbose listing of all currently active peers. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribePeerEvents(self, request, context): + """ + SubscribePeerEvents creates a uni-directional stream from the server to + the client in which any events relevant to the state of peers are sent + over. Events include peers going online and offline. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetInfo(self, request, context): + """lncli: `getinfo` + GetInfo returns general information concerning the lightning node including + it's identity pubkey, alias, the chains it is connected to, and information + concerning the number of open+pending channels. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetRecoveryInfo(self, request, context): + """* lncli: `getrecoveryinfo` + GetRecoveryInfo returns information concerning the recovery mode including + whether it's in a recovery mode, whether the recovery is finished, and the + progress made so far. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PendingChannels(self, request, context): + """TODO(roasbeef): merge with below with bool? + + lncli: `pendingchannels` + PendingChannels returns a list of all the channels that are currently + considered "pending". A channel is pending if it has finished the funding + workflow and is waiting for confirmations for the funding txn, or is in the + process of closure, either initiated cooperatively or non-cooperatively. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListChannels(self, request, context): + """lncli: `listchannels` + ListChannels returns a description of all the open channels that this node + is a participant in. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribeChannelEvents(self, request, context): + """ + 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 + channels. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ClosedChannels(self, request, context): + """lncli: `closedchannels` + ClosedChannels returns a description of all the closed channels that + this node was a participant in. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def OpenChannelSync(self, request, context): + """ + OpenChannelSync is a synchronous version of the OpenChannel RPC call. This + call is meant to be consumed by clients to the REST proxy. As with all + other sync calls, all byte slices are intended to be populated as hex + encoded strings. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def OpenChannel(self, request, context): + """lncli: `openchannel` + OpenChannel attempts to open a singly funded channel specified in the + request to a remote peer. Users are able to specify a target number of + blocks that the funding transaction should be confirmed in, or a manual fee + rate to us for the funding transaction. If neither are specified, then a + lax block confirmation target is used. Each OpenStatusUpdate will return + the pending channel ID of the in-progress channel. Depending on the + arguments specified in the OpenChannelRequest, this pending channel ID can + then be used to manually progress the channel funding flow. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FundingStateStep(self, request, context): + """ + FundingStateStep is an advanced funding related call that allows the caller + to either execute some preparatory steps for a funding workflow, or + manually progress a funding workflow. The primary way a funding flow is + identified is via its pending channel ID. As an example, this method can be + used to specify that we're expecting a funding flow for a particular + pending channel ID, for which we need to use specific parameters. + Alternatively, this can be used to interactively drive PSBT signing for + funding for partially complete funding transactions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + 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 + outpoint (ChannelPoint). The actions of this method can additionally be + augmented to attempt a force close after a timeout period in the case of an + inactive peer. If a non-force close (cooperative closure) is requested, + then the user can specify either a target number of blocks until the + closure transaction is confirmed, or a manual fee rate. If neither are + specified, then a default lax, block confirmation target is used. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AbandonChannel(self, request, context): + """lncli: `abandonchannel` + AbandonChannel removes all channel state from the database except for a + close summary. This method can be used to get rid of permanently unusable + channels due to bugs fixed in newer versions of lnd. This method can also be + used to remove externally funded channels where the funding transaction was + never broadcast. Only available for non-externally funded channels in dev + build. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendPayment(self, request_iterator, context): + """lncli: `sendpayment` + Deprecated, use routerrpc.SendPaymentV2. SendPayment dispatches a + bi-directional streaming RPC for sending payments through the Lightning + Network. A single RPC invocation creates a persistent bi-directional + stream allowing clients to rapidly send payments through the Lightning + Network with a single persistent connection. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendPaymentSync(self, request, context): + """ + SendPaymentSync is the synchronous non-streaming version of SendPayment. + This RPC is intended to be consumed by clients of the REST proxy. + Additionally, this RPC expects the destination's public key and the payment + hash (if any) to be encoded as hex strings. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendToRoute(self, request_iterator, context): + """lncli: `sendtoroute` + Deprecated, use routerrpc.SendToRouteV2. SendToRoute is a bi-directional + streaming RPC for sending payment through the Lightning Network. This + method differs from SendPayment in that it allows users to specify a full + route manually. This can be used for things like rebalancing, and atomic + swaps. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendToRouteSync(self, request, context): + """ + SendToRouteSync is a synchronous version of SendToRoute. It Will block + until the payment either fails or succeeds. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def AddInvoice(self, request, context): + """lncli: `addinvoice` + AddInvoice attempts to add a new invoice to the invoice database. Any + duplicated invoices are rejected, therefore all invoices *must* have a + unique payment preimage. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListInvoices(self, request, context): + """lncli: `listinvoices` + ListInvoices returns a list of all the invoices currently stored within the + database. Any active debug invoices are ignored. It has full support for + paginated responses, allowing users to query for specific invoices through + their add_index. This can be done by using either the first_index_offset or + last_index_offset fields included in the response as the index_offset of the + next request. By default, the first 100 invoices created will be returned. + Backwards pagination is also supported through the Reversed flag. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LookupInvoice(self, request, context): + """lncli: `lookupinvoice` + LookupInvoice attempts to look up an invoice according to its payment hash. + The passed payment hash *must* be exactly 32 bytes, if not, an error is + returned. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribeInvoices(self, request, context): + """ + SubscribeInvoices returns a uni-directional stream (server -> client) for + notifying the client of newly added/settled invoices. The caller can + optionally specify the add_index and/or the settle_index. If the add_index + is specified, then we'll first start by sending add invoice events for all + invoices with an add_index greater than the specified value. If the + settle_index is specified, the next, we'll send out all settle events for + invoices with a settle_index greater than the specified value. One or both + of these fields can be set. If no fields are set, then we'll only send out + the latest add/settle events. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DecodePayReq(self, request, context): + """lncli: `decodepayreq` + DecodePayReq takes an encoded payment request string and attempts to decode + it, returning a full description of the conditions encoded within the + payment request. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListPayments(self, request, context): + """lncli: `listpayments` + ListPayments returns a list of all outgoing payments. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteAllPayments(self, request, context): + """ + DeleteAllPayments deletes all outgoing payments from DB. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DescribeGraph(self, request, context): + """lncli: `describegraph` + DescribeGraph returns a description of the latest graph state from the + point of view of the node. The graph information is partitioned into two + components: all the nodes/vertexes, and all the edges that connect the + vertexes themselves. As this is a directed graph, the edges also contain + the node directional specific routing policy which includes: the time lock + delta, fee information, etc. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetNodeMetrics(self, request, context): + """lncli: `getnodemetrics` + GetNodeMetrics returns node metrics calculated from the graph. Currently + the only supported metric is betweenness centrality of individual nodes. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetChanInfo(self, request, context): + """lncli: `getchaninfo` + GetChanInfo returns the latest authenticated network announcement for the + given channel identified by its channel ID: an 8-byte integer which + uniquely identifies the location of transaction's funding output within the + blockchain. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetNodeInfo(self, request, context): + """lncli: `getnodeinfo` + GetNodeInfo returns the latest advertised, aggregated, and authenticated + channel information for the specified node identified by its public key. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + 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 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. + + When using REST, the `dest_custom_records` map type can be set by appending + `&dest_custom_records[]=` + to the URL. Unfortunately this map type doesn't appear in the REST API + documentation because of a bug in the grpc-gateway library. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetNetworkInfo(self, request, context): + """lncli: `getnetworkinfo` + GetNetworkInfo returns some basic stats about the known channel graph from + the point of view of the node. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def StopDaemon(self, request, context): + """lncli: `stop` + StopDaemon will send a shutdown request to the interrupt handler, triggering + a graceful shutdown of the daemon. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribeChannelGraph(self, request, context): + """ + SubscribeChannelGraph launches a streaming RPC that allows the caller to + receive notifications upon any changes to the channel graph topology from + the point of view of the responding node. Events notified include: new + nodes coming online, nodes updating their authenticated attributes, new + channels being advertised, updates in the routing policy for a directional + channel edge, and when channels are closed on-chain. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DebugLevel(self, request, context): + """lncli: `debuglevel` + DebugLevel allows a caller to programmatically set the logging verbosity of + lnd. The logging can be targeted according to a coarse daemon-wide logging + level, or in a granular fashion to specify the logging for a target + sub-system. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FeeReport(self, request, context): + """lncli: `feereport` + FeeReport allows the caller to obtain a report detailing the current fee + schedule enforced by the node globally for each channel. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UpdateChannelPolicy(self, request, context): + """lncli: `updatechanpolicy` + UpdateChannelPolicy allows the caller to update the fee schedule and + channel policies for all channels globally, or a particular channel. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ForwardingHistory(self, request, context): + """lncli: `fwdinghistory` + ForwardingHistory allows the caller to query the htlcswitch for a record of + all HTLCs forwarded within the target time range, and integer offset + within that time range, for a maximum number of events. If no maximum number + of events is specified, up to 100 events will be returned. If no time-range + is specified, then events will be returned in the order that they occured. + + A list of forwarding events are returned. The size of each forwarding event + is 40 bytes, and the max message size able to be returned in gRPC is 4 MiB. + As a result each message can only contain 50k entries. Each response has + the index offset of the last entry. The index offset can be provided to the + request to allow the caller to skip a series of records. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ExportChannelBackup(self, request, context): + """lncli: `exportchanbackup` + ExportChannelBackup attempts to return an encrypted static channel backup + for the target channel identified by it channel point. The backup is + encrypted with a key generated from the aezeed seed of the user. The + returned backup can either be restored using the RestoreChannelBackup + method once lnd is running, or via the InitWallet and UnlockWallet methods + from the WalletUnlocker service. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ExportAllChannelBackups(self, request, context): + """ + ExportAllChannelBackups returns static channel backups for all existing + channels known to lnd. A set of regular singular static channel backups for + each channel are returned. Additionally, a multi-channel backup is returned + as well, which contains a single encrypted blob containing the backups of + each channel. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def VerifyChanBackup(self, request, context): + """ + VerifyChanBackup allows a caller to verify the integrity of a channel backup + snapshot. This method will accept either a packed Single or a packed Multi. + Specifying both will result in an error. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RestoreChannelBackups(self, request, context): + """lncli: `restorechanbackup` + RestoreChannelBackups accepts a set of singular channel backups, or a + single encrypted multi-chan backup and attempts to recover any funds + remaining within the channel. If we are able to unpack the backup, then the + new channel will be shown under listchannels, as well as pending channels. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SubscribeChannelBackups(self, request, context): + """ + SubscribeChannelBackups allows a client to sub-subscribe to the most up to + date information concerning the state of all channel backups. Each time a + new channel is added, we return the new set of channels, along with a + multi-chan backup containing the backup info for all channels. Each time a + channel is closed, we send a new update, which contains new new chan back + ups, but the updated set of encrypted multi-chan backups with the closed + channel(s) removed. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + 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 ListMacaroonIDs(self, request, context): + """lncli: `listmacaroonids` + ListMacaroonIDs returns all root key IDs that are in use. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeleteMacaroonID(self, request, context): + """lncli: `deletemacaroonid` + DeleteMacaroonID deletes the specified macaroon ID and invalidates all + macaroons derived from that ID. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListPermissions(self, request, context): + """lncli: `listpermissions` + ListPermissions lists all RPC method URIs and their required macaroon + permissions to access them. + """ + 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 = { + 'WalletBalance': grpc.unary_unary_rpc_method_handler( + servicer.WalletBalance, + request_deserializer=v0131beta_dot_rpc__pb2.WalletBalanceRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.WalletBalanceResponse.SerializeToString, + ), + 'ChannelBalance': grpc.unary_unary_rpc_method_handler( + servicer.ChannelBalance, + request_deserializer=v0131beta_dot_rpc__pb2.ChannelBalanceRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ChannelBalanceResponse.SerializeToString, + ), + 'GetTransactions': grpc.unary_unary_rpc_method_handler( + servicer.GetTransactions, + request_deserializer=v0131beta_dot_rpc__pb2.GetTransactionsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.TransactionDetails.SerializeToString, + ), + 'EstimateFee': grpc.unary_unary_rpc_method_handler( + servicer.EstimateFee, + request_deserializer=v0131beta_dot_rpc__pb2.EstimateFeeRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.EstimateFeeResponse.SerializeToString, + ), + 'SendCoins': grpc.unary_unary_rpc_method_handler( + servicer.SendCoins, + request_deserializer=v0131beta_dot_rpc__pb2.SendCoinsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.SendCoinsResponse.SerializeToString, + ), + 'ListUnspent': grpc.unary_unary_rpc_method_handler( + servicer.ListUnspent, + request_deserializer=v0131beta_dot_rpc__pb2.ListUnspentRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ListUnspentResponse.SerializeToString, + ), + 'SubscribeTransactions': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeTransactions, + request_deserializer=v0131beta_dot_rpc__pb2.GetTransactionsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.Transaction.SerializeToString, + ), + 'SendMany': grpc.unary_unary_rpc_method_handler( + servicer.SendMany, + request_deserializer=v0131beta_dot_rpc__pb2.SendManyRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.SendManyResponse.SerializeToString, + ), + 'NewAddress': grpc.unary_unary_rpc_method_handler( + servicer.NewAddress, + request_deserializer=v0131beta_dot_rpc__pb2.NewAddressRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.NewAddressResponse.SerializeToString, + ), + 'SignMessage': grpc.unary_unary_rpc_method_handler( + servicer.SignMessage, + request_deserializer=v0131beta_dot_rpc__pb2.SignMessageRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.SignMessageResponse.SerializeToString, + ), + 'VerifyMessage': grpc.unary_unary_rpc_method_handler( + servicer.VerifyMessage, + request_deserializer=v0131beta_dot_rpc__pb2.VerifyMessageRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.VerifyMessageResponse.SerializeToString, + ), + 'ConnectPeer': grpc.unary_unary_rpc_method_handler( + servicer.ConnectPeer, + request_deserializer=v0131beta_dot_rpc__pb2.ConnectPeerRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ConnectPeerResponse.SerializeToString, + ), + 'DisconnectPeer': grpc.unary_unary_rpc_method_handler( + servicer.DisconnectPeer, + request_deserializer=v0131beta_dot_rpc__pb2.DisconnectPeerRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.DisconnectPeerResponse.SerializeToString, + ), + 'ListPeers': grpc.unary_unary_rpc_method_handler( + servicer.ListPeers, + request_deserializer=v0131beta_dot_rpc__pb2.ListPeersRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ListPeersResponse.SerializeToString, + ), + 'SubscribePeerEvents': grpc.unary_stream_rpc_method_handler( + servicer.SubscribePeerEvents, + request_deserializer=v0131beta_dot_rpc__pb2.PeerEventSubscription.FromString, + response_serializer=v0131beta_dot_rpc__pb2.PeerEvent.SerializeToString, + ), + 'GetInfo': grpc.unary_unary_rpc_method_handler( + servicer.GetInfo, + request_deserializer=v0131beta_dot_rpc__pb2.GetInfoRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.GetInfoResponse.SerializeToString, + ), + 'GetRecoveryInfo': grpc.unary_unary_rpc_method_handler( + servicer.GetRecoveryInfo, + request_deserializer=v0131beta_dot_rpc__pb2.GetRecoveryInfoRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.GetRecoveryInfoResponse.SerializeToString, + ), + 'PendingChannels': grpc.unary_unary_rpc_method_handler( + servicer.PendingChannels, + request_deserializer=v0131beta_dot_rpc__pb2.PendingChannelsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.PendingChannelsResponse.SerializeToString, + ), + 'ListChannels': grpc.unary_unary_rpc_method_handler( + servicer.ListChannels, + request_deserializer=v0131beta_dot_rpc__pb2.ListChannelsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ListChannelsResponse.SerializeToString, + ), + 'SubscribeChannelEvents': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeChannelEvents, + request_deserializer=v0131beta_dot_rpc__pb2.ChannelEventSubscription.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ChannelEventUpdate.SerializeToString, + ), + 'ClosedChannels': grpc.unary_unary_rpc_method_handler( + servicer.ClosedChannels, + request_deserializer=v0131beta_dot_rpc__pb2.ClosedChannelsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ClosedChannelsResponse.SerializeToString, + ), + 'OpenChannelSync': grpc.unary_unary_rpc_method_handler( + servicer.OpenChannelSync, + request_deserializer=v0131beta_dot_rpc__pb2.OpenChannelRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ChannelPoint.SerializeToString, + ), + 'OpenChannel': grpc.unary_stream_rpc_method_handler( + servicer.OpenChannel, + request_deserializer=v0131beta_dot_rpc__pb2.OpenChannelRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.OpenStatusUpdate.SerializeToString, + ), + 'FundingStateStep': grpc.unary_unary_rpc_method_handler( + servicer.FundingStateStep, + request_deserializer=v0131beta_dot_rpc__pb2.FundingTransitionMsg.FromString, + response_serializer=v0131beta_dot_rpc__pb2.FundingStateStepResp.SerializeToString, + ), + 'ChannelAcceptor': grpc.stream_stream_rpc_method_handler( + servicer.ChannelAcceptor, + request_deserializer=v0131beta_dot_rpc__pb2.ChannelAcceptResponse.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ChannelAcceptRequest.SerializeToString, + ), + 'CloseChannel': grpc.unary_stream_rpc_method_handler( + servicer.CloseChannel, + request_deserializer=v0131beta_dot_rpc__pb2.CloseChannelRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.CloseStatusUpdate.SerializeToString, + ), + 'AbandonChannel': grpc.unary_unary_rpc_method_handler( + servicer.AbandonChannel, + request_deserializer=v0131beta_dot_rpc__pb2.AbandonChannelRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.AbandonChannelResponse.SerializeToString, + ), + 'SendPayment': grpc.stream_stream_rpc_method_handler( + servicer.SendPayment, + request_deserializer=v0131beta_dot_rpc__pb2.SendRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.SendResponse.SerializeToString, + ), + 'SendPaymentSync': grpc.unary_unary_rpc_method_handler( + servicer.SendPaymentSync, + request_deserializer=v0131beta_dot_rpc__pb2.SendRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.SendResponse.SerializeToString, + ), + 'SendToRoute': grpc.stream_stream_rpc_method_handler( + servicer.SendToRoute, + request_deserializer=v0131beta_dot_rpc__pb2.SendToRouteRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.SendResponse.SerializeToString, + ), + 'SendToRouteSync': grpc.unary_unary_rpc_method_handler( + servicer.SendToRouteSync, + request_deserializer=v0131beta_dot_rpc__pb2.SendToRouteRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.SendResponse.SerializeToString, + ), + 'AddInvoice': grpc.unary_unary_rpc_method_handler( + servicer.AddInvoice, + request_deserializer=v0131beta_dot_rpc__pb2.Invoice.FromString, + response_serializer=v0131beta_dot_rpc__pb2.AddInvoiceResponse.SerializeToString, + ), + 'ListInvoices': grpc.unary_unary_rpc_method_handler( + servicer.ListInvoices, + request_deserializer=v0131beta_dot_rpc__pb2.ListInvoiceRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ListInvoiceResponse.SerializeToString, + ), + 'LookupInvoice': grpc.unary_unary_rpc_method_handler( + servicer.LookupInvoice, + request_deserializer=v0131beta_dot_rpc__pb2.PaymentHash.FromString, + response_serializer=v0131beta_dot_rpc__pb2.Invoice.SerializeToString, + ), + 'SubscribeInvoices': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeInvoices, + request_deserializer=v0131beta_dot_rpc__pb2.InvoiceSubscription.FromString, + response_serializer=v0131beta_dot_rpc__pb2.Invoice.SerializeToString, + ), + 'DecodePayReq': grpc.unary_unary_rpc_method_handler( + servicer.DecodePayReq, + request_deserializer=v0131beta_dot_rpc__pb2.PayReqString.FromString, + response_serializer=v0131beta_dot_rpc__pb2.PayReq.SerializeToString, + ), + 'ListPayments': grpc.unary_unary_rpc_method_handler( + servicer.ListPayments, + request_deserializer=v0131beta_dot_rpc__pb2.ListPaymentsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ListPaymentsResponse.SerializeToString, + ), + 'DeleteAllPayments': grpc.unary_unary_rpc_method_handler( + servicer.DeleteAllPayments, + request_deserializer=v0131beta_dot_rpc__pb2.DeleteAllPaymentsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.DeleteAllPaymentsResponse.SerializeToString, + ), + 'DescribeGraph': grpc.unary_unary_rpc_method_handler( + servicer.DescribeGraph, + request_deserializer=v0131beta_dot_rpc__pb2.ChannelGraphRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ChannelGraph.SerializeToString, + ), + 'GetNodeMetrics': grpc.unary_unary_rpc_method_handler( + servicer.GetNodeMetrics, + request_deserializer=v0131beta_dot_rpc__pb2.NodeMetricsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.NodeMetricsResponse.SerializeToString, + ), + 'GetChanInfo': grpc.unary_unary_rpc_method_handler( + servicer.GetChanInfo, + request_deserializer=v0131beta_dot_rpc__pb2.ChanInfoRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ChannelEdge.SerializeToString, + ), + 'GetNodeInfo': grpc.unary_unary_rpc_method_handler( + servicer.GetNodeInfo, + request_deserializer=v0131beta_dot_rpc__pb2.NodeInfoRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.NodeInfo.SerializeToString, + ), + 'QueryRoutes': grpc.unary_unary_rpc_method_handler( + servicer.QueryRoutes, + request_deserializer=v0131beta_dot_rpc__pb2.QueryRoutesRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.QueryRoutesResponse.SerializeToString, + ), + 'GetNetworkInfo': grpc.unary_unary_rpc_method_handler( + servicer.GetNetworkInfo, + request_deserializer=v0131beta_dot_rpc__pb2.NetworkInfoRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.NetworkInfo.SerializeToString, + ), + 'StopDaemon': grpc.unary_unary_rpc_method_handler( + servicer.StopDaemon, + request_deserializer=v0131beta_dot_rpc__pb2.StopRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.StopResponse.SerializeToString, + ), + 'SubscribeChannelGraph': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeChannelGraph, + request_deserializer=v0131beta_dot_rpc__pb2.GraphTopologySubscription.FromString, + response_serializer=v0131beta_dot_rpc__pb2.GraphTopologyUpdate.SerializeToString, + ), + 'DebugLevel': grpc.unary_unary_rpc_method_handler( + servicer.DebugLevel, + request_deserializer=v0131beta_dot_rpc__pb2.DebugLevelRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.DebugLevelResponse.SerializeToString, + ), + 'FeeReport': grpc.unary_unary_rpc_method_handler( + servicer.FeeReport, + request_deserializer=v0131beta_dot_rpc__pb2.FeeReportRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.FeeReportResponse.SerializeToString, + ), + 'UpdateChannelPolicy': grpc.unary_unary_rpc_method_handler( + servicer.UpdateChannelPolicy, + request_deserializer=v0131beta_dot_rpc__pb2.PolicyUpdateRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.PolicyUpdateResponse.SerializeToString, + ), + 'ForwardingHistory': grpc.unary_unary_rpc_method_handler( + servicer.ForwardingHistory, + request_deserializer=v0131beta_dot_rpc__pb2.ForwardingHistoryRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ForwardingHistoryResponse.SerializeToString, + ), + 'ExportChannelBackup': grpc.unary_unary_rpc_method_handler( + servicer.ExportChannelBackup, + request_deserializer=v0131beta_dot_rpc__pb2.ExportChannelBackupRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ChannelBackup.SerializeToString, + ), + 'ExportAllChannelBackups': grpc.unary_unary_rpc_method_handler( + servicer.ExportAllChannelBackups, + request_deserializer=v0131beta_dot_rpc__pb2.ChanBackupExportRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ChanBackupSnapshot.SerializeToString, + ), + 'VerifyChanBackup': grpc.unary_unary_rpc_method_handler( + servicer.VerifyChanBackup, + request_deserializer=v0131beta_dot_rpc__pb2.ChanBackupSnapshot.FromString, + response_serializer=v0131beta_dot_rpc__pb2.VerifyChanBackupResponse.SerializeToString, + ), + 'RestoreChannelBackups': grpc.unary_unary_rpc_method_handler( + servicer.RestoreChannelBackups, + request_deserializer=v0131beta_dot_rpc__pb2.RestoreChanBackupRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.RestoreBackupResponse.SerializeToString, + ), + 'SubscribeChannelBackups': grpc.unary_stream_rpc_method_handler( + servicer.SubscribeChannelBackups, + request_deserializer=v0131beta_dot_rpc__pb2.ChannelBackupSubscription.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ChanBackupSnapshot.SerializeToString, + ), + 'BakeMacaroon': grpc.unary_unary_rpc_method_handler( + servicer.BakeMacaroon, + request_deserializer=v0131beta_dot_rpc__pb2.BakeMacaroonRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.BakeMacaroonResponse.SerializeToString, + ), + 'ListMacaroonIDs': grpc.unary_unary_rpc_method_handler( + servicer.ListMacaroonIDs, + request_deserializer=v0131beta_dot_rpc__pb2.ListMacaroonIDsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ListMacaroonIDsResponse.SerializeToString, + ), + 'DeleteMacaroonID': grpc.unary_unary_rpc_method_handler( + servicer.DeleteMacaroonID, + request_deserializer=v0131beta_dot_rpc__pb2.DeleteMacaroonIDRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.DeleteMacaroonIDResponse.SerializeToString, + ), + 'ListPermissions': grpc.unary_unary_rpc_method_handler( + servicer.ListPermissions, + request_deserializer=v0131beta_dot_rpc__pb2.ListPermissionsRequest.FromString, + response_serializer=v0131beta_dot_rpc__pb2.ListPermissionsResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'lnrpc.Lightning', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Lightning(object): + """ + Comments in this file will be directly parsed into the API + Documentation as descriptions of the associated method, message, or field. + These descriptions should go right above the definition of the object, and + can be in either block or // comment format. + + An RPC method can be matched to an lncli command by placing a line in the + beginning of the description in exactly the following format: + lncli: `methodname` + + Failure to specify the exact name of the command will cause documentation + generation to fail. + + More information on how exactly the gRPC documentation is generated from + this proto file can be found here: + https://github.com/lightninglabs/lightning-api + + Lightning is the main RPC server of the daemon. + """ + + @staticmethod + def WalletBalance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/WalletBalance', + v0131beta_dot_rpc__pb2.WalletBalanceRequest.SerializeToString, + v0131beta_dot_rpc__pb2.WalletBalanceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ChannelBalance(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ChannelBalance', + v0131beta_dot_rpc__pb2.ChannelBalanceRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ChannelBalanceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetTransactions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/GetTransactions', + v0131beta_dot_rpc__pb2.GetTransactionsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.TransactionDetails.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def EstimateFee(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/EstimateFee', + v0131beta_dot_rpc__pb2.EstimateFeeRequest.SerializeToString, + v0131beta_dot_rpc__pb2.EstimateFeeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendCoins(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/SendCoins', + v0131beta_dot_rpc__pb2.SendCoinsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.SendCoinsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListUnspent(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ListUnspent', + v0131beta_dot_rpc__pb2.ListUnspentRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ListUnspentResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeTransactions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/lnrpc.Lightning/SubscribeTransactions', + v0131beta_dot_rpc__pb2.GetTransactionsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.Transaction.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendMany(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/SendMany', + v0131beta_dot_rpc__pb2.SendManyRequest.SerializeToString, + v0131beta_dot_rpc__pb2.SendManyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NewAddress(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/NewAddress', + v0131beta_dot_rpc__pb2.NewAddressRequest.SerializeToString, + v0131beta_dot_rpc__pb2.NewAddressResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SignMessage(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/SignMessage', + v0131beta_dot_rpc__pb2.SignMessageRequest.SerializeToString, + v0131beta_dot_rpc__pb2.SignMessageResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VerifyMessage(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/VerifyMessage', + v0131beta_dot_rpc__pb2.VerifyMessageRequest.SerializeToString, + v0131beta_dot_rpc__pb2.VerifyMessageResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ConnectPeer(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ConnectPeer', + v0131beta_dot_rpc__pb2.ConnectPeerRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ConnectPeerResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DisconnectPeer(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/DisconnectPeer', + v0131beta_dot_rpc__pb2.DisconnectPeerRequest.SerializeToString, + v0131beta_dot_rpc__pb2.DisconnectPeerResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListPeers(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ListPeers', + v0131beta_dot_rpc__pb2.ListPeersRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ListPeersResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribePeerEvents(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/lnrpc.Lightning/SubscribePeerEvents', + v0131beta_dot_rpc__pb2.PeerEventSubscription.SerializeToString, + v0131beta_dot_rpc__pb2.PeerEvent.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/GetInfo', + v0131beta_dot_rpc__pb2.GetInfoRequest.SerializeToString, + v0131beta_dot_rpc__pb2.GetInfoResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetRecoveryInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/GetRecoveryInfo', + v0131beta_dot_rpc__pb2.GetRecoveryInfoRequest.SerializeToString, + v0131beta_dot_rpc__pb2.GetRecoveryInfoResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PendingChannels(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/PendingChannels', + v0131beta_dot_rpc__pb2.PendingChannelsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.PendingChannelsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListChannels(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ListChannels', + v0131beta_dot_rpc__pb2.ListChannelsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ListChannelsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeChannelEvents(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/lnrpc.Lightning/SubscribeChannelEvents', + v0131beta_dot_rpc__pb2.ChannelEventSubscription.SerializeToString, + v0131beta_dot_rpc__pb2.ChannelEventUpdate.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ClosedChannels(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ClosedChannels', + v0131beta_dot_rpc__pb2.ClosedChannelsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ClosedChannelsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def OpenChannelSync(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/OpenChannelSync', + v0131beta_dot_rpc__pb2.OpenChannelRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ChannelPoint.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def OpenChannel(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/lnrpc.Lightning/OpenChannel', + v0131beta_dot_rpc__pb2.OpenChannelRequest.SerializeToString, + v0131beta_dot_rpc__pb2.OpenStatusUpdate.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FundingStateStep(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/FundingStateStep', + v0131beta_dot_rpc__pb2.FundingTransitionMsg.SerializeToString, + v0131beta_dot_rpc__pb2.FundingStateStepResp.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ChannelAcceptor(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream(request_iterator, target, '/lnrpc.Lightning/ChannelAcceptor', + v0131beta_dot_rpc__pb2.ChannelAcceptResponse.SerializeToString, + v0131beta_dot_rpc__pb2.ChannelAcceptRequest.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def CloseChannel(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/lnrpc.Lightning/CloseChannel', + v0131beta_dot_rpc__pb2.CloseChannelRequest.SerializeToString, + v0131beta_dot_rpc__pb2.CloseStatusUpdate.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AbandonChannel(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/AbandonChannel', + v0131beta_dot_rpc__pb2.AbandonChannelRequest.SerializeToString, + v0131beta_dot_rpc__pb2.AbandonChannelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendPayment(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream(request_iterator, target, '/lnrpc.Lightning/SendPayment', + v0131beta_dot_rpc__pb2.SendRequest.SerializeToString, + v0131beta_dot_rpc__pb2.SendResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendPaymentSync(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/SendPaymentSync', + v0131beta_dot_rpc__pb2.SendRequest.SerializeToString, + v0131beta_dot_rpc__pb2.SendResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendToRoute(request_iterator, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.stream_stream(request_iterator, target, '/lnrpc.Lightning/SendToRoute', + v0131beta_dot_rpc__pb2.SendToRouteRequest.SerializeToString, + v0131beta_dot_rpc__pb2.SendResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendToRouteSync(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/SendToRouteSync', + v0131beta_dot_rpc__pb2.SendToRouteRequest.SerializeToString, + v0131beta_dot_rpc__pb2.SendResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def AddInvoice(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/AddInvoice', + v0131beta_dot_rpc__pb2.Invoice.SerializeToString, + v0131beta_dot_rpc__pb2.AddInvoiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListInvoices(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ListInvoices', + v0131beta_dot_rpc__pb2.ListInvoiceRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ListInvoiceResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def LookupInvoice(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/LookupInvoice', + v0131beta_dot_rpc__pb2.PaymentHash.SerializeToString, + v0131beta_dot_rpc__pb2.Invoice.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeInvoices(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/lnrpc.Lightning/SubscribeInvoices', + v0131beta_dot_rpc__pb2.InvoiceSubscription.SerializeToString, + v0131beta_dot_rpc__pb2.Invoice.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DecodePayReq(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/DecodePayReq', + v0131beta_dot_rpc__pb2.PayReqString.SerializeToString, + v0131beta_dot_rpc__pb2.PayReq.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListPayments(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ListPayments', + v0131beta_dot_rpc__pb2.ListPaymentsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ListPaymentsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteAllPayments(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/DeleteAllPayments', + v0131beta_dot_rpc__pb2.DeleteAllPaymentsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.DeleteAllPaymentsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DescribeGraph(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/DescribeGraph', + v0131beta_dot_rpc__pb2.ChannelGraphRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ChannelGraph.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetNodeMetrics(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/GetNodeMetrics', + v0131beta_dot_rpc__pb2.NodeMetricsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.NodeMetricsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetChanInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/GetChanInfo', + v0131beta_dot_rpc__pb2.ChanInfoRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ChannelEdge.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetNodeInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/GetNodeInfo', + v0131beta_dot_rpc__pb2.NodeInfoRequest.SerializeToString, + v0131beta_dot_rpc__pb2.NodeInfo.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def QueryRoutes(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/QueryRoutes', + v0131beta_dot_rpc__pb2.QueryRoutesRequest.SerializeToString, + v0131beta_dot_rpc__pb2.QueryRoutesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetNetworkInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/GetNetworkInfo', + v0131beta_dot_rpc__pb2.NetworkInfoRequest.SerializeToString, + v0131beta_dot_rpc__pb2.NetworkInfo.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def StopDaemon(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/StopDaemon', + v0131beta_dot_rpc__pb2.StopRequest.SerializeToString, + v0131beta_dot_rpc__pb2.StopResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeChannelGraph(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/lnrpc.Lightning/SubscribeChannelGraph', + v0131beta_dot_rpc__pb2.GraphTopologySubscription.SerializeToString, + v0131beta_dot_rpc__pb2.GraphTopologyUpdate.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DebugLevel(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/DebugLevel', + v0131beta_dot_rpc__pb2.DebugLevelRequest.SerializeToString, + v0131beta_dot_rpc__pb2.DebugLevelResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FeeReport(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/FeeReport', + v0131beta_dot_rpc__pb2.FeeReportRequest.SerializeToString, + v0131beta_dot_rpc__pb2.FeeReportResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UpdateChannelPolicy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/UpdateChannelPolicy', + v0131beta_dot_rpc__pb2.PolicyUpdateRequest.SerializeToString, + v0131beta_dot_rpc__pb2.PolicyUpdateResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ForwardingHistory(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ForwardingHistory', + v0131beta_dot_rpc__pb2.ForwardingHistoryRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ForwardingHistoryResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ExportChannelBackup(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ExportChannelBackup', + v0131beta_dot_rpc__pb2.ExportChannelBackupRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ChannelBackup.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ExportAllChannelBackups(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ExportAllChannelBackups', + v0131beta_dot_rpc__pb2.ChanBackupExportRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ChanBackupSnapshot.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VerifyChanBackup(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/VerifyChanBackup', + v0131beta_dot_rpc__pb2.ChanBackupSnapshot.SerializeToString, + v0131beta_dot_rpc__pb2.VerifyChanBackupResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RestoreChannelBackups(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/RestoreChannelBackups', + v0131beta_dot_rpc__pb2.RestoreChanBackupRequest.SerializeToString, + v0131beta_dot_rpc__pb2.RestoreBackupResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SubscribeChannelBackups(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_stream(request, target, '/lnrpc.Lightning/SubscribeChannelBackups', + v0131beta_dot_rpc__pb2.ChannelBackupSubscription.SerializeToString, + v0131beta_dot_rpc__pb2.ChanBackupSnapshot.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BakeMacaroon(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/BakeMacaroon', + v0131beta_dot_rpc__pb2.BakeMacaroonRequest.SerializeToString, + v0131beta_dot_rpc__pb2.BakeMacaroonResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListMacaroonIDs(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ListMacaroonIDs', + v0131beta_dot_rpc__pb2.ListMacaroonIDsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ListMacaroonIDsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeleteMacaroonID(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/DeleteMacaroonID', + v0131beta_dot_rpc__pb2.DeleteMacaroonIDRequest.SerializeToString, + v0131beta_dot_rpc__pb2.DeleteMacaroonIDResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListPermissions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.Lightning/ListPermissions', + v0131beta_dot_rpc__pb2.ListPermissionsRequest.SerializeToString, + v0131beta_dot_rpc__pb2.ListPermissionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/signer.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/signer.proto new file mode 100644 index 00000000..d0afc33b --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/signer.proto @@ -0,0 +1,241 @@ +syntax = "proto3"; + +package signrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/signrpc"; + +// Signer is a service that gives access to the signing functionality of the +// daemon's wallet. +service Signer { + /* + SignOutputRaw is a method that can be used to generated a signature for a + set of inputs/outputs to a transaction. Each request specifies details + concerning how the outputs should be signed, which keys they should be + signed with, and also any optional tweaks. The return value is a fixed + 64-byte signature (the same format as we use on the wire in Lightning). + + If we are unable to sign using the specified keys, then an error will be + returned. + */ + rpc SignOutputRaw (SignReq) returns (SignResp); + + /* + ComputeInputScript generates a complete InputIndex for the passed + transaction with the signature as defined within the passed SignDescriptor. + This method should be capable of generating the proper input script for + both regular p2wkh output and p2wkh outputs nested within a regular p2sh + output. + + Note that when using this method to sign inputs belonging to the wallet, + the only items of the SignDescriptor that need to be populated are pkScript + in the TxOut field, the value in that same field, and finally the input + index. + */ + rpc ComputeInputScript (SignReq) returns (InputScriptResp); + + /* + SignMessage signs a message with the key specified in the key locator. The + returned signature is fixed-size LN wire format encoded. + + The main difference to SignMessage in the main RPC is that a specific key is + used to sign the message instead of the node identity private key. + */ + rpc SignMessage (SignMessageReq) returns (SignMessageResp); + + /* + VerifyMessage verifies a signature over a message using the public key + provided. The signature must be fixed-size LN wire format encoded. + + The main difference to VerifyMessage in the main RPC is that the public key + used to sign the message does not have to be a node known to the network. + */ + rpc VerifyMessage (VerifyMessageReq) returns (VerifyMessageResp); + + /* + DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key + derivation between the ephemeral public key in the request and the node's + key specified in the key_desc parameter. Either a key locator or a raw + public key is expected in the key_desc, if neither is supplied, defaults to + the node's identity private key: + P_shared = privKeyNode * ephemeralPubkey + The resulting shared public key is serialized in the compressed format and + hashed with sha256, resulting in the final key length of 256bit. + */ + rpc DeriveSharedKey (SharedKeyRequest) returns (SharedKeyResponse); +} + +message KeyLocator { + // The family of key being identified. + int32 key_family = 1; + + // The precise index of the key being identified. + int32 key_index = 2; +} + +message KeyDescriptor { + /* + The raw bytes of the key being identified. Either this or the KeyLocator + must be specified. + */ + bytes raw_key_bytes = 1; + + /* + The key locator that identifies which key to use for signing. Either this + or the raw bytes of the target key must be specified. + */ + KeyLocator key_loc = 2; +} + +message TxOut { + // The value of the output being spent. + int64 value = 1; + + // The script of the output being spent. + bytes pk_script = 2; +} + +message SignDescriptor { + /* + A descriptor that precisely describes *which* key to use for signing. This + may provide the raw public key directly, or require the Signer to re-derive + the key according to the populated derivation path. + + Note that if the key descriptor was obtained through walletrpc.DeriveKey, + then the key locator MUST always be provided, since the derived keys are not + persisted unlike with DeriveNextKey. + */ + KeyDescriptor key_desc = 1; + + /* + A scalar value that will be added to the private key corresponding to the + above public key to obtain the private key to be used to sign this input. + This value is typically derived via the following computation: + + * derivedKey = privkey + sha256(perCommitmentPoint || pubKey) mod N + */ + bytes single_tweak = 2; + + /* + A private key that will be used in combination with its corresponding + private key to derive the private key that is to be used to sign the target + input. Within the Lightning protocol, this value is typically the + commitment secret from a previously revoked commitment transaction. This + value is in combination with two hash values, and the original private key + to derive the private key to be used when signing. + + * k = (privKey*sha256(pubKey || tweakPub) + + tweakPriv*sha256(tweakPub || pubKey)) mod N + */ + bytes double_tweak = 3; + + /* + The full script required to properly redeem the output. This field will + only be populated if a p2wsh or a p2sh output is being signed. + */ + bytes witness_script = 4; + + /* + A description of the output being spent. The value and script MUST be + provided. + */ + TxOut output = 5; + + /* + The target sighash type that should be used when generating the final + sighash, and signature. + */ + uint32 sighash = 7; + + /* + The target input within the transaction that should be signed. + */ + int32 input_index = 8; +} + +message SignReq { + // The raw bytes of the transaction to be signed. + bytes raw_tx_bytes = 1; + + // A set of sign descriptors, for each input to be signed. + repeated SignDescriptor sign_descs = 2; +} + +message SignResp { + /* + A set of signatures realized in a fixed 64-byte format ordered in ascending + input order. + */ + repeated bytes raw_sigs = 1; +} + +message InputScript { + // The serializes witness stack for the specified input. + repeated bytes witness = 1; + + /* + The optional sig script for the specified witness that will only be set if + the input specified is a nested p2sh witness program. + */ + bytes sig_script = 2; +} + +message InputScriptResp { + // The set of fully valid input scripts requested. + repeated InputScript input_scripts = 1; +} + +message SignMessageReq { + // The message to be signed. + bytes msg = 1; + + // The key locator that identifies which key to use for signing. + KeyLocator key_loc = 2; +} +message SignMessageResp { + /* + The signature for the given message in the fixed-size LN wire format. + */ + bytes signature = 1; +} + +message VerifyMessageReq { + // The message over which the signature is to be verified. + bytes msg = 1; + + /* + The fixed-size LN wire encoded signature to be verified over the given + message. + */ + bytes signature = 2; + + // The public key the signature has to be valid for. + bytes pubkey = 3; +} +message VerifyMessageResp { + // Whether the signature was valid over the given message. + bool valid = 1; +} + +message SharedKeyRequest { + // The ephemeral public key to use for the DH key derivation. + bytes ephemeral_pubkey = 1; + + /* + Deprecated. The optional key locator of the local key that should be used. + If this parameter is not set then the node's identity private key will be + used. + */ + KeyLocator key_loc = 2 [deprecated = true]; + + /* + A key descriptor describes the key used for performing ECDH. Either a key + locator or a raw public key is expected, if neither is supplied, defaults to + the node's identity private key. + */ + KeyDescriptor key_desc = 3; +} + +message SharedKeyResponse { + // The shared public key, hashed with sha256. + bytes shared_key = 1; +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/signer_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/signer_pb2.py new file mode 100644 index 00000000..97989b84 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/signer_pb2.py @@ -0,0 +1,778 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/signrpc/signer.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/signrpc/signer.proto', + package='signrpc', + syntax='proto3', + serialized_options=b'Z-github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/signrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\x1ev0131beta/signrpc/signer.proto\x12\x07signrpc\"3\n\nKeyLocator\x12\x12\n\nkey_family\x18\x01 \x01(\x05\x12\x11\n\tkey_index\x18\x02 \x01(\x05\"L\n\rKeyDescriptor\x12\x15\n\rraw_key_bytes\x18\x01 \x01(\x0c\x12$\n\x07key_loc\x18\x02 \x01(\x0b\x32\x13.signrpc.KeyLocator\")\n\x05TxOut\x12\r\n\x05value\x18\x01 \x01(\x03\x12\x11\n\tpk_script\x18\x02 \x01(\x0c\"\xc4\x01\n\x0eSignDescriptor\x12(\n\x08key_desc\x18\x01 \x01(\x0b\x32\x16.signrpc.KeyDescriptor\x12\x14\n\x0csingle_tweak\x18\x02 \x01(\x0c\x12\x14\n\x0c\x64ouble_tweak\x18\x03 \x01(\x0c\x12\x16\n\x0ewitness_script\x18\x04 \x01(\x0c\x12\x1e\n\x06output\x18\x05 \x01(\x0b\x32\x0e.signrpc.TxOut\x12\x0f\n\x07sighash\x18\x07 \x01(\r\x12\x13\n\x0binput_index\x18\x08 \x01(\x05\"L\n\x07SignReq\x12\x14\n\x0craw_tx_bytes\x18\x01 \x01(\x0c\x12+\n\nsign_descs\x18\x02 \x03(\x0b\x32\x17.signrpc.SignDescriptor\"\x1c\n\x08SignResp\x12\x10\n\x08raw_sigs\x18\x01 \x03(\x0c\"2\n\x0bInputScript\x12\x0f\n\x07witness\x18\x01 \x03(\x0c\x12\x12\n\nsig_script\x18\x02 \x01(\x0c\">\n\x0fInputScriptResp\x12+\n\rinput_scripts\x18\x01 \x03(\x0b\x32\x14.signrpc.InputScript\"C\n\x0eSignMessageReq\x12\x0b\n\x03msg\x18\x01 \x01(\x0c\x12$\n\x07key_loc\x18\x02 \x01(\x0b\x32\x13.signrpc.KeyLocator\"$\n\x0fSignMessageResp\x12\x11\n\tsignature\x18\x01 \x01(\x0c\"B\n\x10VerifyMessageReq\x12\x0b\n\x03msg\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x12\x0e\n\x06pubkey\x18\x03 \x01(\x0c\"\"\n\x11VerifyMessageResp\x12\r\n\x05valid\x18\x01 \x01(\x08\"\x80\x01\n\x10SharedKeyRequest\x12\x18\n\x10\x65phemeral_pubkey\x18\x01 \x01(\x0c\x12(\n\x07key_loc\x18\x02 \x01(\x0b\x32\x13.signrpc.KeyLocatorB\x02\x18\x01\x12(\n\x08key_desc\x18\x03 \x01(\x0b\x32\x16.signrpc.KeyDescriptor\"\'\n\x11SharedKeyResponse\x12\x12\n\nshared_key\x18\x01 \x01(\x0c\x32\xd4\x02\n\x06Signer\x12\x34\n\rSignOutputRaw\x12\x10.signrpc.SignReq\x1a\x11.signrpc.SignResp\x12@\n\x12\x43omputeInputScript\x12\x10.signrpc.SignReq\x1a\x18.signrpc.InputScriptResp\x12@\n\x0bSignMessage\x12\x17.signrpc.SignMessageReq\x1a\x18.signrpc.SignMessageResp\x12\x46\n\rVerifyMessage\x12\x19.signrpc.VerifyMessageReq\x1a\x1a.signrpc.VerifyMessageResp\x12H\n\x0f\x44\x65riveSharedKey\x12\x19.signrpc.SharedKeyRequest\x1a\x1a.signrpc.SharedKeyResponseB/Z-github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/signrpcb\x06proto3' +) + + + + +_KEYLOCATOR = _descriptor.Descriptor( + name='KeyLocator', + full_name='signrpc.KeyLocator', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key_family', full_name='signrpc.KeyLocator.key_family', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='key_index', full_name='signrpc.KeyLocator.key_index', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=43, + serialized_end=94, +) + + +_KEYDESCRIPTOR = _descriptor.Descriptor( + name='KeyDescriptor', + full_name='signrpc.KeyDescriptor', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='raw_key_bytes', full_name='signrpc.KeyDescriptor.raw_key_bytes', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='key_loc', full_name='signrpc.KeyDescriptor.key_loc', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=96, + serialized_end=172, +) + + +_TXOUT = _descriptor.Descriptor( + name='TxOut', + full_name='signrpc.TxOut', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='value', full_name='signrpc.TxOut.value', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pk_script', full_name='signrpc.TxOut.pk_script', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=174, + serialized_end=215, +) + + +_SIGNDESCRIPTOR = _descriptor.Descriptor( + name='SignDescriptor', + full_name='signrpc.SignDescriptor', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key_desc', full_name='signrpc.SignDescriptor.key_desc', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='single_tweak', full_name='signrpc.SignDescriptor.single_tweak', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='double_tweak', full_name='signrpc.SignDescriptor.double_tweak', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='witness_script', full_name='signrpc.SignDescriptor.witness_script', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='output', full_name='signrpc.SignDescriptor.output', index=4, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sighash', full_name='signrpc.SignDescriptor.sighash', index=5, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='input_index', full_name='signrpc.SignDescriptor.input_index', index=6, + number=8, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=218, + serialized_end=414, +) + + +_SIGNREQ = _descriptor.Descriptor( + name='SignReq', + full_name='signrpc.SignReq', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='raw_tx_bytes', full_name='signrpc.SignReq.raw_tx_bytes', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sign_descs', full_name='signrpc.SignReq.sign_descs', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=416, + serialized_end=492, +) + + +_SIGNRESP = _descriptor.Descriptor( + name='SignResp', + full_name='signrpc.SignResp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='raw_sigs', full_name='signrpc.SignResp.raw_sigs', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=494, + serialized_end=522, +) + + +_INPUTSCRIPT = _descriptor.Descriptor( + name='InputScript', + full_name='signrpc.InputScript', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='witness', full_name='signrpc.InputScript.witness', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sig_script', full_name='signrpc.InputScript.sig_script', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=524, + serialized_end=574, +) + + +_INPUTSCRIPTRESP = _descriptor.Descriptor( + name='InputScriptResp', + full_name='signrpc.InputScriptResp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='input_scripts', full_name='signrpc.InputScriptResp.input_scripts', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=576, + serialized_end=638, +) + + +_SIGNMESSAGEREQ = _descriptor.Descriptor( + name='SignMessageReq', + full_name='signrpc.SignMessageReq', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='msg', full_name='signrpc.SignMessageReq.msg', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='key_loc', full_name='signrpc.SignMessageReq.key_loc', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=640, + serialized_end=707, +) + + +_SIGNMESSAGERESP = _descriptor.Descriptor( + name='SignMessageResp', + full_name='signrpc.SignMessageResp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='signature', full_name='signrpc.SignMessageResp.signature', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=709, + serialized_end=745, +) + + +_VERIFYMESSAGEREQ = _descriptor.Descriptor( + name='VerifyMessageReq', + full_name='signrpc.VerifyMessageReq', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='msg', full_name='signrpc.VerifyMessageReq.msg', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='signature', full_name='signrpc.VerifyMessageReq.signature', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='pubkey', full_name='signrpc.VerifyMessageReq.pubkey', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=747, + serialized_end=813, +) + + +_VERIFYMESSAGERESP = _descriptor.Descriptor( + name='VerifyMessageResp', + full_name='signrpc.VerifyMessageResp', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='valid', full_name='signrpc.VerifyMessageResp.valid', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=815, + serialized_end=849, +) + + +_SHAREDKEYREQUEST = _descriptor.Descriptor( + name='SharedKeyRequest', + full_name='signrpc.SharedKeyRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='ephemeral_pubkey', full_name='signrpc.SharedKeyRequest.ephemeral_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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='key_loc', full_name='signrpc.SharedKeyRequest.key_loc', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='key_desc', full_name='signrpc.SharedKeyRequest.key_desc', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=852, + serialized_end=980, +) + + +_SHAREDKEYRESPONSE = _descriptor.Descriptor( + name='SharedKeyResponse', + full_name='signrpc.SharedKeyResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='shared_key', full_name='signrpc.SharedKeyResponse.shared_key', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=982, + serialized_end=1021, +) + +_KEYDESCRIPTOR.fields_by_name['key_loc'].message_type = _KEYLOCATOR +_SIGNDESCRIPTOR.fields_by_name['key_desc'].message_type = _KEYDESCRIPTOR +_SIGNDESCRIPTOR.fields_by_name['output'].message_type = _TXOUT +_SIGNREQ.fields_by_name['sign_descs'].message_type = _SIGNDESCRIPTOR +_INPUTSCRIPTRESP.fields_by_name['input_scripts'].message_type = _INPUTSCRIPT +_SIGNMESSAGEREQ.fields_by_name['key_loc'].message_type = _KEYLOCATOR +_SHAREDKEYREQUEST.fields_by_name['key_loc'].message_type = _KEYLOCATOR +_SHAREDKEYREQUEST.fields_by_name['key_desc'].message_type = _KEYDESCRIPTOR +DESCRIPTOR.message_types_by_name['KeyLocator'] = _KEYLOCATOR +DESCRIPTOR.message_types_by_name['KeyDescriptor'] = _KEYDESCRIPTOR +DESCRIPTOR.message_types_by_name['TxOut'] = _TXOUT +DESCRIPTOR.message_types_by_name['SignDescriptor'] = _SIGNDESCRIPTOR +DESCRIPTOR.message_types_by_name['SignReq'] = _SIGNREQ +DESCRIPTOR.message_types_by_name['SignResp'] = _SIGNRESP +DESCRIPTOR.message_types_by_name['InputScript'] = _INPUTSCRIPT +DESCRIPTOR.message_types_by_name['InputScriptResp'] = _INPUTSCRIPTRESP +DESCRIPTOR.message_types_by_name['SignMessageReq'] = _SIGNMESSAGEREQ +DESCRIPTOR.message_types_by_name['SignMessageResp'] = _SIGNMESSAGERESP +DESCRIPTOR.message_types_by_name['VerifyMessageReq'] = _VERIFYMESSAGEREQ +DESCRIPTOR.message_types_by_name['VerifyMessageResp'] = _VERIFYMESSAGERESP +DESCRIPTOR.message_types_by_name['SharedKeyRequest'] = _SHAREDKEYREQUEST +DESCRIPTOR.message_types_by_name['SharedKeyResponse'] = _SHAREDKEYRESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +KeyLocator = _reflection.GeneratedProtocolMessageType('KeyLocator', (_message.Message,), { + 'DESCRIPTOR' : _KEYLOCATOR, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.KeyLocator) + }) +_sym_db.RegisterMessage(KeyLocator) + +KeyDescriptor = _reflection.GeneratedProtocolMessageType('KeyDescriptor', (_message.Message,), { + 'DESCRIPTOR' : _KEYDESCRIPTOR, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.KeyDescriptor) + }) +_sym_db.RegisterMessage(KeyDescriptor) + +TxOut = _reflection.GeneratedProtocolMessageType('TxOut', (_message.Message,), { + 'DESCRIPTOR' : _TXOUT, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.TxOut) + }) +_sym_db.RegisterMessage(TxOut) + +SignDescriptor = _reflection.GeneratedProtocolMessageType('SignDescriptor', (_message.Message,), { + 'DESCRIPTOR' : _SIGNDESCRIPTOR, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.SignDescriptor) + }) +_sym_db.RegisterMessage(SignDescriptor) + +SignReq = _reflection.GeneratedProtocolMessageType('SignReq', (_message.Message,), { + 'DESCRIPTOR' : _SIGNREQ, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.SignReq) + }) +_sym_db.RegisterMessage(SignReq) + +SignResp = _reflection.GeneratedProtocolMessageType('SignResp', (_message.Message,), { + 'DESCRIPTOR' : _SIGNRESP, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.SignResp) + }) +_sym_db.RegisterMessage(SignResp) + +InputScript = _reflection.GeneratedProtocolMessageType('InputScript', (_message.Message,), { + 'DESCRIPTOR' : _INPUTSCRIPT, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.InputScript) + }) +_sym_db.RegisterMessage(InputScript) + +InputScriptResp = _reflection.GeneratedProtocolMessageType('InputScriptResp', (_message.Message,), { + 'DESCRIPTOR' : _INPUTSCRIPTRESP, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.InputScriptResp) + }) +_sym_db.RegisterMessage(InputScriptResp) + +SignMessageReq = _reflection.GeneratedProtocolMessageType('SignMessageReq', (_message.Message,), { + 'DESCRIPTOR' : _SIGNMESSAGEREQ, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.SignMessageReq) + }) +_sym_db.RegisterMessage(SignMessageReq) + +SignMessageResp = _reflection.GeneratedProtocolMessageType('SignMessageResp', (_message.Message,), { + 'DESCRIPTOR' : _SIGNMESSAGERESP, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.SignMessageResp) + }) +_sym_db.RegisterMessage(SignMessageResp) + +VerifyMessageReq = _reflection.GeneratedProtocolMessageType('VerifyMessageReq', (_message.Message,), { + 'DESCRIPTOR' : _VERIFYMESSAGEREQ, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.VerifyMessageReq) + }) +_sym_db.RegisterMessage(VerifyMessageReq) + +VerifyMessageResp = _reflection.GeneratedProtocolMessageType('VerifyMessageResp', (_message.Message,), { + 'DESCRIPTOR' : _VERIFYMESSAGERESP, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.VerifyMessageResp) + }) +_sym_db.RegisterMessage(VerifyMessageResp) + +SharedKeyRequest = _reflection.GeneratedProtocolMessageType('SharedKeyRequest', (_message.Message,), { + 'DESCRIPTOR' : _SHAREDKEYREQUEST, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.SharedKeyRequest) + }) +_sym_db.RegisterMessage(SharedKeyRequest) + +SharedKeyResponse = _reflection.GeneratedProtocolMessageType('SharedKeyResponse', (_message.Message,), { + 'DESCRIPTOR' : _SHAREDKEYRESPONSE, + '__module__' : 'v0131beta.signrpc.signer_pb2' + # @@protoc_insertion_point(class_scope:signrpc.SharedKeyResponse) + }) +_sym_db.RegisterMessage(SharedKeyResponse) + + +DESCRIPTOR._options = None +_SHAREDKEYREQUEST.fields_by_name['key_loc']._options = None + +_SIGNER = _descriptor.ServiceDescriptor( + name='Signer', + full_name='signrpc.Signer', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=1024, + serialized_end=1364, + methods=[ + _descriptor.MethodDescriptor( + name='SignOutputRaw', + full_name='signrpc.Signer.SignOutputRaw', + index=0, + containing_service=None, + input_type=_SIGNREQ, + output_type=_SIGNRESP, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ComputeInputScript', + full_name='signrpc.Signer.ComputeInputScript', + index=1, + containing_service=None, + input_type=_SIGNREQ, + output_type=_INPUTSCRIPTRESP, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SignMessage', + full_name='signrpc.Signer.SignMessage', + index=2, + containing_service=None, + input_type=_SIGNMESSAGEREQ, + output_type=_SIGNMESSAGERESP, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='VerifyMessage', + full_name='signrpc.Signer.VerifyMessage', + index=3, + containing_service=None, + input_type=_VERIFYMESSAGEREQ, + output_type=_VERIFYMESSAGERESP, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DeriveSharedKey', + full_name='signrpc.Signer.DeriveSharedKey', + index=4, + containing_service=None, + input_type=_SHAREDKEYREQUEST, + output_type=_SHAREDKEYRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_SIGNER) + +DESCRIPTOR.services_by_name['Signer'] = _SIGNER + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/signer_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/signer_pb2_grpc.py new file mode 100644 index 00000000..6fbd367c --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/signrpc/signer_pb2_grpc.py @@ -0,0 +1,245 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from v0131beta.signrpc import signer_pb2 as v0131beta_dot_signrpc_dot_signer__pb2 + + +class SignerStub(object): + """Signer is a service that gives access to the signing functionality of the + daemon's wallet. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.SignOutputRaw = channel.unary_unary( + '/signrpc.Signer/SignOutputRaw', + request_serializer=v0131beta_dot_signrpc_dot_signer__pb2.SignReq.SerializeToString, + response_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.SignResp.FromString, + ) + self.ComputeInputScript = channel.unary_unary( + '/signrpc.Signer/ComputeInputScript', + request_serializer=v0131beta_dot_signrpc_dot_signer__pb2.SignReq.SerializeToString, + response_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.InputScriptResp.FromString, + ) + self.SignMessage = channel.unary_unary( + '/signrpc.Signer/SignMessage', + request_serializer=v0131beta_dot_signrpc_dot_signer__pb2.SignMessageReq.SerializeToString, + response_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.SignMessageResp.FromString, + ) + self.VerifyMessage = channel.unary_unary( + '/signrpc.Signer/VerifyMessage', + request_serializer=v0131beta_dot_signrpc_dot_signer__pb2.VerifyMessageReq.SerializeToString, + response_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.VerifyMessageResp.FromString, + ) + self.DeriveSharedKey = channel.unary_unary( + '/signrpc.Signer/DeriveSharedKey', + request_serializer=v0131beta_dot_signrpc_dot_signer__pb2.SharedKeyRequest.SerializeToString, + response_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.SharedKeyResponse.FromString, + ) + + +class SignerServicer(object): + """Signer is a service that gives access to the signing functionality of the + daemon's wallet. + """ + + def SignOutputRaw(self, request, context): + """ + SignOutputRaw is a method that can be used to generated a signature for a + set of inputs/outputs to a transaction. Each request specifies details + concerning how the outputs should be signed, which keys they should be + signed with, and also any optional tweaks. The return value is a fixed + 64-byte signature (the same format as we use on the wire in Lightning). + + If we are unable to sign using the specified keys, then an error will be + returned. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ComputeInputScript(self, request, context): + """ + ComputeInputScript generates a complete InputIndex for the passed + transaction with the signature as defined within the passed SignDescriptor. + This method should be capable of generating the proper input script for + both regular p2wkh output and p2wkh outputs nested within a regular p2sh + output. + + Note that when using this method to sign inputs belonging to the wallet, + the only items of the SignDescriptor that need to be populated are pkScript + in the TxOut field, the value in that same field, and finally the input + index. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SignMessage(self, request, context): + """ + SignMessage signs a message with the key specified in the key locator. The + returned signature is fixed-size LN wire format encoded. + + The main difference to SignMessage in the main RPC is that a specific key is + used to sign the message instead of the node identity private key. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def VerifyMessage(self, request, context): + """ + VerifyMessage verifies a signature over a message using the public key + provided. The signature must be fixed-size LN wire format encoded. + + The main difference to VerifyMessage in the main RPC is that the public key + used to sign the message does not have to be a node known to the network. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeriveSharedKey(self, request, context): + """ + DeriveSharedKey returns a shared secret key by performing Diffie-Hellman key + derivation between the ephemeral public key in the request and the node's + key specified in the key_desc parameter. Either a key locator or a raw + public key is expected in the key_desc, if neither is supplied, defaults to + the node's identity private key: + P_shared = privKeyNode * ephemeralPubkey + The resulting shared public key is serialized in the compressed format and + hashed with sha256, resulting in the final key length of 256bit. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_SignerServicer_to_server(servicer, server): + rpc_method_handlers = { + 'SignOutputRaw': grpc.unary_unary_rpc_method_handler( + servicer.SignOutputRaw, + request_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.SignReq.FromString, + response_serializer=v0131beta_dot_signrpc_dot_signer__pb2.SignResp.SerializeToString, + ), + 'ComputeInputScript': grpc.unary_unary_rpc_method_handler( + servicer.ComputeInputScript, + request_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.SignReq.FromString, + response_serializer=v0131beta_dot_signrpc_dot_signer__pb2.InputScriptResp.SerializeToString, + ), + 'SignMessage': grpc.unary_unary_rpc_method_handler( + servicer.SignMessage, + request_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.SignMessageReq.FromString, + response_serializer=v0131beta_dot_signrpc_dot_signer__pb2.SignMessageResp.SerializeToString, + ), + 'VerifyMessage': grpc.unary_unary_rpc_method_handler( + servicer.VerifyMessage, + request_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.VerifyMessageReq.FromString, + response_serializer=v0131beta_dot_signrpc_dot_signer__pb2.VerifyMessageResp.SerializeToString, + ), + 'DeriveSharedKey': grpc.unary_unary_rpc_method_handler( + servicer.DeriveSharedKey, + request_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.SharedKeyRequest.FromString, + response_serializer=v0131beta_dot_signrpc_dot_signer__pb2.SharedKeyResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'signrpc.Signer', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Signer(object): + """Signer is a service that gives access to the signing functionality of the + daemon's wallet. + """ + + @staticmethod + def SignOutputRaw(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/signrpc.Signer/SignOutputRaw', + v0131beta_dot_signrpc_dot_signer__pb2.SignReq.SerializeToString, + v0131beta_dot_signrpc_dot_signer__pb2.SignResp.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ComputeInputScript(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/signrpc.Signer/ComputeInputScript', + v0131beta_dot_signrpc_dot_signer__pb2.SignReq.SerializeToString, + v0131beta_dot_signrpc_dot_signer__pb2.InputScriptResp.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SignMessage(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/signrpc.Signer/SignMessage', + v0131beta_dot_signrpc_dot_signer__pb2.SignMessageReq.SerializeToString, + v0131beta_dot_signrpc_dot_signer__pb2.SignMessageResp.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def VerifyMessage(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/signrpc.Signer/VerifyMessage', + v0131beta_dot_signrpc_dot_signer__pb2.VerifyMessageReq.SerializeToString, + v0131beta_dot_signrpc_dot_signer__pb2.VerifyMessageResp.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeriveSharedKey(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/signrpc.Signer/DeriveSharedKey', + v0131beta_dot_signrpc_dot_signer__pb2.SharedKeyRequest.SerializeToString, + v0131beta_dot_signrpc_dot_signer__pb2.SharedKeyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/verrpc.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/verrpc.proto new file mode 100644 index 00000000..6f3120e7 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/verrpc.proto @@ -0,0 +1,47 @@ +syntax = "proto3"; + +package verrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/verrpc"; + +// Versioner is a service that can be used to get information about the version +// and build information of the running daemon. +service Versioner { + /* lncli: `version` + GetVersion returns the current version and build information of the running + daemon. + */ + rpc GetVersion (VersionRequest) returns (Version); +} + +message VersionRequest { +} + +message Version { + // A verbose description of the daemon's commit. + string commit = 1; + + // The SHA1 commit hash that the daemon is compiled with. + string commit_hash = 2; + + // The semantic version. + string version = 3; + + // The major application version. + uint32 app_major = 4; + + // The minor application version. + uint32 app_minor = 5; + + // The application patch number. + uint32 app_patch = 6; + + // The application pre-release modifier, possibly empty. + string app_pre_release = 7; + + // The list of build tags that were supplied during compilation. + repeated string build_tags = 8; + + // The version of go that compiled the executable. + string go_version = 9; +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/verrpc_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/verrpc_pb2.py new file mode 100644 index 00000000..c503f5d7 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/verrpc_pb2.py @@ -0,0 +1,186 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/verrpc/verrpc.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/verrpc/verrpc.proto', + package='verrpc', + syntax='proto3', + serialized_options=b'Z,github.com/lightningnetwork/lnd/lnrpc/verrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\x1dv0131beta/verrpc/verrpc.proto\x12\x06verrpc\"\x10\n\x0eVersionRequest\"\xb9\x01\n\x07Version\x12\x0e\n\x06\x63ommit\x18\x01 \x01(\t\x12\x13\n\x0b\x63ommit_hash\x18\x02 \x01(\t\x12\x0f\n\x07version\x18\x03 \x01(\t\x12\x11\n\tapp_major\x18\x04 \x01(\r\x12\x11\n\tapp_minor\x18\x05 \x01(\r\x12\x11\n\tapp_patch\x18\x06 \x01(\r\x12\x17\n\x0f\x61pp_pre_release\x18\x07 \x01(\t\x12\x12\n\nbuild_tags\x18\x08 \x03(\t\x12\x12\n\ngo_version\x18\t \x01(\t2B\n\tVersioner\x12\x35\n\nGetVersion\x12\x16.verrpc.VersionRequest\x1a\x0f.verrpc.VersionB.Z,github.com/lightningnetwork/lnd/lnrpc/verrpcb\x06proto3' +) + + + + +_VERSIONREQUEST = _descriptor.Descriptor( + name='VersionRequest', + full_name='verrpc.VersionRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=41, + serialized_end=57, +) + + +_VERSION = _descriptor.Descriptor( + name='Version', + full_name='verrpc.Version', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='commit', full_name='verrpc.Version.commit', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='commit_hash', full_name='verrpc.Version.commit_hash', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='version', full_name='verrpc.Version.version', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='app_major', full_name='verrpc.Version.app_major', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='app_minor', full_name='verrpc.Version.app_minor', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='app_patch', full_name='verrpc.Version.app_patch', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='app_pre_release', full_name='verrpc.Version.app_pre_release', index=6, + number=7, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='build_tags', full_name='verrpc.Version.build_tags', index=7, + number=8, type=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='go_version', full_name='verrpc.Version.go_version', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=60, + serialized_end=245, +) + +DESCRIPTOR.message_types_by_name['VersionRequest'] = _VERSIONREQUEST +DESCRIPTOR.message_types_by_name['Version'] = _VERSION +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +VersionRequest = _reflection.GeneratedProtocolMessageType('VersionRequest', (_message.Message,), { + 'DESCRIPTOR' : _VERSIONREQUEST, + '__module__' : 'v0131beta.verrpc.verrpc_pb2' + # @@protoc_insertion_point(class_scope:verrpc.VersionRequest) + }) +_sym_db.RegisterMessage(VersionRequest) + +Version = _reflection.GeneratedProtocolMessageType('Version', (_message.Message,), { + 'DESCRIPTOR' : _VERSION, + '__module__' : 'v0131beta.verrpc.verrpc_pb2' + # @@protoc_insertion_point(class_scope:verrpc.Version) + }) +_sym_db.RegisterMessage(Version) + + +DESCRIPTOR._options = None + +_VERSIONER = _descriptor.ServiceDescriptor( + name='Versioner', + full_name='verrpc.Versioner', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=247, + serialized_end=313, + methods=[ + _descriptor.MethodDescriptor( + name='GetVersion', + full_name='verrpc.Versioner.GetVersion', + index=0, + containing_service=None, + input_type=_VERSIONREQUEST, + output_type=_VERSION, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_VERSIONER) + +DESCRIPTOR.services_by_name['Versioner'] = _VERSIONER + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/verrpc_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/verrpc_pb2_grpc.py new file mode 100644 index 00000000..8193fb06 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/verrpc/verrpc_pb2_grpc.py @@ -0,0 +1,75 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from v0131beta.verrpc import verrpc_pb2 as v0131beta_dot_verrpc_dot_verrpc__pb2 + + +class VersionerStub(object): + """Versioner is a service that can be used to get information about the version + and build information of the running daemon. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetVersion = channel.unary_unary( + '/verrpc.Versioner/GetVersion', + request_serializer=v0131beta_dot_verrpc_dot_verrpc__pb2.VersionRequest.SerializeToString, + response_deserializer=v0131beta_dot_verrpc_dot_verrpc__pb2.Version.FromString, + ) + + +class VersionerServicer(object): + """Versioner is a service that can be used to get information about the version + and build information of the running daemon. + """ + + def GetVersion(self, request, context): + """lncli: `version` + GetVersion returns the current version and build information of the running + daemon. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_VersionerServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetVersion': grpc.unary_unary_rpc_method_handler( + servicer.GetVersion, + request_deserializer=v0131beta_dot_verrpc_dot_verrpc__pb2.VersionRequest.FromString, + response_serializer=v0131beta_dot_verrpc_dot_verrpc__pb2.Version.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'verrpc.Versioner', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Versioner(object): + """Versioner is a service that can be used to get information about the version + and build information of the running daemon. + """ + + @staticmethod + def GetVersion(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/verrpc.Versioner/GetVersion', + v0131beta_dot_verrpc_dot_verrpc__pb2.VersionRequest.SerializeToString, + v0131beta_dot_verrpc_dot_verrpc__pb2.Version.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/walletkit.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/walletkit.proto new file mode 100644 index 00000000..e45f48f0 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/walletkit.proto @@ -0,0 +1,841 @@ +syntax = "proto3"; + +import "v0131beta/rpc.proto"; +import "v0131beta/signrpc/signer.proto"; + +package walletrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/walletrpc"; + +// WalletKit is a service that gives access to the core functionalities of the +// daemon's wallet. +service WalletKit { + /* + ListUnspent returns a list of all utxos spendable by the wallet with a + number of confirmations between the specified minimum and maximum. + */ + rpc ListUnspent (ListUnspentRequest) returns (ListUnspentResponse); + + /* + LeaseOutput locks an output to the given ID, preventing it from being + available for any future coin selection attempts. The absolute time of the + lock's expiration is returned. The expiration of the lock can be extended by + successive invocations of this RPC. Outputs can be unlocked before their + expiration through `ReleaseOutput`. + */ + rpc LeaseOutput (LeaseOutputRequest) returns (LeaseOutputResponse); + + /* + ReleaseOutput unlocks an output, allowing it to be available for coin + selection if it remains unspent. The ID should match the one used to + originally lock the output. + */ + rpc ReleaseOutput (ReleaseOutputRequest) returns (ReleaseOutputResponse); + + /* + ListLeases lists all currently locked utxos. + */ + rpc ListLeases (ListLeasesRequest) returns (ListLeasesResponse); + + /* + DeriveNextKey attempts to derive the *next* key within the key family + (account in BIP43) specified. This method should return the next external + child within this branch. + */ + rpc DeriveNextKey (KeyReq) returns (signrpc.KeyDescriptor); + + /* + DeriveKey attempts to derive an arbitrary key specified by the passed + KeyLocator. + */ + rpc DeriveKey (signrpc.KeyLocator) returns (signrpc.KeyDescriptor); + + /* + NextAddr returns the next unused address within the wallet. + */ + rpc NextAddr (AddrRequest) returns (AddrResponse); + + /* + ListAccounts retrieves all accounts belonging to the wallet by default. A + name and key scope filter can be provided to filter through all of the + wallet accounts and return only those matching. + */ + rpc ListAccounts (ListAccountsRequest) returns (ListAccountsResponse); + + /* + ImportAccount imports an account backed by an account extended public key. + The master key fingerprint denotes the fingerprint of the root key + corresponding to the account public key (also known as the key with + derivation path m/). This may be required by some hardware wallets for + proper identification and signing. + + The address type can usually be inferred from the key's version, but may be + required for certain keys to map them into the proper scope. + + For BIP-0044 keys, an address type must be specified as we intend to not + support importing BIP-0044 keys into the wallet using the legacy + pay-to-pubkey-hash (P2PKH) scheme. A nested witness address type will force + the standard BIP-0049 derivation scheme, while a witness address type will + force the standard BIP-0084 derivation scheme. + + For BIP-0049 keys, an address type must also be specified to make a + distinction between the standard BIP-0049 address schema (nested witness + pubkeys everywhere) and our own BIP-0049Plus address schema (nested pubkeys + externally, witness pubkeys internally). + + NOTE: Events (deposits/spends) for keys derived from an account will only be + detected by lnd if they happen after the import. Rescans to detect past + events will be supported later on. + */ + rpc ImportAccount (ImportAccountRequest) returns (ImportAccountResponse); + + /* + ImportPublicKey imports a public key as watch-only into the wallet. + + NOTE: Events (deposits/spends) for a key will only be detected by lnd if + they happen after the import. Rescans to detect past events will be + supported later on. + */ + rpc ImportPublicKey (ImportPublicKeyRequest) + returns (ImportPublicKeyResponse); + + /* + PublishTransaction attempts to publish the passed transaction to the + network. Once this returns without an error, the wallet will continually + attempt to re-broadcast the transaction on start up, until it enters the + chain. + */ + rpc PublishTransaction (Transaction) returns (PublishResponse); + + /* + SendOutputs is similar to the existing sendmany call in Bitcoind, and + allows the caller to create a transaction that sends to several outputs at + once. This is ideal when wanting to batch create a set of transactions. + */ + rpc SendOutputs (SendOutputsRequest) returns (SendOutputsResponse); + + /* + EstimateFee attempts to query the internal fee estimator of the wallet to + determine the fee (in sat/kw) to attach to a transaction in order to + achieve the confirmation target. + */ + rpc EstimateFee (EstimateFeeRequest) returns (EstimateFeeResponse); + + /* + PendingSweeps returns lists of on-chain outputs that lnd is currently + attempting to sweep within its central batching engine. Outputs with similar + fee rates are batched together in order to sweep them within a single + transaction. + + NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to + remain supported. This is an advanced API that depends on the internals of + the UtxoSweeper, so things may change. + */ + rpc PendingSweeps (PendingSweepsRequest) returns (PendingSweepsResponse); + + /* + BumpFee bumps the fee of an arbitrary input within a transaction. This RPC + takes a different approach than bitcoind's bumpfee command. lnd has a + central batching engine in which inputs with similar fee rates are batched + together to save on transaction fees. Due to this, we cannot rely on + bumping the fee on a specific transaction, since transactions can change at + any point with the addition of new inputs. The list of inputs that + currently exist within lnd's central batching engine can be retrieved + through the PendingSweeps RPC. + + When bumping the fee of an input that currently exists within lnd's central + batching engine, a higher fee transaction will be created that replaces the + lower fee transaction through the Replace-By-Fee (RBF) policy. If it + + This RPC also serves useful when wanting to perform a Child-Pays-For-Parent + (CPFP), where the child transaction pays for its parent's fee. This can be + done by specifying an outpoint within the low fee transaction that is under + the control of the wallet. + + The fee preference can be expressed either as a specific fee rate or a delta + of blocks in which the output should be swept on-chain within. If a fee + preference is not explicitly specified, then an error is returned. + + Note that this RPC currently doesn't perform any validation checks on the + fee preference being provided. For now, the responsibility of ensuring that + the new fee preference is sufficient is delegated to the user. + */ + rpc BumpFee (BumpFeeRequest) returns (BumpFeeResponse); + + /* + ListSweeps returns a list of the sweep transactions our node has produced. + Note that these sweeps may not be confirmed yet, as we record sweeps on + broadcast, not confirmation. + */ + rpc ListSweeps (ListSweepsRequest) returns (ListSweepsResponse); + + /* + LabelTransaction adds a label to a transaction. If the transaction already + has a label the call will fail unless the overwrite bool is set. This will + overwrite the exiting transaction label. Labels must not be empty, and + cannot exceed 500 characters. + */ + rpc LabelTransaction (LabelTransactionRequest) + returns (LabelTransactionResponse); + + /* + FundPsbt creates a fully populated PSBT that contains enough inputs to fund + the outputs specified in the template. There are two ways of specifying a + template: Either by passing in a PSBT with at least one output declared or + by passing in a raw TxTemplate message. + + If there are no inputs specified in the template, coin selection is + performed automatically. If the template does contain any inputs, it is + assumed that full coin selection happened externally and no additional + inputs are added. If the specified inputs aren't enough to fund the outputs + with the given fee rate, an error is returned. + + After either selecting or verifying the inputs, all input UTXOs are locked + with an internal app ID. + + NOTE: If this method returns without an error, it is the caller's + responsibility to either spend the locked UTXOs (by finalizing and then + publishing the transaction) or to unlock/release the locked UTXOs in case of + an error on the caller's side. + */ + rpc FundPsbt (FundPsbtRequest) returns (FundPsbtResponse); + + /* + FinalizePsbt expects a partial transaction with all inputs and outputs fully + declared and tries to sign all inputs that belong to the wallet. Lnd must be + the last signer of the transaction. That means, if there are any unsigned + non-witness inputs or inputs without UTXO information attached or inputs + without witness data that do not belong to lnd's wallet, this method will + fail. If no error is returned, the PSBT is ready to be extracted and the + final TX within to be broadcast. + + NOTE: This method does NOT publish the transaction once finalized. It is the + caller's responsibility to either publish the transaction on success or + unlock/release any locked UTXOs in case of an error in this method. + */ + rpc FinalizePsbt (FinalizePsbtRequest) returns (FinalizePsbtResponse); +} + +message ListUnspentRequest { + // The minimum number of confirmations to be included. + int32 min_confs = 1; + + // The maximum number of confirmations to be included. + int32 max_confs = 2; + + // An optional filter to only include outputs belonging to an account. + string account = 3; +} + +message ListUnspentResponse { + // A list of utxos satisfying the specified number of confirmations. + repeated lnrpc.Utxo utxos = 1; +} + +message LeaseOutputRequest { + /* + An ID of 32 random bytes that must be unique for each distinct application + using this RPC which will be used to bound the output lease to. + */ + bytes id = 1; + + // The identifying outpoint of the output being leased. + lnrpc.OutPoint outpoint = 2; + + // The time in seconds before the lock expires. If set to zero, the default + // lock duration is used. + uint64 expiration_seconds = 3; +} + +message LeaseOutputResponse { + /* + The absolute expiration of the output lease represented as a unix timestamp. + */ + uint64 expiration = 1; +} + +message ReleaseOutputRequest { + // The unique ID that was used to lock the output. + bytes id = 1; + + // The identifying outpoint of the output being released. + lnrpc.OutPoint outpoint = 2; +} + +message ReleaseOutputResponse { +} + +message KeyReq { + /* + Is the key finger print of the root pubkey that this request is targeting. + This allows the WalletKit to possibly serve out keys for multiple HD chains + via public derivation. + */ + int32 key_finger_print = 1; + + /* + The target key family to derive a key from. In other contexts, this is + known as the "account". + */ + int32 key_family = 2; +} + +message AddrRequest { + /* + The name of the account to retrieve the next address of. If empty, the + default wallet account is used. + */ + string account = 1; +} +message AddrResponse { + /* + The address encoded using a bech32 format. + */ + string addr = 1; +} + +enum AddressType { + UNKNOWN = 0; + WITNESS_PUBKEY_HASH = 1; + NESTED_WITNESS_PUBKEY_HASH = 2; + HYBRID_NESTED_WITNESS_PUBKEY_HASH = 3; +} +message Account { + // The name used to identify the account. + string name = 1; + + /* + The type of addresses the account supports. + AddressType | External Branch | Internal Branch + --------------------------------------------------------------------- + WITNESS_PUBKEY_HASH | P2WPKH | P2WPKH + NESTED_WITNESS_PUBKEY_HASH | NP2WPKH | NP2WPKH + HYBRID_NESTED_WITNESS_PUBKEY_HASH | NP2WPKH | P2WPKH + */ + AddressType address_type = 2; + + /* + The public key backing the account that all keys are derived from + represented as an extended key. This will always be empty for the default + imported account in which single public keys are imported into. + */ + string extended_public_key = 3; + + /* + The fingerprint of the root key from which the account public key was + derived from. This will always be zero for the default imported account in + which single public keys are imported into. The bytes are in big-endian + order. + */ + bytes master_key_fingerprint = 4; + + /* + The derivation path corresponding to the account public key. This will + always be empty for the default imported account in which single public keys + are imported into. + */ + string derivation_path = 5; + + /* + The number of keys derived from the external branch of the account public + key. This will always be zero for the default imported account in which + single public keys are imported into. + */ + uint32 external_key_count = 6; + + /* + The number of keys derived from the internal branch of the account public + key. This will always be zero for the default imported account in which + single public keys are imported into. + */ + uint32 internal_key_count = 7; + + // Whether the wallet stores private keys for the account. + bool watch_only = 8; +} +message ListAccountsRequest { + // An optional filter to only return accounts matching this name. + string name = 1; + + // An optional filter to only return accounts matching this address type. + AddressType address_type = 2; +} +message ListAccountsResponse { + repeated Account accounts = 1; +} + +message ImportAccountRequest { + // A name to identify the account with. + string name = 1; + + /* + A public key that corresponds to a wallet account represented as an extended + key. It must conform to a derivation path of the form + m/purpose'/coin_type'/account'. + */ + string extended_public_key = 2; + + /* + The fingerprint of the root key (also known as the key with derivation path + m/) from which the account public key was derived from. This may be required + by some hardware wallets for proper identification and signing. The bytes + must be in big-endian order. + */ + bytes master_key_fingerprint = 3; + + /* + An address type is only required when the extended account public key has a + legacy version (xpub, tpub, etc.), such that the wallet cannot detect what + address scheme it belongs to. + */ + AddressType address_type = 4; + + /* + Whether a dry run should be attempted when importing the account. This + serves as a way to confirm whether the account is being imported correctly + by returning the first N addresses for the external and internal branches of + the account. If these addresses match as expected, then it should be safe to + import the account as is. + */ + bool dry_run = 5; +} +message ImportAccountResponse { + // The details of the imported account. + Account account = 1; + + /* + The first N addresses that belong to the external branch of the account. + The external branch is typically used for external non-change addresses. + These are only returned if a dry run was specified within the request. + */ + repeated string dry_run_external_addrs = 2; + + /* + The first N addresses that belong to the internal branch of the account. + The internal branch is typically used for change addresses. These are only + returned if a dry run was specified within the request. + */ + repeated string dry_run_internal_addrs = 3; +} + +message ImportPublicKeyRequest { + // A compressed public key represented as raw bytes. + bytes public_key = 1; + + // The type of address that will be generated from the public key. + AddressType address_type = 2; +} +message ImportPublicKeyResponse { +} + +message Transaction { + /* + The raw serialized transaction. + */ + bytes tx_hex = 1; + + /* + An optional label to save with the transaction. Limited to 500 characters. + */ + string label = 2; +} +message PublishResponse { + /* + If blank, then no error occurred and the transaction was successfully + published. If not the empty string, then a string representation of the + broadcast error. + + TODO(roasbeef): map to a proper enum type + */ + string publish_error = 1; +} + +message SendOutputsRequest { + /* + The number of satoshis per kilo weight that should be used when crafting + this transaction. + */ + int64 sat_per_kw = 1; + + /* + A slice of the outputs that should be created in the transaction produced. + */ + repeated signrpc.TxOut outputs = 2; + + // An optional label for the transaction, limited to 500 characters. + string label = 3; + + // The minimum number of confirmations each one of your outputs used for + // the transaction must satisfy. + int32 min_confs = 4; + + // Whether unconfirmed outputs should be used as inputs for the transaction. + bool spend_unconfirmed = 5; +} +message SendOutputsResponse { + /* + The serialized transaction sent out on the network. + */ + bytes raw_tx = 1; +} + +message EstimateFeeRequest { + /* + The number of confirmations to shoot for when estimating the fee. + */ + int32 conf_target = 1; +} +message EstimateFeeResponse { + /* + The amount of satoshis per kw that should be used in order to reach the + confirmation target in the request. + */ + int64 sat_per_kw = 1; +} + +enum WitnessType { + UNKNOWN_WITNESS = 0; + + /* + A witness that allows us to spend the output of a commitment transaction + after a relative lock-time lockout. + */ + COMMITMENT_TIME_LOCK = 1; + + /* + A witness that allows us to spend a settled no-delay output immediately on a + counterparty's commitment transaction. + */ + COMMITMENT_NO_DELAY = 2; + + /* + A witness that allows us to sweep the settled output of a malicious + counterparty's who broadcasts a revoked commitment transaction. + */ + COMMITMENT_REVOKE = 3; + + /* + A witness that allows us to sweep an HTLC which we offered to the remote + party in the case that they broadcast a revoked commitment state. + */ + HTLC_OFFERED_REVOKE = 4; + + /* + A witness that allows us to sweep an HTLC output sent to us in the case that + the remote party broadcasts a revoked commitment state. + */ + HTLC_ACCEPTED_REVOKE = 5; + + /* + A witness that allows us to sweep an HTLC output that we extended to a + party, but was never fulfilled. This HTLC output isn't directly on the + commitment transaction, but is the result of a confirmed second-level HTLC + transaction. As a result, we can only spend this after a CSV delay. + */ + HTLC_OFFERED_TIMEOUT_SECOND_LEVEL = 6; + + /* + A witness that allows us to sweep an HTLC output that was offered to us, and + for which we have a payment preimage. This HTLC output isn't directly on our + commitment transaction, but is the result of confirmed second-level HTLC + transaction. As a result, we can only spend this after a CSV delay. + */ + HTLC_ACCEPTED_SUCCESS_SECOND_LEVEL = 7; + + /* + A witness that allows us to sweep an HTLC that we offered to the remote + party which lies in the commitment transaction of the remote party. We can + spend this output after the absolute CLTV timeout of the HTLC as passed. + */ + HTLC_OFFERED_REMOTE_TIMEOUT = 8; + + /* + A witness that allows us to sweep an HTLC that was offered to us by the + remote party. We use this witness in the case that the remote party goes to + chain, and we know the pre-image to the HTLC. We can sweep this without any + additional timeout. + */ + HTLC_ACCEPTED_REMOTE_SUCCESS = 9; + + /* + A witness that allows us to sweep an HTLC from the remote party's commitment + transaction in the case that the broadcast a revoked commitment, but then + also immediately attempt to go to the second level to claim the HTLC. + */ + HTLC_SECOND_LEVEL_REVOKE = 10; + + /* + A witness type that allows us to spend a regular p2wkh output that's sent to + an output which is under complete control of the backing wallet. + */ + WITNESS_KEY_HASH = 11; + + /* + A witness type that allows us to sweep an output that sends to a nested P2SH + script that pays to a key solely under our control. + */ + NESTED_WITNESS_KEY_HASH = 12; + + /* + A witness type that allows us to spend our anchor on the commitment + transaction. + */ + COMMITMENT_ANCHOR = 13; +} + +message PendingSweep { + // The outpoint of the output we're attempting to sweep. + lnrpc.OutPoint outpoint = 1; + + // The witness type of the output we're attempting to sweep. + WitnessType witness_type = 2; + + // The value of the output we're attempting to sweep. + uint32 amount_sat = 3; + + /* + Deprecated, use sat_per_vbyte. + The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee + rate is only determined once a sweeping transaction for the output is + created, so it's possible for this to be 0 before this. + */ + uint32 sat_per_byte = 4 [deprecated = true]; + + // The number of broadcast attempts we've made to sweep the output. + uint32 broadcast_attempts = 5; + + /* + The next height of the chain at which we'll attempt to broadcast the + sweep transaction of the output. + */ + uint32 next_broadcast_height = 6; + + // The requested confirmation target for this output. + uint32 requested_conf_target = 8; + + // Deprecated, use requested_sat_per_vbyte. + // The requested fee rate, expressed in sat/vbyte, for this output. + uint32 requested_sat_per_byte = 9 [deprecated = true]; + + /* + The fee rate we'll use to sweep the output, expressed in sat/vbyte. The fee + rate is only determined once a sweeping transaction for the output is + created, so it's possible for this to be 0 before this. + */ + uint64 sat_per_vbyte = 10; + + // The requested fee rate, expressed in sat/vbyte, for this output. + uint64 requested_sat_per_vbyte = 11; + + /* + Whether this input must be force-swept. This means that it is swept even + if it has a negative yield. + */ + bool force = 7; +} + +message PendingSweepsRequest { +} + +message PendingSweepsResponse { + /* + The set of outputs currently being swept by lnd's central batching engine. + */ + repeated PendingSweep pending_sweeps = 1; +} + +message BumpFeeRequest { + // The input we're attempting to bump the fee of. + lnrpc.OutPoint outpoint = 1; + + // The target number of blocks that the input should be spent within. + uint32 target_conf = 2; + + /* + Deprecated, use sat_per_vbyte. + The fee rate, expressed in sat/vbyte, that should be used to spend the input + with. + */ + uint32 sat_per_byte = 3 [deprecated = true]; + + /* + Whether this input must be force-swept. This means that it is swept even + if it has a negative yield. + */ + bool force = 4; + + /* + The fee rate, expressed in sat/vbyte, that should be used to spend the input + with. + */ + uint64 sat_per_vbyte = 5; +} + +message BumpFeeResponse { +} + +message ListSweepsRequest { + /* + Retrieve the full sweep transaction details. If false, only the sweep txids + will be returned. Note that some sweeps that LND publishes will have been + replaced-by-fee, so will not be included in this output. + */ + bool verbose = 1; +} + +message ListSweepsResponse { + message TransactionIDs { + /* + Reversed, hex-encoded string representing the transaction ids of the + sweeps that our node has broadcast. Note that these transactions may + not have confirmed yet, we record sweeps on broadcast, not confirmation. + */ + repeated string transaction_ids = 1; + } + + oneof sweeps { + lnrpc.TransactionDetails transaction_details = 1; + TransactionIDs transaction_ids = 2; + } +} + +message LabelTransactionRequest { + // The txid of the transaction to label. + bytes txid = 1; + + // The label to add to the transaction, limited to 500 characters. + string label = 2; + + // Whether to overwrite the existing label, if it is present. + bool overwrite = 3; +} + +message LabelTransactionResponse { +} + +message FundPsbtRequest { + oneof template { + /* + Use an existing PSBT packet as the template for the funded PSBT. + + The packet must contain at least one non-dust output. If one or more + inputs are specified, no coin selection is performed. In that case every + input must be an UTXO known to the wallet that has not been locked + before. The sum of all inputs must be sufficiently greater than the sum + of all outputs to pay a miner fee with the specified fee rate. A change + output is added to the PSBT if necessary. + */ + bytes psbt = 1; + + /* + Use the outputs and optional inputs from this raw template. + */ + TxTemplate raw = 2; + } + + oneof fees { + /* + The target number of blocks that the transaction should be confirmed in. + */ + uint32 target_conf = 3; + + /* + The fee rate, expressed in sat/vbyte, that should be used to spend the + input with. + */ + uint64 sat_per_vbyte = 4; + } + + /* + The name of the account to fund the PSBT with. If empty, the default wallet + account is used. + */ + string account = 5; + + // The minimum number of confirmations each one of your outputs used for + // the transaction must satisfy. + int32 min_confs = 6; + + // Whether unconfirmed outputs should be used as inputs for the transaction. + bool spend_unconfirmed = 7; +} +message FundPsbtResponse { + /* + The funded but not yet signed PSBT packet. + */ + bytes funded_psbt = 1; + + /* + The index of the added change output or -1 if no change was left over. + */ + int32 change_output_index = 2; + + /* + The list of lock leases that were acquired for the inputs in the funded PSBT + packet. + */ + repeated UtxoLease locked_utxos = 3; +} + +message TxTemplate { + /* + An optional list of inputs to use. Every input must be an UTXO known to the + wallet that has not been locked before. The sum of all inputs must be + sufficiently greater than the sum of all outputs to pay a miner fee with the + fee rate specified in the parent message. + + If no inputs are specified, coin selection will be performed instead and + inputs of sufficient value will be added to the resulting PSBT. + */ + repeated lnrpc.OutPoint inputs = 1; + + /* + A map of all addresses and the amounts to send to in the funded PSBT. + */ + map outputs = 2; +} + +message UtxoLease { + /* + A 32 byte random ID that identifies the lease. + */ + bytes id = 1; + + // The identifying outpoint of the output being leased. + lnrpc.OutPoint outpoint = 2; + + /* + The absolute expiration of the output lease represented as a unix timestamp. + */ + uint64 expiration = 3; +} + +message FinalizePsbtRequest { + /* + A PSBT that should be signed and finalized. The PSBT must contain all + required inputs, outputs, UTXO data and partial signatures of all other + signers. + */ + bytes funded_psbt = 1; + + /* + The name of the account to finalize the PSBT with. If empty, the default + wallet account is used. + */ + string account = 5; +} +message FinalizePsbtResponse { + // The fully signed and finalized transaction in PSBT format. + bytes signed_psbt = 1; + + // The fully signed and finalized transaction in the raw wire format. + bytes raw_final_tx = 2; +} + +message ListLeasesRequest { +} + +message ListLeasesResponse { + // The list of currently leased utxos. + repeated UtxoLease locked_utxos = 1; +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/walletkit_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/walletkit_pb2.py new file mode 100644 index 00000000..c14d9f6e --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/walletkit_pb2.py @@ -0,0 +1,2439 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/walletrpc/walletkit.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from v0131beta import lnd_grpc.protos.dev.rpc_pb2 as v0131beta_dot_rpc__pb2 +from v0131beta.signrpc import signer_pb2 as v0131beta_dot_signrpc_dot_signer__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/walletrpc/walletkit.proto', + package='walletrpc', + syntax='proto3', + serialized_options=b'Z/github.com/lightningnetwork/lnd/lnrpc/walletrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n#v0131beta/walletrpc/walletkit.proto\x12\twalletrpc\x1a\x13v0131beta/rpc.proto\x1a\x1ev0131beta/signrpc/signer.proto\"K\n\x12ListUnspentRequest\x12\x11\n\tmin_confs\x18\x01 \x01(\x05\x12\x11\n\tmax_confs\x18\x02 \x01(\x05\x12\x0f\n\x07\x61\x63\x63ount\x18\x03 \x01(\t\"1\n\x13ListUnspentResponse\x12\x1a\n\x05utxos\x18\x01 \x03(\x0b\x32\x0b.lnrpc.Utxo\"_\n\x12LeaseOutputRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12!\n\x08outpoint\x18\x02 \x01(\x0b\x32\x0f.lnrpc.OutPoint\x12\x1a\n\x12\x65xpiration_seconds\x18\x03 \x01(\x04\")\n\x13LeaseOutputResponse\x12\x12\n\nexpiration\x18\x01 \x01(\x04\"E\n\x14ReleaseOutputRequest\x12\n\n\x02id\x18\x01 \x01(\x0c\x12!\n\x08outpoint\x18\x02 \x01(\x0b\x32\x0f.lnrpc.OutPoint\"\x17\n\x15ReleaseOutputResponse\"6\n\x06KeyReq\x12\x18\n\x10key_finger_print\x18\x01 \x01(\x05\x12\x12\n\nkey_family\x18\x02 \x01(\x05\"\x1e\n\x0b\x41\x64\x64rRequest\x12\x0f\n\x07\x61\x63\x63ount\x18\x01 \x01(\t\"\x1c\n\x0c\x41\x64\x64rResponse\x12\x0c\n\x04\x61\x64\x64r\x18\x01 \x01(\t\"\xe7\x01\n\x07\x41\x63\x63ount\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x0c\x61\x64\x64ress_type\x18\x02 \x01(\x0e\x32\x16.walletrpc.AddressType\x12\x1b\n\x13\x65xtended_public_key\x18\x03 \x01(\t\x12\x1e\n\x16master_key_fingerprint\x18\x04 \x01(\x0c\x12\x17\n\x0f\x64\x65rivation_path\x18\x05 \x01(\t\x12\x1a\n\x12\x65xternal_key_count\x18\x06 \x01(\r\x12\x1a\n\x12internal_key_count\x18\x07 \x01(\r\x12\x12\n\nwatch_only\x18\x08 \x01(\x08\"Q\n\x13ListAccountsRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12,\n\x0c\x61\x64\x64ress_type\x18\x02 \x01(\x0e\x32\x16.walletrpc.AddressType\"<\n\x14ListAccountsResponse\x12$\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32\x12.walletrpc.Account\"\xa0\x01\n\x14ImportAccountRequest\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x13\x65xtended_public_key\x18\x02 \x01(\t\x12\x1e\n\x16master_key_fingerprint\x18\x03 \x01(\x0c\x12,\n\x0c\x61\x64\x64ress_type\x18\x04 \x01(\x0e\x32\x16.walletrpc.AddressType\x12\x0f\n\x07\x64ry_run\x18\x05 \x01(\x08\"|\n\x15ImportAccountResponse\x12#\n\x07\x61\x63\x63ount\x18\x01 \x01(\x0b\x32\x12.walletrpc.Account\x12\x1e\n\x16\x64ry_run_external_addrs\x18\x02 \x03(\t\x12\x1e\n\x16\x64ry_run_internal_addrs\x18\x03 \x03(\t\"Z\n\x16ImportPublicKeyRequest\x12\x12\n\npublic_key\x18\x01 \x01(\x0c\x12,\n\x0c\x61\x64\x64ress_type\x18\x02 \x01(\x0e\x32\x16.walletrpc.AddressType\"\x19\n\x17ImportPublicKeyResponse\",\n\x0bTransaction\x12\x0e\n\x06tx_hex\x18\x01 \x01(\x0c\x12\r\n\x05label\x18\x02 \x01(\t\"(\n\x0fPublishResponse\x12\x15\n\rpublish_error\x18\x01 \x01(\t\"\x86\x01\n\x12SendOutputsRequest\x12\x12\n\nsat_per_kw\x18\x01 \x01(\x03\x12\x1f\n\x07outputs\x18\x02 \x03(\x0b\x32\x0e.signrpc.TxOut\x12\r\n\x05label\x18\x03 \x01(\t\x12\x11\n\tmin_confs\x18\x04 \x01(\x05\x12\x19\n\x11spend_unconfirmed\x18\x05 \x01(\x08\"%\n\x13SendOutputsResponse\x12\x0e\n\x06raw_tx\x18\x01 \x01(\x0c\")\n\x12\x45stimateFeeRequest\x12\x13\n\x0b\x63onf_target\x18\x01 \x01(\x05\")\n\x13\x45stimateFeeResponse\x12\x12\n\nsat_per_kw\x18\x01 \x01(\x03\"\xd2\x02\n\x0cPendingSweep\x12!\n\x08outpoint\x18\x01 \x01(\x0b\x32\x0f.lnrpc.OutPoint\x12,\n\x0cwitness_type\x18\x02 \x01(\x0e\x32\x16.walletrpc.WitnessType\x12\x12\n\namount_sat\x18\x03 \x01(\r\x12\x18\n\x0csat_per_byte\x18\x04 \x01(\rB\x02\x18\x01\x12\x1a\n\x12\x62roadcast_attempts\x18\x05 \x01(\r\x12\x1d\n\x15next_broadcast_height\x18\x06 \x01(\r\x12\x1d\n\x15requested_conf_target\x18\x08 \x01(\r\x12\"\n\x16requested_sat_per_byte\x18\t \x01(\rB\x02\x18\x01\x12\x15\n\rsat_per_vbyte\x18\n \x01(\x04\x12\x1f\n\x17requested_sat_per_vbyte\x18\x0b \x01(\x04\x12\r\n\x05\x66orce\x18\x07 \x01(\x08\"\x16\n\x14PendingSweepsRequest\"H\n\x15PendingSweepsResponse\x12/\n\x0epending_sweeps\x18\x01 \x03(\x0b\x32\x17.walletrpc.PendingSweep\"\x88\x01\n\x0e\x42umpFeeRequest\x12!\n\x08outpoint\x18\x01 \x01(\x0b\x32\x0f.lnrpc.OutPoint\x12\x13\n\x0btarget_conf\x18\x02 \x01(\r\x12\x18\n\x0csat_per_byte\x18\x03 \x01(\rB\x02\x18\x01\x12\r\n\x05\x66orce\x18\x04 \x01(\x08\x12\x15\n\rsat_per_vbyte\x18\x05 \x01(\x04\"\x11\n\x0f\x42umpFeeResponse\"$\n\x11ListSweepsRequest\x12\x0f\n\x07verbose\x18\x01 \x01(\x08\"\xcc\x01\n\x12ListSweepsResponse\x12\x38\n\x13transaction_details\x18\x01 \x01(\x0b\x32\x19.lnrpc.TransactionDetailsH\x00\x12G\n\x0ftransaction_ids\x18\x02 \x01(\x0b\x32,.walletrpc.ListSweepsResponse.TransactionIDsH\x00\x1a)\n\x0eTransactionIDs\x12\x17\n\x0ftransaction_ids\x18\x01 \x03(\tB\x08\n\x06sweeps\"I\n\x17LabelTransactionRequest\x12\x0c\n\x04txid\x18\x01 \x01(\x0c\x12\r\n\x05label\x18\x02 \x01(\t\x12\x11\n\toverwrite\x18\x03 \x01(\x08\"\x1a\n\x18LabelTransactionResponse\"\xca\x01\n\x0f\x46undPsbtRequest\x12\x0e\n\x04psbt\x18\x01 \x01(\x0cH\x00\x12$\n\x03raw\x18\x02 \x01(\x0b\x32\x15.walletrpc.TxTemplateH\x00\x12\x15\n\x0btarget_conf\x18\x03 \x01(\rH\x01\x12\x17\n\rsat_per_vbyte\x18\x04 \x01(\x04H\x01\x12\x0f\n\x07\x61\x63\x63ount\x18\x05 \x01(\t\x12\x11\n\tmin_confs\x18\x06 \x01(\x05\x12\x19\n\x11spend_unconfirmed\x18\x07 \x01(\x08\x42\n\n\x08templateB\x06\n\x04\x66\x65\x65s\"p\n\x10\x46undPsbtResponse\x12\x13\n\x0b\x66unded_psbt\x18\x01 \x01(\x0c\x12\x1b\n\x13\x63hange_output_index\x18\x02 \x01(\x05\x12*\n\x0clocked_utxos\x18\x03 \x03(\x0b\x32\x14.walletrpc.UtxoLease\"\x92\x01\n\nTxTemplate\x12\x1f\n\x06inputs\x18\x01 \x03(\x0b\x32\x0f.lnrpc.OutPoint\x12\x33\n\x07outputs\x18\x02 \x03(\x0b\x32\".walletrpc.TxTemplate.OutputsEntry\x1a.\n\x0cOutputsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\x04:\x02\x38\x01\"N\n\tUtxoLease\x12\n\n\x02id\x18\x01 \x01(\x0c\x12!\n\x08outpoint\x18\x02 \x01(\x0b\x32\x0f.lnrpc.OutPoint\x12\x12\n\nexpiration\x18\x03 \x01(\x04\";\n\x13\x46inalizePsbtRequest\x12\x13\n\x0b\x66unded_psbt\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61\x63\x63ount\x18\x05 \x01(\t\"A\n\x14\x46inalizePsbtResponse\x12\x13\n\x0bsigned_psbt\x18\x01 \x01(\x0c\x12\x14\n\x0craw_final_tx\x18\x02 \x01(\x0c\"\x13\n\x11ListLeasesRequest\"@\n\x12ListLeasesResponse\x12*\n\x0clocked_utxos\x18\x01 \x03(\x0b\x32\x14.walletrpc.UtxoLease*z\n\x0b\x41\x64\x64ressType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x17\n\x13WITNESS_PUBKEY_HASH\x10\x01\x12\x1e\n\x1aNESTED_WITNESS_PUBKEY_HASH\x10\x02\x12%\n!HYBRID_NESTED_WITNESS_PUBKEY_HASH\x10\x03*\x99\x03\n\x0bWitnessType\x12\x13\n\x0fUNKNOWN_WITNESS\x10\x00\x12\x18\n\x14\x43OMMITMENT_TIME_LOCK\x10\x01\x12\x17\n\x13\x43OMMITMENT_NO_DELAY\x10\x02\x12\x15\n\x11\x43OMMITMENT_REVOKE\x10\x03\x12\x17\n\x13HTLC_OFFERED_REVOKE\x10\x04\x12\x18\n\x14HTLC_ACCEPTED_REVOKE\x10\x05\x12%\n!HTLC_OFFERED_TIMEOUT_SECOND_LEVEL\x10\x06\x12&\n\"HTLC_ACCEPTED_SUCCESS_SECOND_LEVEL\x10\x07\x12\x1f\n\x1bHTLC_OFFERED_REMOTE_TIMEOUT\x10\x08\x12 \n\x1cHTLC_ACCEPTED_REMOTE_SUCCESS\x10\t\x12\x1c\n\x18HTLC_SECOND_LEVEL_REVOKE\x10\n\x12\x14\n\x10WITNESS_KEY_HASH\x10\x0b\x12\x1b\n\x17NESTED_WITNESS_KEY_HASH\x10\x0c\x12\x15\n\x11\x43OMMITMENT_ANCHOR\x10\r2\xb2\x0b\n\tWalletKit\x12L\n\x0bListUnspent\x12\x1d.walletrpc.ListUnspentRequest\x1a\x1e.walletrpc.ListUnspentResponse\x12L\n\x0bLeaseOutput\x12\x1d.walletrpc.LeaseOutputRequest\x1a\x1e.walletrpc.LeaseOutputResponse\x12R\n\rReleaseOutput\x12\x1f.walletrpc.ReleaseOutputRequest\x1a .walletrpc.ReleaseOutputResponse\x12I\n\nListLeases\x12\x1c.walletrpc.ListLeasesRequest\x1a\x1d.walletrpc.ListLeasesResponse\x12:\n\rDeriveNextKey\x12\x11.walletrpc.KeyReq\x1a\x16.signrpc.KeyDescriptor\x12\x38\n\tDeriveKey\x12\x13.signrpc.KeyLocator\x1a\x16.signrpc.KeyDescriptor\x12;\n\x08NextAddr\x12\x16.walletrpc.AddrRequest\x1a\x17.walletrpc.AddrResponse\x12O\n\x0cListAccounts\x12\x1e.walletrpc.ListAccountsRequest\x1a\x1f.walletrpc.ListAccountsResponse\x12R\n\rImportAccount\x12\x1f.walletrpc.ImportAccountRequest\x1a .walletrpc.ImportAccountResponse\x12X\n\x0fImportPublicKey\x12!.walletrpc.ImportPublicKeyRequest\x1a\".walletrpc.ImportPublicKeyResponse\x12H\n\x12PublishTransaction\x12\x16.walletrpc.Transaction\x1a\x1a.walletrpc.PublishResponse\x12L\n\x0bSendOutputs\x12\x1d.walletrpc.SendOutputsRequest\x1a\x1e.walletrpc.SendOutputsResponse\x12L\n\x0b\x45stimateFee\x12\x1d.walletrpc.EstimateFeeRequest\x1a\x1e.walletrpc.EstimateFeeResponse\x12R\n\rPendingSweeps\x12\x1f.walletrpc.PendingSweepsRequest\x1a .walletrpc.PendingSweepsResponse\x12@\n\x07\x42umpFee\x12\x19.walletrpc.BumpFeeRequest\x1a\x1a.walletrpc.BumpFeeResponse\x12I\n\nListSweeps\x12\x1c.walletrpc.ListSweepsRequest\x1a\x1d.walletrpc.ListSweepsResponse\x12[\n\x10LabelTransaction\x12\".walletrpc.LabelTransactionRequest\x1a#.walletrpc.LabelTransactionResponse\x12\x43\n\x08\x46undPsbt\x12\x1a.walletrpc.FundPsbtRequest\x1a\x1b.walletrpc.FundPsbtResponse\x12O\n\x0c\x46inalizePsbt\x12\x1e.walletrpc.FinalizePsbtRequest\x1a\x1f.walletrpc.FinalizePsbtResponseB1Z/github.com/lightningnetwork/lnd/lnrpc/walletrpcb\x06proto3' + , + dependencies=[v0131beta_dot_rpc__pb2.DESCRIPTOR,v0131beta_dot_signrpc_dot_signer__pb2.DESCRIPTOR,]) + +_ADDRESSTYPE = _descriptor.EnumDescriptor( + name='AddressType', + full_name='walletrpc.AddressType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='WITNESS_PUBKEY_HASH', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='NESTED_WITNESS_PUBKEY_HASH', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HYBRID_NESTED_WITNESS_PUBKEY_HASH', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=3430, + serialized_end=3552, +) +_sym_db.RegisterEnumDescriptor(_ADDRESSTYPE) + +AddressType = enum_type_wrapper.EnumTypeWrapper(_ADDRESSTYPE) +_WITNESSTYPE = _descriptor.EnumDescriptor( + name='WitnessType', + full_name='walletrpc.WitnessType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='UNKNOWN_WITNESS', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='COMMITMENT_TIME_LOCK', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='COMMITMENT_NO_DELAY', index=2, number=2, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='COMMITMENT_REVOKE', index=3, number=3, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HTLC_OFFERED_REVOKE', index=4, number=4, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HTLC_ACCEPTED_REVOKE', index=5, number=5, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HTLC_OFFERED_TIMEOUT_SECOND_LEVEL', index=6, number=6, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HTLC_ACCEPTED_SUCCESS_SECOND_LEVEL', index=7, number=7, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HTLC_OFFERED_REMOTE_TIMEOUT', index=8, number=8, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HTLC_ACCEPTED_REMOTE_SUCCESS', index=9, number=9, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='HTLC_SECOND_LEVEL_REVOKE', index=10, number=10, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='WITNESS_KEY_HASH', index=11, number=11, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='NESTED_WITNESS_KEY_HASH', index=12, number=12, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='COMMITMENT_ANCHOR', index=13, number=13, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=3555, + serialized_end=3964, +) +_sym_db.RegisterEnumDescriptor(_WITNESSTYPE) + +WitnessType = enum_type_wrapper.EnumTypeWrapper(_WITNESSTYPE) +UNKNOWN = 0 +WITNESS_PUBKEY_HASH = 1 +NESTED_WITNESS_PUBKEY_HASH = 2 +HYBRID_NESTED_WITNESS_PUBKEY_HASH = 3 +UNKNOWN_WITNESS = 0 +COMMITMENT_TIME_LOCK = 1 +COMMITMENT_NO_DELAY = 2 +COMMITMENT_REVOKE = 3 +HTLC_OFFERED_REVOKE = 4 +HTLC_ACCEPTED_REVOKE = 5 +HTLC_OFFERED_TIMEOUT_SECOND_LEVEL = 6 +HTLC_ACCEPTED_SUCCESS_SECOND_LEVEL = 7 +HTLC_OFFERED_REMOTE_TIMEOUT = 8 +HTLC_ACCEPTED_REMOTE_SUCCESS = 9 +HTLC_SECOND_LEVEL_REVOKE = 10 +WITNESS_KEY_HASH = 11 +NESTED_WITNESS_KEY_HASH = 12 +COMMITMENT_ANCHOR = 13 + + + +_LISTUNSPENTREQUEST = _descriptor.Descriptor( + name='ListUnspentRequest', + full_name='walletrpc.ListUnspentRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='min_confs', full_name='walletrpc.ListUnspentRequest.min_confs', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_confs', full_name='walletrpc.ListUnspentRequest.max_confs', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='account', full_name='walletrpc.ListUnspentRequest.account', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=103, + serialized_end=178, +) + + +_LISTUNSPENTRESPONSE = _descriptor.Descriptor( + name='ListUnspentResponse', + full_name='walletrpc.ListUnspentResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='utxos', full_name='walletrpc.ListUnspentResponse.utxos', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=180, + serialized_end=229, +) + + +_LEASEOUTPUTREQUEST = _descriptor.Descriptor( + name='LeaseOutputRequest', + full_name='walletrpc.LeaseOutputRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='walletrpc.LeaseOutputRequest.id', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outpoint', full_name='walletrpc.LeaseOutputRequest.outpoint', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='expiration_seconds', full_name='walletrpc.LeaseOutputRequest.expiration_seconds', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=231, + serialized_end=326, +) + + +_LEASEOUTPUTRESPONSE = _descriptor.Descriptor( + name='LeaseOutputResponse', + full_name='walletrpc.LeaseOutputResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='expiration', full_name='walletrpc.LeaseOutputResponse.expiration', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=328, + serialized_end=369, +) + + +_RELEASEOUTPUTREQUEST = _descriptor.Descriptor( + name='ReleaseOutputRequest', + full_name='walletrpc.ReleaseOutputRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='walletrpc.ReleaseOutputRequest.id', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outpoint', full_name='walletrpc.ReleaseOutputRequest.outpoint', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=371, + serialized_end=440, +) + + +_RELEASEOUTPUTRESPONSE = _descriptor.Descriptor( + name='ReleaseOutputResponse', + full_name='walletrpc.ReleaseOutputResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=442, + serialized_end=465, +) + + +_KEYREQ = _descriptor.Descriptor( + name='KeyReq', + full_name='walletrpc.KeyReq', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key_finger_print', full_name='walletrpc.KeyReq.key_finger_print', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='key_family', full_name='walletrpc.KeyReq.key_family', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=467, + serialized_end=521, +) + + +_ADDRREQUEST = _descriptor.Descriptor( + name='AddrRequest', + full_name='walletrpc.AddrRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='account', full_name='walletrpc.AddrRequest.account', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=523, + serialized_end=553, +) + + +_ADDRRESPONSE = _descriptor.Descriptor( + name='AddrResponse', + full_name='walletrpc.AddrResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='addr', full_name='walletrpc.AddrResponse.addr', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=555, + serialized_end=583, +) + + +_ACCOUNT = _descriptor.Descriptor( + name='Account', + full_name='walletrpc.Account', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='walletrpc.Account.name', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='address_type', full_name='walletrpc.Account.address_type', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extended_public_key', full_name='walletrpc.Account.extended_public_key', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='master_key_fingerprint', full_name='walletrpc.Account.master_key_fingerprint', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='derivation_path', full_name='walletrpc.Account.derivation_path', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='external_key_count', full_name='walletrpc.Account.external_key_count', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='internal_key_count', full_name='walletrpc.Account.internal_key_count', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='watch_only', full_name='walletrpc.Account.watch_only', index=7, + number=8, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=586, + serialized_end=817, +) + + +_LISTACCOUNTSREQUEST = _descriptor.Descriptor( + name='ListAccountsRequest', + full_name='walletrpc.ListAccountsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='walletrpc.ListAccountsRequest.name', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='address_type', full_name='walletrpc.ListAccountsRequest.address_type', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=819, + serialized_end=900, +) + + +_LISTACCOUNTSRESPONSE = _descriptor.Descriptor( + name='ListAccountsResponse', + full_name='walletrpc.ListAccountsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='accounts', full_name='walletrpc.ListAccountsResponse.accounts', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=902, + serialized_end=962, +) + + +_IMPORTACCOUNTREQUEST = _descriptor.Descriptor( + name='ImportAccountRequest', + full_name='walletrpc.ImportAccountRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='name', full_name='walletrpc.ImportAccountRequest.name', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='extended_public_key', full_name='walletrpc.ImportAccountRequest.extended_public_key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='master_key_fingerprint', full_name='walletrpc.ImportAccountRequest.master_key_fingerprint', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='address_type', full_name='walletrpc.ImportAccountRequest.address_type', index=3, + number=4, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dry_run', full_name='walletrpc.ImportAccountRequest.dry_run', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=965, + serialized_end=1125, +) + + +_IMPORTACCOUNTRESPONSE = _descriptor.Descriptor( + name='ImportAccountResponse', + full_name='walletrpc.ImportAccountResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='account', full_name='walletrpc.ImportAccountResponse.account', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dry_run_external_addrs', full_name='walletrpc.ImportAccountResponse.dry_run_external_addrs', index=1, + number=2, type=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='dry_run_internal_addrs', full_name='walletrpc.ImportAccountResponse.dry_run_internal_addrs', index=2, + number=3, type=9, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1127, + serialized_end=1251, +) + + +_IMPORTPUBLICKEYREQUEST = _descriptor.Descriptor( + name='ImportPublicKeyRequest', + full_name='walletrpc.ImportPublicKeyRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='public_key', full_name='walletrpc.ImportPublicKeyRequest.public_key', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='address_type', full_name='walletrpc.ImportPublicKeyRequest.address_type', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1253, + serialized_end=1343, +) + + +_IMPORTPUBLICKEYRESPONSE = _descriptor.Descriptor( + name='ImportPublicKeyResponse', + full_name='walletrpc.ImportPublicKeyResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1345, + serialized_end=1370, +) + + +_TRANSACTION = _descriptor.Descriptor( + name='Transaction', + full_name='walletrpc.Transaction', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='tx_hex', full_name='walletrpc.Transaction.tx_hex', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='label', full_name='walletrpc.Transaction.label', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1372, + serialized_end=1416, +) + + +_PUBLISHRESPONSE = _descriptor.Descriptor( + name='PublishResponse', + full_name='walletrpc.PublishResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='publish_error', full_name='walletrpc.PublishResponse.publish_error', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1418, + serialized_end=1458, +) + + +_SENDOUTPUTSREQUEST = _descriptor.Descriptor( + name='SendOutputsRequest', + full_name='walletrpc.SendOutputsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='sat_per_kw', full_name='walletrpc.SendOutputsRequest.sat_per_kw', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outputs', full_name='walletrpc.SendOutputsRequest.outputs', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='label', full_name='walletrpc.SendOutputsRequest.label', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_confs', full_name='walletrpc.SendOutputsRequest.min_confs', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spend_unconfirmed', full_name='walletrpc.SendOutputsRequest.spend_unconfirmed', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1461, + serialized_end=1595, +) + + +_SENDOUTPUTSRESPONSE = _descriptor.Descriptor( + name='SendOutputsResponse', + full_name='walletrpc.SendOutputsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='raw_tx', full_name='walletrpc.SendOutputsResponse.raw_tx', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1597, + serialized_end=1634, +) + + +_ESTIMATEFEEREQUEST = _descriptor.Descriptor( + name='EstimateFeeRequest', + full_name='walletrpc.EstimateFeeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='conf_target', full_name='walletrpc.EstimateFeeRequest.conf_target', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1636, + serialized_end=1677, +) + + +_ESTIMATEFEERESPONSE = _descriptor.Descriptor( + name='EstimateFeeResponse', + full_name='walletrpc.EstimateFeeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='sat_per_kw', full_name='walletrpc.EstimateFeeResponse.sat_per_kw', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1679, + serialized_end=1720, +) + + +_PENDINGSWEEP = _descriptor.Descriptor( + name='PendingSweep', + full_name='walletrpc.PendingSweep', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='outpoint', full_name='walletrpc.PendingSweep.outpoint', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='witness_type', full_name='walletrpc.PendingSweep.witness_type', index=1, + number=2, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='amount_sat', full_name='walletrpc.PendingSweep.amount_sat', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_byte', full_name='walletrpc.PendingSweep.sat_per_byte', index=3, + number=4, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='broadcast_attempts', full_name='walletrpc.PendingSweep.broadcast_attempts', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='next_broadcast_height', full_name='walletrpc.PendingSweep.next_broadcast_height', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='requested_conf_target', full_name='walletrpc.PendingSweep.requested_conf_target', index=6, + number=8, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='requested_sat_per_byte', full_name='walletrpc.PendingSweep.requested_sat_per_byte', index=7, + number=9, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_vbyte', full_name='walletrpc.PendingSweep.sat_per_vbyte', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='requested_sat_per_vbyte', full_name='walletrpc.PendingSweep.requested_sat_per_vbyte', index=9, + 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='force', full_name='walletrpc.PendingSweep.force', index=10, + number=7, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1723, + serialized_end=2061, +) + + +_PENDINGSWEEPSREQUEST = _descriptor.Descriptor( + name='PendingSweepsRequest', + full_name='walletrpc.PendingSweepsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2063, + serialized_end=2085, +) + + +_PENDINGSWEEPSRESPONSE = _descriptor.Descriptor( + name='PendingSweepsResponse', + full_name='walletrpc.PendingSweepsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pending_sweeps', full_name='walletrpc.PendingSweepsResponse.pending_sweeps', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2087, + serialized_end=2159, +) + + +_BUMPFEEREQUEST = _descriptor.Descriptor( + name='BumpFeeRequest', + full_name='walletrpc.BumpFeeRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='outpoint', full_name='walletrpc.BumpFeeRequest.outpoint', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='target_conf', full_name='walletrpc.BumpFeeRequest.target_conf', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_byte', full_name='walletrpc.BumpFeeRequest.sat_per_byte', index=2, + number=3, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='force', full_name='walletrpc.BumpFeeRequest.force', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_vbyte', full_name='walletrpc.BumpFeeRequest.sat_per_vbyte', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2162, + serialized_end=2298, +) + + +_BUMPFEERESPONSE = _descriptor.Descriptor( + name='BumpFeeResponse', + full_name='walletrpc.BumpFeeResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2300, + serialized_end=2317, +) + + +_LISTSWEEPSREQUEST = _descriptor.Descriptor( + name='ListSweepsRequest', + full_name='walletrpc.ListSweepsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='verbose', full_name='walletrpc.ListSweepsRequest.verbose', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2319, + serialized_end=2355, +) + + +_LISTSWEEPSRESPONSE_TRANSACTIONIDS = _descriptor.Descriptor( + name='TransactionIDs', + full_name='walletrpc.ListSweepsResponse.TransactionIDs', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='transaction_ids', full_name='walletrpc.ListSweepsResponse.TransactionIDs.transaction_ids', index=0, + number=1, type=9, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2511, + serialized_end=2552, +) + +_LISTSWEEPSRESPONSE = _descriptor.Descriptor( + name='ListSweepsResponse', + full_name='walletrpc.ListSweepsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='transaction_details', full_name='walletrpc.ListSweepsResponse.transaction_details', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='transaction_ids', full_name='walletrpc.ListSweepsResponse.transaction_ids', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_LISTSWEEPSRESPONSE_TRANSACTIONIDS, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='sweeps', full_name='walletrpc.ListSweepsResponse.sweeps', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=2358, + serialized_end=2562, +) + + +_LABELTRANSACTIONREQUEST = _descriptor.Descriptor( + name='LabelTransactionRequest', + full_name='walletrpc.LabelTransactionRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='txid', full_name='walletrpc.LabelTransactionRequest.txid', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='label', full_name='walletrpc.LabelTransactionRequest.label', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='overwrite', full_name='walletrpc.LabelTransactionRequest.overwrite', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2564, + serialized_end=2637, +) + + +_LABELTRANSACTIONRESPONSE = _descriptor.Descriptor( + name='LabelTransactionResponse', + full_name='walletrpc.LabelTransactionResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2639, + serialized_end=2665, +) + + +_FUNDPSBTREQUEST = _descriptor.Descriptor( + name='FundPsbtRequest', + full_name='walletrpc.FundPsbtRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='psbt', full_name='walletrpc.FundPsbtRequest.psbt', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='raw', full_name='walletrpc.FundPsbtRequest.raw', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='target_conf', full_name='walletrpc.FundPsbtRequest.target_conf', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sat_per_vbyte', full_name='walletrpc.FundPsbtRequest.sat_per_vbyte', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='account', full_name='walletrpc.FundPsbtRequest.account', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='min_confs', full_name='walletrpc.FundPsbtRequest.min_confs', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='spend_unconfirmed', full_name='walletrpc.FundPsbtRequest.spend_unconfirmed', index=6, + number=7, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + _descriptor.OneofDescriptor( + name='template', full_name='walletrpc.FundPsbtRequest.template', + index=0, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + _descriptor.OneofDescriptor( + name='fees', full_name='walletrpc.FundPsbtRequest.fees', + index=1, containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[]), + ], + serialized_start=2668, + serialized_end=2870, +) + + +_FUNDPSBTRESPONSE = _descriptor.Descriptor( + name='FundPsbtResponse', + full_name='walletrpc.FundPsbtResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='funded_psbt', full_name='walletrpc.FundPsbtResponse.funded_psbt', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='change_output_index', full_name='walletrpc.FundPsbtResponse.change_output_index', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='locked_utxos', full_name='walletrpc.FundPsbtResponse.locked_utxos', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2872, + serialized_end=2984, +) + + +_TXTEMPLATE_OUTPUTSENTRY = _descriptor.Descriptor( + name='OutputsEntry', + full_name='walletrpc.TxTemplate.OutputsEntry', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='key', full_name='walletrpc.TxTemplate.OutputsEntry.key', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='value', full_name='walletrpc.TxTemplate.OutputsEntry.value', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=b'8\001', + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3087, + serialized_end=3133, +) + +_TXTEMPLATE = _descriptor.Descriptor( + name='TxTemplate', + full_name='walletrpc.TxTemplate', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='inputs', full_name='walletrpc.TxTemplate.inputs', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outputs', full_name='walletrpc.TxTemplate.outputs', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[_TXTEMPLATE_OUTPUTSENTRY, ], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=2987, + serialized_end=3133, +) + + +_UTXOLEASE = _descriptor.Descriptor( + name='UtxoLease', + full_name='walletrpc.UtxoLease', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='id', full_name='walletrpc.UtxoLease.id', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='outpoint', full_name='walletrpc.UtxoLease.outpoint', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='expiration', full_name='walletrpc.UtxoLease.expiration', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3135, + serialized_end=3213, +) + + +_FINALIZEPSBTREQUEST = _descriptor.Descriptor( + name='FinalizePsbtRequest', + full_name='walletrpc.FinalizePsbtRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='funded_psbt', full_name='walletrpc.FinalizePsbtRequest.funded_psbt', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='account', full_name='walletrpc.FinalizePsbtRequest.account', index=1, + 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3215, + serialized_end=3274, +) + + +_FINALIZEPSBTRESPONSE = _descriptor.Descriptor( + name='FinalizePsbtResponse', + full_name='walletrpc.FinalizePsbtResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='signed_psbt', full_name='walletrpc.FinalizePsbtResponse.signed_psbt', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='raw_final_tx', full_name='walletrpc.FinalizePsbtResponse.raw_final_tx', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3276, + serialized_end=3341, +) + + +_LISTLEASESREQUEST = _descriptor.Descriptor( + name='ListLeasesRequest', + full_name='walletrpc.ListLeasesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3343, + serialized_end=3362, +) + + +_LISTLEASESRESPONSE = _descriptor.Descriptor( + name='ListLeasesResponse', + full_name='walletrpc.ListLeasesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='locked_utxos', full_name='walletrpc.ListLeasesResponse.locked_utxos', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=3364, + serialized_end=3428, +) + +_LISTUNSPENTRESPONSE.fields_by_name['utxos'].message_type = v0131beta_dot_rpc__pb2._UTXO +_LEASEOUTPUTREQUEST.fields_by_name['outpoint'].message_type = v0131beta_dot_rpc__pb2._OUTPOINT +_RELEASEOUTPUTREQUEST.fields_by_name['outpoint'].message_type = v0131beta_dot_rpc__pb2._OUTPOINT +_ACCOUNT.fields_by_name['address_type'].enum_type = _ADDRESSTYPE +_LISTACCOUNTSREQUEST.fields_by_name['address_type'].enum_type = _ADDRESSTYPE +_LISTACCOUNTSRESPONSE.fields_by_name['accounts'].message_type = _ACCOUNT +_IMPORTACCOUNTREQUEST.fields_by_name['address_type'].enum_type = _ADDRESSTYPE +_IMPORTACCOUNTRESPONSE.fields_by_name['account'].message_type = _ACCOUNT +_IMPORTPUBLICKEYREQUEST.fields_by_name['address_type'].enum_type = _ADDRESSTYPE +_SENDOUTPUTSREQUEST.fields_by_name['outputs'].message_type = v0131beta_dot_signrpc_dot_signer__pb2._TXOUT +_PENDINGSWEEP.fields_by_name['outpoint'].message_type = v0131beta_dot_rpc__pb2._OUTPOINT +_PENDINGSWEEP.fields_by_name['witness_type'].enum_type = _WITNESSTYPE +_PENDINGSWEEPSRESPONSE.fields_by_name['pending_sweeps'].message_type = _PENDINGSWEEP +_BUMPFEEREQUEST.fields_by_name['outpoint'].message_type = v0131beta_dot_rpc__pb2._OUTPOINT +_LISTSWEEPSRESPONSE_TRANSACTIONIDS.containing_type = _LISTSWEEPSRESPONSE +_LISTSWEEPSRESPONSE.fields_by_name['transaction_details'].message_type = v0131beta_dot_rpc__pb2._TRANSACTIONDETAILS +_LISTSWEEPSRESPONSE.fields_by_name['transaction_ids'].message_type = _LISTSWEEPSRESPONSE_TRANSACTIONIDS +_LISTSWEEPSRESPONSE.oneofs_by_name['sweeps'].fields.append( + _LISTSWEEPSRESPONSE.fields_by_name['transaction_details']) +_LISTSWEEPSRESPONSE.fields_by_name['transaction_details'].containing_oneof = _LISTSWEEPSRESPONSE.oneofs_by_name['sweeps'] +_LISTSWEEPSRESPONSE.oneofs_by_name['sweeps'].fields.append( + _LISTSWEEPSRESPONSE.fields_by_name['transaction_ids']) +_LISTSWEEPSRESPONSE.fields_by_name['transaction_ids'].containing_oneof = _LISTSWEEPSRESPONSE.oneofs_by_name['sweeps'] +_FUNDPSBTREQUEST.fields_by_name['raw'].message_type = _TXTEMPLATE +_FUNDPSBTREQUEST.oneofs_by_name['template'].fields.append( + _FUNDPSBTREQUEST.fields_by_name['psbt']) +_FUNDPSBTREQUEST.fields_by_name['psbt'].containing_oneof = _FUNDPSBTREQUEST.oneofs_by_name['template'] +_FUNDPSBTREQUEST.oneofs_by_name['template'].fields.append( + _FUNDPSBTREQUEST.fields_by_name['raw']) +_FUNDPSBTREQUEST.fields_by_name['raw'].containing_oneof = _FUNDPSBTREQUEST.oneofs_by_name['template'] +_FUNDPSBTREQUEST.oneofs_by_name['fees'].fields.append( + _FUNDPSBTREQUEST.fields_by_name['target_conf']) +_FUNDPSBTREQUEST.fields_by_name['target_conf'].containing_oneof = _FUNDPSBTREQUEST.oneofs_by_name['fees'] +_FUNDPSBTREQUEST.oneofs_by_name['fees'].fields.append( + _FUNDPSBTREQUEST.fields_by_name['sat_per_vbyte']) +_FUNDPSBTREQUEST.fields_by_name['sat_per_vbyte'].containing_oneof = _FUNDPSBTREQUEST.oneofs_by_name['fees'] +_FUNDPSBTRESPONSE.fields_by_name['locked_utxos'].message_type = _UTXOLEASE +_TXTEMPLATE_OUTPUTSENTRY.containing_type = _TXTEMPLATE +_TXTEMPLATE.fields_by_name['inputs'].message_type = v0131beta_dot_rpc__pb2._OUTPOINT +_TXTEMPLATE.fields_by_name['outputs'].message_type = _TXTEMPLATE_OUTPUTSENTRY +_UTXOLEASE.fields_by_name['outpoint'].message_type = v0131beta_dot_rpc__pb2._OUTPOINT +_LISTLEASESRESPONSE.fields_by_name['locked_utxos'].message_type = _UTXOLEASE +DESCRIPTOR.message_types_by_name['ListUnspentRequest'] = _LISTUNSPENTREQUEST +DESCRIPTOR.message_types_by_name['ListUnspentResponse'] = _LISTUNSPENTRESPONSE +DESCRIPTOR.message_types_by_name['LeaseOutputRequest'] = _LEASEOUTPUTREQUEST +DESCRIPTOR.message_types_by_name['LeaseOutputResponse'] = _LEASEOUTPUTRESPONSE +DESCRIPTOR.message_types_by_name['ReleaseOutputRequest'] = _RELEASEOUTPUTREQUEST +DESCRIPTOR.message_types_by_name['ReleaseOutputResponse'] = _RELEASEOUTPUTRESPONSE +DESCRIPTOR.message_types_by_name['KeyReq'] = _KEYREQ +DESCRIPTOR.message_types_by_name['AddrRequest'] = _ADDRREQUEST +DESCRIPTOR.message_types_by_name['AddrResponse'] = _ADDRRESPONSE +DESCRIPTOR.message_types_by_name['Account'] = _ACCOUNT +DESCRIPTOR.message_types_by_name['ListAccountsRequest'] = _LISTACCOUNTSREQUEST +DESCRIPTOR.message_types_by_name['ListAccountsResponse'] = _LISTACCOUNTSRESPONSE +DESCRIPTOR.message_types_by_name['ImportAccountRequest'] = _IMPORTACCOUNTREQUEST +DESCRIPTOR.message_types_by_name['ImportAccountResponse'] = _IMPORTACCOUNTRESPONSE +DESCRIPTOR.message_types_by_name['ImportPublicKeyRequest'] = _IMPORTPUBLICKEYREQUEST +DESCRIPTOR.message_types_by_name['ImportPublicKeyResponse'] = _IMPORTPUBLICKEYRESPONSE +DESCRIPTOR.message_types_by_name['Transaction'] = _TRANSACTION +DESCRIPTOR.message_types_by_name['PublishResponse'] = _PUBLISHRESPONSE +DESCRIPTOR.message_types_by_name['SendOutputsRequest'] = _SENDOUTPUTSREQUEST +DESCRIPTOR.message_types_by_name['SendOutputsResponse'] = _SENDOUTPUTSRESPONSE +DESCRIPTOR.message_types_by_name['EstimateFeeRequest'] = _ESTIMATEFEEREQUEST +DESCRIPTOR.message_types_by_name['EstimateFeeResponse'] = _ESTIMATEFEERESPONSE +DESCRIPTOR.message_types_by_name['PendingSweep'] = _PENDINGSWEEP +DESCRIPTOR.message_types_by_name['PendingSweepsRequest'] = _PENDINGSWEEPSREQUEST +DESCRIPTOR.message_types_by_name['PendingSweepsResponse'] = _PENDINGSWEEPSRESPONSE +DESCRIPTOR.message_types_by_name['BumpFeeRequest'] = _BUMPFEEREQUEST +DESCRIPTOR.message_types_by_name['BumpFeeResponse'] = _BUMPFEERESPONSE +DESCRIPTOR.message_types_by_name['ListSweepsRequest'] = _LISTSWEEPSREQUEST +DESCRIPTOR.message_types_by_name['ListSweepsResponse'] = _LISTSWEEPSRESPONSE +DESCRIPTOR.message_types_by_name['LabelTransactionRequest'] = _LABELTRANSACTIONREQUEST +DESCRIPTOR.message_types_by_name['LabelTransactionResponse'] = _LABELTRANSACTIONRESPONSE +DESCRIPTOR.message_types_by_name['FundPsbtRequest'] = _FUNDPSBTREQUEST +DESCRIPTOR.message_types_by_name['FundPsbtResponse'] = _FUNDPSBTRESPONSE +DESCRIPTOR.message_types_by_name['TxTemplate'] = _TXTEMPLATE +DESCRIPTOR.message_types_by_name['UtxoLease'] = _UTXOLEASE +DESCRIPTOR.message_types_by_name['FinalizePsbtRequest'] = _FINALIZEPSBTREQUEST +DESCRIPTOR.message_types_by_name['FinalizePsbtResponse'] = _FINALIZEPSBTRESPONSE +DESCRIPTOR.message_types_by_name['ListLeasesRequest'] = _LISTLEASESREQUEST +DESCRIPTOR.message_types_by_name['ListLeasesResponse'] = _LISTLEASESRESPONSE +DESCRIPTOR.enum_types_by_name['AddressType'] = _ADDRESSTYPE +DESCRIPTOR.enum_types_by_name['WitnessType'] = _WITNESSTYPE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +ListUnspentRequest = _reflection.GeneratedProtocolMessageType('ListUnspentRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTUNSPENTREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ListUnspentRequest) + }) +_sym_db.RegisterMessage(ListUnspentRequest) + +ListUnspentResponse = _reflection.GeneratedProtocolMessageType('ListUnspentResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTUNSPENTRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ListUnspentResponse) + }) +_sym_db.RegisterMessage(ListUnspentResponse) + +LeaseOutputRequest = _reflection.GeneratedProtocolMessageType('LeaseOutputRequest', (_message.Message,), { + 'DESCRIPTOR' : _LEASEOUTPUTREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.LeaseOutputRequest) + }) +_sym_db.RegisterMessage(LeaseOutputRequest) + +LeaseOutputResponse = _reflection.GeneratedProtocolMessageType('LeaseOutputResponse', (_message.Message,), { + 'DESCRIPTOR' : _LEASEOUTPUTRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.LeaseOutputResponse) + }) +_sym_db.RegisterMessage(LeaseOutputResponse) + +ReleaseOutputRequest = _reflection.GeneratedProtocolMessageType('ReleaseOutputRequest', (_message.Message,), { + 'DESCRIPTOR' : _RELEASEOUTPUTREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ReleaseOutputRequest) + }) +_sym_db.RegisterMessage(ReleaseOutputRequest) + +ReleaseOutputResponse = _reflection.GeneratedProtocolMessageType('ReleaseOutputResponse', (_message.Message,), { + 'DESCRIPTOR' : _RELEASEOUTPUTRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ReleaseOutputResponse) + }) +_sym_db.RegisterMessage(ReleaseOutputResponse) + +KeyReq = _reflection.GeneratedProtocolMessageType('KeyReq', (_message.Message,), { + 'DESCRIPTOR' : _KEYREQ, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.KeyReq) + }) +_sym_db.RegisterMessage(KeyReq) + +AddrRequest = _reflection.GeneratedProtocolMessageType('AddrRequest', (_message.Message,), { + 'DESCRIPTOR' : _ADDRREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.AddrRequest) + }) +_sym_db.RegisterMessage(AddrRequest) + +AddrResponse = _reflection.GeneratedProtocolMessageType('AddrResponse', (_message.Message,), { + 'DESCRIPTOR' : _ADDRRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.AddrResponse) + }) +_sym_db.RegisterMessage(AddrResponse) + +Account = _reflection.GeneratedProtocolMessageType('Account', (_message.Message,), { + 'DESCRIPTOR' : _ACCOUNT, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.Account) + }) +_sym_db.RegisterMessage(Account) + +ListAccountsRequest = _reflection.GeneratedProtocolMessageType('ListAccountsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTACCOUNTSREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ListAccountsRequest) + }) +_sym_db.RegisterMessage(ListAccountsRequest) + +ListAccountsResponse = _reflection.GeneratedProtocolMessageType('ListAccountsResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTACCOUNTSRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ListAccountsResponse) + }) +_sym_db.RegisterMessage(ListAccountsResponse) + +ImportAccountRequest = _reflection.GeneratedProtocolMessageType('ImportAccountRequest', (_message.Message,), { + 'DESCRIPTOR' : _IMPORTACCOUNTREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ImportAccountRequest) + }) +_sym_db.RegisterMessage(ImportAccountRequest) + +ImportAccountResponse = _reflection.GeneratedProtocolMessageType('ImportAccountResponse', (_message.Message,), { + 'DESCRIPTOR' : _IMPORTACCOUNTRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ImportAccountResponse) + }) +_sym_db.RegisterMessage(ImportAccountResponse) + +ImportPublicKeyRequest = _reflection.GeneratedProtocolMessageType('ImportPublicKeyRequest', (_message.Message,), { + 'DESCRIPTOR' : _IMPORTPUBLICKEYREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ImportPublicKeyRequest) + }) +_sym_db.RegisterMessage(ImportPublicKeyRequest) + +ImportPublicKeyResponse = _reflection.GeneratedProtocolMessageType('ImportPublicKeyResponse', (_message.Message,), { + 'DESCRIPTOR' : _IMPORTPUBLICKEYRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ImportPublicKeyResponse) + }) +_sym_db.RegisterMessage(ImportPublicKeyResponse) + +Transaction = _reflection.GeneratedProtocolMessageType('Transaction', (_message.Message,), { + 'DESCRIPTOR' : _TRANSACTION, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.Transaction) + }) +_sym_db.RegisterMessage(Transaction) + +PublishResponse = _reflection.GeneratedProtocolMessageType('PublishResponse', (_message.Message,), { + 'DESCRIPTOR' : _PUBLISHRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.PublishResponse) + }) +_sym_db.RegisterMessage(PublishResponse) + +SendOutputsRequest = _reflection.GeneratedProtocolMessageType('SendOutputsRequest', (_message.Message,), { + 'DESCRIPTOR' : _SENDOUTPUTSREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.SendOutputsRequest) + }) +_sym_db.RegisterMessage(SendOutputsRequest) + +SendOutputsResponse = _reflection.GeneratedProtocolMessageType('SendOutputsResponse', (_message.Message,), { + 'DESCRIPTOR' : _SENDOUTPUTSRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.SendOutputsResponse) + }) +_sym_db.RegisterMessage(SendOutputsResponse) + +EstimateFeeRequest = _reflection.GeneratedProtocolMessageType('EstimateFeeRequest', (_message.Message,), { + 'DESCRIPTOR' : _ESTIMATEFEEREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.EstimateFeeRequest) + }) +_sym_db.RegisterMessage(EstimateFeeRequest) + +EstimateFeeResponse = _reflection.GeneratedProtocolMessageType('EstimateFeeResponse', (_message.Message,), { + 'DESCRIPTOR' : _ESTIMATEFEERESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.EstimateFeeResponse) + }) +_sym_db.RegisterMessage(EstimateFeeResponse) + +PendingSweep = _reflection.GeneratedProtocolMessageType('PendingSweep', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGSWEEP, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.PendingSweep) + }) +_sym_db.RegisterMessage(PendingSweep) + +PendingSweepsRequest = _reflection.GeneratedProtocolMessageType('PendingSweepsRequest', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGSWEEPSREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.PendingSweepsRequest) + }) +_sym_db.RegisterMessage(PendingSweepsRequest) + +PendingSweepsResponse = _reflection.GeneratedProtocolMessageType('PendingSweepsResponse', (_message.Message,), { + 'DESCRIPTOR' : _PENDINGSWEEPSRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.PendingSweepsResponse) + }) +_sym_db.RegisterMessage(PendingSweepsResponse) + +BumpFeeRequest = _reflection.GeneratedProtocolMessageType('BumpFeeRequest', (_message.Message,), { + 'DESCRIPTOR' : _BUMPFEEREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.BumpFeeRequest) + }) +_sym_db.RegisterMessage(BumpFeeRequest) + +BumpFeeResponse = _reflection.GeneratedProtocolMessageType('BumpFeeResponse', (_message.Message,), { + 'DESCRIPTOR' : _BUMPFEERESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.BumpFeeResponse) + }) +_sym_db.RegisterMessage(BumpFeeResponse) + +ListSweepsRequest = _reflection.GeneratedProtocolMessageType('ListSweepsRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTSWEEPSREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ListSweepsRequest) + }) +_sym_db.RegisterMessage(ListSweepsRequest) + +ListSweepsResponse = _reflection.GeneratedProtocolMessageType('ListSweepsResponse', (_message.Message,), { + + 'TransactionIDs' : _reflection.GeneratedProtocolMessageType('TransactionIDs', (_message.Message,), { + 'DESCRIPTOR' : _LISTSWEEPSRESPONSE_TRANSACTIONIDS, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ListSweepsResponse.TransactionIDs) + }) + , + 'DESCRIPTOR' : _LISTSWEEPSRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ListSweepsResponse) + }) +_sym_db.RegisterMessage(ListSweepsResponse) +_sym_db.RegisterMessage(ListSweepsResponse.TransactionIDs) + +LabelTransactionRequest = _reflection.GeneratedProtocolMessageType('LabelTransactionRequest', (_message.Message,), { + 'DESCRIPTOR' : _LABELTRANSACTIONREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.LabelTransactionRequest) + }) +_sym_db.RegisterMessage(LabelTransactionRequest) + +LabelTransactionResponse = _reflection.GeneratedProtocolMessageType('LabelTransactionResponse', (_message.Message,), { + 'DESCRIPTOR' : _LABELTRANSACTIONRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.LabelTransactionResponse) + }) +_sym_db.RegisterMessage(LabelTransactionResponse) + +FundPsbtRequest = _reflection.GeneratedProtocolMessageType('FundPsbtRequest', (_message.Message,), { + 'DESCRIPTOR' : _FUNDPSBTREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.FundPsbtRequest) + }) +_sym_db.RegisterMessage(FundPsbtRequest) + +FundPsbtResponse = _reflection.GeneratedProtocolMessageType('FundPsbtResponse', (_message.Message,), { + 'DESCRIPTOR' : _FUNDPSBTRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.FundPsbtResponse) + }) +_sym_db.RegisterMessage(FundPsbtResponse) + +TxTemplate = _reflection.GeneratedProtocolMessageType('TxTemplate', (_message.Message,), { + + 'OutputsEntry' : _reflection.GeneratedProtocolMessageType('OutputsEntry', (_message.Message,), { + 'DESCRIPTOR' : _TXTEMPLATE_OUTPUTSENTRY, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.TxTemplate.OutputsEntry) + }) + , + 'DESCRIPTOR' : _TXTEMPLATE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.TxTemplate) + }) +_sym_db.RegisterMessage(TxTemplate) +_sym_db.RegisterMessage(TxTemplate.OutputsEntry) + +UtxoLease = _reflection.GeneratedProtocolMessageType('UtxoLease', (_message.Message,), { + 'DESCRIPTOR' : _UTXOLEASE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.UtxoLease) + }) +_sym_db.RegisterMessage(UtxoLease) + +FinalizePsbtRequest = _reflection.GeneratedProtocolMessageType('FinalizePsbtRequest', (_message.Message,), { + 'DESCRIPTOR' : _FINALIZEPSBTREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.FinalizePsbtRequest) + }) +_sym_db.RegisterMessage(FinalizePsbtRequest) + +FinalizePsbtResponse = _reflection.GeneratedProtocolMessageType('FinalizePsbtResponse', (_message.Message,), { + 'DESCRIPTOR' : _FINALIZEPSBTRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.FinalizePsbtResponse) + }) +_sym_db.RegisterMessage(FinalizePsbtResponse) + +ListLeasesRequest = _reflection.GeneratedProtocolMessageType('ListLeasesRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTLEASESREQUEST, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ListLeasesRequest) + }) +_sym_db.RegisterMessage(ListLeasesRequest) + +ListLeasesResponse = _reflection.GeneratedProtocolMessageType('ListLeasesResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTLEASESRESPONSE, + '__module__' : 'v0131beta.walletrpc.walletkit_pb2' + # @@protoc_insertion_point(class_scope:walletrpc.ListLeasesResponse) + }) +_sym_db.RegisterMessage(ListLeasesResponse) + + +DESCRIPTOR._options = None +_PENDINGSWEEP.fields_by_name['sat_per_byte']._options = None +_PENDINGSWEEP.fields_by_name['requested_sat_per_byte']._options = None +_BUMPFEEREQUEST.fields_by_name['sat_per_byte']._options = None +_TXTEMPLATE_OUTPUTSENTRY._options = None + +_WALLETKIT = _descriptor.ServiceDescriptor( + name='WalletKit', + full_name='walletrpc.WalletKit', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=3967, + serialized_end=5425, + methods=[ + _descriptor.MethodDescriptor( + name='ListUnspent', + full_name='walletrpc.WalletKit.ListUnspent', + index=0, + containing_service=None, + input_type=_LISTUNSPENTREQUEST, + output_type=_LISTUNSPENTRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='LeaseOutput', + full_name='walletrpc.WalletKit.LeaseOutput', + index=1, + containing_service=None, + input_type=_LEASEOUTPUTREQUEST, + output_type=_LEASEOUTPUTRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ReleaseOutput', + full_name='walletrpc.WalletKit.ReleaseOutput', + index=2, + containing_service=None, + input_type=_RELEASEOUTPUTREQUEST, + output_type=_RELEASEOUTPUTRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListLeases', + full_name='walletrpc.WalletKit.ListLeases', + index=3, + containing_service=None, + input_type=_LISTLEASESREQUEST, + output_type=_LISTLEASESRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DeriveNextKey', + full_name='walletrpc.WalletKit.DeriveNextKey', + index=4, + containing_service=None, + input_type=_KEYREQ, + output_type=v0131beta_dot_signrpc_dot_signer__pb2._KEYDESCRIPTOR, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='DeriveKey', + full_name='walletrpc.WalletKit.DeriveKey', + index=5, + containing_service=None, + input_type=v0131beta_dot_signrpc_dot_signer__pb2._KEYLOCATOR, + output_type=v0131beta_dot_signrpc_dot_signer__pb2._KEYDESCRIPTOR, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='NextAddr', + full_name='walletrpc.WalletKit.NextAddr', + index=6, + containing_service=None, + input_type=_ADDRREQUEST, + output_type=_ADDRRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListAccounts', + full_name='walletrpc.WalletKit.ListAccounts', + index=7, + containing_service=None, + input_type=_LISTACCOUNTSREQUEST, + output_type=_LISTACCOUNTSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ImportAccount', + full_name='walletrpc.WalletKit.ImportAccount', + index=8, + containing_service=None, + input_type=_IMPORTACCOUNTREQUEST, + output_type=_IMPORTACCOUNTRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ImportPublicKey', + full_name='walletrpc.WalletKit.ImportPublicKey', + index=9, + containing_service=None, + input_type=_IMPORTPUBLICKEYREQUEST, + output_type=_IMPORTPUBLICKEYRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PublishTransaction', + full_name='walletrpc.WalletKit.PublishTransaction', + index=10, + containing_service=None, + input_type=_TRANSACTION, + output_type=_PUBLISHRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='SendOutputs', + full_name='walletrpc.WalletKit.SendOutputs', + index=11, + containing_service=None, + input_type=_SENDOUTPUTSREQUEST, + output_type=_SENDOUTPUTSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='EstimateFee', + full_name='walletrpc.WalletKit.EstimateFee', + index=12, + containing_service=None, + input_type=_ESTIMATEFEEREQUEST, + output_type=_ESTIMATEFEERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='PendingSweeps', + full_name='walletrpc.WalletKit.PendingSweeps', + index=13, + containing_service=None, + input_type=_PENDINGSWEEPSREQUEST, + output_type=_PENDINGSWEEPSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='BumpFee', + full_name='walletrpc.WalletKit.BumpFee', + index=14, + containing_service=None, + input_type=_BUMPFEEREQUEST, + output_type=_BUMPFEERESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListSweeps', + full_name='walletrpc.WalletKit.ListSweeps', + index=15, + containing_service=None, + input_type=_LISTSWEEPSREQUEST, + output_type=_LISTSWEEPSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='LabelTransaction', + full_name='walletrpc.WalletKit.LabelTransaction', + index=16, + containing_service=None, + input_type=_LABELTRANSACTIONREQUEST, + output_type=_LABELTRANSACTIONRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='FundPsbt', + full_name='walletrpc.WalletKit.FundPsbt', + index=17, + containing_service=None, + input_type=_FUNDPSBTREQUEST, + output_type=_FUNDPSBTRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='FinalizePsbt', + full_name='walletrpc.WalletKit.FinalizePsbt', + index=18, + containing_service=None, + input_type=_FINALIZEPSBTREQUEST, + output_type=_FINALIZEPSBTRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_WALLETKIT) + +DESCRIPTOR.services_by_name['WalletKit'] = _WALLETKIT + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/walletkit_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/walletkit_pb2_grpc.py new file mode 100644 index 00000000..11f8667d --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletrpc/walletkit_pb2_grpc.py @@ -0,0 +1,813 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from v0131beta.signrpc import signer_pb2 as v0131beta_dot_signrpc_dot_signer__pb2 +from v0131beta.walletrpc import walletkit_pb2 as v0131beta_dot_walletrpc_dot_walletkit__pb2 + + +class WalletKitStub(object): + """WalletKit is a service that gives access to the core functionalities of the + daemon's wallet. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.ListUnspent = channel.unary_unary( + '/walletrpc.WalletKit/ListUnspent', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListUnspentRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListUnspentResponse.FromString, + ) + self.LeaseOutput = channel.unary_unary( + '/walletrpc.WalletKit/LeaseOutput', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.LeaseOutputRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.LeaseOutputResponse.FromString, + ) + self.ReleaseOutput = channel.unary_unary( + '/walletrpc.WalletKit/ReleaseOutput', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ReleaseOutputRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ReleaseOutputResponse.FromString, + ) + self.ListLeases = channel.unary_unary( + '/walletrpc.WalletKit/ListLeases', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListLeasesRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListLeasesResponse.FromString, + ) + self.DeriveNextKey = channel.unary_unary( + '/walletrpc.WalletKit/DeriveNextKey', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.KeyReq.SerializeToString, + response_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.KeyDescriptor.FromString, + ) + self.DeriveKey = channel.unary_unary( + '/walletrpc.WalletKit/DeriveKey', + request_serializer=v0131beta_dot_signrpc_dot_signer__pb2.KeyLocator.SerializeToString, + response_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.KeyDescriptor.FromString, + ) + self.NextAddr = channel.unary_unary( + '/walletrpc.WalletKit/NextAddr', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.AddrRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.AddrResponse.FromString, + ) + self.ListAccounts = channel.unary_unary( + '/walletrpc.WalletKit/ListAccounts', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListAccountsRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListAccountsResponse.FromString, + ) + self.ImportAccount = channel.unary_unary( + '/walletrpc.WalletKit/ImportAccount', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportAccountRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportAccountResponse.FromString, + ) + self.ImportPublicKey = channel.unary_unary( + '/walletrpc.WalletKit/ImportPublicKey', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportPublicKeyRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportPublicKeyResponse.FromString, + ) + self.PublishTransaction = channel.unary_unary( + '/walletrpc.WalletKit/PublishTransaction', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.Transaction.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.PublishResponse.FromString, + ) + self.SendOutputs = channel.unary_unary( + '/walletrpc.WalletKit/SendOutputs', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.SendOutputsRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.SendOutputsResponse.FromString, + ) + self.EstimateFee = channel.unary_unary( + '/walletrpc.WalletKit/EstimateFee', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.EstimateFeeRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.EstimateFeeResponse.FromString, + ) + self.PendingSweeps = channel.unary_unary( + '/walletrpc.WalletKit/PendingSweeps', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.PendingSweepsRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.PendingSweepsResponse.FromString, + ) + self.BumpFee = channel.unary_unary( + '/walletrpc.WalletKit/BumpFee', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.BumpFeeRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.BumpFeeResponse.FromString, + ) + self.ListSweeps = channel.unary_unary( + '/walletrpc.WalletKit/ListSweeps', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListSweepsRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListSweepsResponse.FromString, + ) + self.LabelTransaction = channel.unary_unary( + '/walletrpc.WalletKit/LabelTransaction', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.LabelTransactionRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.LabelTransactionResponse.FromString, + ) + self.FundPsbt = channel.unary_unary( + '/walletrpc.WalletKit/FundPsbt', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.FundPsbtRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.FundPsbtResponse.FromString, + ) + self.FinalizePsbt = channel.unary_unary( + '/walletrpc.WalletKit/FinalizePsbt', + request_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.FinalizePsbtRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.FinalizePsbtResponse.FromString, + ) + + +class WalletKitServicer(object): + """WalletKit is a service that gives access to the core functionalities of the + daemon's wallet. + """ + + def ListUnspent(self, request, context): + """ + ListUnspent returns a list of all utxos spendable by the wallet with a + number of confirmations between the specified minimum and maximum. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LeaseOutput(self, request, context): + """ + LeaseOutput locks an output to the given ID, preventing it from being + available for any future coin selection attempts. The absolute time of the + lock's expiration is returned. The expiration of the lock can be extended by + successive invocations of this RPC. Outputs can be unlocked before their + expiration through `ReleaseOutput`. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ReleaseOutput(self, request, context): + """ + ReleaseOutput unlocks an output, allowing it to be available for coin + selection if it remains unspent. The ID should match the one used to + originally lock the output. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListLeases(self, request, context): + """ + ListLeases lists all currently locked utxos. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeriveNextKey(self, request, context): + """ + DeriveNextKey attempts to derive the *next* key within the key family + (account in BIP43) specified. This method should return the next external + child within this branch. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def DeriveKey(self, request, context): + """ + DeriveKey attempts to derive an arbitrary key specified by the passed + KeyLocator. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def NextAddr(self, request, context): + """ + NextAddr returns the next unused address within the wallet. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListAccounts(self, request, context): + """ + ListAccounts retrieves all accounts belonging to the wallet by default. A + name and key scope filter can be provided to filter through all of the + wallet accounts and return only those matching. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ImportAccount(self, request, context): + """ + ImportAccount imports an account backed by an account extended public key. + The master key fingerprint denotes the fingerprint of the root key + corresponding to the account public key (also known as the key with + derivation path m/). This may be required by some hardware wallets for + proper identification and signing. + + The address type can usually be inferred from the key's version, but may be + required for certain keys to map them into the proper scope. + + For BIP-0044 keys, an address type must be specified as we intend to not + support importing BIP-0044 keys into the wallet using the legacy + pay-to-pubkey-hash (P2PKH) scheme. A nested witness address type will force + the standard BIP-0049 derivation scheme, while a witness address type will + force the standard BIP-0084 derivation scheme. + + For BIP-0049 keys, an address type must also be specified to make a + distinction between the standard BIP-0049 address schema (nested witness + pubkeys everywhere) and our own BIP-0049Plus address schema (nested pubkeys + externally, witness pubkeys internally). + + NOTE: Events (deposits/spends) for keys derived from an account will only be + detected by lnd if they happen after the import. Rescans to detect past + events will be supported later on. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ImportPublicKey(self, request, context): + """ + ImportPublicKey imports a public key as watch-only into the wallet. + + NOTE: Events (deposits/spends) for a key will only be detected by lnd if + they happen after the import. Rescans to detect past events will be + supported later on. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PublishTransaction(self, request, context): + """ + PublishTransaction attempts to publish the passed transaction to the + network. Once this returns without an error, the wallet will continually + attempt to re-broadcast the transaction on start up, until it enters the + chain. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def SendOutputs(self, request, context): + """ + SendOutputs is similar to the existing sendmany call in Bitcoind, and + allows the caller to create a transaction that sends to several outputs at + once. This is ideal when wanting to batch create a set of transactions. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def EstimateFee(self, request, context): + """ + EstimateFee attempts to query the internal fee estimator of the wallet to + determine the fee (in sat/kw) to attach to a transaction in order to + achieve the confirmation target. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def PendingSweeps(self, request, context): + """ + PendingSweeps returns lists of on-chain outputs that lnd is currently + attempting to sweep within its central batching engine. Outputs with similar + fee rates are batched together in order to sweep them within a single + transaction. + + NOTE: Some of the fields within PendingSweepsRequest are not guaranteed to + remain supported. This is an advanced API that depends on the internals of + the UtxoSweeper, so things may change. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def BumpFee(self, request, context): + """ + BumpFee bumps the fee of an arbitrary input within a transaction. This RPC + takes a different approach than bitcoind's bumpfee command. lnd has a + central batching engine in which inputs with similar fee rates are batched + together to save on transaction fees. Due to this, we cannot rely on + bumping the fee on a specific transaction, since transactions can change at + any point with the addition of new inputs. The list of inputs that + currently exist within lnd's central batching engine can be retrieved + through the PendingSweeps RPC. + + When bumping the fee of an input that currently exists within lnd's central + batching engine, a higher fee transaction will be created that replaces the + lower fee transaction through the Replace-By-Fee (RBF) policy. If it + + This RPC also serves useful when wanting to perform a Child-Pays-For-Parent + (CPFP), where the child transaction pays for its parent's fee. This can be + done by specifying an outpoint within the low fee transaction that is under + the control of the wallet. + + The fee preference can be expressed either as a specific fee rate or a delta + of blocks in which the output should be swept on-chain within. If a fee + preference is not explicitly specified, then an error is returned. + + Note that this RPC currently doesn't perform any validation checks on the + fee preference being provided. For now, the responsibility of ensuring that + the new fee preference is sufficient is delegated to the user. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListSweeps(self, request, context): + """ + ListSweeps returns a list of the sweep transactions our node has produced. + Note that these sweeps may not be confirmed yet, as we record sweeps on + broadcast, not confirmation. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def LabelTransaction(self, request, context): + """ + LabelTransaction adds a label to a transaction. If the transaction already + has a label the call will fail unless the overwrite bool is set. This will + overwrite the exiting transaction label. Labels must not be empty, and + cannot exceed 500 characters. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FundPsbt(self, request, context): + """ + FundPsbt creates a fully populated PSBT that contains enough inputs to fund + the outputs specified in the template. There are two ways of specifying a + template: Either by passing in a PSBT with at least one output declared or + by passing in a raw TxTemplate message. + + If there are no inputs specified in the template, coin selection is + performed automatically. If the template does contain any inputs, it is + assumed that full coin selection happened externally and no additional + inputs are added. If the specified inputs aren't enough to fund the outputs + with the given fee rate, an error is returned. + + After either selecting or verifying the inputs, all input UTXOs are locked + with an internal app ID. + + NOTE: If this method returns without an error, it is the caller's + responsibility to either spend the locked UTXOs (by finalizing and then + publishing the transaction) or to unlock/release the locked UTXOs in case of + an error on the caller's side. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def FinalizePsbt(self, request, context): + """ + FinalizePsbt expects a partial transaction with all inputs and outputs fully + declared and tries to sign all inputs that belong to the wallet. Lnd must be + the last signer of the transaction. That means, if there are any unsigned + non-witness inputs or inputs without UTXO information attached or inputs + without witness data that do not belong to lnd's wallet, this method will + fail. If no error is returned, the PSBT is ready to be extracted and the + final TX within to be broadcast. + + NOTE: This method does NOT publish the transaction once finalized. It is the + caller's responsibility to either publish the transaction on success or + unlock/release any locked UTXOs in case of an error in this method. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_WalletKitServicer_to_server(servicer, server): + rpc_method_handlers = { + 'ListUnspent': grpc.unary_unary_rpc_method_handler( + servicer.ListUnspent, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListUnspentRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListUnspentResponse.SerializeToString, + ), + 'LeaseOutput': grpc.unary_unary_rpc_method_handler( + servicer.LeaseOutput, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.LeaseOutputRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.LeaseOutputResponse.SerializeToString, + ), + 'ReleaseOutput': grpc.unary_unary_rpc_method_handler( + servicer.ReleaseOutput, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ReleaseOutputRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ReleaseOutputResponse.SerializeToString, + ), + 'ListLeases': grpc.unary_unary_rpc_method_handler( + servicer.ListLeases, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListLeasesRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListLeasesResponse.SerializeToString, + ), + 'DeriveNextKey': grpc.unary_unary_rpc_method_handler( + servicer.DeriveNextKey, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.KeyReq.FromString, + response_serializer=v0131beta_dot_signrpc_dot_signer__pb2.KeyDescriptor.SerializeToString, + ), + 'DeriveKey': grpc.unary_unary_rpc_method_handler( + servicer.DeriveKey, + request_deserializer=v0131beta_dot_signrpc_dot_signer__pb2.KeyLocator.FromString, + response_serializer=v0131beta_dot_signrpc_dot_signer__pb2.KeyDescriptor.SerializeToString, + ), + 'NextAddr': grpc.unary_unary_rpc_method_handler( + servicer.NextAddr, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.AddrRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.AddrResponse.SerializeToString, + ), + 'ListAccounts': grpc.unary_unary_rpc_method_handler( + servicer.ListAccounts, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListAccountsRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListAccountsResponse.SerializeToString, + ), + 'ImportAccount': grpc.unary_unary_rpc_method_handler( + servicer.ImportAccount, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportAccountRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportAccountResponse.SerializeToString, + ), + 'ImportPublicKey': grpc.unary_unary_rpc_method_handler( + servicer.ImportPublicKey, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportPublicKeyRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportPublicKeyResponse.SerializeToString, + ), + 'PublishTransaction': grpc.unary_unary_rpc_method_handler( + servicer.PublishTransaction, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.Transaction.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.PublishResponse.SerializeToString, + ), + 'SendOutputs': grpc.unary_unary_rpc_method_handler( + servicer.SendOutputs, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.SendOutputsRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.SendOutputsResponse.SerializeToString, + ), + 'EstimateFee': grpc.unary_unary_rpc_method_handler( + servicer.EstimateFee, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.EstimateFeeRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.EstimateFeeResponse.SerializeToString, + ), + 'PendingSweeps': grpc.unary_unary_rpc_method_handler( + servicer.PendingSweeps, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.PendingSweepsRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.PendingSweepsResponse.SerializeToString, + ), + 'BumpFee': grpc.unary_unary_rpc_method_handler( + servicer.BumpFee, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.BumpFeeRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.BumpFeeResponse.SerializeToString, + ), + 'ListSweeps': grpc.unary_unary_rpc_method_handler( + servicer.ListSweeps, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListSweepsRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.ListSweepsResponse.SerializeToString, + ), + 'LabelTransaction': grpc.unary_unary_rpc_method_handler( + servicer.LabelTransaction, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.LabelTransactionRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.LabelTransactionResponse.SerializeToString, + ), + 'FundPsbt': grpc.unary_unary_rpc_method_handler( + servicer.FundPsbt, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.FundPsbtRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.FundPsbtResponse.SerializeToString, + ), + 'FinalizePsbt': grpc.unary_unary_rpc_method_handler( + servicer.FinalizePsbt, + request_deserializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.FinalizePsbtRequest.FromString, + response_serializer=v0131beta_dot_walletrpc_dot_walletkit__pb2.FinalizePsbtResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'walletrpc.WalletKit', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class WalletKit(object): + """WalletKit is a service that gives access to the core functionalities of the + daemon's wallet. + """ + + @staticmethod + def ListUnspent(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/ListUnspent', + v0131beta_dot_walletrpc_dot_walletkit__pb2.ListUnspentRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.ListUnspentResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def LeaseOutput(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/LeaseOutput', + v0131beta_dot_walletrpc_dot_walletkit__pb2.LeaseOutputRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.LeaseOutputResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ReleaseOutput(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/ReleaseOutput', + v0131beta_dot_walletrpc_dot_walletkit__pb2.ReleaseOutputRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.ReleaseOutputResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListLeases(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/ListLeases', + v0131beta_dot_walletrpc_dot_walletkit__pb2.ListLeasesRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.ListLeasesResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeriveNextKey(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/DeriveNextKey', + v0131beta_dot_walletrpc_dot_walletkit__pb2.KeyReq.SerializeToString, + v0131beta_dot_signrpc_dot_signer__pb2.KeyDescriptor.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def DeriveKey(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/DeriveKey', + v0131beta_dot_signrpc_dot_signer__pb2.KeyLocator.SerializeToString, + v0131beta_dot_signrpc_dot_signer__pb2.KeyDescriptor.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def NextAddr(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/NextAddr', + v0131beta_dot_walletrpc_dot_walletkit__pb2.AddrRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.AddrResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListAccounts(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/ListAccounts', + v0131beta_dot_walletrpc_dot_walletkit__pb2.ListAccountsRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.ListAccountsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ImportAccount(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/ImportAccount', + v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportAccountRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportAccountResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ImportPublicKey(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/ImportPublicKey', + v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportPublicKeyRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.ImportPublicKeyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PublishTransaction(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/PublishTransaction', + v0131beta_dot_walletrpc_dot_walletkit__pb2.Transaction.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.PublishResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def SendOutputs(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/SendOutputs', + v0131beta_dot_walletrpc_dot_walletkit__pb2.SendOutputsRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.SendOutputsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def EstimateFee(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/EstimateFee', + v0131beta_dot_walletrpc_dot_walletkit__pb2.EstimateFeeRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.EstimateFeeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def PendingSweeps(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/PendingSweeps', + v0131beta_dot_walletrpc_dot_walletkit__pb2.PendingSweepsRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.PendingSweepsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def BumpFee(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/BumpFee', + v0131beta_dot_walletrpc_dot_walletkit__pb2.BumpFeeRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.BumpFeeResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListSweeps(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/ListSweeps', + v0131beta_dot_walletrpc_dot_walletkit__pb2.ListSweepsRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.ListSweepsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def LabelTransaction(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/LabelTransaction', + v0131beta_dot_walletrpc_dot_walletkit__pb2.LabelTransactionRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.LabelTransactionResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FundPsbt(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/FundPsbt', + v0131beta_dot_walletrpc_dot_walletkit__pb2.FundPsbtRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.FundPsbtResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def FinalizePsbt(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/walletrpc.WalletKit/FinalizePsbt', + v0131beta_dot_walletrpc_dot_walletkit__pb2.FinalizePsbtRequest.SerializeToString, + v0131beta_dot_walletrpc_dot_walletkit__pb2.FinalizePsbtResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/walletunlocker.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletunlocker.proto new file mode 100644 index 00000000..085f2d7f --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletunlocker.proto @@ -0,0 +1,238 @@ +syntax = "proto3"; + +import "v0131beta/rpc.proto"; + +package lnrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc"; + +/* + * Comments in this file will be directly parsed into the API + * Documentation as descriptions of the associated method, message, or field. + * These descriptions should go right above the definition of the object, and + * can be in either block or // comment format. + * + * An RPC method can be matched to an lncli command by placing a line in the + * beginning of the description in exactly the following format: + * lncli: `methodname` + * + * Failure to specify the exact name of the command will cause documentation + * generation to fail. + * + * More information on how exactly the gRPC documentation is generated from + * this proto file can be found here: + * https://github.com/lightninglabs/lightning-api + */ + +// WalletUnlocker is a service that is used to set up a wallet password for +// lnd at first startup, and unlock a previously set up wallet. +service WalletUnlocker { + /* + GenSeed is the first method that should be used to instantiate a new lnd + instance. This method allows a caller to generate a new aezeed cipher seed + given an optional passphrase. If provided, the passphrase will be necessary + to decrypt the cipherseed to expose the internal wallet seed. + + Once the cipherseed is obtained and verified by the user, the InitWallet + method should be used to commit the newly generated seed, and create the + wallet. + */ + rpc GenSeed (GenSeedRequest) returns (GenSeedResponse); + + /* + InitWallet is used when lnd is starting up for the first time to fully + initialize the daemon and its internal wallet. At the very least a wallet + password must be provided. This will be used to encrypt sensitive material + on disk. + + In the case of a recovery scenario, the user can also specify their aezeed + mnemonic and passphrase. If set, then the daemon will use this prior state + to initialize its internal wallet. + + Alternatively, this can be used along with the GenSeed RPC to obtain a + seed, then present it to the user. Once it has been verified by the user, + the seed can be fed into this RPC in order to commit the new wallet. + */ + rpc InitWallet (InitWalletRequest) returns (InitWalletResponse); + + /* lncli: `unlock` + UnlockWallet is used at startup of lnd to provide a password to unlock + the wallet database. + */ + rpc UnlockWallet (UnlockWalletRequest) returns (UnlockWalletResponse); + + /* lncli: `changepassword` + ChangePassword changes the password of the encrypted wallet. This will + automatically unlock the wallet database if successful. + */ + rpc ChangePassword (ChangePasswordRequest) returns (ChangePasswordResponse); +} + +message GenSeedRequest { + /* + aezeed_passphrase is an optional user provided passphrase that will be used + to encrypt the generated aezeed cipher seed. When using REST, this field + must be encoded as base64. + */ + bytes aezeed_passphrase = 1; + + /* + seed_entropy is an optional 16-bytes generated via CSPRNG. If not + specified, then a fresh set of randomness will be used to create the seed. + When using REST, this field must be encoded as base64. + */ + bytes seed_entropy = 2; +} +message GenSeedResponse { + /* + cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed + cipher seed obtained by the user. This field is optional, as if not + provided, then the daemon will generate a new cipher seed for the user. + Otherwise, then the daemon will attempt to recover the wallet state linked + to this cipher seed. + */ + repeated string cipher_seed_mnemonic = 1; + + /* + enciphered_seed are the raw aezeed cipher seed bytes. This is the raw + cipher text before run through our mnemonic encoding scheme. + */ + bytes enciphered_seed = 2; +} + +message InitWalletRequest { + /* + wallet_password is the passphrase that should be used to encrypt the + wallet. This MUST be at least 8 chars in length. After creation, this + password is required to unlock the daemon. When using REST, this field + must be encoded as base64. + */ + bytes wallet_password = 1; + + /* + cipher_seed_mnemonic is a 24-word mnemonic that encodes a prior aezeed + cipher seed obtained by the user. This may have been generated by the + GenSeed method, or be an existing seed. + */ + repeated string cipher_seed_mnemonic = 2; + + /* + aezeed_passphrase is an optional user provided passphrase that will be used + to encrypt the generated aezeed cipher seed. When using REST, this field + must be encoded as base64. + */ + bytes aezeed_passphrase = 3; + + /* + recovery_window is an optional argument specifying the address lookahead + when restoring a wallet seed. The recovery window applies to each + individual branch of the BIP44 derivation paths. Supplying a recovery + window of zero indicates that no addresses should be recovered, such after + the first initialization of the wallet. + */ + int32 recovery_window = 4; + + /* + channel_backups is an optional argument that allows clients to recover the + settled funds within a set of channels. This should be populated if the + user was unable to close out all channels and sweep funds before partial or + total data loss occurred. If specified, then after on-chain recovery of + funds, lnd begin to carry out the data loss recovery protocol in order to + recover the funds in each channel from a remote force closed transaction. + */ + ChanBackupSnapshot channel_backups = 5; + + /* + stateless_init is an optional argument instructing the daemon NOT to create + any *.macaroon files in its filesystem. If this parameter is set, then the + admin macaroon returned in the response MUST be stored by the caller of the + RPC as otherwise all access to the daemon will be lost! + */ + bool stateless_init = 6; +} +message InitWalletResponse { + /* + The binary serialized admin macaroon that can be used to access the daemon + after creating the wallet. If the stateless_init parameter was set to true, + this is the ONLY copy of the macaroon and MUST be stored safely by the + caller. Otherwise a copy of this macaroon is also persisted on disk by the + daemon, together with other macaroon files. + */ + bytes admin_macaroon = 1; +} + +message UnlockWalletRequest { + /* + wallet_password should be the current valid passphrase for the daemon. This + will be required to decrypt on-disk material that the daemon requires to + function properly. When using REST, this field must be encoded as base64. + */ + bytes wallet_password = 1; + + /* + recovery_window is an optional argument specifying the address lookahead + when restoring a wallet seed. The recovery window applies to each + individual branch of the BIP44 derivation paths. Supplying a recovery + window of zero indicates that no addresses should be recovered, such after + the first initialization of the wallet. + */ + int32 recovery_window = 2; + + /* + channel_backups is an optional argument that allows clients to recover the + settled funds within a set of channels. This should be populated if the + user was unable to close out all channels and sweep funds before partial or + total data loss occurred. If specified, then after on-chain recovery of + funds, lnd begin to carry out the data loss recovery protocol in order to + recover the funds in each channel from a remote force closed transaction. + */ + ChanBackupSnapshot channel_backups = 3; + + /* + stateless_init is an optional argument instructing the daemon NOT to create + any *.macaroon files in its file system. + */ + bool stateless_init = 4; +} +message UnlockWalletResponse { +} + +message ChangePasswordRequest { + /* + current_password should be the current valid passphrase used to unlock the + daemon. When using REST, this field must be encoded as base64. + */ + bytes current_password = 1; + + /* + new_password should be the new passphrase that will be needed to unlock the + daemon. When using REST, this field must be encoded as base64. + */ + bytes new_password = 2; + + /* + stateless_init is an optional argument instructing the daemon NOT to create + any *.macaroon files in its filesystem. If this parameter is set, then the + admin macaroon returned in the response MUST be stored by the caller of the + RPC as otherwise all access to the daemon will be lost! + */ + bool stateless_init = 3; + + /* + new_macaroon_root_key is an optional argument instructing the daemon to + rotate the macaroon root key when set to true. This will invalidate all + previously generated macaroons. + */ + bool new_macaroon_root_key = 4; +} +message ChangePasswordResponse { + /* + The binary serialized admin macaroon that can be used to access the daemon + after rotating the macaroon root key. If both the stateless_init and + new_macaroon_root_key parameter were set to true, this is the ONLY copy of + the macaroon that was created from the new root key and MUST be stored + safely by the caller. Otherwise a copy of this macaroon is also persisted on + disk by the daemon, together with other macaroon files. + */ + bytes admin_macaroon = 1; +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/walletunlocker_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletunlocker_pb2.py new file mode 100644 index 00000000..45748964 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletunlocker_pb2.py @@ -0,0 +1,495 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/walletunlocker.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from . import rpc_pb2 as v0131beta_dot_rpc__pb2 + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/walletunlocker.proto', + package='lnrpc', + syntax='proto3', + serialized_options=b'Z%github.com/lightningnetwork/lnd/lnrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n\x1ev0131beta/walletunlocker.proto\x12\x05lnrpc\x1a\x13v0131beta/rpc.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\"\xca\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\x12\x16\n\x0estateless_init\x18\x06 \x01(\x08\",\n\x12InitWalletResponse\x12\x16\n\x0e\x61\x64min_macaroon\x18\x01 \x01(\x0c\"\x93\x01\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\x12\x16\n\x0estateless_init\x18\x04 \x01(\x08\"\x16\n\x14UnlockWalletResponse\"~\n\x15\x43hangePasswordRequest\x12\x18\n\x10\x63urrent_password\x18\x01 \x01(\x0c\x12\x14\n\x0cnew_password\x18\x02 \x01(\x0c\x12\x16\n\x0estateless_init\x18\x03 \x01(\x08\x12\x1d\n\x15new_macaroon_root_key\x18\x04 \x01(\x08\"0\n\x16\x43hangePasswordResponse\x12\x16\n\x0e\x61\x64min_macaroon\x18\x01 \x01(\x0c\x32\xa5\x02\n\x0eWalletUnlocker\x12\x38\n\x07GenSeed\x12\x15.lnrpc.GenSeedRequest\x1a\x16.lnrpc.GenSeedResponse\x12\x41\n\nInitWallet\x12\x18.lnrpc.InitWalletRequest\x1a\x19.lnrpc.InitWalletResponse\x12G\n\x0cUnlockWallet\x12\x1a.lnrpc.UnlockWalletRequest\x1a\x1b.lnrpc.UnlockWalletResponse\x12M\n\x0e\x43hangePassword\x12\x1c.lnrpc.ChangePasswordRequest\x1a\x1d.lnrpc.ChangePasswordResponseB\'Z%github.com/lightningnetwork/lnd/lnrpcb\x06proto3' + , + dependencies=[v0131beta_dot_rpc__pb2.DESCRIPTOR,]) + + + + +_GENSEEDREQUEST = _descriptor.Descriptor( + name='GenSeedRequest', + full_name='lnrpc.GenSeedRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='aezeed_passphrase', full_name='lnrpc.GenSeedRequest.aezeed_passphrase', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='seed_entropy', full_name='lnrpc.GenSeedRequest.seed_entropy', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=62, + serialized_end=127, +) + + +_GENSEEDRESPONSE = _descriptor.Descriptor( + name='GenSeedResponse', + full_name='lnrpc.GenSeedResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='cipher_seed_mnemonic', full_name='lnrpc.GenSeedResponse.cipher_seed_mnemonic', index=0, + number=1, type=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='enciphered_seed', full_name='lnrpc.GenSeedResponse.enciphered_seed', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=129, + serialized_end=201, +) + + +_INITWALLETREQUEST = _descriptor.Descriptor( + name='InitWalletRequest', + full_name='lnrpc.InitWalletRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='wallet_password', full_name='lnrpc.InitWalletRequest.wallet_password', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='cipher_seed_mnemonic', full_name='lnrpc.InitWalletRequest.cipher_seed_mnemonic', index=1, + number=2, type=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='aezeed_passphrase', full_name='lnrpc.InitWalletRequest.aezeed_passphrase', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='recovery_window', full_name='lnrpc.InitWalletRequest.recovery_window', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='channel_backups', full_name='lnrpc.InitWalletRequest.channel_backups', index=4, + 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='stateless_init', full_name='lnrpc.InitWalletRequest.stateless_init', index=5, + number=6, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=204, + serialized_end=406, +) + + +_INITWALLETRESPONSE = _descriptor.Descriptor( + name='InitWalletResponse', + full_name='lnrpc.InitWalletResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='admin_macaroon', full_name='lnrpc.InitWalletResponse.admin_macaroon', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=408, + serialized_end=452, +) + + +_UNLOCKWALLETREQUEST = _descriptor.Descriptor( + name='UnlockWalletRequest', + full_name='lnrpc.UnlockWalletRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='wallet_password', full_name='lnrpc.UnlockWalletRequest.wallet_password', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='recovery_window', full_name='lnrpc.UnlockWalletRequest.recovery_window', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='channel_backups', full_name='lnrpc.UnlockWalletRequest.channel_backups', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='stateless_init', full_name='lnrpc.UnlockWalletRequest.stateless_init', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=455, + serialized_end=602, +) + + +_UNLOCKWALLETRESPONSE = _descriptor.Descriptor( + name='UnlockWalletResponse', + full_name='lnrpc.UnlockWalletResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=604, + serialized_end=626, +) + + +_CHANGEPASSWORDREQUEST = _descriptor.Descriptor( + name='ChangePasswordRequest', + full_name='lnrpc.ChangePasswordRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='current_password', full_name='lnrpc.ChangePasswordRequest.current_password', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='new_password', full_name='lnrpc.ChangePasswordRequest.new_password', 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='stateless_init', full_name='lnrpc.ChangePasswordRequest.stateless_init', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='new_macaroon_root_key', full_name='lnrpc.ChangePasswordRequest.new_macaroon_root_key', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=628, + serialized_end=754, +) + + +_CHANGEPASSWORDRESPONSE = _descriptor.Descriptor( + name='ChangePasswordResponse', + full_name='lnrpc.ChangePasswordResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='admin_macaroon', full_name='lnrpc.ChangePasswordResponse.admin_macaroon', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=756, + serialized_end=804, +) + +_INITWALLETREQUEST.fields_by_name['channel_backups'].message_type = v0131beta_dot_rpc__pb2._CHANBACKUPSNAPSHOT +_UNLOCKWALLETREQUEST.fields_by_name['channel_backups'].message_type = v0131beta_dot_rpc__pb2._CHANBACKUPSNAPSHOT +DESCRIPTOR.message_types_by_name['GenSeedRequest'] = _GENSEEDREQUEST +DESCRIPTOR.message_types_by_name['GenSeedResponse'] = _GENSEEDRESPONSE +DESCRIPTOR.message_types_by_name['InitWalletRequest'] = _INITWALLETREQUEST +DESCRIPTOR.message_types_by_name['InitWalletResponse'] = _INITWALLETRESPONSE +DESCRIPTOR.message_types_by_name['UnlockWalletRequest'] = _UNLOCKWALLETREQUEST +DESCRIPTOR.message_types_by_name['UnlockWalletResponse'] = _UNLOCKWALLETRESPONSE +DESCRIPTOR.message_types_by_name['ChangePasswordRequest'] = _CHANGEPASSWORDREQUEST +DESCRIPTOR.message_types_by_name['ChangePasswordResponse'] = _CHANGEPASSWORDRESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +GenSeedRequest = _reflection.GeneratedProtocolMessageType('GenSeedRequest', (_message.Message,), { + 'DESCRIPTOR' : _GENSEEDREQUEST, + '__module__' : 'v0131beta.walletunlocker_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GenSeedRequest) + }) +_sym_db.RegisterMessage(GenSeedRequest) + +GenSeedResponse = _reflection.GeneratedProtocolMessageType('GenSeedResponse', (_message.Message,), { + 'DESCRIPTOR' : _GENSEEDRESPONSE, + '__module__' : 'v0131beta.walletunlocker_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.GenSeedResponse) + }) +_sym_db.RegisterMessage(GenSeedResponse) + +InitWalletRequest = _reflection.GeneratedProtocolMessageType('InitWalletRequest', (_message.Message,), { + 'DESCRIPTOR' : _INITWALLETREQUEST, + '__module__' : 'v0131beta.walletunlocker_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.InitWalletRequest) + }) +_sym_db.RegisterMessage(InitWalletRequest) + +InitWalletResponse = _reflection.GeneratedProtocolMessageType('InitWalletResponse', (_message.Message,), { + 'DESCRIPTOR' : _INITWALLETRESPONSE, + '__module__' : 'v0131beta.walletunlocker_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.InitWalletResponse) + }) +_sym_db.RegisterMessage(InitWalletResponse) + +UnlockWalletRequest = _reflection.GeneratedProtocolMessageType('UnlockWalletRequest', (_message.Message,), { + 'DESCRIPTOR' : _UNLOCKWALLETREQUEST, + '__module__' : 'v0131beta.walletunlocker_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.UnlockWalletRequest) + }) +_sym_db.RegisterMessage(UnlockWalletRequest) + +UnlockWalletResponse = _reflection.GeneratedProtocolMessageType('UnlockWalletResponse', (_message.Message,), { + 'DESCRIPTOR' : _UNLOCKWALLETRESPONSE, + '__module__' : 'v0131beta.walletunlocker_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.UnlockWalletResponse) + }) +_sym_db.RegisterMessage(UnlockWalletResponse) + +ChangePasswordRequest = _reflection.GeneratedProtocolMessageType('ChangePasswordRequest', (_message.Message,), { + 'DESCRIPTOR' : _CHANGEPASSWORDREQUEST, + '__module__' : 'v0131beta.walletunlocker_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChangePasswordRequest) + }) +_sym_db.RegisterMessage(ChangePasswordRequest) + +ChangePasswordResponse = _reflection.GeneratedProtocolMessageType('ChangePasswordResponse', (_message.Message,), { + 'DESCRIPTOR' : _CHANGEPASSWORDRESPONSE, + '__module__' : 'v0131beta.walletunlocker_pb2' + # @@protoc_insertion_point(class_scope:lnrpc.ChangePasswordResponse) + }) +_sym_db.RegisterMessage(ChangePasswordResponse) + + +DESCRIPTOR._options = None + +_WALLETUNLOCKER = _descriptor.ServiceDescriptor( + name='WalletUnlocker', + full_name='lnrpc.WalletUnlocker', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=807, + serialized_end=1100, + methods=[ + _descriptor.MethodDescriptor( + name='GenSeed', + full_name='lnrpc.WalletUnlocker.GenSeed', + index=0, + containing_service=None, + input_type=_GENSEEDREQUEST, + output_type=_GENSEEDRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='InitWallet', + full_name='lnrpc.WalletUnlocker.InitWallet', + index=1, + containing_service=None, + input_type=_INITWALLETREQUEST, + output_type=_INITWALLETRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='UnlockWallet', + full_name='lnrpc.WalletUnlocker.UnlockWallet', + index=2, + containing_service=None, + input_type=_UNLOCKWALLETREQUEST, + output_type=_UNLOCKWALLETRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ChangePassword', + full_name='lnrpc.WalletUnlocker.ChangePassword', + index=3, + containing_service=None, + input_type=_CHANGEPASSWORDREQUEST, + output_type=_CHANGEPASSWORDRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_WALLETUNLOCKER) + +DESCRIPTOR.services_by_name['WalletUnlocker'] = _WALLETUNLOCKER + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/walletunlocker_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletunlocker_pb2_grpc.py new file mode 100644 index 00000000..1fb297c9 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/walletunlocker_pb2_grpc.py @@ -0,0 +1,250 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from . import walletunlocker_pb2 as v0131beta_dot_walletunlocker__pb2 + + +class WalletUnlockerStub(object): + """ + Comments in this file will be directly parsed into the API + Documentation as descriptions of the associated method, message, or field. + These descriptions should go right above the definition of the object, and + can be in either block or // comment format. + + An RPC method can be matched to an lncli command by placing a line in the + beginning of the description in exactly the following format: + lncli: `methodname` + + Failure to specify the exact name of the command will cause documentation + generation to fail. + + More information on how exactly the gRPC documentation is generated from + this proto file can be found here: + https://github.com/lightninglabs/lightning-api + + WalletUnlocker is a service that is used to set up a wallet password for + lnd at first startup, and unlock a previously set up wallet. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GenSeed = channel.unary_unary( + '/lnrpc.WalletUnlocker/GenSeed', + request_serializer=v0131beta_dot_walletunlocker__pb2.GenSeedRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletunlocker__pb2.GenSeedResponse.FromString, + ) + self.InitWallet = channel.unary_unary( + '/lnrpc.WalletUnlocker/InitWallet', + request_serializer=v0131beta_dot_walletunlocker__pb2.InitWalletRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletunlocker__pb2.InitWalletResponse.FromString, + ) + self.UnlockWallet = channel.unary_unary( + '/lnrpc.WalletUnlocker/UnlockWallet', + request_serializer=v0131beta_dot_walletunlocker__pb2.UnlockWalletRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletunlocker__pb2.UnlockWalletResponse.FromString, + ) + self.ChangePassword = channel.unary_unary( + '/lnrpc.WalletUnlocker/ChangePassword', + request_serializer=v0131beta_dot_walletunlocker__pb2.ChangePasswordRequest.SerializeToString, + response_deserializer=v0131beta_dot_walletunlocker__pb2.ChangePasswordResponse.FromString, + ) + + +class WalletUnlockerServicer(object): + """ + Comments in this file will be directly parsed into the API + Documentation as descriptions of the associated method, message, or field. + These descriptions should go right above the definition of the object, and + can be in either block or // comment format. + + An RPC method can be matched to an lncli command by placing a line in the + beginning of the description in exactly the following format: + lncli: `methodname` + + Failure to specify the exact name of the command will cause documentation + generation to fail. + + More information on how exactly the gRPC documentation is generated from + this proto file can be found here: + https://github.com/lightninglabs/lightning-api + + WalletUnlocker is a service that is used to set up a wallet password for + lnd at first startup, and unlock a previously set up wallet. + """ + + def GenSeed(self, request, context): + """ + GenSeed is the first method that should be used to instantiate a new lnd + instance. This method allows a caller to generate a new aezeed cipher seed + given an optional passphrase. If provided, the passphrase will be necessary + to decrypt the cipherseed to expose the internal wallet seed. + + Once the cipherseed is obtained and verified by the user, the InitWallet + method should be used to commit the newly generated seed, and create the + wallet. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def InitWallet(self, request, context): + """ + InitWallet is used when lnd is starting up for the first time to fully + initialize the daemon and its internal wallet. At the very least a wallet + password must be provided. This will be used to encrypt sensitive material + on disk. + + In the case of a recovery scenario, the user can also specify their aezeed + mnemonic and passphrase. If set, then the daemon will use this prior state + to initialize its internal wallet. + + Alternatively, this can be used along with the GenSeed RPC to obtain a + seed, then present it to the user. Once it has been verified by the user, + the seed can be fed into this RPC in order to commit the new wallet. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def UnlockWallet(self, request, context): + """lncli: `unlock` + UnlockWallet is used at startup of lnd to provide a password to unlock + the wallet database. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ChangePassword(self, request, context): + """lncli: `changepassword` + ChangePassword changes the password of the encrypted wallet. This will + automatically unlock the wallet database if successful. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_WalletUnlockerServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GenSeed': grpc.unary_unary_rpc_method_handler( + servicer.GenSeed, + request_deserializer=v0131beta_dot_walletunlocker__pb2.GenSeedRequest.FromString, + response_serializer=v0131beta_dot_walletunlocker__pb2.GenSeedResponse.SerializeToString, + ), + 'InitWallet': grpc.unary_unary_rpc_method_handler( + servicer.InitWallet, + request_deserializer=v0131beta_dot_walletunlocker__pb2.InitWalletRequest.FromString, + response_serializer=v0131beta_dot_walletunlocker__pb2.InitWalletResponse.SerializeToString, + ), + 'UnlockWallet': grpc.unary_unary_rpc_method_handler( + servicer.UnlockWallet, + request_deserializer=v0131beta_dot_walletunlocker__pb2.UnlockWalletRequest.FromString, + response_serializer=v0131beta_dot_walletunlocker__pb2.UnlockWalletResponse.SerializeToString, + ), + 'ChangePassword': grpc.unary_unary_rpc_method_handler( + servicer.ChangePassword, + request_deserializer=v0131beta_dot_walletunlocker__pb2.ChangePasswordRequest.FromString, + response_serializer=v0131beta_dot_walletunlocker__pb2.ChangePasswordResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'lnrpc.WalletUnlocker', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class WalletUnlocker(object): + """ + Comments in this file will be directly parsed into the API + Documentation as descriptions of the associated method, message, or field. + These descriptions should go right above the definition of the object, and + can be in either block or // comment format. + + An RPC method can be matched to an lncli command by placing a line in the + beginning of the description in exactly the following format: + lncli: `methodname` + + Failure to specify the exact name of the command will cause documentation + generation to fail. + + More information on how exactly the gRPC documentation is generated from + this proto file can be found here: + https://github.com/lightninglabs/lightning-api + + WalletUnlocker is a service that is used to set up a wallet password for + lnd at first startup, and unlock a previously set up wallet. + """ + + @staticmethod + def GenSeed(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.WalletUnlocker/GenSeed', + v0131beta_dot_walletunlocker__pb2.GenSeedRequest.SerializeToString, + v0131beta_dot_walletunlocker__pb2.GenSeedResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def InitWallet(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.WalletUnlocker/InitWallet', + v0131beta_dot_walletunlocker__pb2.InitWalletRequest.SerializeToString, + v0131beta_dot_walletunlocker__pb2.InitWalletResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def UnlockWallet(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.WalletUnlocker/UnlockWallet', + v0131beta_dot_walletunlocker__pb2.UnlockWalletRequest.SerializeToString, + v0131beta_dot_walletunlocker__pb2.UnlockWalletResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ChangePassword(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/lnrpc.WalletUnlocker/ChangePassword', + v0131beta_dot_walletunlocker__pb2.ChangePasswordRequest.SerializeToString, + v0131beta_dot_walletunlocker__pb2.ChangePasswordResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/watchtower.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/watchtower.proto new file mode 100644 index 00000000..f3be6216 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/watchtower.proto @@ -0,0 +1,30 @@ +syntax = "proto3"; + +package watchtowerrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/watchtowerrpc"; + +// Watchtower is a service that grants access to the watchtower server +// functionality of the daemon. +service Watchtower { + /* lncli: tower info + GetInfo returns general information concerning the companion watchtower + including its public key and URIs where the server is currently + listening for clients. + */ + rpc GetInfo (GetInfoRequest) returns (GetInfoResponse); +} + +message GetInfoRequest { +} + +message GetInfoResponse { + // The public key of the watchtower. + bytes pubkey = 1; + + // The listening addresses of the watchtower. + repeated string listeners = 2; + + // The URIs of the watchtower. + repeated string uris = 3; +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/watchtower_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/watchtower_pb2.py new file mode 100644 index 00000000..bdbe4d61 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/watchtower_pb2.py @@ -0,0 +1,144 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/watchtowerrpc/watchtower.proto +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/watchtowerrpc/watchtower.proto', + package='watchtowerrpc', + syntax='proto3', + serialized_options=b'Z3github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/watchtowerrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n(v0131beta/watchtowerrpc/watchtower.proto\x12\rwatchtowerrpc\"\x10\n\x0eGetInfoRequest\"B\n\x0fGetInfoResponse\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x11\n\tlisteners\x18\x02 \x03(\t\x12\x0c\n\x04uris\x18\x03 \x03(\t2V\n\nWatchtower\x12H\n\x07GetInfo\x12\x1d.watchtowerrpc.GetInfoRequest\x1a\x1e.watchtowerrpc.GetInfoResponseB5Z3github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/watchtowerrpcb\x06proto3' +) + + + + +_GETINFOREQUEST = _descriptor.Descriptor( + name='GetInfoRequest', + full_name='watchtowerrpc.GetInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=59, + serialized_end=75, +) + + +_GETINFORESPONSE = _descriptor.Descriptor( + name='GetInfoResponse', + full_name='watchtowerrpc.GetInfoResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pubkey', full_name='watchtowerrpc.GetInfoResponse.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='listeners', full_name='watchtowerrpc.GetInfoResponse.listeners', index=1, + number=2, type=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='uris', full_name='watchtowerrpc.GetInfoResponse.uris', index=2, + number=3, type=9, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=77, + serialized_end=143, +) + +DESCRIPTOR.message_types_by_name['GetInfoRequest'] = _GETINFOREQUEST +DESCRIPTOR.message_types_by_name['GetInfoResponse'] = _GETINFORESPONSE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +GetInfoRequest = _reflection.GeneratedProtocolMessageType('GetInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETINFOREQUEST, + '__module__' : 'v0131beta.watchtowerrpc.watchtower_pb2' + # @@protoc_insertion_point(class_scope:watchtowerrpc.GetInfoRequest) + }) +_sym_db.RegisterMessage(GetInfoRequest) + +GetInfoResponse = _reflection.GeneratedProtocolMessageType('GetInfoResponse', (_message.Message,), { + 'DESCRIPTOR' : _GETINFORESPONSE, + '__module__' : 'v0131beta.watchtowerrpc.watchtower_pb2' + # @@protoc_insertion_point(class_scope:watchtowerrpc.GetInfoResponse) + }) +_sym_db.RegisterMessage(GetInfoResponse) + + +DESCRIPTOR._options = None + +_WATCHTOWER = _descriptor.ServiceDescriptor( + name='Watchtower', + full_name='watchtowerrpc.Watchtower', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=145, + serialized_end=231, + methods=[ + _descriptor.MethodDescriptor( + name='GetInfo', + full_name='watchtowerrpc.Watchtower.GetInfo', + index=0, + containing_service=None, + input_type=_GETINFOREQUEST, + output_type=_GETINFORESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_WATCHTOWER) + +DESCRIPTOR.services_by_name['Watchtower'] = _WATCHTOWER + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/watchtower_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/watchtower_pb2_grpc.py new file mode 100644 index 00000000..ca02574a --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/watchtowerrpc/watchtower_pb2_grpc.py @@ -0,0 +1,76 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from v0131beta.watchtowerrpc import watchtower_pb2 as v0131beta_dot_watchtowerrpc_dot_watchtower__pb2 + + +class WatchtowerStub(object): + """Watchtower is a service that grants access to the watchtower server + functionality of the daemon. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.GetInfo = channel.unary_unary( + '/watchtowerrpc.Watchtower/GetInfo', + request_serializer=v0131beta_dot_watchtowerrpc_dot_watchtower__pb2.GetInfoRequest.SerializeToString, + response_deserializer=v0131beta_dot_watchtowerrpc_dot_watchtower__pb2.GetInfoResponse.FromString, + ) + + +class WatchtowerServicer(object): + """Watchtower is a service that grants access to the watchtower server + functionality of the daemon. + """ + + def GetInfo(self, request, context): + """lncli: tower info + GetInfo returns general information concerning the companion watchtower + including its public key and URIs where the server is currently + listening for clients. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_WatchtowerServicer_to_server(servicer, server): + rpc_method_handlers = { + 'GetInfo': grpc.unary_unary_rpc_method_handler( + servicer.GetInfo, + request_deserializer=v0131beta_dot_watchtowerrpc_dot_watchtower__pb2.GetInfoRequest.FromString, + response_serializer=v0131beta_dot_watchtowerrpc_dot_watchtower__pb2.GetInfoResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'watchtowerrpc.Watchtower', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class Watchtower(object): + """Watchtower is a service that grants access to the watchtower server + functionality of the daemon. + """ + + @staticmethod + def GetInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/watchtowerrpc.Watchtower/GetInfo', + v0131beta_dot_watchtowerrpc_dot_watchtower__pb2.GetInfoRequest.SerializeToString, + v0131beta_dot_watchtowerrpc_dot_watchtower__pb2.GetInfoResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/__init__.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/wtclient.proto b/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/wtclient.proto new file mode 100644 index 00000000..736a4bdd --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/wtclient.proto @@ -0,0 +1,193 @@ +syntax = "proto3"; + +package wtclientrpc; + +option go_package = "github.com/lightningnetwork/lnd/lnrpc/wtclientrpc"; + +// WatchtowerClient is a service that grants access to the watchtower client +// functionality of the daemon. +service WatchtowerClient { + /* + AddTower adds a new watchtower reachable at the given address and + considers it for new sessions. If the watchtower already exists, then + any new addresses included will be considered when dialing it for + session negotiations and backups. + */ + rpc AddTower (AddTowerRequest) returns (AddTowerResponse); + + /* + RemoveTower removes a watchtower from being considered for future session + negotiations and from being used for any subsequent backups until it's added + again. If an address is provided, then this RPC only serves as a way of + removing the address from the watchtower instead. + */ + rpc RemoveTower (RemoveTowerRequest) returns (RemoveTowerResponse); + + // ListTowers returns the list of watchtowers registered with the client. + rpc ListTowers (ListTowersRequest) returns (ListTowersResponse); + + // GetTowerInfo retrieves information for a registered watchtower. + rpc GetTowerInfo (GetTowerInfoRequest) returns (Tower); + + // Stats returns the in-memory statistics of the client since startup. + rpc Stats (StatsRequest) returns (StatsResponse); + + // Policy returns the active watchtower client policy configuration. + rpc Policy (PolicyRequest) returns (PolicyResponse); +} + +message AddTowerRequest { + // The identifying public key of the watchtower to add. + bytes pubkey = 1; + + // A network address the watchtower is reachable over. + string address = 2; +} + +message AddTowerResponse { +} + +message RemoveTowerRequest { + // The identifying public key of the watchtower to remove. + bytes pubkey = 1; + + /* + If set, then the record for this address will be removed, indicating that is + is stale. Otherwise, the watchtower will no longer be used for future + session negotiations and backups. + */ + string address = 2; +} + +message RemoveTowerResponse { +} + +message GetTowerInfoRequest { + // The identifying public key of the watchtower to retrieve information for. + bytes pubkey = 1; + + // Whether we should include sessions with the watchtower in the response. + bool include_sessions = 2; +} + +message TowerSession { + /* + The total number of successful backups that have been made to the + watchtower session. + */ + uint32 num_backups = 1; + + /* + The total number of backups in the session that are currently pending to be + acknowledged by the watchtower. + */ + uint32 num_pending_backups = 2; + + // The maximum number of backups allowed by the watchtower session. + uint32 max_backups = 3; + + /* + Deprecated, use sweep_sat_per_vbyte. + The fee rate, in satoshis per vbyte, that will be used by the watchtower for + the justice transaction in the event of a channel breach. + */ + uint32 sweep_sat_per_byte = 4 [deprecated = true]; + + /* + The fee rate, in satoshis per vbyte, that will be used by the watchtower for + the justice transaction in the event of a channel breach. + */ + uint32 sweep_sat_per_vbyte = 5; +} + +message Tower { + // The identifying public key of the watchtower. + bytes pubkey = 1; + + // The list of addresses the watchtower is reachable over. + repeated string addresses = 2; + + // Whether the watchtower is currently a candidate for new sessions. + bool active_session_candidate = 3; + + // The number of sessions that have been negotiated with the watchtower. + uint32 num_sessions = 4; + + // The list of sessions that have been negotiated with the watchtower. + repeated TowerSession sessions = 5; +} + +message ListTowersRequest { + // Whether we should include sessions with the watchtower in the response. + bool include_sessions = 1; +} + +message ListTowersResponse { + // The list of watchtowers available for new backups. + repeated Tower towers = 1; +} + +message StatsRequest { +} + +message StatsResponse { + /* + The total number of backups made to all active and exhausted watchtower + sessions. + */ + uint32 num_backups = 1; + + /* + The total number of backups that are pending to be acknowledged by all + active and exhausted watchtower sessions. + */ + uint32 num_pending_backups = 2; + + /* + The total number of backups that all active and exhausted watchtower + sessions have failed to acknowledge. + */ + uint32 num_failed_backups = 3; + + // The total number of new sessions made to watchtowers. + uint32 num_sessions_acquired = 4; + + // The total number of watchtower sessions that have been exhausted. + uint32 num_sessions_exhausted = 5; +} + +enum PolicyType { + // Selects the policy from the legacy tower client. + LEGACY = 0; + + // Selects the policy from the anchor tower client. + ANCHOR = 1; +} + +message PolicyRequest { + /* + The client type from which to retrieve the active offering policy. + */ + PolicyType policy_type = 1; +} + +message PolicyResponse { + /* + The maximum number of updates each session we negotiate with watchtowers + should allow. + */ + uint32 max_updates = 1; + + /* + Deprecated, use sweep_sat_per_vbyte. + The fee rate, in satoshis per vbyte, that will be used by watchtowers for + justice transactions in response to channel breaches. + */ + uint32 sweep_sat_per_byte = 2 [deprecated = true]; + + /* + The fee rate, in satoshis per vbyte, that will be used by watchtowers for + justice transactions in response to channel breaches. + */ + uint32 sweep_sat_per_vbyte = 3; +} diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/wtclient_pb2.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/wtclient_pb2.py new file mode 100644 index 00000000..3b5199eb --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/wtclient_pb2.py @@ -0,0 +1,760 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: v0131beta/wtclientrpc/wtclient.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from google.protobuf import reflection as _reflection +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor.FileDescriptor( + name='v0131beta/wtclientrpc/wtclient.proto', + package='wtclientrpc', + syntax='proto3', + serialized_options=b'Z1github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/wtclientrpc', + create_key=_descriptor._internal_create_key, + serialized_pb=b'\n$v0131beta/wtclientrpc/wtclient.proto\x12\x0bwtclientrpc\"2\n\x0f\x41\x64\x64TowerRequest\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"\x12\n\x10\x41\x64\x64TowerResponse\"5\n\x12RemoveTowerRequest\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x0f\n\x07\x61\x64\x64ress\x18\x02 \x01(\t\"\x15\n\x13RemoveTowerResponse\"?\n\x13GetTowerInfoRequest\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x18\n\x10include_sessions\x18\x02 \x01(\x08\"\x92\x01\n\x0cTowerSession\x12\x13\n\x0bnum_backups\x18\x01 \x01(\r\x12\x1b\n\x13num_pending_backups\x18\x02 \x01(\r\x12\x13\n\x0bmax_backups\x18\x03 \x01(\r\x12\x1e\n\x12sweep_sat_per_byte\x18\x04 \x01(\rB\x02\x18\x01\x12\x1b\n\x13sweep_sat_per_vbyte\x18\x05 \x01(\r\"\x8f\x01\n\x05Tower\x12\x0e\n\x06pubkey\x18\x01 \x01(\x0c\x12\x11\n\taddresses\x18\x02 \x03(\t\x12 \n\x18\x61\x63tive_session_candidate\x18\x03 \x01(\x08\x12\x14\n\x0cnum_sessions\x18\x04 \x01(\r\x12+\n\x08sessions\x18\x05 \x03(\x0b\x32\x19.wtclientrpc.TowerSession\"-\n\x11ListTowersRequest\x12\x18\n\x10include_sessions\x18\x01 \x01(\x08\"8\n\x12ListTowersResponse\x12\"\n\x06towers\x18\x01 \x03(\x0b\x32\x12.wtclientrpc.Tower\"\x0e\n\x0cStatsRequest\"\x9c\x01\n\rStatsResponse\x12\x13\n\x0bnum_backups\x18\x01 \x01(\r\x12\x1b\n\x13num_pending_backups\x18\x02 \x01(\r\x12\x1a\n\x12num_failed_backups\x18\x03 \x01(\r\x12\x1d\n\x15num_sessions_acquired\x18\x04 \x01(\r\x12\x1e\n\x16num_sessions_exhausted\x18\x05 \x01(\r\"=\n\rPolicyRequest\x12,\n\x0bpolicy_type\x18\x01 \x01(\x0e\x32\x17.wtclientrpc.PolicyType\"b\n\x0ePolicyResponse\x12\x13\n\x0bmax_updates\x18\x01 \x01(\r\x12\x1e\n\x12sweep_sat_per_byte\x18\x02 \x01(\rB\x02\x18\x01\x12\x1b\n\x13sweep_sat_per_vbyte\x18\x03 \x01(\r*$\n\nPolicyType\x12\n\n\x06LEGACY\x10\x00\x12\n\n\x06\x41NCHOR\x10\x01\x32\xc5\x03\n\x10WatchtowerClient\x12G\n\x08\x41\x64\x64Tower\x12\x1c.wtclientrpc.AddTowerRequest\x1a\x1d.wtclientrpc.AddTowerResponse\x12P\n\x0bRemoveTower\x12\x1f.wtclientrpc.RemoveTowerRequest\x1a .wtclientrpc.RemoveTowerResponse\x12M\n\nListTowers\x12\x1e.wtclientrpc.ListTowersRequest\x1a\x1f.wtclientrpc.ListTowersResponse\x12\x44\n\x0cGetTowerInfo\x12 .wtclientrpc.GetTowerInfoRequest\x1a\x12.wtclientrpc.Tower\x12>\n\x05Stats\x12\x19.wtclientrpc.StatsRequest\x1a\x1a.wtclientrpc.StatsResponse\x12\x41\n\x06Policy\x12\x1a.wtclientrpc.PolicyRequest\x1a\x1b.wtclientrpc.PolicyResponseB3Z1github.amrom.workers.dev/lightningnetwork/lnd/lnrpc/wtclientrpcb\x06proto3' +) + +_POLICYTYPE = _descriptor.EnumDescriptor( + name='PolicyType', + full_name='wtclientrpc.PolicyType', + filename=None, + file=DESCRIPTOR, + create_key=_descriptor._internal_create_key, + values=[ + _descriptor.EnumValueDescriptor( + name='LEGACY', index=0, number=0, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + _descriptor.EnumValueDescriptor( + name='ANCHOR', index=1, number=1, + serialized_options=None, + type=None, + create_key=_descriptor._internal_create_key), + ], + containing_type=None, + serialized_options=None, + serialized_start=1006, + serialized_end=1042, +) +_sym_db.RegisterEnumDescriptor(_POLICYTYPE) + +PolicyType = enum_type_wrapper.EnumTypeWrapper(_POLICYTYPE) +LEGACY = 0 +ANCHOR = 1 + + + +_ADDTOWERREQUEST = _descriptor.Descriptor( + name='AddTowerRequest', + full_name='wtclientrpc.AddTowerRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pubkey', full_name='wtclientrpc.AddTowerRequest.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='address', full_name='wtclientrpc.AddTowerRequest.address', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=53, + serialized_end=103, +) + + +_ADDTOWERRESPONSE = _descriptor.Descriptor( + name='AddTowerResponse', + full_name='wtclientrpc.AddTowerResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=105, + serialized_end=123, +) + + +_REMOVETOWERREQUEST = _descriptor.Descriptor( + name='RemoveTowerRequest', + full_name='wtclientrpc.RemoveTowerRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pubkey', full_name='wtclientrpc.RemoveTowerRequest.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='address', full_name='wtclientrpc.RemoveTowerRequest.address', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=125, + serialized_end=178, +) + + +_REMOVETOWERRESPONSE = _descriptor.Descriptor( + name='RemoveTowerResponse', + full_name='wtclientrpc.RemoveTowerResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=180, + serialized_end=201, +) + + +_GETTOWERINFOREQUEST = _descriptor.Descriptor( + name='GetTowerInfoRequest', + full_name='wtclientrpc.GetTowerInfoRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pubkey', full_name='wtclientrpc.GetTowerInfoRequest.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='include_sessions', full_name='wtclientrpc.GetTowerInfoRequest.include_sessions', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=203, + serialized_end=266, +) + + +_TOWERSESSION = _descriptor.Descriptor( + name='TowerSession', + full_name='wtclientrpc.TowerSession', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='num_backups', full_name='wtclientrpc.TowerSession.num_backups', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_pending_backups', full_name='wtclientrpc.TowerSession.num_pending_backups', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='max_backups', full_name='wtclientrpc.TowerSession.max_backups', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sweep_sat_per_byte', full_name='wtclientrpc.TowerSession.sweep_sat_per_byte', index=3, + number=4, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sweep_sat_per_vbyte', full_name='wtclientrpc.TowerSession.sweep_sat_per_vbyte', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=269, + serialized_end=415, +) + + +_TOWER = _descriptor.Descriptor( + name='Tower', + full_name='wtclientrpc.Tower', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='pubkey', full_name='wtclientrpc.Tower.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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='addresses', full_name='wtclientrpc.Tower.addresses', index=1, + number=2, type=9, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='active_session_candidate', full_name='wtclientrpc.Tower.active_session_candidate', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_sessions', full_name='wtclientrpc.Tower.num_sessions', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sessions', full_name='wtclientrpc.Tower.sessions', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=418, + serialized_end=561, +) + + +_LISTTOWERSREQUEST = _descriptor.Descriptor( + name='ListTowersRequest', + full_name='wtclientrpc.ListTowersRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='include_sessions', full_name='wtclientrpc.ListTowersRequest.include_sessions', 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=563, + serialized_end=608, +) + + +_LISTTOWERSRESPONSE = _descriptor.Descriptor( + name='ListTowersResponse', + full_name='wtclientrpc.ListTowersResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='towers', full_name='wtclientrpc.ListTowersResponse.towers', 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=610, + serialized_end=666, +) + + +_STATSREQUEST = _descriptor.Descriptor( + name='StatsRequest', + full_name='wtclientrpc.StatsRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=668, + serialized_end=682, +) + + +_STATSRESPONSE = _descriptor.Descriptor( + name='StatsResponse', + full_name='wtclientrpc.StatsResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='num_backups', full_name='wtclientrpc.StatsResponse.num_backups', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_pending_backups', full_name='wtclientrpc.StatsResponse.num_pending_backups', index=1, + number=2, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_failed_backups', full_name='wtclientrpc.StatsResponse.num_failed_backups', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_sessions_acquired', full_name='wtclientrpc.StatsResponse.num_sessions_acquired', index=3, + number=4, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='num_sessions_exhausted', full_name='wtclientrpc.StatsResponse.num_sessions_exhausted', index=4, + number=5, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=685, + serialized_end=841, +) + + +_POLICYREQUEST = _descriptor.Descriptor( + name='PolicyRequest', + full_name='wtclientrpc.PolicyRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='policy_type', full_name='wtclientrpc.PolicyRequest.policy_type', index=0, + number=1, 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, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=843, + serialized_end=904, +) + + +_POLICYRESPONSE = _descriptor.Descriptor( + name='PolicyResponse', + full_name='wtclientrpc.PolicyResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + create_key=_descriptor._internal_create_key, + fields=[ + _descriptor.FieldDescriptor( + name='max_updates', full_name='wtclientrpc.PolicyResponse.max_updates', index=0, + number=1, 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, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sweep_sat_per_byte', full_name='wtclientrpc.PolicyResponse.sweep_sat_per_byte', index=1, + number=2, 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=b'\030\001', file=DESCRIPTOR, create_key=_descriptor._internal_create_key), + _descriptor.FieldDescriptor( + name='sweep_sat_per_vbyte', full_name='wtclientrpc.PolicyResponse.sweep_sat_per_vbyte', index=2, + number=3, 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, create_key=_descriptor._internal_create_key), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=906, + serialized_end=1004, +) + +_TOWER.fields_by_name['sessions'].message_type = _TOWERSESSION +_LISTTOWERSRESPONSE.fields_by_name['towers'].message_type = _TOWER +_POLICYREQUEST.fields_by_name['policy_type'].enum_type = _POLICYTYPE +DESCRIPTOR.message_types_by_name['AddTowerRequest'] = _ADDTOWERREQUEST +DESCRIPTOR.message_types_by_name['AddTowerResponse'] = _ADDTOWERRESPONSE +DESCRIPTOR.message_types_by_name['RemoveTowerRequest'] = _REMOVETOWERREQUEST +DESCRIPTOR.message_types_by_name['RemoveTowerResponse'] = _REMOVETOWERRESPONSE +DESCRIPTOR.message_types_by_name['GetTowerInfoRequest'] = _GETTOWERINFOREQUEST +DESCRIPTOR.message_types_by_name['TowerSession'] = _TOWERSESSION +DESCRIPTOR.message_types_by_name['Tower'] = _TOWER +DESCRIPTOR.message_types_by_name['ListTowersRequest'] = _LISTTOWERSREQUEST +DESCRIPTOR.message_types_by_name['ListTowersResponse'] = _LISTTOWERSRESPONSE +DESCRIPTOR.message_types_by_name['StatsRequest'] = _STATSREQUEST +DESCRIPTOR.message_types_by_name['StatsResponse'] = _STATSRESPONSE +DESCRIPTOR.message_types_by_name['PolicyRequest'] = _POLICYREQUEST +DESCRIPTOR.message_types_by_name['PolicyResponse'] = _POLICYRESPONSE +DESCRIPTOR.enum_types_by_name['PolicyType'] = _POLICYTYPE +_sym_db.RegisterFileDescriptor(DESCRIPTOR) + +AddTowerRequest = _reflection.GeneratedProtocolMessageType('AddTowerRequest', (_message.Message,), { + 'DESCRIPTOR' : _ADDTOWERREQUEST, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.AddTowerRequest) + }) +_sym_db.RegisterMessage(AddTowerRequest) + +AddTowerResponse = _reflection.GeneratedProtocolMessageType('AddTowerResponse', (_message.Message,), { + 'DESCRIPTOR' : _ADDTOWERRESPONSE, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.AddTowerResponse) + }) +_sym_db.RegisterMessage(AddTowerResponse) + +RemoveTowerRequest = _reflection.GeneratedProtocolMessageType('RemoveTowerRequest', (_message.Message,), { + 'DESCRIPTOR' : _REMOVETOWERREQUEST, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.RemoveTowerRequest) + }) +_sym_db.RegisterMessage(RemoveTowerRequest) + +RemoveTowerResponse = _reflection.GeneratedProtocolMessageType('RemoveTowerResponse', (_message.Message,), { + 'DESCRIPTOR' : _REMOVETOWERRESPONSE, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.RemoveTowerResponse) + }) +_sym_db.RegisterMessage(RemoveTowerResponse) + +GetTowerInfoRequest = _reflection.GeneratedProtocolMessageType('GetTowerInfoRequest', (_message.Message,), { + 'DESCRIPTOR' : _GETTOWERINFOREQUEST, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.GetTowerInfoRequest) + }) +_sym_db.RegisterMessage(GetTowerInfoRequest) + +TowerSession = _reflection.GeneratedProtocolMessageType('TowerSession', (_message.Message,), { + 'DESCRIPTOR' : _TOWERSESSION, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.TowerSession) + }) +_sym_db.RegisterMessage(TowerSession) + +Tower = _reflection.GeneratedProtocolMessageType('Tower', (_message.Message,), { + 'DESCRIPTOR' : _TOWER, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.Tower) + }) +_sym_db.RegisterMessage(Tower) + +ListTowersRequest = _reflection.GeneratedProtocolMessageType('ListTowersRequest', (_message.Message,), { + 'DESCRIPTOR' : _LISTTOWERSREQUEST, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.ListTowersRequest) + }) +_sym_db.RegisterMessage(ListTowersRequest) + +ListTowersResponse = _reflection.GeneratedProtocolMessageType('ListTowersResponse', (_message.Message,), { + 'DESCRIPTOR' : _LISTTOWERSRESPONSE, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.ListTowersResponse) + }) +_sym_db.RegisterMessage(ListTowersResponse) + +StatsRequest = _reflection.GeneratedProtocolMessageType('StatsRequest', (_message.Message,), { + 'DESCRIPTOR' : _STATSREQUEST, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.StatsRequest) + }) +_sym_db.RegisterMessage(StatsRequest) + +StatsResponse = _reflection.GeneratedProtocolMessageType('StatsResponse', (_message.Message,), { + 'DESCRIPTOR' : _STATSRESPONSE, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.StatsResponse) + }) +_sym_db.RegisterMessage(StatsResponse) + +PolicyRequest = _reflection.GeneratedProtocolMessageType('PolicyRequest', (_message.Message,), { + 'DESCRIPTOR' : _POLICYREQUEST, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.PolicyRequest) + }) +_sym_db.RegisterMessage(PolicyRequest) + +PolicyResponse = _reflection.GeneratedProtocolMessageType('PolicyResponse', (_message.Message,), { + 'DESCRIPTOR' : _POLICYRESPONSE, + '__module__' : 'v0131beta.wtclientrpc.wtclient_pb2' + # @@protoc_insertion_point(class_scope:wtclientrpc.PolicyResponse) + }) +_sym_db.RegisterMessage(PolicyResponse) + + +DESCRIPTOR._options = None +_TOWERSESSION.fields_by_name['sweep_sat_per_byte']._options = None +_POLICYRESPONSE.fields_by_name['sweep_sat_per_byte']._options = None + +_WATCHTOWERCLIENT = _descriptor.ServiceDescriptor( + name='WatchtowerClient', + full_name='wtclientrpc.WatchtowerClient', + file=DESCRIPTOR, + index=0, + serialized_options=None, + create_key=_descriptor._internal_create_key, + serialized_start=1045, + serialized_end=1498, + methods=[ + _descriptor.MethodDescriptor( + name='AddTower', + full_name='wtclientrpc.WatchtowerClient.AddTower', + index=0, + containing_service=None, + input_type=_ADDTOWERREQUEST, + output_type=_ADDTOWERRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='RemoveTower', + full_name='wtclientrpc.WatchtowerClient.RemoveTower', + index=1, + containing_service=None, + input_type=_REMOVETOWERREQUEST, + output_type=_REMOVETOWERRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='ListTowers', + full_name='wtclientrpc.WatchtowerClient.ListTowers', + index=2, + containing_service=None, + input_type=_LISTTOWERSREQUEST, + output_type=_LISTTOWERSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='GetTowerInfo', + full_name='wtclientrpc.WatchtowerClient.GetTowerInfo', + index=3, + containing_service=None, + input_type=_GETTOWERINFOREQUEST, + output_type=_TOWER, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='Stats', + full_name='wtclientrpc.WatchtowerClient.Stats', + index=4, + containing_service=None, + input_type=_STATSREQUEST, + output_type=_STATSRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), + _descriptor.MethodDescriptor( + name='Policy', + full_name='wtclientrpc.WatchtowerClient.Policy', + index=5, + containing_service=None, + input_type=_POLICYREQUEST, + output_type=_POLICYRESPONSE, + serialized_options=None, + create_key=_descriptor._internal_create_key, + ), +]) +_sym_db.RegisterServiceDescriptor(_WATCHTOWERCLIENT) + +DESCRIPTOR.services_by_name['WatchtowerClient'] = _WATCHTOWERCLIENT + +# @@protoc_insertion_point(module_scope) diff --git a/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/wtclient_pb2_grpc.py b/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/wtclient_pb2_grpc.py new file mode 100644 index 00000000..f1db0186 --- /dev/null +++ b/node_launcher/node_set/lnd/lnd_client/v0131beta/wtclientrpc/wtclient_pb2_grpc.py @@ -0,0 +1,251 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + +from v0131beta.wtclientrpc import wtclient_pb2 as v0131beta_dot_wtclientrpc_dot_wtclient__pb2 + + +class WatchtowerClientStub(object): + """WatchtowerClient is a service that grants access to the watchtower client + functionality of the daemon. + """ + + def __init__(self, channel): + """Constructor. + + Args: + channel: A grpc.Channel. + """ + self.AddTower = channel.unary_unary( + '/wtclientrpc.WatchtowerClient/AddTower', + request_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.AddTowerRequest.SerializeToString, + response_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.AddTowerResponse.FromString, + ) + self.RemoveTower = channel.unary_unary( + '/wtclientrpc.WatchtowerClient/RemoveTower', + request_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.RemoveTowerRequest.SerializeToString, + response_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.RemoveTowerResponse.FromString, + ) + self.ListTowers = channel.unary_unary( + '/wtclientrpc.WatchtowerClient/ListTowers', + request_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.ListTowersRequest.SerializeToString, + response_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.ListTowersResponse.FromString, + ) + self.GetTowerInfo = channel.unary_unary( + '/wtclientrpc.WatchtowerClient/GetTowerInfo', + request_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.GetTowerInfoRequest.SerializeToString, + response_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.Tower.FromString, + ) + self.Stats = channel.unary_unary( + '/wtclientrpc.WatchtowerClient/Stats', + request_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.StatsRequest.SerializeToString, + response_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.StatsResponse.FromString, + ) + self.Policy = channel.unary_unary( + '/wtclientrpc.WatchtowerClient/Policy', + request_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.PolicyRequest.SerializeToString, + response_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.PolicyResponse.FromString, + ) + + +class WatchtowerClientServicer(object): + """WatchtowerClient is a service that grants access to the watchtower client + functionality of the daemon. + """ + + def AddTower(self, request, context): + """ + AddTower adds a new watchtower reachable at the given address and + considers it for new sessions. If the watchtower already exists, then + any new addresses included will be considered when dialing it for + session negotiations and backups. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def RemoveTower(self, request, context): + """ + RemoveTower removes a watchtower from being considered for future session + negotiations and from being used for any subsequent backups until it's added + again. If an address is provided, then this RPC only serves as a way of + removing the address from the watchtower instead. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def ListTowers(self, request, context): + """ListTowers returns the list of watchtowers registered with the client. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetTowerInfo(self, request, context): + """GetTowerInfo retrieves information for a registered watchtower. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Stats(self, request, context): + """Stats returns the in-memory statistics of the client since startup. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def Policy(self, request, context): + """Policy returns the active watchtower client policy configuration. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + +def add_WatchtowerClientServicer_to_server(servicer, server): + rpc_method_handlers = { + 'AddTower': grpc.unary_unary_rpc_method_handler( + servicer.AddTower, + request_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.AddTowerRequest.FromString, + response_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.AddTowerResponse.SerializeToString, + ), + 'RemoveTower': grpc.unary_unary_rpc_method_handler( + servicer.RemoveTower, + request_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.RemoveTowerRequest.FromString, + response_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.RemoveTowerResponse.SerializeToString, + ), + 'ListTowers': grpc.unary_unary_rpc_method_handler( + servicer.ListTowers, + request_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.ListTowersRequest.FromString, + response_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.ListTowersResponse.SerializeToString, + ), + 'GetTowerInfo': grpc.unary_unary_rpc_method_handler( + servicer.GetTowerInfo, + request_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.GetTowerInfoRequest.FromString, + response_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.Tower.SerializeToString, + ), + 'Stats': grpc.unary_unary_rpc_method_handler( + servicer.Stats, + request_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.StatsRequest.FromString, + response_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.StatsResponse.SerializeToString, + ), + 'Policy': grpc.unary_unary_rpc_method_handler( + servicer.Policy, + request_deserializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.PolicyRequest.FromString, + response_serializer=v0131beta_dot_wtclientrpc_dot_wtclient__pb2.PolicyResponse.SerializeToString, + ), + } + generic_handler = grpc.method_handlers_generic_handler( + 'wtclientrpc.WatchtowerClient', rpc_method_handlers) + server.add_generic_rpc_handlers((generic_handler,)) + + + # This class is part of an EXPERIMENTAL API. +class WatchtowerClient(object): + """WatchtowerClient is a service that grants access to the watchtower client + functionality of the daemon. + """ + + @staticmethod + def AddTower(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/wtclientrpc.WatchtowerClient/AddTower', + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.AddTowerRequest.SerializeToString, + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.AddTowerResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def RemoveTower(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/wtclientrpc.WatchtowerClient/RemoveTower', + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.RemoveTowerRequest.SerializeToString, + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.RemoveTowerResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def ListTowers(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/wtclientrpc.WatchtowerClient/ListTowers', + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.ListTowersRequest.SerializeToString, + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.ListTowersResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetTowerInfo(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/wtclientrpc.WatchtowerClient/GetTowerInfo', + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.GetTowerInfoRequest.SerializeToString, + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.Tower.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Stats(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/wtclientrpc.WatchtowerClient/Stats', + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.StatsRequest.SerializeToString, + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.StatsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def Policy(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/wtclientrpc.WatchtowerClient/Policy', + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.PolicyRequest.SerializeToString, + v0131beta_dot_wtclientrpc_dot_wtclient__pb2.PolicyResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/node_launcher/node_set/lnd/lnd_configuration.py b/node_launcher/node_set/lnd/lnd_configuration.py index ced639b8..9cfa4dd2 100644 --- a/node_launcher/node_set/lnd/lnd_configuration.py +++ b/node_launcher/node_set/lnd/lnd_configuration.py @@ -4,8 +4,6 @@ import ssl from typing import List -import qrcode - from node_launcher.constants import ( IS_WINDOWS, LND_DEFAULT_GRPC_PORT, @@ -14,21 +12,23 @@ LND_DIR_PATH, OPERATING_SYSTEM, TOR_SERVICE_PATH) -from node_launcher.logging import log +from node_launcher.app_logging import log from node_launcher.node_set.bitcoind.bitcoind_configuration import ( BitcoindConfiguration ) from node_launcher.node_set.lib.configuration import Configuration +from node_launcher.node_set.lib.hard_drives import Partition from node_launcher.port_utilities import get_port from node_launcher.node_set.lnd.lnd_configuration_keys import keys_info as lnd_keys_info class LndConfiguration(Configuration): - def __init__(self): + def __init__(self, bitcoind_partition: Partition): file_name = 'lnd.conf' lnd_dir_path = LND_DIR_PATH[OPERATING_SYSTEM] configuration_file_path = os.path.join(lnd_dir_path, file_name) + self.bitcoind_partition = bitcoind_partition super().__init__(name='lnd', path=configuration_file_path, keys_info=lnd_keys_info) @property @@ -43,7 +43,8 @@ def args(self): ] arg_list += [ - '--bitcoin.mainnet' + '--bitcoin.mainnet', + '--profile=9736' ] return arg_list @@ -68,8 +69,9 @@ def check(self): self.set_default_configuration('debuglevel', 'info') self['bitcoin.active'] = True + self['bitcoin.node'] = 'bitcoind' - bitcoind_conf = BitcoindConfiguration() + bitcoind_conf = BitcoindConfiguration(partition=self.bitcoind_partition) bitcoind_conf.load() self['bitcoind.rpchost'] = f'127.0.0.1:{bitcoind_conf.rpc_port}' self['bitcoind.rpcuser'] = bitcoind_conf['rpcuser'] @@ -98,44 +100,11 @@ def check(self): 'bitcoin', 'mainnet' ) - # self.config_snapshot = self.snapshot.copy() - # self.file_watcher.fileChanged.connect(self.config_file_changed) - # self.file_watcher.fileChanged.connect( - # self.bitcoin_config_file_changed) hostname_file = os.path.join(TOR_SERVICE_PATH, 'hostname') with open(hostname_file, 'r') as f: self['externalip'] = f.readline().strip() - def config_file_changed(self): - # Refresh config file - self.file_watcher.blockSignals(True) - self.populate_cache() - self.file_watcher.blockSignals(False) - if self['restlisten'] is not None: - self.rest_port = int(self['restlisten'].split(':')[-1]) - if self['rpclisten'] is not None: - self.grpc_port = int(self['rpclisten'].split(':')[-1]) - - # Some text editors do not modify the file, they delete and replace the file - # Check if file is still in file_watcher list of files, if not add back - files_watched = self.file_watcher.files() - if len(files_watched) == 0: - self.file_watcher.addPath(self.file.path) - - def bitcoin_config_file_changed(self): - # Refresh config file - self.file_watcher.blockSignals(True) - self.populate_cache() - self.file_watcher.blockSignals(False) - bitcoind_conf = BitcoindConfiguration() - bitcoind_conf.load() - self['bitcoind.rpchost'] = f'127.0.0.1:{bitcoind_conf.rpc_port}' - self['bitcoind.rpcuser'] = bitcoind_conf['rpcuser'] - self['bitcoind.rpcpass'] = bitcoind_conf['rpcpassword'] - self['bitcoind.zmqpubrawblock'] = bitcoind_conf['zmqpubrawblock'] - self['bitcoind.zmqpubrawtx'] = bitcoind_conf['zmqpubrawtx'] - @property def node_port(self) -> int: self.set_default_configuration('listen', f'127.0.0.1:{get_port(LND_DEFAULT_PEER_PORT)}') @@ -168,34 +137,6 @@ def rest_url(self) -> str: def grpc_url(self) -> str: return f'127.0.0.1:{self.grpc_port}' - @property - def restart_required(self): - if self.running: - # Did bitcoin details change - if self.restart_required: - return True and self.running - - old_config = self.config_snapshot.copy() - new_config = self.snapshot - - fields = [ - 'restlisten', 'listen', 'rpclisten' - ] - - for field in fields: - # First check if field is found in both configs - found_in_old_config = field in old_config.keys() - found_in_new_config = field in new_config.keys() - if found_in_old_config != found_in_new_config: - return True - - # Now check that values are the same - if found_in_old_config: - if old_config[field] != new_config[field]: - return True - - return False - @staticmethod def base64URL_from_base64(s): return s.replace('+', '-').replace('/', '_').rstrip('=') @@ -221,10 +162,11 @@ def lndconnect_url(self): host = self.grpc_url.split(':')[0] port = self.grpc_url.split(':')[1] return f'lndconnect://{host}:{port}' \ - f'?cert={self.tls_cert_path}&macaroon={self.admin_macaroon_path}' + f'?cert={self.tls_cert_path}&macaroon={self.admin_macaroon_path}' @property def lndconnect_qrcode(self): + import qrcode img = qrcode.make(self.lndconnect_mobile_url) return img diff --git a/node_launcher/node_set/lnd/lnd_logging.py b/node_launcher/node_set/lnd/lnd_logging.py index f288ff42..49dff421 100644 --- a/node_launcher/node_set/lnd/lnd_logging.py +++ b/node_launcher/node_set/lnd/lnd_logging.py @@ -44,7 +44,9 @@ class LoggingLevel(object): DEFAULT_LOGGING_LEVELS = [ (Subsystem.LTND, LoggingLevel.DEBUG), - (Subsystem.LNWL, LoggingLevel.INFO), + (Subsystem.LNWL, LoggingLevel.DEBUG), + (Subsystem.NTFN, LoggingLevel.DEBUG), + (Subsystem.BTCN, LoggingLevel.WARN), (Subsystem.PEER, LoggingLevel.WARN), (Subsystem.SRVR, LoggingLevel.WARN), (Subsystem.DISC, LoggingLevel.WARN), diff --git a/node_launcher/node_set/lnd/lnd_node.py b/node_launcher/node_set/lnd/lnd_node.py index 25ddaabb..3ccb6b3c 100644 --- a/node_launcher/node_set/lnd/lnd_node.py +++ b/node_launcher/node_set/lnd/lnd_node.py @@ -1,48 +1,65 @@ -from PySide2.QtCore import QProcess +from typing import Optional +from node_launcher.gui.qt import QProcess +from node_launcher.constants import OperatingSystem, LND +from node_launcher.app_logging import log from node_launcher.node_set.lib.network_node import NetworkNode from node_launcher.node_set.lib.node_status import NodeStatus from node_launcher.node_set.lnd.lnd_threaded_client import LndThreadedClient from .lnd_configuration import LndConfiguration from .lnd_unlocker import LndUnlocker from .lnd_process import LndProcess -from .lnd_software import LndSoftware +from ..lib.hard_drives import Partition class LndNode(NetworkNode): - client: LndThreadedClient + client: Optional[LndThreadedClient] configuration: LndConfiguration process: LndProcess - software: LndSoftware - - def __init__(self): - super().__init__( - network='lnd', - Software=LndSoftware, - Configuration=LndConfiguration, - Process=LndProcess - ) + + def __init__(self, operating_system: OperatingSystem, bitcoind_partition: Partition): + super().__init__(operating_system=operating_system, + node_software_name=LND, + bitcoind_partition=bitcoind_partition) + self.bitcoind_partition = bitcoind_partition self.client = None self.unlocker = None - self.bitcoind_syncing = False + self.bitcoind_ready = False + self.tor_synced = False def handle_status_change(self, new_status): if new_status == NodeStatus.CONFIGURATION_READY: self.client = LndThreadedClient(self.configuration) + self.client.signals.error.connect(self.handle_error) self.unlocker = LndUnlocker(configuration=self.configuration) elif new_status == NodeStatus.UNLOCK_READY: self.unlocker.auto_unlock_wallet() elif new_status == NodeStatus.SYNCING: self.client.debug_level() + def handle_log_line(self, line: str): + if 'Unable to create chain control: unable to subscribe for zmq block events' in line: + self.restart = True + elif 'Unable to start server: unable to fetch filter: unable to fetch cfilter' in line: + self.restart = True + elif 'Chain backend synced to tip!' in line: + self.update_status(NodeStatus.BITCOIND_SYNCED) + @property def prerequisites_synced(self): - return self.bitcoind_syncing + if self.bitcoind_partition: + return self.bitcoind_ready + else: + return self.tor_synced def stop(self): + log.debug('lnd stop', process_state=self.process.state()) if self.process.state() == QProcess.Running: self.process.expecting_shutdown = True try: self.client.stop() except: self.process.kill() + + def handle_error(self, error_tuple): + log.error('lnd_node handle_error') diff --git a/node_launcher/node_set/lnd/lnd_process.py b/node_launcher/node_set/lnd/lnd_process.py index 7fdae034..1bf0613d 100644 --- a/node_launcher/node_set/lnd/lnd_process.py +++ b/node_launcher/node_set/lnd/lnd_process.py @@ -1,45 +1,62 @@ +import re +from dataclasses import dataclass from datetime import datetime import humanize -from PySide2.QtCore import QTimer, Signal -from PySide2.QtWidgets import QSystemTrayIcon +from node_launcher.gui.qt import QTimer, Signal, QSystemTrayIcon from node_launcher.node_set.lib.managed_process import ManagedProcess from node_launcher.node_set.lib.node_status import NodeStatus +@dataclass +class ProgressBarStatus(object): + percentage: int + humanized_eta: str + + class LndProcess(ManagedProcess): - set_icon_color = Signal(str) + set_progress_bar = Signal(ProgressBarStatus) def __init__(self, binary: str, args): super().__init__(binary, args) self.old_height = None self.old_timestamp = None + self.rescan_height = None + self.old_status = None def process_output_line(self, line: str): if 'Waiting for wallet encryption password' in line: self.update_status(NodeStatus.UNLOCK_READY) elif 'Waiting for chain backend to finish sync' in line: - self.set_icon_color.emit('blue') self.update_status(NodeStatus.SYNCING) elif 'Unable to synchronize wallet to chain' in line: self.terminate() self.restart_process() + elif 'Error during rescan: rescan block subscription was canceled' in line: + self.restart_process() + elif 'Started rescan from block' in line: + self.rescan_height = int(re.search('height \d{6}', line)[0].split()[-1]) elif 'Unable to complete chain rescan' in line: self.terminate() self.restart_process() + elif 'unable to create chain control' in line: + self.terminate() + self.waitForFinished(-1) + self.start() elif 'Starting HTLC Switch' in line: - self.set_icon_color.emit('green') self.update_status(NodeStatus.SYNCED) self.notification.emit( - 'LND is ready', - 'Open Joule or Zap', + 'Nodes are ready', + 'Open Joule', QSystemTrayIcon.Information ) - elif 'Caught up to height' in line: - new_height = int(line.split(' ')[-1]) - timestamp = line.split('[INF]')[0].strip() + elif 'Filtering block' in line: + line_parts = line.split(' ') + height_line_part = line_parts[6] + new_height = int(height_line_part) + timestamp = ' '.join(line_parts[0:1]) new_timestamp = datetime.strptime( timestamp, '%Y-%m-%d %H:%M:%S.%f' @@ -48,15 +65,19 @@ def process_output_line(self, line: str): change = new_height - self.old_height if change: timestamp_change = new_timestamp - self.old_timestamp - total_left = 600000 - new_height + total_left = 800000 - new_height time_left = (total_left / change) * timestamp_change - humanized = humanize.naturaltime(-time_left) - self.sync_progress.emit( - f'ETA: {humanized}, caught up to height {new_height}' - ) - + humanized = humanize.naturaltime(-time_left, future=True) + description = f'syncing, ready {humanized}' + self.update_status(NodeStatus.SYNCING, description) + self.set_progress_bar.emit(ProgressBarStatus(percentage=50, humanized_eta=humanized)) self.old_height = new_height self.old_timestamp = new_timestamp - def restart_process(self): - QTimer.singleShot(3000, self.start) + def delayed_start(self, **kwargs): + self.stop() + super().start(**kwargs) + + def start(self): + QTimer.singleShot(4000, self.delayed_start) + diff --git a/node_launcher/node_set/lnd/lnd_software.py b/node_launcher/node_set/lnd/lnd_software.py deleted file mode 100644 index e30dc960..00000000 --- a/node_launcher/node_set/lnd/lnd_software.py +++ /dev/null @@ -1,39 +0,0 @@ -from node_launcher.constants import TARGET_LND_RELEASE, OPERATING_SYSTEM -from node_launcher.node_set.lib.software import Software - - -class LndSoftware(Software): - def __init__(self): - super().__init__( - software_name='lnd', - release_version=TARGET_LND_RELEASE - ) - self.github_team = 'lightningnetwork' - self.download_name = f'lnd-{OPERATING_SYSTEM}-amd64-{self.release_version}' - self.download_url = f'https://github.com' \ - f'/{self.github_team}' \ - f'/{self.software_name}' \ - f'/releases' \ - f'/download' \ - f'/{self.release_version}' \ - f'/{self.download_destination_file_name}' - - @property - def cli(self): - return self.lncli - - @property - def daemon(self): - return self.lnd - - @property - def lnd(self) -> str: - return self.executable_path('lnd') - - @property - def lncli(self) -> str: - return self.executable_path('lncli') - - @property - def downloaded_bin_path(self): - return self.version_path diff --git a/node_launcher/node_set/lnd/lnd_threaded_client.py b/node_launcher/node_set/lnd/lnd_threaded_client.py index 6a4895f0..5ea524d4 100644 --- a/node_launcher/node_set/lnd/lnd_threaded_client.py +++ b/node_launcher/node_set/lnd/lnd_threaded_client.py @@ -1,17 +1,21 @@ -from PySide2.QtCore import QObject, QThreadPool +from node_launcher.gui.qt import QObject, QThreadPool -from node_launcher.gui.components.thread_worker import Worker -from node_launcher.logging import log +from node_launcher.gui.components.thread_worker import Worker, WorkerSignals +from node_launcher.app_logging import log from node_launcher.node_set.lnd.lnd_logging import DEFAULT_LOGGING_LEVELS from .lnd_client import LndClient class LndThreadedClient(QObject): - def __init__(self, configuration): + def __init__(self, configuration=None, lnd_client=None): super().__init__() self.configuration = configuration - self.client = LndClient(self.configuration) + if lnd_client is not None: + self.client = lnd_client + else: + self.client = LndClient(lnd_configuration=configuration) self.threadpool = QThreadPool() + self.signals = WorkerSignals() def stop(self): self.run_command('stop') @@ -20,6 +24,9 @@ def debug_level(self): level_spec = ','.join(['='.join([str(i[0]).upper(), str(i[1])]) for i in DEFAULT_LOGGING_LEVELS]) self.run_command('debug_level', level_spec=level_spec) + def list_all(self): + self.run_command('list_all') + def run_command(self, command: str, **kwargs): log.debug('LndThreadedClient call', command=command, @@ -27,7 +34,9 @@ def run_command(self, command: str, **kwargs): worker = Worker( fn=self.client_work, command=command, - configuration=self.configuration, + client=LndClient(lnddir=self.client.lnddir, + grpc_host=self.client.grpc_host, + grpc_port=self.client.grpc_port), **kwargs ) worker.signals.finished.connect(self.handle_finished) @@ -37,14 +46,15 @@ def run_command(self, command: str, **kwargs): self.threadpool.start(worker) @staticmethod - def client_work(command, configuration, **kwargs): - client = LndClient(configuration) + def client_work(command, client, **kwargs): return getattr(client, command)(**kwargs) def handle_finished(self): log.debug('LndThreadedClient call finished') + self.signals.finished.emit() def handle_error(self, error_tuple): + self.signals.error.emit(error_tuple) exctype, value, traceback = error_tuple log.debug( 'LndThreadedClient call error', @@ -55,9 +65,9 @@ def handle_error(self, error_tuple): def handle_result(self, result): log.debug( - 'LndThreadedClient call result', - result=result + 'LndThreadedClient call result emit', ) + self.signals.result.emit(result) def handle_progress(self, percentage: int): log.debug( diff --git a/node_launcher/node_set/lnd/lnd_unlocker.py b/node_launcher/node_set/lnd/lnd_unlocker.py index fa539018..086df207 100644 --- a/node_launcher/node_set/lnd/lnd_unlocker.py +++ b/node_launcher/node_set/lnd/lnd_unlocker.py @@ -1,8 +1,7 @@ -from PySide2.QtCore import QThreadPool, QObject from grpc._channel import _Rendezvous -from node_launcher.gui.components.thread_worker import Worker -from node_launcher.logging import log +from node_launcher.gui.qt import QObject +from node_launcher.app_logging import log from node_launcher.node_set.lib.get_random_password import get_random_password from node_launcher.node_set.lnd.lnd_client import LndClient from node_launcher.system_keyring import SystemKeyring @@ -15,25 +14,39 @@ def __init__(self, configuration): self.client = LndClient(self.configuration) self.keyring = SystemKeyring() + @property + def keyring_service_name(self): + return f'lnd_mainnet_wallet_password' + + def get_password(self): + for service_name in [self.keyring_service_name, 'lnd_wallet_password']: + for user_name in [self.keyring_service_name, self.configuration['bitcoind.rpcuser'], 'lnd_wallet_password']: + log.info( + 'auto_unlock_wallet_get_password', + keyring_service_name=service_name, + keyring_user_name=user_name + ) + password = self.keyring.get_password( + service=service_name, + username=user_name, + ) + if password is not None: + log.info( + 'Successfully got password from', + keyring_service_name=service_name, + keyring_user_name=user_name + ) + yield password + def auto_unlock_wallet(self): - keyring_service_name = f'lnd_mainnet_wallet_password' - keyring_user_name = self.configuration['bitcoind.rpcuser'] - log.info( - 'auto_unlock_wallet_get_password', - keyring_service_name=keyring_service_name, - keyring_user_name=keyring_user_name - ) - password = self.keyring.get_password( - service=keyring_service_name, - username=keyring_user_name, - ) - worker = Worker( - fn=self.unlock_wallet, - configuration=self.configuration, - password=password - ) - worker.signals.result.connect(self.handle_unlock_wallet) - QThreadPool().start(worker) + for password in self.get_password(): + error = self.unlock_wallet( + configuration=self.configuration, + password=password + ) + if error is None: + return + self.handle_unlock_wallet('wallet not found') @staticmethod def unlock_wallet(configuration, password: str): @@ -58,22 +71,21 @@ def generate_seed(self, new_seed_password: str): seed = generate_seed_response.cipher_seed_mnemonic - keyring_service_name = f'lnd_seed' keyring_user_name = ''.join(seed[0:2]) log.info( 'generate_seed', - keyring_service_name=keyring_service_name, + keyring_service_name=self.keyring_service_name, keyring_user_name=keyring_user_name ) self.keyring.set_password( - service=keyring_service_name, + service=self.keyring_service_name, username=keyring_user_name, password=' '.join(seed) ) self.keyring.set_password( - service=f'{keyring_service_name}_seed_password', + service=f'{self.keyring_service_name}_seed_password', username=keyring_user_name, password=new_seed_password ) @@ -90,15 +102,14 @@ def handle_unlock_wallet(self, details: str): # User needs to create a new wallet elif 'wallet not found' in details: new_wallet_password = get_random_password() - keyring_service_name = keyring_user_name = f'lnd_wallet_password' log.info( 'create_wallet', - keyring_service_name=keyring_service_name, - keyring_user_name=keyring_user_name + keyring_service_name=self.keyring_service_name, + keyring_user_name=self.keyring_service_name ) self.keyring.set_password( - service=keyring_service_name, - username=keyring_user_name, + service=self.keyring_service_name, + username=self.keyring_service_name, password=new_wallet_password ) seed = self.generate_seed(new_wallet_password) @@ -112,10 +123,14 @@ def handle_unlock_wallet(self, details: str): log.error('initialize_wallet error', exc_info=True) raise self.keyring.set_password( - service=f'lnd_mainnet_wallet_password', - username=self.configuration['bitcoind.rpcuser'], + service=self.keyring_service_name, + username=self.keyring_service_name, password=new_wallet_password ) + elif 'invalid passphrase for master public key' in details: + self.system_tray.menu.lnd_status_action.setText( + 'Invalid LND Password' + ) else: log.warning( 'unlock_wallet failed', diff --git a/node_launcher/node_set/node_set.py b/node_launcher/node_set/node_set.py index 3caa6325..1dc9e9fe 100644 --- a/node_launcher/node_set/node_set.py +++ b/node_launcher/node_set/node_set.py @@ -1,54 +1,63 @@ +from typing import Optional + +from node_launcher.gui.qt import QObject, Signal +from node_launcher.constants import OPERATING_SYSTEM from .bitcoind.bitcoind_node import BitcoindNode +from .lib.hard_drives import Partition from .lib.node_status import NodeStatus from .lnd.lnd_node import LndNode from .tor.tor_node import TorNode -from node_launcher.logging import log +from node_launcher.app_logging import log -class NodeSet(object): - bitcoind_node: BitcoindNode - lnd_node: LndNode +class NodeSet(QObject): tor_node: TorNode + bitcoind_node: Optional[BitcoindNode] + lnd_node: LndNode + + set_icon_number = Signal(int) - def __init__(self): - self.tor_node = TorNode() - self.bitcoind_node = BitcoindNode() - self.lnd_node = LndNode() + def __init__(self, full_node_partition: Partition): + super().__init__() + self.full_node_partition = full_node_partition + + self.tor_node = TorNode(operating_system=OPERATING_SYSTEM) + self.bitcoind_node = BitcoindNode(operating_system=OPERATING_SYSTEM, partition=self.full_node_partition) + self.lnd_node = LndNode(operating_system=OPERATING_SYSTEM, bitcoind_partition=self.full_node_partition) self.tor_node.status.connect( self.handle_tor_node_status_change ) self.bitcoind_node.status.connect( - self.handle_bitcoin_node_status_change + self.handle_bitcoind_node_status_change + ) + self.lnd_node.status.connect( + self.handle_lnd_node_status_change ) def start(self): log.debug('Starting node set') - self.tor_node.software.update() + self.tor_node.start_process() + self.set_icon_number.emit(1) + self.bitcoind_node.start_process() - def handle_tor_node_status_change(self, status): - if status in [NodeStatus.SOFTWARE_DOWNLOADED, - NodeStatus.SOFTWARE_READY]: - self.bitcoind_node.software.update() - elif status == NodeStatus.SYNCED: + def handle_tor_node_status_change(self, tor_status): + if tor_status == NodeStatus.RESTART: + self.start() + elif tor_status == NodeStatus.LIBRARY_ERROR: + self.tor_node.software.start_update_worker() + elif tor_status == NodeStatus.SYNCED: + self.set_icon_number.emit(2) self.bitcoind_node.tor_synced = True - self.bitcoind_node.start_process() - elif status == NodeStatus.STOPPED: - self.lnd_node.stop() - self.bitcoind_node.stop() - - def handle_bitcoin_node_status_change(self, status): - if status in [NodeStatus.SOFTWARE_DOWNLOADED, - NodeStatus.SOFTWARE_READY]: - if self.lnd_node.current_status is None: - self.lnd_node.software.update() - elif status == NodeStatus.SYNCING: - self.lnd_node.bitcoind_syncing = True + + def handle_bitcoind_node_status_change(self, bitcoind_status): + if bitcoind_status == NodeStatus.SYNCING: + self.bitcoind_node.configuration['reindex'] = False self.lnd_node.start_process() - elif status == NodeStatus.STOPPED: - self.lnd_node.stop() - self.lnd_node.bitcoind_syncing = False - elif status == NodeStatus.RESTART: - self.lnd_node.stop() - self.bitcoind_node.software.update() - self.bitcoind_node.start_process() + + def handle_lnd_node_status_change(self, lnd_status): + if lnd_status == NodeStatus.BITCOIND_SYNCED: + self.set_icon_number.emit(3) + self.bitcoind_node.process.update_status(NodeStatus.SYNCED) + elif lnd_status == NodeStatus.SYNCED: + self.set_icon_number.emit(4) diff --git a/node_launcher/node_set/tor/tor_configuration.py b/node_launcher/node_set/tor/tor_configuration.py index 3027c19e..d198f28d 100644 --- a/node_launcher/node_set/tor/tor_configuration.py +++ b/node_launcher/node_set/tor/tor_configuration.py @@ -21,5 +21,7 @@ def check(self): # torrc edits self['ControlPort'] = 9051 self['CookieAuthentication'] = True + self['CookieAuthFileGroupReadable'] = True + self['DataDirectoryGroupReadable'] = True self['HiddenServiceDir'] = TOR_SERVICE_PATH - self['HiddenServicePort'] = '8333 127.0.0.1:8333' + self['HiddenServicePort'] = '8333 127.0.0.1:8334' diff --git a/node_launcher/node_set/tor/tor_debian_install.py b/node_launcher/node_set/tor/tor_debian_install.py index a05fbab4..9c268eb1 100644 --- a/node_launcher/node_set/tor/tor_debian_install.py +++ b/node_launcher/node_set/tor/tor_debian_install.py @@ -1,7 +1,7 @@ import subprocess from node_launcher.constants import IS_LINUX -from node_launcher.logging import log +from node_launcher.app_logging import log def deb_install(): diff --git a/node_launcher/node_set/tor/tor_node.py b/node_launcher/node_set/tor/tor_node.py index 8cf9ccf7..5f035afe 100644 --- a/node_launcher/node_set/tor/tor_node.py +++ b/node_launcher/node_set/tor/tor_node.py @@ -1,25 +1,39 @@ +from _signal import SIGTERM + +from psutil import process_iter + +from node_launcher.constants import OperatingSystem, TOR +from node_launcher.app_logging import log from node_launcher.node_set.lib.managed_process import ManagedProcess from node_launcher.node_set.lib.network_node import NetworkNode from node_launcher.node_set.lib.node_status import NodeStatus from .tor_configuration import TorConfiguration -from .tor_software import TorSoftware class TorNode(NetworkNode): - software: TorSoftware configuration: TorConfiguration process: ManagedProcess - def __init__(self): - super().__init__( - network='tor', - Software=TorSoftware, - Configuration=TorConfiguration, - Process=ManagedProcess - ) + def __init__(self, operating_system: OperatingSystem): + super().__init__(operating_system=operating_system, + node_software_name=TOR, + bitcoind_partition=None) def handle_log_line(self, log_line: str): if 'Bootstrapped 0%: Starting' in log_line: self.update_status(NodeStatus.SYNCING) elif 'Bootstrapped 100% (done): Done' in log_line: self.update_status(NodeStatus.SYNCED) + elif log_line.startswith('dyld: Library not loaded'): + self.update_status(NodeStatus.LIBRARY_ERROR) + elif ('Address already in use. Is Tor already running' in log_line + or 'Failed to bind one of the listener ports.' in log_line): + for proc in process_iter(): + try: + for conns in proc.connections(kind='inet'): + if conns.laddr.port in (9050, 9051): + proc.send_signal(SIGTERM) + except Exception as e: + log.debug('proc exception', {'exception': e}) + pass + self.update_status(NodeStatus.RESTART) diff --git a/node_launcher/node_set/tor/tor_software.py b/node_launcher/node_set/tor/tor_software.py deleted file mode 100644 index cb2f2670..00000000 --- a/node_launcher/node_set/tor/tor_software.py +++ /dev/null @@ -1,43 +0,0 @@ -import os - -from node_launcher.constants import ( - IS_WINDOWS, - IS_MACOS, - IS_LINUX, - TARGET_WINDOWS_TOR_VERSION, - TARGET_TOR_RELEASE, - TOR_WEBSITE -) -from node_launcher.node_set.lib.software import Software - - -class TorSoftware(Software): - def __init__(self): - super().__init__( - software_name='tor', - release_version=TARGET_TOR_RELEASE - ) - if IS_MACOS: - self.compressed_suffix = '.dmg' - self.download_name = f'TorBrowser-{self.release_version}-osx64_en-US' - elif IS_LINUX: - self.compressed_suffix = '.tar.xz' - self.download_name = f'tor-browser-linux64-{self.release_version}_en-US' - elif IS_WINDOWS: - self.download_name = f'tor-win64-{TARGET_WINDOWS_TOR_VERSION}' - - self.download_url = f'{TOR_WEBSITE}{self.release_version}/{self.download_destination_file_name}' - - @property - def daemon(self): - return self.tor - - @property - def tor(self) -> str: - name = 'tor.real' - if IS_WINDOWS: - name = 'tor.exe' - elif IS_LINUX: - name = 'tor' - latest_executable = os.path.join(self.static_bin_path, name) - return latest_executable diff --git a/node_launcher/system_keyring.py b/node_launcher/system_keyring.py index 44a1d14d..7b6bc23c 100644 --- a/node_launcher/system_keyring.py +++ b/node_launcher/system_keyring.py @@ -1,4 +1,5 @@ -from keyring.backend import KeyringBackend +from keyring.backend import KeyringBackend, log +from keyring.errors import KeyringLocked from node_launcher.constants import IS_WINDOWS, IS_MACOS, IS_LINUX @@ -7,10 +8,11 @@ class SystemKeyring(KeyringBackend): backend: KeyringBackend def __init__(self): + super().__init__() if IS_WINDOWS: from keyring.backends.Windows import WinVaultKeyring as Keyring elif IS_MACOS: - from keyring.backends.OS_X import Keyring + from keyring.backends.macOS import Keyring elif IS_LINUX: from keyring.backends.SecretService import Keyring else: @@ -22,7 +24,12 @@ def set_password(self, service, username, password): return self.backend.set_password(service, username, password) def get_password(self, service, username): - return self.backend.get_password(service, username) + try: + password = self.backend.get_password(service, username) + except KeyringLocked: + log.debug('Keyring locked error') + password = None + return password def delete_password(self, service, username): return self.backend.delete_password(service, username) diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 00000000..69023f64 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,4 @@ +[pytest] +log_cli = true +log_format = %(asctime)s %(levelname)s %(message)s +log_date_format = %Y-%m-%d %H:%M:%S diff --git a/requirements-linux.txt b/requirements-linux.txt new file mode 100644 index 00000000..b75401dc --- /dev/null +++ b/requirements-linux.txt @@ -0,0 +1,2 @@ +pydbus +secretstorage \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index fed204e5..2693029f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,25 +1,16 @@ -colorama -dataclasses -pydbus +google-api-core googleapis-common-protos +google-api-core grpcio grpcio-tools humanize -jinja2 keyring -pillow protobuf psutil -pygments pyinstaller -PySide2 +PyQt5 PyTest pytest-qt -qrcode requests requests-mock -secretstorage -shiboken2 structlog -webassets -wtforms diff --git a/run-mac.spec b/run-mac.spec index c8274bdf..9ed6204f 100644 --- a/run-mac.spec +++ b/run-mac.spec @@ -1,16 +1,24 @@ # -*- mode: python -*- + +import os +from pprint import pformat + from PyInstaller.utils.hooks import collect_data_files block_cipher = None a = Analysis( ['run.py'], - pathex=['/Users/pierre/src/node-launcher'], - binaries=[], + binaries=[ + ('node_launcher/node_set/lib/bin/tor.real', 'node_launcher/node_set/lib/bin/'), + ('node_launcher/node_set/lib/bin/libevent-2.1.7.dylib', 'node_launcher/node_set/lib/bin/'), + ('node_launcher/node_set/lib/bin/bitcoind', 'node_launcher/node_set/lib/bin/'), + ('node_launcher/node_set/lib/bin/lnd', 'node_launcher/node_set/lib/bin/') + ], datas=[ - ('node_launcher/gui/assets/*.png', 'assets') - ] + collect_data_files('shiboken2', include_py_files=True, subdir='support') - + collect_data_files('PySide2', include_py_files=True, subdir='support'), + ('node_launcher/gui/assets/Bitcoin-Icons/png/filled/node*.png', + 'node_launcher/gui/assets/Bitcoin-Icons/png/filled/'), + ], hiddenimports=['setuptools'], hookspath=[], runtime_hooks=[], @@ -21,6 +29,20 @@ a = Analysis( noarchive=False ) +# Strip out parts of Qt that we never use. Reduces binary size by tens of MBs. see #4815 +qt_bins2remove=('qtqml', 'qtweb', 'qt3d', 'qtgame', 'qtdesigner', 'qtquick', 'qtlocation', 'qttest', 'qtxml') +print("Removing Qt binaries:", *qt_bins2remove) +binaries = [] +for x in a.scripts.copy() + a.binaries.copy(): + removed = '' + for r in qt_bins2remove: + if x[0].lower().startswith(r): + a.binaries.remove(x) + removed = 'removed' + binaries.append((x[0].lower(), os.path.getsize(x[1]) / 1000000, removed)) +binaries.sort(key=lambda tup: tup[1], reverse=True) +print(pformat(binaries)) + pyz = PYZ( a.pure, a.zipped_data, @@ -30,11 +52,8 @@ pyz = PYZ( exe = EXE( pyz, a.scripts, - a.binaries, - a.zipfiles, - a.datas, - [], - name='Node.Launcher.app', + exclude_binaries=True, + name='run.py', debug=False, bootloader_ignore_signals=False, strip=False, @@ -45,7 +64,11 @@ exe = EXE( app = BUNDLE( exe, + a.binaries, + a.zipfiles, + a.datas, name='Node Launcher.app', + version='7.0.0', icon='AppIcon.icns', bundle_identifier=None, info_plist={ diff --git a/run-windows.spec b/run-windows.spec index 8b920882..57317d29 100644 --- a/run-windows.spec +++ b/run-windows.spec @@ -6,17 +6,18 @@ block_cipher = None a = Analysis(['run.py'], pathex=['C:\\Users\\pierre\\PycharmProjects\\node-launcher'], - binaries=[], + binaries=[ + ('node_launcher/node_set/lib/bin/*', 'node_launcher/node_set/lib/bin/') + ], datas=[ ('node_launcher/gui/assets/*.png', 'assets') - ] + collect_data_files('shiboken2', include_py_files=True, subdir='support') - + collect_data_files('PySide2', include_py_files=True, subdir='support'), + ], hiddenimports=['setuptools', 'pypiwin32', 'win32timezone'], hookspath=[], runtime_hooks=[], excludes=[], - win_no_prefer_redirects=False, - win_private_assemblies=False, + win_no_prefer_redirects=True, + win_private_assemblies=True, cipher=block_cipher, noarchive=False) pyz = PYZ(a.pure, a.zipped_data, diff --git a/run.py b/run.py index 090ce3d9..0ab85e2e 100644 --- a/run.py +++ b/run.py @@ -1,14 +1,20 @@ +import os import sys from node_launcher.constants import ( - OPERATING_SYSTEM, NODE_LAUNCHER_RELEASE, - TARGET_BITCOIN_RELEASE, TARGET_LND_RELEASE + OPERATING_SYSTEM, NODE_LAUNCHER_RELEASE ) +from node_launcher.except_hook import except_hook from node_launcher.gui.application import Application -from node_launcher.logging import log +from node_launcher.app_logging import log +from node_launcher.node_set.lib.constants import ( + TARGET_BITCOIN_RELEASE, + TARGET_LND_RELEASE +) if __name__ == '__main__': - # sys.excepthook = except_hook + if not os.environ.get('NODE_LAUNCHER_EXCEPT_HOOK'): + sys.excepthook = except_hook log.info( 'constants', diff --git a/run_channel.py b/run_channel.py new file mode 100644 index 00000000..293f6f29 --- /dev/null +++ b/run_channel.py @@ -0,0 +1,40 @@ +import sys + +from node_launcher.gui.channel_application import ChannelApplication +from node_launcher.node_set.lnd.lnd_client import LndClient + +if __name__ == '__main__': + # sys.excepthook = except_hook + + import argparse + + parser = argparse.ArgumentParser() + parser.add_argument( + '-d', + type=str, + help='Path to LND directory' + ) + + parser.add_argument( + '-host', + type=str, + help='gRPC Host' + ) + + parser.add_argument( + '-port', + type=str, + help='gRPC Port' + ) + + parser.add_argument( + 'action', + type=str + ) + args = parser.parse_args() + lnd_client = LndClient(lnddir=args.d, + grpc_host=args.host, + grpc_port=args.port) + + app = ChannelApplication(client=lnd_client) + sys.exit(app.start()) diff --git a/tests/test_node_set/test_bitcoind/test_bitcoind_node.py b/tests/test_node_set/test_bitcoind/test_bitcoind_node.py index ef2cb29d..f264076c 100644 --- a/tests/test_node_set/test_bitcoind/test_bitcoind_node.py +++ b/tests/test_node_set/test_bitcoind/test_bitcoind_node.py @@ -1,5 +1,6 @@ import pytest +from node_launcher.constants import OPERATING_SYSTEM from node_launcher.node_set.lib.node_status import NodeStatus from node_launcher.node_set.bitcoind.bitcoind_node import BitcoindNode from node_launcher.node_set.tor.tor_node import TorNode @@ -7,18 +8,21 @@ @pytest.fixture def tor_node(): - return TorNode() + return TorNode(operating_system=OPERATING_SYSTEM) @pytest.fixture def bitcoind_node(): - return BitcoindNode() + return BitcoindNode(operating_system=OPERATING_SYSTEM) class TestBitcoindNode(object): - @pytest.mark.slow + # @pytest.mark.slow def test_start(self, bitcoind_node: BitcoindNode, tor_node: TorNode, qtbot): + def check_tor_synced(): + return tor_node.current_status == NodeStatus.SYNCED + def handle_tor_node_status_change(status): if status in [NodeStatus.SOFTWARE_DOWNLOADED, NodeStatus.SOFTWARE_READY]: @@ -30,11 +34,13 @@ def handle_tor_node_status_change(status): tor_node.status.connect(handle_tor_node_status_change) tor_node.software.update() + qtbot.waitUntil(check_tor_synced, timeout=500000) + def check_synced(): return bitcoind_node.current_status == NodeStatus.SYNCING - qtbot.waitUntil(check_synced, timeout=500000) + qtbot.waitUntil(check_synced, timeout=10) bitcoind_node.stop() def check_stopped(): return bitcoind_node.current_status == NodeStatus.STOPPED - qtbot.waitUntil(check_stopped, timeout=500000) + qtbot.waitUntil(check_stopped, timeout=1) diff --git a/tests/test_node_set/test_bitcoind/test_bitcoind_rpc_client.py b/tests/test_node_set/test_bitcoind/test_bitcoind_rpc_client.py index 05007107..b145a86d 100644 --- a/tests/test_node_set/test_bitcoind/test_bitcoind_rpc_client.py +++ b/tests/test_node_set/test_bitcoind/test_bitcoind_rpc_client.py @@ -2,6 +2,7 @@ import pytest +from node_launcher.constants import OPERATING_SYSTEM from node_launcher.node_set.bitcoind.bitcoind_rpc_client import Proxy, JSONRPCError from node_launcher.node_set.lib.node_status import NodeStatus from node_launcher.node_set.bitcoind.bitcoind_node import BitcoindNode @@ -10,12 +11,12 @@ @pytest.fixture(scope='module') def tor_node(): - return TorNode() + return TorNode(operating_system=OPERATING_SYSTEM) @pytest.fixture(scope='module') def bitcoind_node(): - return BitcoindNode() + return BitcoindNode(operating_system=OPERATING_SYSTEM) @pytest.fixture(scope='module') diff --git a/tests/test_node_set/test_bitcoind/test_bitcoind_software.py b/tests/test_node_set/test_bitcoind/test_bitcoind_software.py index b0e05ffb..8a16e289 100644 --- a/tests/test_node_set/test_bitcoind/test_bitcoind_software.py +++ b/tests/test_node_set/test_bitcoind/test_bitcoind_software.py @@ -3,14 +3,18 @@ import pytest -from node_launcher.constants import TARGET_BITCOIN_RELEASE, IS_MACOS, IS_WINDOWS +from node_launcher.constants import IS_MACOS, \ + IS_WINDOWS, OPERATING_SYSTEM, BITCOIND +from node_launcher.node_set.lib.constants import TARGET_BITCOIN_RELEASE from node_launcher.node_set.lib.node_status import SoftwareStatus -from node_launcher.node_set.bitcoind.bitcoind_software import BitcoindSoftware + +from node_launcher.node_set.lib.software import Software @pytest.fixture def bitcoind_software(): - bitcoind_software = BitcoindSoftware() + bitcoind_software = Software(operating_system=OPERATING_SYSTEM, + node_software_name=BITCOIND) return bitcoind_software @@ -48,30 +52,30 @@ def check_file_creation(new_status): check_params_cb=check_status_order) as blocker: bitcoind_software.update() - def test_bitcoin_qt(self, bitcoind_software: BitcoindSoftware): + def test_bitcoin_qt(self, bitcoind_software: Software): assert os.path.isfile(bitcoind_software.bitcoin_qt) - def test_bitcoin_cli(self, bitcoind_software: BitcoindSoftware): + def test_bitcoin_cli(self, bitcoind_software: Software): assert os.path.isfile(bitcoind_software.bitcoin_cli) - def test_bitcoind(self, bitcoind_software: BitcoindSoftware): + def test_bitcoind(self, bitcoind_software: Software): assert os.path.isfile(bitcoind_software.bitcoind) - def test_release_version(self, bitcoind_software: BitcoindSoftware): + def test_release_version(self, bitcoind_software: Software): assert bitcoind_software.release_version == TARGET_BITCOIN_RELEASE.replace('v', '') - def test_binary_name(self, bitcoind_software: BitcoindSoftware): + def test_binary_name(self, bitcoind_software: Software): assert bitcoind_software.download_name - def test_binaries_directory(self, bitcoind_software: BitcoindSoftware): + def test_binaries_directory(self, bitcoind_software: Software): d = bitcoind_software.software_directory assert os.path.isdir(d) - def test_binary_directory(self, bitcoind_software: BitcoindSoftware): + def test_binary_directory(self, bitcoind_software: Software): d = bitcoind_software.version_path assert os.path.isdir(d) - def test_download_url(self, bitcoind_software: BitcoindSoftware): + def test_download_url(self, bitcoind_software: Software): url = bitcoind_software.download_url if IS_WINDOWS: assert url == 'https://bitcoincore.org/bin/bitcoin-core-0.18.1/bitcoin-0.18.1-win64.zip' diff --git a/tests/test_node_set/test_lib/test_software.py b/tests/test_node_set/test_lib/test_software.py index 75de90e0..d56facab 100644 --- a/tests/test_node_set/test_lib/test_software.py +++ b/tests/test_node_set/test_lib/test_software.py @@ -4,18 +4,14 @@ import pytest -from node_launcher.constants import IS_WINDOWS -from node_launcher.node_set.lib.constants import ( - DEFAULT_COMPRESSED_SUFFIX, - DEFAULT_WINDOWS_COMPRESSED_SUFFIX -) +from node_launcher.constants import IS_WINDOWS, TEST_SOFTWARE from node_launcher.node_set.lib.node_status import SoftwareStatus from node_launcher.node_set.lib.software import Software @pytest.fixture def software(): - software = Software(software_name='test_software', release_version='0.1.0') + software = Software(node_software_name=TEST_SOFTWARE) software.download_name = f'TestSoftware_{software.release_version}' software.download_url = 'http://localhost' software.test_bin = os.path.join(software.downloaded_bin_path, 'test_bin') diff --git a/tests/test_node_set/test_lnd/test_lnd_configuration.py b/tests/test_node_set/test_lnd/test_lnd_configuration.py index 4106ccd2..4562a5cc 100644 --- a/tests/test_node_set/test_lnd/test_lnd_configuration.py +++ b/tests/test_node_set/test_lnd/test_lnd_configuration.py @@ -45,40 +45,3 @@ def test_node(self, lnd_configuration: LndConfiguration): def test_grpc(self, lnd_configuration: LndConfiguration): assert not is_port_in_use(lnd_configuration.grpc_port) - - @pytest.mark.skip - def test_bitcoin_file_changed(self, lnd: LndConfiguration): - lnd.bitcoind_node.file['rpcport'] = 8338 - lnd.bitcoind_node.running = False - lnd.bitcoind_node.config_file_changed() - lnd.bitcoin_config_file_changed() - new_config = lnd.file.snapshot - lnd.running = False - assert lnd.file['bitcoind.rpchost'] == new_config['bitcoind.rpchost'] == '127.0.0.1:8338' - assert lnd.restart_required == False - lnd.bitcoind_node.running = True - lnd.bitcoind_node.config_snapshot = lnd.bitcoind_node.file.snapshot - assert lnd.bitcoind_node.config_snapshot['rpcport'] == 8338 - lnd.bitcoind_node.file['rpcport'] = 8340 - lnd.bitcoind_node.config_file_changed() - lnd.bitcoin_config_file_changed() - new_config = lnd.file.snapshot - assert lnd.file['bitcoind.rpchost'] == new_config['bitcoind.rpchost'] == '127.0.0.1:8340' - assert lnd.restart_required == False - lnd.running = True - assert lnd.bitcoind_node.restart_required == True - assert lnd.restart_required == True - - @pytest.mark.skip - def test_file_changed(self, lnd: LndConfiguration): - lnd.file['listen'] = '127.0.0.1:9739' - lnd.config_file_changed() - lnd.running = False - new_config = lnd.file.snapshot - assert lnd.node_port == new_config['listen'].split(':')[-1] == '9739' - assert lnd.restart_required == False - lnd.running = True - lnd.file['listen'] = '127.0.0.1:9741' - lnd.config_file_changed() - new_config = lnd.file.snapshot - assert lnd.node_port == new_config['listen'].split(':')[-1] == '9741' diff --git a/tests/test_node_set/test_lnd/test_lnd_node.py b/tests/test_node_set/test_lnd/test_lnd_node.py index c2164adb..2272c658 100644 --- a/tests/test_node_set/test_lnd/test_lnd_node.py +++ b/tests/test_node_set/test_lnd/test_lnd_node.py @@ -40,7 +40,7 @@ def handle_bitcoind_status(status): NodeStatus.SOFTWARE_READY]: lnd_node.software.update() elif status == NodeStatus.SYNCING: - lnd_node.bitcoind_syncing = True + lnd_node.bitcoind_ready = True lnd_node.start_process() elif status == NodeStatus.STOPPED: tor_node.stop() diff --git a/tests/test_node_set/test_lnd/test_lnd_software.py b/tests/test_node_set/test_lnd/test_lnd_software.py index 16b51d75..854328d4 100644 --- a/tests/test_node_set/test_lnd/test_lnd_software.py +++ b/tests/test_node_set/test_lnd/test_lnd_software.py @@ -1,46 +1,47 @@ import os -from tempfile import TemporaryDirectory import pytest -from node_launcher.constants import TARGET_LND_RELEASE -from node_launcher.node_set.lnd.lnd_software import LndSoftware +from node_launcher.constants import OPERATING_SYSTEM, LND +from node_launcher.node_set.lib.constants import TARGET_LND_RELEASE +from node_launcher.node_set.lib.software import Software @pytest.fixture def lnd_software(): - lnd_software = LndSoftware() + lnd_software = Software(operating_system=OPERATING_SYSTEM, + node_software_name=LND) return lnd_software class TestLndSoftware(object): @pytest.mark.slow - def test_lnd(self, lnd_software: LndSoftware): + def test_lnd(self, lnd_software: Software): assert os.path.isfile(lnd_software.lnd) @pytest.mark.slow - def test_lncli(self, lnd_software: LndSoftware): + def test_lncli(self, lnd_software: Software): assert os.path.isfile(lnd_software.lncli) - def test_release_version(self, lnd_software: LndSoftware): + def test_release_version(self, lnd_software: Software): assert lnd_software.release_version == TARGET_LND_RELEASE - def test_binary_name(self, lnd_software: LndSoftware): + def test_binary_name(self, lnd_software: Software): name = lnd_software.download_name assert len(name) - def test_binary_compressed_name(self, lnd_software: LndSoftware): + def test_binary_compressed_name(self, lnd_software: Software): name = lnd_software.download_destination_file_name assert len(name) - def test_binaries_directory(self, lnd_software: LndSoftware): + def test_binaries_directory(self, lnd_software: Software): d = lnd_software.software_directory assert os.path.isdir(d) - def test_binary_directory(self, lnd_software: LndSoftware): + def test_binary_directory(self, lnd_software: Software): d = lnd_software.version_path assert os.path.isdir(d) - def test_download_url(self, lnd_software: LndSoftware): + def test_download_url(self, lnd_software: Software): url = lnd_software.download_url assert len(url) diff --git a/tests/test_node_set/test_tor/test_tor_software.py b/tests/test_node_set/test_tor/test_tor_software.py index a91d1e22..a22eba43 100644 --- a/tests/test_node_set/test_tor/test_tor_software.py +++ b/tests/test_node_set/test_tor/test_tor_software.py @@ -3,25 +3,24 @@ import pytest -from node_launcher.constants import TOR_WEBSITE +from node_launcher.constants import TOR, LINUX, OPERATING_SYSTEM from node_launcher.node_set.lib.node_status import SoftwareStatus -from node_launcher.node_set.tor.tor_software import TorSoftware +from node_launcher.node_set.lib.software import Software @pytest.fixture def tor_software(): - tor_software = TorSoftware() + tor_software = Software(node_software_name=TOR, + operating_system=OPERATING_SYSTEM) return tor_software @pytest.mark.software class TestTorSoftware(object): @pytest.mark.slow - def test_linux_update(self, tor_software, qtbot): - tor_software.compressed_suffix = '.tar.xz' - tor_software.download_name = f'tor-browser-linux64-{tor_software.release_version}_en-US' - tor_software.download_url = f'{TOR_WEBSITE}{tor_software.release_version}/' \ - f'{tor_software.download_destination_file_name}' + def test_linux_update(self, qtbot): + tor_software = Software(node_software_name=TOR, + operating_system=LINUX) shutil.rmtree(tor_software.version_path, ignore_errors=True) tor_software.update()