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

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()