astra-lightning 1.1.3 → 1.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/.github/workflows/unit-test.yml +20 -0
  2. package/CHANGELOG.md +46 -1
  3. package/README.md +2 -0
  4. package/bolt02/ids.json +1 -0
  5. package/grpc/grpc_services.json +1 -1
  6. package/grpc/protos/lightning.proto +251 -28
  7. package/grpc/protos/rfqrpc/rfq.proto +53 -5
  8. package/grpc/protos/router.proto +9 -4
  9. package/grpc/protos/routerrpc/router.proto +26 -4
  10. package/grpc/protos/{tapchannelrpc.proto → tapchannel.proto} +105 -25
  11. package/grpc/protos/tapcommon.proto +36 -0
  12. package/grpc/protos/taprootassets.proto +544 -23
  13. package/grpc/protos/walletkit.proto +78 -6
  14. package/index.js +162 -160
  15. package/lnd_methods/generic/get_height.js +1 -1
  16. package/lnd_methods/index.js +162 -160
  17. package/lnd_methods/info/constants.json +7 -0
  18. package/lnd_methods/invoices/create_invoice.js +10 -14
  19. package/lnd_methods/invoices/subscribe_to_invoice.d.ts +4 -0
  20. package/lnd_methods/invoices/subscribe_to_invoice.js +21 -21
  21. package/lnd_methods/macaroon/methods.json +4 -0
  22. package/lnd_methods/offchain/decode_asset_pay_req.d.ts +69 -28
  23. package/lnd_methods/offchain/decode_asset_pay_req.js +54 -61
  24. package/lnd_methods/offchain/get_pending_channels.d.ts +16 -0
  25. package/lnd_methods/offchain/get_pending_channels.js +6 -0
  26. package/lnd_methods/offchain/get_routing_fee_estimate.d.ts +32 -0
  27. package/lnd_methods/offchain/get_routing_fee_estimate.js +86 -0
  28. package/lnd_methods/offchain/index.d.ts +60 -60
  29. package/lnd_methods/offchain/index.js +6 -4
  30. package/lnd_methods/offchain/pay_via_routes.d.ts +4 -0
  31. package/lnd_methods/onchain/close_channel.d.ts +4 -0
  32. package/lnd_methods/onchain/close_channel.js +4 -0
  33. package/lnd_methods/onchain/open_channels.d.ts +1 -0
  34. package/lnd_methods/onchain/open_channels.js +7 -1
  35. package/lnd_methods/onchain/request_chain_fee_increase.js +5 -0
  36. package/lnd_methods/onchain/subscribe_to_blocks.js +1 -1
  37. package/lnd_responses/confirmed_from_payment_status.js +38 -40
  38. package/lnd_responses/constants.json +1 -0
  39. package/lnd_responses/forward_from_htlc_event.js +31 -31
  40. package/lnd_responses/info_as_wallet_info.js +28 -28
  41. package/lnd_responses/payment_request_details.js +28 -32
  42. package/lnd_responses/pending_as_pending_channels.js +8 -0
  43. package/lnd_responses/pending_from_payment.js +24 -24
  44. package/lnd_responses/routes_from_query_routes.js +30 -30
  45. package/lnd_responses/rpc_channel_as_channel.js +10 -9
  46. package/lnd_responses/rpc_fees_as_channel_fees.js +16 -16
  47. package/lnd_responses/rpc_forward_as_forward_request.js +27 -27
  48. package/lnd_responses/rpc_payment_as_payment.js +28 -31
  49. package/package.json +24 -20
  50. package/test/lnd_methods/offchain/test_get_routing_fee_estimate.js +82 -0
  51. package/test/lnd_methods/onchain/test_close_channel.js +5 -0
  52. package/test/lnd_methods/onchain/test_open_channels.js +5 -1
  53. package/test/lnd_methods/onchain/test_request_chain_fee_increase.js +13 -0
  54. package/test/lnd_responses/test_pending_as_pending_channels.js +34 -1
  55. package/test.js +194 -22
  56. package/.yarn/cache/@babel-code-frame-npm-7.25.7-40a9f53f43-f235cdf9c5.zip +0 -0
  57. package/.yarn/cache/@babel-helper-validator-identifier-npm-7.25.7-1c758f0472-062f55208d.zip +0 -0
  58. package/.yarn/cache/@babel-highlight-npm-7.25.7-308b20da71-b6aa45c5bf.zip +0 -0
  59. package/.yarn/cache/@grpc-grpc-js-npm-1.12.2-733ec8eabe-ee51317f92.zip +0 -0
  60. package/.yarn/cache/@grpc-proto-loader-npm-0.7.13-be5b6af1c1-399c1b8a46.zip +0 -0
  61. package/.yarn/cache/@jest-schemas-npm-29.6.3-292730e442-910040425f.zip +0 -0
  62. package/.yarn/cache/@js-sdsl-ordered-map-npm-4.4.2-158f6c6b74-a927ae4ff8.zip +0 -0
  63. package/.yarn/cache/@noble-hashes-npm-1.5.0-87c768d742-9cc031d5c8.zip +0 -0
  64. package/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-a970d595bd.zip +0 -0
  65. package/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip +0 -0
  66. package/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-190c643f15.zip +0 -0
  67. package/.yarn/cache/@protobufjs-aspromise-npm-1.1.2-71d00b938f-011fe7ef08.zip +0 -0
  68. package/.yarn/cache/@protobufjs-base64-npm-1.1.2-cd8ca6814a-67173ac34d.zip +0 -0
  69. package/.yarn/cache/@protobufjs-codegen-npm-2.0.4-36e188bbe6-59240c850b.zip +0 -0
  70. package/.yarn/cache/@protobufjs-eventemitter-npm-1.1.0-029cc7d431-0369163a3d.zip +0 -0
  71. package/.yarn/cache/@protobufjs-fetch-npm-1.1.0-ca857b7df4-3fce7e09eb.zip +0 -0
  72. package/.yarn/cache/@protobufjs-float-npm-1.0.2-5678f64d08-5781e12412.zip +0 -0
  73. package/.yarn/cache/@protobufjs-inquire-npm-1.1.0-3c7759e9ce-ca06f02eaf.zip +0 -0
  74. package/.yarn/cache/@protobufjs-path-npm-1.1.2-641d08de76-856eeb532b.zip +0 -0
  75. package/.yarn/cache/@protobufjs-pool-npm-1.1.0-47a76f96a1-d6a34fbbd2.zip +0 -0
  76. package/.yarn/cache/@protobufjs-utf8-npm-1.1.0-02c590807c-f9bf3163d1.zip +0 -0
  77. package/.yarn/cache/@sinclair-typebox-npm-0.27.8-23e206d653-00bd7362a3.zip +0 -0
  78. package/.yarn/cache/@tsd-typescript-npm-5.4.5-31c3b104b3-86498d5e15.zip +0 -0
  79. package/.yarn/cache/@types-caseless-npm-0.12.5-d7dbdab81c-f6a3628add.zip +0 -0
  80. package/.yarn/cache/@types-eslint-npm-7.29.0-46534a7300-df13991c55.zip +0 -0
  81. package/.yarn/cache/@types-estree-npm-1.0.6-b5e23f2ea2-8825d6e729.zip +0 -0
  82. package/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-97ed0cb44d.zip +0 -0
  83. package/.yarn/cache/@types-minimist-npm-1.2.5-c85664a9d8-477047b606.zip +0 -0
  84. package/.yarn/cache/@types-node-npm-22.7.5-0428b60a8c-1a8bbb504e.zip +0 -0
  85. package/.yarn/cache/@types-node-npm-22.7.6-cbb64e0ad4-6afe2a1bd7.zip +0 -0
  86. package/.yarn/cache/@types-normalize-package-data-npm-2.4.4-676a8ba353-65dff72b54.zip +0 -0
  87. package/.yarn/cache/@types-request-npm-2.48.12-d921ef35cb-20dfad0a46.zip +0 -0
  88. package/.yarn/cache/@types-tough-cookie-npm-4.0.5-8c5e2162e1-f19409d019.zip +0 -0
  89. package/.yarn/cache/@types-ws-npm-8.5.12-90c42288cf-ddefb6ad16.zip +0 -0
  90. package/.yarn/cache/ansi-escapes-npm-4.3.2-3ad173702f-93111c4218.zip +0 -0
  91. package/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip +0 -0
  92. package/.yarn/cache/ansi-styles-npm-3.2.1-8cb8107983-d85ade01c1.zip +0 -0
  93. package/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-513b44c3b2.zip +0 -0
  94. package/.yarn/cache/ansi-styles-npm-5.2.0-72fc7003e3-d7f4e97ce0.zip +0 -0
  95. package/.yarn/cache/array-union-npm-2.1.0-4e4852b221-5bee12395c.zip +0 -0
  96. package/.yarn/cache/arrify-npm-1.0.1-affafba9fe-745075dd4a.zip +0 -0
  97. package/.yarn/cache/async-npm-3.2.4-aba13508f9-43d07459a4.zip +0 -0
  98. package/.yarn/cache/async-npm-3.2.6-aa4f5aa081-ee6eb8cd8a.zip +0 -0
  99. package/.yarn/cache/asyncjs-util-npm-1.2.12-f1ef4c2905-55ff005a7f.zip +0 -0
  100. package/.yarn/cache/asynckit-npm-0.4.0-c718858525-7b78c451df.zip +0 -0
  101. package/.yarn/cache/base-x-npm-3.0.10-2d05c06792-5230773955.zip +0 -0
  102. package/.yarn/cache/base-x-npm-4.0.0-64a1f6fa5e-b25db9e07e.zip +0 -0
  103. package/.yarn/cache/bech32-npm-2.0.0-ad98b7dd79-fa15acb270.zip +0 -0
  104. package/.yarn/cache/bip174-npm-2.1.1-d9fcaf36f9-bc5b99e7d1.zip +0 -0
  105. package/.yarn/cache/bip66-npm-1.1.5-e1d2ea7768-956cff6e51.zip +0 -0
  106. package/.yarn/cache/bitcoin-ops-npm-1.4.1-e1e62763b3-3daa3303d6.zip +0 -0
  107. package/.yarn/cache/bitcoinjs-lib-npm-6.1.3-8b823f7e69-b1d9ffd999.zip +0 -0
  108. package/.yarn/cache/bitcoinjs-lib-npm-6.1.6-d063b5a8ff-04370cf699.zip +0 -0
  109. package/.yarn/cache/bn.js-npm-5.2.1-dc952b1965-3dd8c8d380.zip +0 -0
  110. package/.yarn/cache/bolt07-npm-1.8.4-297a4ac40d-58cdf15aba.zip +0 -0
  111. package/.yarn/cache/bolt07-npm-1.9.4-6f74865601-d18efc5f83.zip +0 -0
  112. package/.yarn/cache/bolt09-npm-1.0.0-b3d5b54cf9-09d53b86f2.zip +0 -0
  113. package/.yarn/cache/bolt09-npm-2.1.0-1fc0cfcef2-629cd3bdd4.zip +0 -0
  114. package/.yarn/cache/braces-npm-3.0.3-582c14023c-b95aa0b3bd.zip +0 -0
  115. package/.yarn/cache/bs58-npm-4.0.1-8d2a7822b1-b3c5365bb9.zip +0 -0
  116. package/.yarn/cache/bs58-npm-5.0.0-da02537b92-2475cb0684.zip +0 -0
  117. package/.yarn/cache/bs58check-npm-2.1.2-4e87e40195-43bdf08a5d.zip +0 -0
  118. package/.yarn/cache/bs58check-npm-3.0.1-be32851e5e-dbbecc7a09.zip +0 -0
  119. package/.yarn/cache/camelcase-keys-npm-6.2.2-d13777ec12-43c9af1adf.zip +0 -0
  120. package/.yarn/cache/camelcase-npm-5.3.1-5db8af62c5-e6effce26b.zip +0 -0
  121. package/.yarn/cache/chalk-npm-2.4.2-3ea16dd91e-ec3661d38f.zip +0 -0
  122. package/.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-fe75c9d5c7.zip +0 -0
  123. package/.yarn/cache/cipher-base-npm-1.0.4-2e98b97140-47d3568dbc.zip +0 -0
  124. package/.yarn/cache/cliui-npm-8.0.1-3b029092cf-79648b3b00.zip +0 -0
  125. package/.yarn/cache/color-convert-npm-1.9.3-1fe690075e-fd7a64a17c.zip +0 -0
  126. package/.yarn/cache/color-convert-npm-2.0.1-79730e935b-79e6bdb9fd.zip +0 -0
  127. package/.yarn/cache/color-name-npm-1.1.3-728b7b5d39-09c5d3e33d.zip +0 -0
  128. package/.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip +0 -0
  129. package/.yarn/cache/combined-stream-npm-1.0.8-dc14d4a63a-49fa4aeb49.zip +0 -0
  130. package/.yarn/cache/create-hash-npm-1.2.0-afd048e1ce-02a6ae3bb9.zip +0 -0
  131. package/.yarn/cache/decamelize-keys-npm-1.1.1-4cfa36ed4b-fc645fe20b.zip +0 -0
  132. package/.yarn/cache/decamelize-npm-1.2.0-c5a2fdc622-ad8c51a7e7.zip +0 -0
  133. package/.yarn/cache/delayed-stream-npm-1.0.0-c5a4c4cc02-46fe6e83e2.zip +0 -0
  134. package/.yarn/cache/diff-sequences-npm-29.6.3-18ab2c9949-f4914158e1.zip +0 -0
  135. package/.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-fa05e18324.zip +0 -0
  136. package/.yarn/cache/ecpair-npm-2.1.0-d034fc21e2-924a776808.zip +0 -0
  137. package/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-d4c5c39d5a.zip +0 -0
  138. package/.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-c1c2b8b65f.zip +0 -0
  139. package/.yarn/cache/escalade-npm-3.2.0-19b50dd48f-47b029c83d.zip +0 -0
  140. package/.yarn/cache/escape-string-regexp-npm-1.0.5-3284de402f-6092fda75c.zip +0 -0
  141. package/.yarn/cache/eslint-formatter-pretty-npm-4.1.0-30790f28b4-e8e0cd3843.zip +0 -0
  142. package/.yarn/cache/eslint-rule-docs-npm-1.1.235-64d33df34f-b163596f9a.zip +0 -0
  143. package/.yarn/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-900e4979f4.zip +0 -0
  144. package/.yarn/cache/fastq-npm-1.17.1-56d4554993-a8c5b26788.zip +0 -0
  145. package/.yarn/cache/fill-range-npm-7.1.1-bf491486db-b4abfbca38.zip +0 -0
  146. package/.yarn/cache/find-up-npm-4.1.0-c3ccf8d855-4c172680e8.zip +0 -0
  147. package/.yarn/cache/form-data-npm-2.5.2-f40bcd738c-89ed3d9623.zip +0 -0
  148. package/.yarn/cache/function-bind-npm-1.1.2-7a55be9b03-2b0ff4ce70.zip +0 -0
  149. package/.yarn/cache/get-caller-file-npm-2.0.5-80e8a86305-b9769a836d.zip +0 -0
  150. package/.yarn/cache/glob-parent-npm-5.1.2-021ab32634-f4f2bfe242.zip +0 -0
  151. package/.yarn/cache/globby-npm-11.1.0-bdcdf20c71-b4be8885e0.zip +0 -0
  152. package/.yarn/cache/hard-rejection-npm-2.1.0-a80f2a977d-7baaf80a0c.zip +0 -0
  153. package/.yarn/cache/has-flag-npm-3.0.0-16ac11fe05-4a15638b45.zip +0 -0
  154. package/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip +0 -0
  155. package/.yarn/cache/hash-base-npm-3.1.0-26fc5711dd-26b7e97ac3.zip +0 -0
  156. package/.yarn/cache/hasown-npm-2.0.2-80fe6c9901-e8516f776a.zip +0 -0
  157. package/.yarn/cache/hosted-git-info-npm-2.8.9-62c44fa93f-c955394bda.zip +0 -0
  158. package/.yarn/cache/hosted-git-info-npm-4.1.0-4efcdf8fd3-c3f87b3c2f.zip +0 -0
  159. package/.yarn/cache/ignore-npm-5.3.2-346d3ba017-2acfd32a57.zip +0 -0
  160. package/.yarn/cache/indent-string-npm-4.0.0-7b717435b2-824cfb9929.zip +0 -0
  161. package/.yarn/cache/inherits-npm-2.0.4-c66b3957a0-4a48a73384.zip +0 -0
  162. package/.yarn/cache/invoices-npm-3.0.0-123907e565-27119b1449.zip +0 -0
  163. package/.yarn/cache/irregular-plurals-npm-3.5.0-2415613615-5b663091dc.zip +0 -0
  164. package/.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-eef4417e3c.zip +0 -0
  165. package/.yarn/cache/is-core-module-npm-2.15.1-34c73a6cbd-df134c1681.zip +0 -0
  166. package/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip +0 -0
  167. package/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip +0 -0
  168. package/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-d381c1319f.zip +0 -0
  169. package/.yarn/cache/is-number-npm-7.0.0-060086935c-456ac6f8e0.zip +0 -0
  170. package/.yarn/cache/is-plain-obj-npm-1.1.0-1046f64c0b-0ee0480779.zip +0 -0
  171. package/.yarn/cache/is-unicode-supported-npm-0.1.0-0833e1bbfb-a2aab86ee7.zip +0 -0
  172. package/.yarn/cache/jest-diff-npm-29.7.0-0149e01930-08e24a9dd4.zip +0 -0
  173. package/.yarn/cache/jest-get-type-npm-29.6.3-500477292e-88ac9102d4.zip +0 -0
  174. package/.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-8a95213a5a.zip +0 -0
  175. package/.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-798ed4cf33.zip +0 -0
  176. package/.yarn/cache/kind-of-npm-6.0.3-ab15f36220-3ab01e7b1d.zip +0 -0
  177. package/.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-0c37f9f7fa.zip +0 -0
  178. package/.yarn/cache/locate-path-npm-5.0.0-46580c43e4-83e51725e6.zip +0 -0
  179. package/.yarn/cache/lodash.camelcase-npm-4.3.0-bf268e3bf0-cb9227612f.zip +0 -0
  180. package/.yarn/cache/log-symbols-npm-4.1.0-0a13492d8b-fce1497b31.zip +0 -0
  181. package/.yarn/cache/long-npm-5.2.3-61dddb7586-885ede7c3d.zip +0 -0
  182. package/.yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-f97f499f89.zip +0 -0
  183. package/.yarn/cache/map-obj-npm-1.0.1-fa55100fac-9949e7baec.zip +0 -0
  184. package/.yarn/cache/map-obj-npm-4.3.0-d53e32935d-fbc554934d.zip +0 -0
  185. package/.yarn/cache/md5.js-npm-1.3.5-130901125a-098494d885.zip +0 -0
  186. package/.yarn/cache/meow-npm-9.0.0-8b2707248e-99799c4724.zip +0 -0
  187. package/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip +0 -0
  188. package/.yarn/cache/micromatch-npm-4.0.8-c9570e4aca-79920eb634.zip +0 -0
  189. package/.yarn/cache/mime-db-npm-1.52.0-b5371d6fd2-0d99a03585.zip +0 -0
  190. package/.yarn/cache/mime-types-npm-2.1.35-dd9ea9f3e2-89a5b7f1de.zip +0 -0
  191. package/.yarn/cache/min-indent-npm-1.0.1-77031f50e1-bfc6dd03c5.zip +0 -0
  192. package/.yarn/cache/minimist-options-npm-4.1.0-64ca250fc1-8c040b3068.zip +0 -0
  193. package/.yarn/cache/normalize-package-data-npm-2.5.0-af0345deed-7999112efc.zip +0 -0
  194. package/.yarn/cache/normalize-package-data-npm-3.0.3-1a49056685-bbcee00339.zip +0 -0
  195. package/.yarn/cache/p-limit-npm-2.3.0-94a0310039-84ff17f1a3.zip +0 -0
  196. package/.yarn/cache/p-locate-npm-4.1.0-eec6872537-513bd14a45.zip +0 -0
  197. package/.yarn/cache/p-try-npm-2.2.0-e0390dbaf8-f8a8e9a769.zip +0 -0
  198. package/.yarn/cache/parse-json-npm-5.2.0-00a63b1199-62085b17d6.zip +0 -0
  199. package/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip +0 -0
  200. package/.yarn/cache/path-parse-npm-1.0.7-09564527b7-49abf3d811.zip +0 -0
  201. package/.yarn/cache/path-type-npm-4.0.0-10d47fc86a-5b1e2daa24.zip +0 -0
  202. package/.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e1cf46bf84.zip +0 -0
  203. package/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-050c865ce8.zip +0 -0
  204. package/.yarn/cache/plur-npm-4.0.0-96f2a49c24-fea2e903ef.zip +0 -0
  205. package/.yarn/cache/pretty-format-npm-29.7.0-7d330b2ea2-032c160238.zip +0 -0
  206. package/.yarn/cache/protobufjs-npm-7.4.0-12c56a3adc-ba0e6b6054.zip +0 -0
  207. package/.yarn/cache/psbt-npm-3.0.0-7f3e8059ba-1dddca470a.zip +0 -0
  208. package/.yarn/cache/pushdata-bitcoin-npm-1.0.1-959a90bb14-8452106d4b.zip +0 -0
  209. package/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-b676f8c040.zip +0 -0
  210. package/.yarn/cache/quick-lru-npm-4.0.1-ef8aa17c9c-bea46e1abf.zip +0 -0
  211. package/.yarn/cache/randombytes-npm-2.1.0-e3da76bccf-d779499376.zip +0 -0
  212. package/.yarn/cache/react-is-npm-18.3.1-370a81e1e9-e20fe84c86.zip +0 -0
  213. package/.yarn/cache/read-pkg-npm-5.2.0-50426bd8dc-eb696e6052.zip +0 -0
  214. package/.yarn/cache/read-pkg-up-npm-7.0.1-11895bed9a-e4e93ce70e.zip +0 -0
  215. package/.yarn/cache/readable-stream-npm-3.6.2-d2a6069158-bdcbe6c22e.zip +0 -0
  216. package/.yarn/cache/redent-npm-3.0.0-31892f4906-fa1ef20404.zip +0 -0
  217. package/.yarn/cache/require-directory-npm-2.1.1-8608aee50b-fb47e70bf0.zip +0 -0
  218. package/.yarn/cache/resolve-npm-1.22.8-098f379dfe-f8a26958aa.zip +0 -0
  219. package/.yarn/cache/resolve-patch-f6b5304cab-5479b7d431.zip +0 -0
  220. package/.yarn/cache/reusify-npm-1.0.4-95ac4aec11-c3076ebcc2.zip +0 -0
  221. package/.yarn/cache/ripemd160-npm-2.0.2-7b1fb8dc76-006accc405.zip +0 -0
  222. package/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip +0 -0
  223. package/.yarn/cache/safe-buffer-npm-5.2.1-3481c8aa9b-b99c4b41fd.zip +0 -0
  224. package/.yarn/cache/semver-npm-5.7.2-938ee91eaa-fb4ab5e0dd.zip +0 -0
  225. package/.yarn/cache/semver-npm-7.6.3-57e82c14d5-4110ec5d01.zip +0 -0
  226. package/.yarn/cache/sha.js-npm-2.4.11-14868df4ca-ebd3f59d4b.zip +0 -0
  227. package/.yarn/cache/slash-npm-3.0.0-b87de2279a-94a93fff61.zip +0 -0
  228. package/.yarn/cache/spdx-correct-npm-3.2.0-ffae008484-e9ae98d22f.zip +0 -0
  229. package/.yarn/cache/spdx-exceptions-npm-2.5.0-718ed4b7d6-bb127d6e25.zip +0 -0
  230. package/.yarn/cache/spdx-expression-parse-npm-3.0.1-b718cbb35a-a1c6e104a2.zip +0 -0
  231. package/.yarn/cache/spdx-license-ids-npm-3.0.20-f08e1eabc0-0c57750bed.zip +0 -0
  232. package/.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip +0 -0
  233. package/.yarn/cache/string_decoder-npm-1.3.0-2422117fd0-8417646695.zip +0 -0
  234. package/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-f3cd25890a.zip +0 -0
  235. package/.yarn/cache/strip-indent-npm-3.0.0-519e75a28d-18f045d57d.zip +0 -0
  236. package/.yarn/cache/supports-color-npm-5.5.0-183ac537bc-95f6f4ba5a.zip +0 -0
  237. package/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-3dda818de0.zip +0 -0
  238. package/.yarn/cache/supports-hyperlinks-npm-2.3.0-d19176eba2-9ee0de3c8c.zip +0 -0
  239. package/.yarn/cache/supports-preserve-symlinks-flag-npm-1.0.0-f17c4d0028-53b1e247e6.zip +0 -0
  240. package/.yarn/cache/tiny-secp256k1-npm-2.2.2-54168b74b6-2b38491186.zip +0 -0
  241. package/.yarn/cache/tiny-secp256k1-npm-2.2.3-8c5163b5d1-f7a74a1fce.zip +0 -0
  242. package/.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-f76fa01b3d.zip +0 -0
  243. package/.yarn/cache/trim-newlines-npm-3.0.1-22f1f216de-b530f3fadf.zip +0 -0
  244. package/.yarn/cache/tsd-npm-0.31.2-07f84c93d0-23bb84f8ba.zip +0 -0
  245. package/.yarn/cache/type-fest-npm-0.18.1-47b079775d-e96dcee18a.zip +0 -0
  246. package/.yarn/cache/type-fest-npm-0.21.3-5ff2a9c6fd-e6b32a3b38.zip +0 -0
  247. package/.yarn/cache/type-fest-npm-0.6.0-76b229965b-b2188e6e4b.zip +0 -0
  248. package/.yarn/cache/type-fest-npm-0.8.1-351ad028fe-d61c4b2eba.zip +0 -0
  249. package/.yarn/cache/type-fest-npm-4.26.1-274c31182d-7188db3bca.zip +0 -0
  250. package/.yarn/cache/typeforce-npm-1.18.0-372e34e2a2-e3b21e27e7.zip +0 -0
  251. package/.yarn/cache/typescript-npm-5.6.3-cc9b3687b0-ba302f8822.zip +0 -0
  252. package/.yarn/cache/typescript-patch-be88537122-ade87bce23.zip +0 -0
  253. package/.yarn/cache/uint8array-tools-npm-0.0.7-96ca58a124-6ffc45c7d2.zip +0 -0
  254. package/.yarn/cache/undici-types-npm-6.19.8-9f12285b7a-de51f1b447.zip +0 -0
  255. package/.yarn/cache/util-deprecate-npm-1.0.2-e3fe1a219c-474acf1146.zip +0 -0
  256. package/.yarn/cache/validate-npm-package-license-npm-3.0.4-7af8adc7a8-35703ac889.zip +0 -0
  257. package/.yarn/cache/varuint-bitcoin-npm-1.1.2-83f928c112-1c900bf08f.zip +0 -0
  258. package/.yarn/cache/wif-npm-2.0.6-f351bf025a-8c3147ef98.zip +0 -0
  259. package/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-a790b846fd.zip +0 -0
  260. package/.yarn/cache/y18n-npm-5.0.8-5f3a0a7e62-54f0fb9562.zip +0 -0
  261. package/.yarn/cache/yallist-npm-4.0.0-b493d9e907-343617202a.zip +0 -0
  262. package/.yarn/cache/yargs-npm-17.7.2-80b62638e1-73b572e863.zip +0 -0
  263. package/.yarn/cache/yargs-parser-npm-20.2.9-a1d19e598d-8bb69015f2.zip +0 -0
  264. package/.yarn/cache/yargs-parser-npm-21.1.1-8fdc003314-ed2d96a616.zip +0 -0
  265. package/.yarn/install-state.gz +0 -0
@@ -0,0 +1,20 @@
1
+ name: "Unit test"
2
+
3
+ on:
4
+ pull_request:
5
+ branches: [ master ]
6
+
7
+ jobs:
8
+ unit-test:
9
+ name: Node ${{ matrix.node }} unit test on ${{ matrix.os }}
10
+ runs-on: ${{ matrix.os }}
11
+ strategy:
12
+ matrix:
13
+ os: [ubuntu-latest]
14
+ node: ['16', '18', '20']
15
+ steps:
16
+ - uses: actions/checkout@v2
17
+ - uses: actions/setup-node@v2
18
+ - run: npm install
19
+ - name: Run unit tests
20
+ run: npm run unit-tests
package/CHANGELOG.md CHANGED
@@ -1,6 +1,51 @@
1
1
  # Versions
2
2
 
3
- ## 10.22.1
3
+ ## 10.26.3
4
+
5
+ - Add support for LND 0.20.0
6
+
7
+ ## 10.27.2
8
+
9
+ - `subscribeToInvoice`: Fix missing types `timeout` and `total_mtokens`
10
+
11
+ ## 10.27.1
12
+
13
+ - `getPendingChannels`: Add support for `opening_funding_height`,
14
+ `opening_waiting_blocks`
15
+
16
+ ## 10.26.3
17
+
18
+ - Add support for LND 0.19.3
19
+
20
+ ## 10.26.1
21
+
22
+ - Add support for LND 0.19.2
23
+
24
+ ## 10.26.0
25
+
26
+ - `openChannels` add `is_allowing_minimal_reserve` to allow low peer reserve
27
+
28
+ ## 10.25.3
29
+
30
+ - Add support for LND 0.19.1
31
+
32
+ ## 10.25.2
33
+
34
+ - Add support for LND 0.19.0
35
+
36
+ ## 10.25.1
37
+
38
+ - Add support for Testnet4
39
+
40
+ ## 10.24.0
41
+
42
+ - `closeChannel`: Add `is_graceful_close` to wait for pending resolutions
43
+
44
+ ## 10.23.1
45
+
46
+ - `getRoutingFeeEstimate`: Add method to estimate an offchain payment fee
47
+
48
+ ## 10.22.3
4
49
 
5
50
  - `createFundedPsbt`: Add support for `change_format` for change address type
6
51
 
package/README.md CHANGED
@@ -234,6 +234,8 @@ variables set:
234
234
  Calculate a route through specified nodes.
235
235
  - [getRouteToDestination](https://github.com/alexbosworth/ln-service#getroutetodestination):
236
236
  Calculate a route through the graph to a destination.
237
+ - [getRoutingFeeEstimate](https://github.com/alexbosworth/ln-service#getroutingfeeestimate):
238
+ Make a test payment to find a working routing fee for a payment request
237
239
  - [getSettlementStatus](https://github.com/alexbosworth/ln-service#getsettlementstatus):
238
240
  Lookup the status of a received payment output
239
241
  - [getSweepTransactions](https://github.com/alexbosworth/ln-service#getsweeptransactions): List
package/bolt02/ids.json CHANGED
@@ -4,6 +4,7 @@
4
4
  "bitcoinregtest": "0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206",
5
5
  "bitcoinsignet": "00000008819873e925422c1ff0f99f7cc9bbb232af63a077a480a3633bee1ef6",
6
6
  "bitcointestnet": "000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943",
7
+ "bitcointestnet4": "00000000da84f2bafbbc53dee25a72ae507ff4914b867c565be350b0da8bf043",
7
8
  "litecoinmainnet": "12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2",
8
9
  "litecoinregtest": "530827f38f93b43ed12af0b3ad25a288dc02ed74d6d7857862df51fc56c416f9",
9
10
  "litecointestnet": "4966625a4b2851d9fdee139e56211a0d88575f59ed816ff5e6a63deb4e3e29a0"
@@ -34,7 +34,7 @@
34
34
  "WalletKit": "walletkit.proto",
35
35
  "Watchtower": "watchtower.proto",
36
36
  "WatchtowerClient": "wtclient.proto",
37
- "TaprootAssetChannels":"tapchannelrpc.proto"
37
+ "TaprootAssetChannels":"tapchannel.proto"
38
38
  },
39
39
  "protosDir": "../grpc/protos",
40
40
  "serviceTypes": {
@@ -274,12 +274,14 @@ service Lightning {
274
274
  }
275
275
 
276
276
  /*
277
- SendPaymentSync is the synchronous non-streaming version of SendPayment.
278
- This RPC is intended to be consumed by clients of the REST proxy.
279
- Additionally, this RPC expects the destination's public key and the payment
280
- hash (if any) to be encoded as hex strings.
277
+ Deprecated, use routerrpc.SendPaymentV2. SendPaymentSync is the synchronous
278
+ non-streaming version of SendPayment. This RPC is intended to be consumed by
279
+ clients of the REST proxy. Additionally, this RPC expects the destination's
280
+ public key and the payment hash (if any) to be encoded as hex strings.
281
281
  */
282
- rpc SendPaymentSync (SendRequest) returns (SendResponse);
282
+ rpc SendPaymentSync (SendRequest) returns (SendResponse) {
283
+ option deprecated = true;
284
+ }
283
285
 
284
286
  /* lncli: `sendtoroute`
285
287
  Deprecated, use routerrpc.SendToRouteV2. SendToRoute is a bi-directional
@@ -293,10 +295,13 @@ service Lightning {
293
295
  }
294
296
 
295
297
  /*
296
- SendToRouteSync is a synchronous version of SendToRoute. It Will block
297
- until the payment either fails or succeeds.
298
+ Deprecated, use routerrpc.SendToRouteV2. SendToRouteSync is a synchronous
299
+ version of SendToRoute. It Will block until the payment either fails or
300
+ succeeds.
298
301
  */
299
- rpc SendToRouteSync (SendToRouteRequest) returns (SendResponse);
302
+ rpc SendToRouteSync (SendToRouteRequest) returns (SendResponse) {
303
+ option deprecated = true;
304
+ }
300
305
 
301
306
  /* lncli: `addinvoice`
302
307
  AddInvoice attempts to add a new invoice to the invoice database. Any
@@ -336,6 +341,13 @@ service Lightning {
336
341
  */
337
342
  rpc SubscribeInvoices (InvoiceSubscription) returns (stream Invoice);
338
343
 
344
+ /* lncli: `deletecanceledinvoice`
345
+ DeleteCanceledInvoice removes a canceled invoice from the database. If the
346
+ invoice is not in the canceled state, an error will be returned.
347
+ */
348
+ rpc DeleteCanceledInvoice (DelCanceledInvoiceReq)
349
+ returns (DelCanceledInvoiceResp);
350
+
339
351
  /* lncli: `decodepayreq`
340
352
  DecodePayReq takes an encoded payment request string and attempts to decode
341
353
  it, returning a full description of the conditions encoded within the
@@ -543,9 +555,10 @@ service Lightning {
543
555
  returns (ListPermissionsResponse);
544
556
 
545
557
  /*
546
- CheckMacaroonPermissions checks whether a request follows the constraints
547
- imposed on the macaroon and that the macaroon is authorized to follow the
548
- provided permissions.
558
+ CheckMacaroonPermissions checks whether the provided macaroon contains all
559
+ the provided permissions. If the macaroon is valid (e.g. all caveats are
560
+ satisfied), and all permissions provided in the request are met, then
561
+ this RPC returns true.
549
562
  */
550
563
  rpc CheckMacaroonPermissions (CheckMacPermRequest)
551
564
  returns (CheckMacPermResponse);
@@ -643,6 +656,8 @@ message SendCustomMessageRequest {
643
656
  }
644
657
 
645
658
  message SendCustomMessageResponse {
659
+ // The status of the send operation.
660
+ string status = 1;
646
661
  }
647
662
 
648
663
  message Utxo {
@@ -755,11 +770,35 @@ message GetTransactionsRequest {
755
770
 
756
771
  // An optional filter to only include transactions relevant to an account.
757
772
  string account = 3;
773
+
774
+ /*
775
+ The index of a transaction that will be used in a query to determine which
776
+ transaction should be returned in the response.
777
+ */
778
+ uint32 index_offset = 4;
779
+
780
+ /*
781
+ The maximal number of transactions returned in the response to this query.
782
+ This value should be set to 0 to return all transactions.
783
+ */
784
+ uint32 max_transactions = 5;
758
785
  }
759
786
 
760
787
  message TransactionDetails {
761
788
  // The list of transactions relevant to the wallet.
762
789
  repeated Transaction transactions = 1;
790
+
791
+ /*
792
+ The index of the last item in the set of returned transactions. This can be
793
+ used to seek further, pagination style.
794
+ */
795
+ uint64 last_index = 2;
796
+
797
+ /*
798
+ The index of the last item in the set of returned transactions. This can be
799
+ used to seek backwards, pagination style.
800
+ */
801
+ uint64 first_index = 3;
763
802
  }
764
803
 
765
804
  message FeeLimit {
@@ -1317,6 +1356,8 @@ message ConnectPeerRequest {
1317
1356
  uint64 timeout = 3;
1318
1357
  }
1319
1358
  message ConnectPeerResponse {
1359
+ // The status of the connect operation.
1360
+ string status = 1;
1320
1361
  }
1321
1362
 
1322
1363
  message DisconnectPeerRequest {
@@ -1324,6 +1365,8 @@ message DisconnectPeerRequest {
1324
1365
  string pub_key = 1;
1325
1366
  }
1326
1367
  message DisconnectPeerResponse {
1368
+ // The status of the disconnect operation.
1369
+ string status = 1;
1327
1370
  }
1328
1371
 
1329
1372
  message HTLC {
@@ -1346,6 +1389,13 @@ message HTLC {
1346
1389
 
1347
1390
  // Index identifying the htlc on the forwarding channel.
1348
1391
  uint64 forwarding_htlc_index = 7;
1392
+
1393
+ /*
1394
+ Whether the HTLC is locked in. An HTLC is considered locked in when the
1395
+ remote party has sent us the `revoke_and_ack` to irrevocably commit this
1396
+ HTLC.
1397
+ */
1398
+ bool locked_in = 8;
1349
1399
  }
1350
1400
 
1351
1401
  enum CommitmentType {
@@ -1716,6 +1766,10 @@ message ChannelCloseSummary {
1716
1766
 
1717
1767
  // The confirmed SCID for a zero-conf channel.
1718
1768
  uint64 zero_conf_confirmed_scid = 15 [jstype = JS_STRING];
1769
+
1770
+ // The TLV encoded custom channel data records for this output, which might
1771
+ // be set for custom channels.
1772
+ bytes custom_channel_data = 16;
1719
1773
  }
1720
1774
 
1721
1775
  enum ResolutionType {
@@ -1966,8 +2020,8 @@ message GetInfoResponse {
1966
2020
  bool synced_to_graph = 18;
1967
2021
 
1968
2022
  /*
1969
- Whether the current node is connected to testnet. This field is
1970
- deprecated and the network field should be used instead
2023
+ Whether the current node is connected to testnet or testnet4. This field is
2024
+ deprecated and the network field should be used instead.
1971
2025
  */
1972
2026
  bool testnet = 10 [deprecated = true];
1973
2027
 
@@ -2028,13 +2082,6 @@ message Chain {
2028
2082
  string network = 2;
2029
2083
  }
2030
2084
 
2031
- message ConfirmationUpdate {
2032
- bytes block_sha = 1;
2033
- int32 block_height = 2;
2034
-
2035
- uint32 num_confs_left = 3;
2036
- }
2037
-
2038
2085
  message ChannelOpenUpdate {
2039
2086
  ChannelPoint channel_point = 1;
2040
2087
  }
@@ -2111,9 +2158,13 @@ message CloseChannelRequest {
2111
2158
  // NOTE: This field is only respected if we're the initiator of the channel.
2112
2159
  uint64 max_fee_per_vbyte = 7;
2113
2160
 
2114
- // If true, then the rpc call will not block while it awaits a closing txid.
2115
- // Consequently this RPC call will not return a closing txid if this value
2116
- // is set.
2161
+ // If true, then the rpc call will not block while it awaits a closing txid
2162
+ // to be broadcasted to the mempool. To obtain the closing tx one has to
2163
+ // listen to the stream for the particular updates. Moreover if a coop close
2164
+ // is specified and this flag is set to true the coop closing flow will be
2165
+ // initiated even if HTLCs are active on the channel. The channel will wait
2166
+ // until all HTLCs are resolved and then start the coop closing process. The
2167
+ // channel will be disabled in the meantime and will disallow any new HTLCs.
2117
2168
  bool no_wait = 8;
2118
2169
  }
2119
2170
 
@@ -2128,9 +2179,15 @@ message CloseStatusUpdate {
2128
2179
  message PendingUpdate {
2129
2180
  bytes txid = 1;
2130
2181
  uint32 output_index = 2;
2182
+ int64 fee_per_vbyte = 3;
2183
+ bool local_close_tx = 4;
2131
2184
  }
2132
2185
 
2133
2186
  message InstantUpdate {
2187
+ // The number of pending HTLCs that are currently active on the channel.
2188
+ // These HTLCs need to be resolved before the channel can be closed
2189
+ // cooperatively.
2190
+ int32 num_pending_htlcs = 1;
2134
2191
  }
2135
2192
 
2136
2193
  message ReadyForPsbtFunding {
@@ -2791,6 +2848,25 @@ message PendingChannelsResponse {
2791
2848
  // very likely canceled the funding and the channel will never become
2792
2849
  // fully operational.
2793
2850
  int32 funding_expiry_blocks = 3;
2851
+
2852
+ // The number of blocks remaining until the channel status changes from
2853
+ // pending to active. A value of 0 indicates that the channel is now
2854
+ // active.
2855
+ //
2856
+ // "Active" here means both channel peers have the channel marked OPEN
2857
+ // and can immediately start using it. For public channels, this does
2858
+ // not imply a channel_announcement has been gossiped. It only becomes
2859
+ // public on the network after 6 on‐chain confirmations.
2860
+ // See BOLT07 "Routing Gossip":
2861
+ // https://github.com/lightning/bolts/blob/master/07-routing-gossip.md
2862
+ //
2863
+ // ZeroConf channels bypass the pending state entirely: they are marked
2864
+ // active immediately upon creation, so they never show up as "pending".
2865
+ uint32 confirmations_until_active = 7;
2866
+
2867
+ // The confirmation height records the block height at which the funding
2868
+ // transaction was first confirmed.
2869
+ uint32 confirmation_height = 8;
2794
2870
  }
2795
2871
 
2796
2872
  message WaitingCloseChannel {
@@ -2924,6 +3000,7 @@ message ChannelEventUpdate {
2924
3000
  ChannelPoint inactive_channel = 4;
2925
3001
  PendingUpdate pending_open_channel = 6;
2926
3002
  ChannelPoint fully_resolved_channel = 7;
3003
+ ChannelPoint channel_funding_timeout = 8;
2927
3004
  }
2928
3005
 
2929
3006
  enum UpdateType {
@@ -2933,6 +3010,7 @@ message ChannelEventUpdate {
2933
3010
  INACTIVE_CHANNEL = 3;
2934
3011
  PENDING_OPEN_CHANNEL = 4;
2935
3012
  FULLY_RESOLVED_CHANNEL = 5;
3013
+ CHANNEL_FUNDING_TIMEOUT = 6;
2936
3014
  }
2937
3015
 
2938
3016
  UpdateType type = 5;
@@ -3107,10 +3185,10 @@ message QueryRoutesRequest {
3107
3185
  map<uint64, bytes> dest_custom_records = 13;
3108
3186
 
3109
3187
  /*
3110
- The channel id of the channel that must be taken to the first hop. If zero,
3111
- any channel may be used.
3188
+ Deprecated, use outgoing_chan_ids. The channel id of the channel that must
3189
+ be taken to the first hop. If zero, any channel may be used.
3112
3190
  */
3113
- uint64 outgoing_chan_id = 14 [jstype = JS_STRING];
3191
+ uint64 outgoing_chan_id = 14 [jstype = JS_STRING, deprecated = true];
3114
3192
 
3115
3193
  /*
3116
3194
  The pubkey of the last hop of the route. If empty, any hop may be used.
@@ -3145,6 +3223,12 @@ message QueryRoutesRequest {
3145
3223
  only, to 1 to optimize for reliability only or a value inbetween for a mix.
3146
3224
  */
3147
3225
  double time_pref = 18;
3226
+
3227
+ /*
3228
+ The channel ids of the channels allowed for the first hop. If empty, any
3229
+ channel may be used.
3230
+ */
3231
+ repeated uint64 outgoing_chan_ids = 20;
3148
3232
  }
3149
3233
 
3150
3234
  message NodePair {
@@ -3365,6 +3449,10 @@ message NodeInfoRequest {
3365
3449
 
3366
3450
  // If true, will include all known channels associated with the node.
3367
3451
  bool include_channels = 2;
3452
+
3453
+ // If true, will include announcements' signatures into ChannelEdge.
3454
+ // Depends on include_channels.
3455
+ bool include_auth_proof = 3;
3368
3456
  }
3369
3457
 
3370
3458
  message NodeInfo {
@@ -3418,13 +3506,39 @@ message RoutingPolicy {
3418
3506
  uint64 max_htlc_msat = 6;
3419
3507
  uint32 last_update = 7;
3420
3508
 
3421
- // Custom channel update tlv records.
3509
+ // Custom channel update tlv records. These are customized fields that are
3510
+ // not defined by LND and cannot be extracted.
3422
3511
  map<uint64, bytes> custom_records = 8;
3423
3512
 
3424
3513
  int32 inbound_fee_base_msat = 9;
3425
3514
  int32 inbound_fee_rate_milli_msat = 10;
3426
3515
  }
3427
3516
 
3517
+ /*
3518
+ ChannelAuthProof is the authentication proof (the signature portion) for a
3519
+ channel. Using the four signatures contained in the struct, and some
3520
+ auxiliary knowledge (the funding script, node identities, and outpoint) nodes
3521
+ on the network are able to validate the authenticity and existence of a
3522
+ channel.
3523
+ */
3524
+ message ChannelAuthProof {
3525
+ // node_sig1 are the raw bytes of the first node signature encoded
3526
+ // in DER format.
3527
+ bytes node_sig1 = 1;
3528
+
3529
+ // bitcoin_sig1 are the raw bytes of the first bitcoin signature of the
3530
+ // MultiSigKey key of the channel encoded in DER format.
3531
+ bytes bitcoin_sig1 = 2;
3532
+
3533
+ // node_sig2 are the raw bytes of the second node signature encoded
3534
+ // in DER format.
3535
+ bytes node_sig2 = 3;
3536
+
3537
+ // bitcoin_sig2 are the raw bytes of the second bitcoin signature of the
3538
+ // MultiSigKey key of the channel encoded in DER format.
3539
+ bytes bitcoin_sig2 = 4;
3540
+ }
3541
+
3428
3542
  /*
3429
3543
  A fully authenticated channel along with all its unique attributes.
3430
3544
  Once an authenticated channel announcement has been processed on the network,
@@ -3453,6 +3567,13 @@ message ChannelEdge {
3453
3567
 
3454
3568
  // Custom channel announcement tlv records.
3455
3569
  map<uint64, bytes> custom_records = 9;
3570
+
3571
+ // Authentication proof for this channel. This proof contains a set of
3572
+ // signatures binding four identities, which attests to the legitimacy of
3573
+ // the advertised channel. This only is available for advertised channels.
3574
+ // This field is not filled by default. Pass include_auth_proof flag to
3575
+ // DescribeGraph, GetNodeInfo or GetChanInfo to get this data.
3576
+ ChannelAuthProof auth_proof = 10;
3456
3577
  }
3457
3578
 
3458
3579
  message ChannelGraphRequest {
@@ -3462,6 +3583,9 @@ message ChannelGraphRequest {
3462
3583
  channels, and public channels that are not yet announced to the network.
3463
3584
  */
3464
3585
  bool include_unannounced = 1;
3586
+
3587
+ // If true, will include announcements' signatures into ChannelEdge.
3588
+ bool include_auth_proof = 2;
3465
3589
  }
3466
3590
 
3467
3591
  // Returns a new instance of the directed channel graph.
@@ -3513,6 +3637,9 @@ message ChanInfoRequest {
3513
3637
  // The channel point of the channel in format funding_txid:output_index. If
3514
3638
  // chan_id is specified, this field is ignored.
3515
3639
  string chan_point = 2;
3640
+
3641
+ // If true, will include announcements' signatures into ChannelEdge.
3642
+ bool include_auth_proof = 3;
3516
3643
  }
3517
3644
 
3518
3645
  message NetworkInfoRequest {
@@ -3542,6 +3669,8 @@ message NetworkInfo {
3542
3669
  message StopRequest {
3543
3670
  }
3544
3671
  message StopResponse {
3672
+ // The status of the stop operation.
3673
+ string status = 1;
3545
3674
  }
3546
3675
 
3547
3676
  message GraphTopologySubscription {
@@ -3944,6 +4073,12 @@ message BlindedPathConfig {
3944
4073
  blinded paths.
3945
4074
  */
3946
4075
  repeated bytes node_omission_list = 4;
4076
+
4077
+ /*
4078
+ The chained channels list specified via channel id (separated by commas),
4079
+ starting from a channel owned by the receiver node.
4080
+ */
4081
+ repeated uint64 incoming_channel_list = 5;
3947
4082
  }
3948
4083
 
3949
4084
  enum InvoiceHTLCState {
@@ -4125,6 +4260,16 @@ message InvoiceSubscription {
4125
4260
  uint64 settle_index = 2;
4126
4261
  }
4127
4262
 
4263
+ message DelCanceledInvoiceReq {
4264
+ // Invoice payment hash to delete.
4265
+ string invoice_hash = 1;
4266
+ }
4267
+
4268
+ message DelCanceledInvoiceResp {
4269
+ // The status of the delete operation.
4270
+ string status = 1;
4271
+ }
4272
+
4128
4273
  enum PaymentFailureReason {
4129
4274
  /*
4130
4275
  Payment isn't failed (yet).
@@ -4174,7 +4319,7 @@ message Payment {
4174
4319
  // Deprecated, use creation_time_ns
4175
4320
  int64 creation_date = 3 [deprecated = true];
4176
4321
 
4177
- reserved 4;
4322
+ repeated string path = 4 [deprecated = true];
4178
4323
 
4179
4324
  // Deprecated, use fee_sat or fee_msat.
4180
4325
  int64 fee = 5 [deprecated = true];
@@ -4366,9 +4511,13 @@ message DeleteAllPaymentsRequest {
4366
4511
  }
4367
4512
 
4368
4513
  message DeletePaymentResponse {
4514
+ // The status of the delete operation.
4515
+ string status = 1;
4369
4516
  }
4370
4517
 
4371
4518
  message DeleteAllPaymentsResponse {
4519
+ // The status of the delete operation.
4520
+ string status = 1;
4372
4521
  }
4373
4522
 
4374
4523
  message AbandonChannelRequest {
@@ -4385,6 +4534,8 @@ message AbandonChannelRequest {
4385
4534
  }
4386
4535
 
4387
4536
  message AbandonChannelResponse {
4537
+ // The status of the abandon operation.
4538
+ string status = 1;
4388
4539
  }
4389
4540
 
4390
4541
  message DebugLevelRequest {
@@ -4544,6 +4695,15 @@ message PolicyUpdateRequest {
4544
4695
  // Optional inbound fee. If unset, the previously set value will be
4545
4696
  // retained [EXPERIMENTAL].
4546
4697
  InboundFee inbound_fee = 10;
4698
+
4699
+ // Under unknown circumstances a channel can exist with a missing edge in
4700
+ // the graph database. This can cause an 'edge not found' error when calling
4701
+ // `getchaninfo` and/or cause the default channel policy to be used during
4702
+ // forwards. Setting this flag will recreate the edge if not found, allowing
4703
+ // updating this channel policy and fixing the missing edge problem for this
4704
+ // channel permanently. For fields not set in this command, the default
4705
+ // policy will be created.
4706
+ bool create_missing_edge = 11;
4547
4707
  }
4548
4708
 
4549
4709
  enum UpdateFailure {
@@ -4592,6 +4752,14 @@ message ForwardingHistoryRequest {
4592
4752
  // Informs the server if the peer alias should be looked up for each
4593
4753
  // forwarding event.
4594
4754
  bool peer_alias_lookup = 5;
4755
+
4756
+ // List of incoming channel ids to filter htlcs received from a
4757
+ // particular channel
4758
+ repeated uint64 incoming_chan_ids = 6;
4759
+
4760
+ // List of outgoing channel ids to filter htlcs being forwarded to a
4761
+ // particular channel
4762
+ repeated uint64 outgoing_chan_ids = 7;
4595
4763
  }
4596
4764
  message ForwardingEvent {
4597
4765
  // Timestamp is the time (unix epoch offset) that this circuit was
@@ -4637,6 +4805,14 @@ message ForwardingEvent {
4637
4805
  // The peer alias of the outgoing channel.
4638
4806
  string peer_alias_out = 13;
4639
4807
 
4808
+ // The ID of the incoming HTLC in the payment circuit. This field is
4809
+ // optional and is unset for forwarding events happened before v0.20.
4810
+ optional uint64 incoming_htlc_id = 14;
4811
+
4812
+ // The ID of the outgoing HTLC in the payment circuit. This field is
4813
+ // optional and may be unset for legacy forwarding events.
4814
+ optional uint64 outgoing_htlc_id = 15;
4815
+
4640
4816
  // TODO(roasbeef): add settlement latency?
4641
4817
  // * use FPE on the chan id?
4642
4818
  // * also list failures?
@@ -4724,12 +4900,15 @@ message RestoreChanBackupRequest {
4724
4900
  }
4725
4901
  }
4726
4902
  message RestoreBackupResponse {
4903
+ // The number of channels successfully restored.
4904
+ uint32 num_restored = 1;
4727
4905
  }
4728
4906
 
4729
4907
  message ChannelBackupSubscription {
4730
4908
  }
4731
4909
 
4732
4910
  message VerifyChanBackupResponse {
4911
+ repeated string chan_points = 1;
4733
4912
  }
4734
4913
 
4735
4914
  message MacaroonPermission {
@@ -4965,9 +5144,37 @@ message Op {
4965
5144
  }
4966
5145
 
4967
5146
  message CheckMacPermRequest {
5147
+ // The macaroon to check permissions for, serialized in binary format. For
5148
+ // a macaroon to be valid, it must have been issued by lnd, must succeed all
5149
+ // caveat conditions, and must contain all of the permissions specified in
5150
+ // the permissions field.
4968
5151
  bytes macaroon = 1;
5152
+
5153
+ // The list of permissions the macaroon should be checked against. Only if
5154
+ // the macaroon contains all of these permissions, it is considered valid.
5155
+ // If the list of permissions given is empty, then the macaroon is
5156
+ // considered valid only based on issuance authority and caveat validity.
5157
+ // An empty list of permissions is therefore equivalent to saying "skip
5158
+ // checking permissions" (unless check_default_perms_from_full_method is
5159
+ // specified).
4969
5160
  repeated MacaroonPermission permissions = 2;
5161
+
5162
+ // The RPC method to check the macaroon against. This is only used if there
5163
+ // are custom `uri:<rpcpackage>.<ServiceName>/<MethodName>` permissions in
5164
+ // the permission list above. To check a macaroon against the list of
5165
+ // permissions of a certain RPC method, query the `ListPermissions` RPC
5166
+ // first, extract the permissions for the method, and then pass them in the
5167
+ // `permissions` field above.
4970
5168
  string fullMethod = 3;
5169
+
5170
+ // If this field is set to true, then the permissions list above MUST be
5171
+ // empty. The default permissions for the provided fullMethod will be used
5172
+ // to check the macaroon. This is equivalent to looking up the permissions
5173
+ // for a method in the `ListPermissions` RPC and then calling this RPC with
5174
+ // the permission list returned from that call. Without this flag, the list
5175
+ // of permissions must be non-empty for the check to actually perform a
5176
+ // permission check.
5177
+ bool check_default_perms_from_full_method = 4;
4971
5178
  }
4972
5179
 
4973
5180
  message CheckMacPermResponse {
@@ -5052,6 +5259,22 @@ message RPCMiddlewareRequest {
5052
5259
  intercept message.
5053
5260
  */
5054
5261
  uint64 msg_id = 7;
5262
+
5263
+ /*
5264
+ The metadata pairs that were sent along with the original gRPC request via
5265
+ the golang context.Context using explicit [gRPC
5266
+ metadata](https://grpc.io/docs/guides/metadata/). Context values are not
5267
+ propagated via gRPC and so we send any pairs along explicitly here so that
5268
+ the interceptor can access them.
5269
+ */
5270
+ map<string, MetadataValues> metadata_pairs = 9;
5271
+ }
5272
+
5273
+ message MetadataValues {
5274
+ /*
5275
+ The set of metadata values that correspond to the metadata key.
5276
+ */
5277
+ repeated string values = 1;
5055
5278
  }
5056
5279
 
5057
5280
  message StreamAuth {