@bitgo-beta/sdk-core 8.2.1-beta.65 → 8.2.1-beta.650

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 (497) hide show
  1. package/CHANGELOG.md +2512 -0
  2. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts +0 -1
  3. package/dist/src/account-lib/baseCoin/baseTransaction.d.ts.map +1 -1
  4. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts +0 -1
  5. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.d.ts.map +1 -1
  6. package/dist/src/account-lib/baseCoin/baseTransactionBuilder.js +1 -1
  7. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts +0 -1
  8. package/dist/src/account-lib/baseCoin/blsKeyPair.d.ts.map +1 -1
  9. package/dist/src/account-lib/baseCoin/blsKeyPair.js +43 -29
  10. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts +1 -0
  11. package/dist/src/account-lib/baseCoin/ed25519KeyPair.d.ts.map +1 -1
  12. package/dist/src/account-lib/baseCoin/ed25519KeyPair.js +41 -29
  13. package/dist/src/account-lib/baseCoin/enum.d.ts +14 -2
  14. package/dist/src/account-lib/baseCoin/enum.d.ts.map +1 -1
  15. package/dist/src/account-lib/baseCoin/enum.js +27 -5
  16. package/dist/src/account-lib/baseCoin/errors.js +1 -1
  17. package/dist/src/account-lib/baseCoin/iface.d.ts +18 -15
  18. package/dist/src/account-lib/baseCoin/iface.d.ts.map +1 -1
  19. package/dist/src/account-lib/baseCoin/iface.js +10 -7
  20. package/dist/src/account-lib/baseCoin/index.js +6 -2
  21. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts +0 -1
  22. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.d.ts.map +1 -1
  23. package/dist/src/account-lib/baseCoin/secp256k1ExtendedKeyPair.js +33 -21
  24. package/dist/src/account-lib/index.js +23 -9
  25. package/dist/src/account-lib/mpc/curves/ed25519.d.ts +4 -18
  26. package/dist/src/account-lib/mpc/curves/ed25519.d.ts.map +1 -1
  27. package/dist/src/account-lib/mpc/curves/ed25519.js +6 -60
  28. package/dist/src/account-lib/mpc/index.d.ts +4 -4
  29. package/dist/src/account-lib/mpc/index.d.ts.map +1 -1
  30. package/dist/src/account-lib/mpc/index.js +11 -7
  31. package/dist/src/account-lib/mpc/shamir.d.ts +5 -37
  32. package/dist/src/account-lib/mpc/shamir.d.ts.map +1 -1
  33. package/dist/src/account-lib/mpc/shamir.js +6 -130
  34. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +38 -9
  35. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -1
  36. package/dist/src/account-lib/mpc/tss/ecdsa/ecdsa.js +496 -348
  37. package/dist/src/account-lib/mpc/tss/ecdsa/index.js +23 -9
  38. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts +2 -2
  39. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.d.ts.map +1 -1
  40. package/dist/src/account-lib/mpc/tss/ecdsa/rangeproof.js +3 -3
  41. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts +73 -52
  42. package/dist/src/account-lib/mpc/tss/ecdsa/types.d.ts.map +1 -1
  43. package/dist/src/account-lib/mpc/tss/ecdsa/types.js +1 -1
  44. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts +1 -2
  45. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.d.ts.map +1 -1
  46. package/dist/src/account-lib/mpc/tss/eddsa/eddsa.js +65 -67
  47. package/dist/src/account-lib/mpc/tss/eddsa/index.js +23 -9
  48. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts +1 -1
  49. package/dist/src/account-lib/mpc/tss/eddsa/types.d.ts.map +1 -1
  50. package/dist/src/account-lib/mpc/tss/eddsa/types.js +1 -1
  51. package/dist/src/account-lib/mpc/tss/index.js +23 -9
  52. package/dist/src/account-lib/mpc/util.d.ts +7 -1
  53. package/dist/src/account-lib/mpc/util.d.ts.map +1 -1
  54. package/dist/src/account-lib/mpc/util.js +19 -1
  55. package/dist/src/account-lib/staking/index.js +6 -2
  56. package/dist/src/account-lib/staking/utils.js +3 -3
  57. package/dist/src/account-lib/util/crypto.d.ts +8 -2
  58. package/dist/src/account-lib/util/crypto.d.ts.map +1 -1
  59. package/dist/src/account-lib/util/crypto.js +61 -31
  60. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts +2 -1
  61. package/dist/src/account-lib/util/ed25519KeyDeriver.d.ts.map +1 -1
  62. package/dist/src/account-lib/util/ed25519KeyDeriver.js +5 -3
  63. package/dist/src/api/bip32path.js +2 -3
  64. package/dist/src/api/index.js +6 -2
  65. package/dist/src/api/types.d.ts +1 -0
  66. package/dist/src/api/types.d.ts.map +1 -1
  67. package/dist/src/api/types.js +1 -1
  68. package/dist/src/bitgo/address-book/address-book.d.ts +61 -0
  69. package/dist/src/bitgo/address-book/address-book.d.ts.map +1 -0
  70. package/dist/src/bitgo/address-book/address-book.js +139 -0
  71. package/dist/src/bitgo/address-book/index.d.ts +3 -0
  72. package/dist/src/bitgo/address-book/index.d.ts.map +1 -0
  73. package/dist/src/bitgo/address-book/index.js +19 -0
  74. package/dist/src/bitgo/address-book/types.d.ts +170 -0
  75. package/dist/src/bitgo/address-book/types.d.ts.map +1 -0
  76. package/dist/src/bitgo/address-book/types.js +3 -0
  77. package/dist/src/bitgo/baseCoin/baseCoin.d.ts +64 -8
  78. package/dist/src/bitgo/baseCoin/baseCoin.d.ts.map +1 -1
  79. package/dist/src/bitgo/baseCoin/baseCoin.js +109 -15
  80. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts +77 -19
  81. package/dist/src/bitgo/baseCoin/iBaseCoin.d.ts.map +1 -1
  82. package/dist/src/bitgo/baseCoin/iBaseCoin.js +2 -2
  83. package/dist/src/bitgo/baseCoin/index.js +6 -2
  84. package/dist/src/bitgo/bip32util.d.ts +0 -1
  85. package/dist/src/bitgo/bip32util.d.ts.map +1 -1
  86. package/dist/src/bitgo/bip32util.js +25 -12
  87. package/dist/src/bitgo/bitcoin.d.ts +0 -1
  88. package/dist/src/bitgo/bitcoin.d.ts.map +1 -1
  89. package/dist/src/bitgo/bitcoin.js +26 -13
  90. package/dist/src/bitgo/bitgoBase.d.ts +4 -1
  91. package/dist/src/bitgo/bitgoBase.d.ts.map +1 -1
  92. package/dist/src/bitgo/bitgoBase.js +1 -1
  93. package/dist/src/bitgo/coinFactory.d.ts +1 -1
  94. package/dist/src/bitgo/coinFactory.d.ts.map +1 -1
  95. package/dist/src/bitgo/coinFactory.js +1 -1
  96. package/dist/src/bitgo/config.d.ts +50 -20
  97. package/dist/src/bitgo/config.d.ts.map +1 -1
  98. package/dist/src/bitgo/config.js +25 -11
  99. package/dist/src/bitgo/ecdh.d.ts +0 -1
  100. package/dist/src/bitgo/ecdh.d.ts.map +1 -1
  101. package/dist/src/bitgo/ecdh.js +26 -13
  102. package/dist/src/bitgo/enterprise/enterprise.d.ts +16 -14
  103. package/dist/src/bitgo/enterprise/enterprise.d.ts.map +1 -1
  104. package/dist/src/bitgo/enterprise/enterprise.js +64 -31
  105. package/dist/src/bitgo/enterprise/enterprises.d.ts +6 -0
  106. package/dist/src/bitgo/enterprise/enterprises.d.ts.map +1 -1
  107. package/dist/src/bitgo/enterprise/enterprises.js +48 -9
  108. package/dist/src/bitgo/enterprise/iEnterprise.d.ts +6 -7
  109. package/dist/src/bitgo/enterprise/iEnterprise.d.ts.map +1 -1
  110. package/dist/src/bitgo/enterprise/iEnterprise.js +1 -1
  111. package/dist/src/bitgo/enterprise/iEnterprises.d.ts +2 -0
  112. package/dist/src/bitgo/enterprise/iEnterprises.d.ts.map +1 -1
  113. package/dist/src/bitgo/enterprise/iEnterprises.js +1 -1
  114. package/dist/src/bitgo/enterprise/index.js +6 -2
  115. package/dist/src/bitgo/environments.d.ts +27 -5
  116. package/dist/src/bitgo/environments.d.ts.map +1 -1
  117. package/dist/src/bitgo/environments.js +50 -15
  118. package/dist/src/bitgo/errors.d.ts +3 -0
  119. package/dist/src/bitgo/errors.d.ts.map +1 -1
  120. package/dist/src/bitgo/errors.js +8 -2
  121. package/dist/src/bitgo/index.d.ts +1 -0
  122. package/dist/src/bitgo/index.d.ts.map +1 -1
  123. package/dist/src/bitgo/index.js +24 -9
  124. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts +3 -3
  125. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.d.ts.map +1 -1
  126. package/dist/src/bitgo/inscriptionBuilder/iInscriptionBuilder.js +1 -1
  127. package/dist/src/bitgo/inscriptionBuilder/index.js +6 -2
  128. package/dist/src/bitgo/internal/index.js +6 -2
  129. package/dist/src/bitgo/internal/internal.js +5 -6
  130. package/dist/src/bitgo/internal/keycard.js +6 -7
  131. package/dist/src/bitgo/keychain/decryptKeychain.d.ts +13 -0
  132. package/dist/src/bitgo/keychain/decryptKeychain.d.ts.map +1 -0
  133. package/dist/src/bitgo/keychain/decryptKeychain.js +35 -0
  134. package/dist/src/bitgo/keychain/iKeychains.d.ts +62 -4
  135. package/dist/src/bitgo/keychain/iKeychains.d.ts.map +1 -1
  136. package/dist/src/bitgo/keychain/iKeychains.js +2 -2
  137. package/dist/src/bitgo/keychain/index.d.ts +1 -0
  138. package/dist/src/bitgo/keychain/index.d.ts.map +1 -1
  139. package/dist/src/bitgo/keychain/index.js +7 -2
  140. package/dist/src/bitgo/keychain/keychains.d.ts +13 -3
  141. package/dist/src/bitgo/keychain/keychains.d.ts.map +1 -1
  142. package/dist/src/bitgo/keychain/keychains.js +130 -28
  143. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts +63 -33
  144. package/dist/src/bitgo/keychain/ovcJsonCodec.d.ts.map +1 -1
  145. package/dist/src/bitgo/keychain/ovcJsonCodec.js +35 -16
  146. package/dist/src/bitgo/legacyBitcoin.d.ts +0 -1
  147. package/dist/src/bitgo/legacyBitcoin.d.ts.map +1 -1
  148. package/dist/src/bitgo/legacyBitcoin.js +27 -13
  149. package/dist/src/bitgo/lightning/codecs.d.ts +255 -0
  150. package/dist/src/bitgo/lightning/codecs.d.ts.map +1 -0
  151. package/dist/src/bitgo/lightning/codecs.js +137 -0
  152. package/dist/src/bitgo/lightning/{iLightning.d.ts → custodial/iLightning.d.ts} +12 -12
  153. package/dist/src/bitgo/lightning/custodial/iLightning.d.ts.map +1 -0
  154. package/dist/src/bitgo/lightning/custodial/iLightning.js +120 -0
  155. package/dist/src/bitgo/lightning/custodial/index.d.ts +5 -0
  156. package/dist/src/bitgo/lightning/custodial/index.d.ts.map +1 -0
  157. package/dist/src/bitgo/lightning/custodial/index.js +21 -0
  158. package/dist/src/bitgo/lightning/{lightning.d.ts → custodial/lightning.d.ts} +2 -2
  159. package/dist/src/bitgo/lightning/custodial/lightning.d.ts.map +1 -0
  160. package/dist/src/bitgo/lightning/custodial/lightning.js +111 -0
  161. package/dist/src/bitgo/lightning/custodial/lightningUtils.d.ts +46 -0
  162. package/dist/src/bitgo/lightning/custodial/lightningUtils.d.ts.map +1 -0
  163. package/dist/src/bitgo/lightning/custodial/lightningUtils.js +145 -0
  164. package/dist/src/bitgo/lightning/custodial/lnurlCodec.d.ts.map +1 -0
  165. package/dist/src/bitgo/lightning/custodial/lnurlCodec.js +27 -0
  166. package/dist/src/bitgo/lightning/index.d.ts +4 -3
  167. package/dist/src/bitgo/lightning/index.d.ts.map +1 -1
  168. package/dist/src/bitgo/lightning/index.js +10 -5
  169. package/dist/src/bitgo/lightning/lightningUtils.d.ts +58 -45
  170. package/dist/src/bitgo/lightning/lightningUtils.d.ts.map +1 -1
  171. package/dist/src/bitgo/lightning/lightningUtils.js +190 -99
  172. package/dist/src/bitgo/lightning/lightningWallet.d.ts +18 -0
  173. package/dist/src/bitgo/lightning/lightningWallet.d.ts.map +1 -0
  174. package/dist/src/bitgo/lightning/lightningWallet.js +65 -0
  175. package/dist/src/bitgo/lightning/signableJson.d.ts +17 -0
  176. package/dist/src/bitgo/lightning/signableJson.d.ts.map +1 -0
  177. package/dist/src/bitgo/lightning/signableJson.js +29 -0
  178. package/dist/src/bitgo/lightning/signature.d.ts +22 -0
  179. package/dist/src/bitgo/lightning/signature.d.ts.map +1 -0
  180. package/dist/src/bitgo/lightning/signature.js +69 -0
  181. package/dist/src/bitgo/market/iMarkets.d.ts +2 -2
  182. package/dist/src/bitgo/market/iMarkets.d.ts.map +1 -1
  183. package/dist/src/bitgo/market/index.js +6 -2
  184. package/dist/src/bitgo/market/markets.js +23 -9
  185. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts +2 -0
  186. package/dist/src/bitgo/pendingApproval/iPendingApproval.d.ts.map +1 -1
  187. package/dist/src/bitgo/pendingApproval/iPendingApproval.js +4 -4
  188. package/dist/src/bitgo/pendingApproval/index.js +6 -2
  189. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts +20 -8
  190. package/dist/src/bitgo/pendingApproval/pendingApproval.d.ts.map +1 -1
  191. package/dist/src/bitgo/pendingApproval/pendingApproval.js +202 -107
  192. package/dist/src/bitgo/pendingApproval/pendingApprovals.js +23 -9
  193. package/dist/src/bitgo/recovery/index.js +6 -2
  194. package/dist/src/bitgo/recovery/initiate.d.ts +8 -2
  195. package/dist/src/bitgo/recovery/initiate.d.ts.map +1 -1
  196. package/dist/src/bitgo/recovery/initiate.js +7 -8
  197. package/dist/src/bitgo/staking/iStakingWallet.d.ts +92 -4
  198. package/dist/src/bitgo/staking/iStakingWallet.d.ts.map +1 -1
  199. package/dist/src/bitgo/staking/iStakingWallet.js +2 -2
  200. package/dist/src/bitgo/staking/index.js +6 -2
  201. package/dist/src/bitgo/staking/stakingWallet.d.ts +13 -2
  202. package/dist/src/bitgo/staking/stakingWallet.d.ts.map +1 -1
  203. package/dist/src/bitgo/staking/stakingWallet.js +45 -4
  204. package/dist/src/bitgo/trading/iTradingAccount.d.ts +2 -32
  205. package/dist/src/bitgo/trading/iTradingAccount.d.ts.map +1 -1
  206. package/dist/src/bitgo/trading/iTradingAccount.js +1 -1
  207. package/dist/src/bitgo/trading/index.d.ts +1 -15
  208. package/dist/src/bitgo/trading/index.d.ts.map +1 -1
  209. package/dist/src/bitgo/trading/index.js +7 -17
  210. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts +8 -0
  211. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.d.ts.map +1 -0
  212. package/dist/src/bitgo/trading/network/decrypt-aes-gcm.js +31 -0
  213. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts +8 -0
  214. package/dist/src/bitgo/trading/network/decrypt-rsa.d.ts.map +1 -0
  215. package/dist/src/bitgo/trading/network/decrypt-rsa.js +23 -0
  216. package/dist/src/bitgo/trading/network/decrypt.d.ts +14 -0
  217. package/dist/src/bitgo/trading/network/decrypt.d.ts.map +1 -0
  218. package/dist/src/bitgo/trading/network/decrypt.js +23 -0
  219. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts +8 -0
  220. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.d.ts.map +1 -0
  221. package/dist/src/bitgo/trading/network/encrypt-aes-gcm.js +25 -0
  222. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts +8 -0
  223. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.d.ts.map +1 -0
  224. package/dist/src/bitgo/trading/network/encrypt-rsa-browser.js +65 -0
  225. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts +8 -0
  226. package/dist/src/bitgo/trading/network/encrypt-rsa.d.ts.map +1 -0
  227. package/dist/src/bitgo/trading/network/encrypt-rsa.js +23 -0
  228. package/dist/src/bitgo/trading/network/encrypt.d.ts +37 -0
  229. package/dist/src/bitgo/trading/network/encrypt.d.ts.map +1 -0
  230. package/dist/src/bitgo/trading/network/encrypt.js +58 -0
  231. package/dist/src/bitgo/trading/network/index.d.ts +5 -0
  232. package/dist/src/bitgo/trading/network/index.d.ts.map +1 -0
  233. package/dist/src/bitgo/trading/network/index.js +21 -0
  234. package/dist/src/bitgo/trading/network/network.d.ts +36 -0
  235. package/dist/src/bitgo/trading/network/network.d.ts.map +1 -0
  236. package/dist/src/bitgo/trading/network/network.js +101 -0
  237. package/dist/src/bitgo/trading/network/types.d.ts +277 -0
  238. package/dist/src/bitgo/trading/network/types.d.ts.map +1 -0
  239. package/dist/src/bitgo/trading/network/types.js +3 -0
  240. package/dist/src/bitgo/trading/network/utils.d.ts +20 -0
  241. package/dist/src/bitgo/trading/network/utils.d.ts.map +1 -0
  242. package/dist/src/bitgo/trading/network/utils.js +54 -0
  243. package/dist/src/bitgo/trading/tradingAccount.d.ts +11 -35
  244. package/dist/src/bitgo/trading/tradingAccount.d.ts.map +1 -1
  245. package/dist/src/bitgo/trading/tradingAccount.js +9 -96
  246. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts +27 -0
  247. package/dist/src/bitgo/tss/bitgoPubKeys.d.ts.map +1 -0
  248. package/dist/src/bitgo/tss/bitgoPubKeys.js +61 -0
  249. package/dist/src/bitgo/tss/common.d.ts +37 -5
  250. package/dist/src/bitgo/tss/common.d.ts.map +1 -1
  251. package/dist/src/bitgo/tss/common.js +103 -17
  252. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts +6 -4
  253. package/dist/src/bitgo/tss/ecdsa/ecdsa.d.ts.map +1 -1
  254. package/dist/src/bitgo/tss/ecdsa/ecdsa.js +78 -66
  255. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts +15 -0
  256. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  257. package/dist/src/bitgo/tss/ecdsa/ecdsaMPCv2.js +151 -0
  258. package/dist/src/bitgo/tss/ecdsa/index.d.ts +1 -0
  259. package/dist/src/bitgo/tss/ecdsa/index.d.ts.map +1 -1
  260. package/dist/src/bitgo/tss/ecdsa/index.js +25 -10
  261. package/dist/src/bitgo/tss/ecdsa/types.d.ts +27 -27
  262. package/dist/src/bitgo/tss/ecdsa/types.d.ts.map +1 -1
  263. package/dist/src/bitgo/tss/ecdsa/types.js +3 -3
  264. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts +11 -8
  265. package/dist/src/bitgo/tss/eddsa/eddsa.d.ts.map +1 -1
  266. package/dist/src/bitgo/tss/eddsa/eddsa.js +38 -41
  267. package/dist/src/bitgo/tss/eddsa/index.js +23 -9
  268. package/dist/src/bitgo/tss/eddsa/types.d.ts +4 -4
  269. package/dist/src/bitgo/tss/eddsa/types.d.ts.map +1 -1
  270. package/dist/src/bitgo/tss/index.d.ts +3 -2
  271. package/dist/src/bitgo/tss/index.d.ts.map +1 -1
  272. package/dist/src/bitgo/tss/index.js +26 -10
  273. package/dist/src/bitgo/tss/types.d.ts +16 -1
  274. package/dist/src/bitgo/tss/types.d.ts.map +1 -1
  275. package/dist/src/bitgo/tss/types.js +2 -2
  276. package/dist/src/bitgo/types.d.ts +3 -3
  277. package/dist/src/bitgo/types.d.ts.map +1 -1
  278. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts +11 -0
  279. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -1
  280. package/dist/src/bitgo/utils/abstractUtxoCoinUtil.js +66 -10
  281. package/dist/src/bitgo/utils/blsUtils.js +5 -5
  282. package/dist/src/bitgo/utils/codecProps.d.ts +7 -0
  283. package/dist/src/bitgo/utils/codecProps.d.ts.map +1 -0
  284. package/dist/src/bitgo/utils/codecProps.js +54 -0
  285. package/dist/src/bitgo/utils/decode.d.ts.map +1 -1
  286. package/dist/src/bitgo/utils/decode.js +30 -16
  287. package/dist/src/bitgo/utils/index.d.ts +2 -0
  288. package/dist/src/bitgo/utils/index.d.ts.map +1 -1
  289. package/dist/src/bitgo/utils/index.js +25 -9
  290. package/dist/src/bitgo/utils/mpcUtils.d.ts.map +1 -1
  291. package/dist/src/bitgo/utils/mpcUtils.js +17 -12
  292. package/dist/src/bitgo/utils/notEmpty.d.ts +2 -0
  293. package/dist/src/bitgo/utils/notEmpty.d.ts.map +1 -0
  294. package/dist/src/bitgo/utils/notEmpty.js +7 -0
  295. package/dist/src/bitgo/utils/opengpgUtils.d.ts +11 -4
  296. package/dist/src/bitgo/utils/opengpgUtils.d.ts.map +1 -1
  297. package/dist/src/bitgo/utils/opengpgUtils.js +70 -57
  298. package/dist/src/bitgo/utils/postWithCodec.d.ts +18 -0
  299. package/dist/src/bitgo/utils/postWithCodec.d.ts.map +1 -0
  300. package/dist/src/bitgo/utils/postWithCodec.js +25 -0
  301. package/dist/src/bitgo/utils/promise-utils.d.ts +1 -1
  302. package/dist/src/bitgo/utils/promise-utils.d.ts.map +1 -1
  303. package/dist/src/bitgo/utils/promise-utils.js +2 -3
  304. package/dist/src/bitgo/utils/triple.d.ts +1 -1
  305. package/dist/src/bitgo/utils/triple.d.ts.map +1 -1
  306. package/dist/src/bitgo/utils/triple.js +2 -3
  307. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts +54 -8
  308. package/dist/src/bitgo/utils/tss/baseTSSUtils.d.ts.map +1 -1
  309. package/dist/src/bitgo/utils/tss/baseTSSUtils.js +170 -28
  310. package/dist/src/bitgo/utils/tss/baseTypes.d.ts +225 -20
  311. package/dist/src/bitgo/utils/tss/baseTypes.d.ts.map +1 -1
  312. package/dist/src/bitgo/utils/tss/baseTypes.js +26 -7
  313. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts +23 -0
  314. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.d.ts.map +1 -0
  315. package/dist/src/bitgo/utils/tss/ecdsa/SMC/utils.js +157 -0
  316. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts +30 -0
  317. package/dist/src/bitgo/utils/tss/ecdsa/base.d.ts.map +1 -0
  318. package/dist/src/bitgo/utils/tss/ecdsa/base.js +51 -0
  319. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts +48 -32
  320. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.d.ts.map +1 -1
  321. package/dist/src/bitgo/utils/tss/ecdsa/ecdsa.js +272 -172
  322. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts +199 -0
  323. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.d.ts.map +1 -0
  324. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2.js +930 -0
  325. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts +8 -0
  326. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.d.ts.map +1 -0
  327. package/dist/src/bitgo/utils/tss/ecdsa/ecdsaMPCv2KeyGenSender.js +13 -0
  328. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts +4 -0
  329. package/dist/src/bitgo/utils/tss/ecdsa/index.d.ts.map +1 -1
  330. package/dist/src/bitgo/utils/tss/ecdsa/index.js +10 -2
  331. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts +15 -7
  332. package/dist/src/bitgo/utils/tss/ecdsa/types.d.ts.map +1 -1
  333. package/dist/src/bitgo/utils/tss/ecdsa/types.js +1 -1
  334. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts +107 -0
  335. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.d.ts.map +1 -0
  336. package/dist/src/bitgo/utils/tss/ecdsa/typesMPCv2.js +55 -0
  337. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts +5 -3
  338. package/dist/src/bitgo/utils/tss/eddsa/eddsa.d.ts.map +1 -1
  339. package/dist/src/bitgo/utils/tss/eddsa/eddsa.js +67 -58
  340. package/dist/src/bitgo/utils/tss/eddsa/index.js +23 -9
  341. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts +7 -7
  342. package/dist/src/bitgo/utils/tss/eddsa/types.d.ts.map +1 -1
  343. package/dist/src/bitgo/utils/tss/index.js +23 -9
  344. package/dist/src/bitgo/utils/txRequest.d.ts +10 -0
  345. package/dist/src/bitgo/utils/txRequest.d.ts.map +1 -0
  346. package/dist/src/bitgo/utils/txRequest.js +47 -0
  347. package/dist/src/bitgo/utils/util.js +24 -10
  348. package/dist/src/bitgo/utils/wallet.d.ts +7 -0
  349. package/dist/src/bitgo/utils/wallet.d.ts.map +1 -0
  350. package/dist/src/bitgo/utils/wallet.js +48 -0
  351. package/dist/src/bitgo/wallet/BuildParams.d.ts +119 -0
  352. package/dist/src/bitgo/wallet/BuildParams.d.ts.map +1 -0
  353. package/dist/src/bitgo/wallet/BuildParams.js +140 -0
  354. package/dist/src/bitgo/wallet/iWallet.d.ts +185 -16
  355. package/dist/src/bitgo/wallet/iWallet.d.ts.map +1 -1
  356. package/dist/src/bitgo/wallet/iWallet.js +1 -1
  357. package/dist/src/bitgo/wallet/iWallets.d.ts +62 -13
  358. package/dist/src/bitgo/wallet/iWallets.d.ts.map +1 -1
  359. package/dist/src/bitgo/wallet/iWallets.js +42 -2
  360. package/dist/src/bitgo/wallet/index.js +6 -2
  361. package/dist/src/bitgo/wallet/wallet.d.ts +165 -17
  362. package/dist/src/bitgo/wallet/wallet.d.ts.map +1 -1
  363. package/dist/src/bitgo/wallet/wallet.js +819 -311
  364. package/dist/src/bitgo/wallet/wallets.d.ts +66 -8
  365. package/dist/src/bitgo/wallet/wallets.d.ts.map +1 -1
  366. package/dist/src/bitgo/wallet/wallets.js +598 -189
  367. package/dist/src/bitgo/webhook/index.js +6 -2
  368. package/dist/src/bitgo/webhook/webhooks.js +23 -9
  369. package/dist/src/coins/fiateur.d.ts +0 -1
  370. package/dist/src/coins/fiateur.d.ts.map +1 -1
  371. package/dist/src/coins/fiatgbp.d.ts +0 -1
  372. package/dist/src/coins/fiatgbp.d.ts.map +1 -1
  373. package/dist/src/coins/fiatusd.d.ts +0 -1
  374. package/dist/src/coins/fiatusd.d.ts.map +1 -1
  375. package/dist/src/coins/index.js +6 -2
  376. package/dist/src/coins/ofc.d.ts +0 -1
  377. package/dist/src/coins/ofc.d.ts.map +1 -1
  378. package/dist/src/coins/ofc.js +2 -2
  379. package/dist/src/coins/ofcToken.js +2 -2
  380. package/dist/src/coins/susd.d.ts +0 -1
  381. package/dist/src/coins/susd.d.ts.map +1 -1
  382. package/dist/src/common.js +27 -13
  383. package/dist/src/index.d.ts +6 -1
  384. package/dist/src/index.d.ts.map +1 -1
  385. package/dist/src/index.js +28 -11
  386. package/dist/src/units.js +5 -6
  387. package/dist/test/node.utils.d.ts +2 -0
  388. package/dist/test/node.utils.d.ts.map +1 -0
  389. package/dist/test/node.utils.js +5 -0
  390. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts +2 -0
  391. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.d.ts.map +1 -0
  392. package/dist/test/unit/account-lib/mpc/tss/ecdsa/ecdsa.js +233 -0
  393. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts +3 -0
  394. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.d.ts.map +1 -0
  395. package/dist/test/unit/account-lib/mpc/tss/ecdsa/fixtures.js +24 -0
  396. package/dist/test/unit/bitgo/lightning/codecs.d.ts +2 -0
  397. package/dist/test/unit/bitgo/lightning/codecs.d.ts.map +1 -0
  398. package/dist/test/unit/bitgo/lightning/codecs.js +147 -0
  399. package/dist/test/unit/bitgo/lightning/createWatchOnlyFixture.d.ts +4 -0
  400. package/dist/test/unit/bitgo/lightning/createWatchOnlyFixture.d.ts.map +1 -0
  401. package/dist/test/unit/bitgo/lightning/createWatchOnlyFixture.js +1562 -0
  402. package/dist/test/unit/bitgo/lightning/lightningUtils.d.ts +2 -0
  403. package/dist/test/unit/bitgo/lightning/lightningUtils.d.ts.map +1 -0
  404. package/dist/test/unit/bitgo/lightning/lightningUtils.js +104 -0
  405. package/dist/test/unit/bitgo/lightning/signableJson.d.ts +2 -0
  406. package/dist/test/unit/bitgo/lightning/signableJson.d.ts.map +1 -0
  407. package/dist/test/unit/bitgo/lightning/signableJson.js +52 -0
  408. package/dist/test/unit/bitgo/lightning/signature.d.ts +2 -0
  409. package/dist/test/unit/bitgo/lightning/signature.d.ts.map +1 -0
  410. package/dist/test/unit/bitgo/lightning/signature.js +91 -0
  411. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts +2 -0
  412. package/dist/test/unit/bitgo/trading/network/encrypt.d.ts.map +1 -0
  413. package/dist/test/unit/bitgo/trading/network/encrypt.js +71 -0
  414. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts +2 -0
  415. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.d.ts.map +1 -0
  416. package/dist/test/unit/bitgo/utils/abstractUtxoCoinUtil.js +45 -0
  417. package/dist/test/unit/bitgo/utils/notEmpty.d.ts +2 -0
  418. package/dist/test/unit/bitgo/utils/notEmpty.d.ts.map +1 -0
  419. package/dist/test/unit/bitgo/utils/notEmpty.js +15 -0
  420. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts +2 -0
  421. package/dist/test/unit/bitgo/utils/postWithCodec.d.ts.map +1 -0
  422. package/dist/test/unit/bitgo/utils/postWithCodec.js +73 -0
  423. package/dist/test/unit/bitgo/utils/txRequest.d.ts +2 -0
  424. package/dist/test/unit/bitgo/utils/txRequest.d.ts.map +1 -0
  425. package/dist/test/unit/bitgo/utils/txRequest.js +105 -0
  426. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts +2 -0
  427. package/dist/test/unit/bitgo/wallet/BuildParams.d.ts.map +1 -0
  428. package/dist/test/unit/bitgo/wallet/BuildParams.js +68 -0
  429. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts +2 -0
  430. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.d.ts.map +1 -0
  431. package/dist/test/unit/bitgo/wallet/SendTransactionRequest.js +58 -0
  432. package/dist/test/unit/units.d.ts +2 -0
  433. package/dist/test/unit/units.d.ts.map +1 -0
  434. package/dist/test/unit/units.js +98 -0
  435. package/dist/tsconfig.tsbuildinfo +1 -1
  436. package/package.json +28 -17
  437. package/dist/src/account-lib/mpc/hdTree.d.ts +0 -31
  438. package/dist/src/account-lib/mpc/hdTree.d.ts.map +0 -1
  439. package/dist/src/account-lib/mpc/hdTree.js +0 -141
  440. package/dist/src/account-lib/mpc/types.d.ts +0 -5
  441. package/dist/src/account-lib/mpc/types.d.ts.map +0 -1
  442. package/dist/src/account-lib/mpc/types.js +0 -3
  443. package/dist/src/bitgo/lightning/iLightning.d.ts.map +0 -1
  444. package/dist/src/bitgo/lightning/iLightning.js +0 -106
  445. package/dist/src/bitgo/lightning/lightning.d.ts.map +0 -1
  446. package/dist/src/bitgo/lightning/lightning.js +0 -111
  447. package/dist/src/bitgo/lightning/lnurlCodec.d.ts.map +0 -1
  448. package/dist/src/bitgo/lightning/lnurlCodec.js +0 -28
  449. package/dist/src/bitgo/trading/affirmation.d.ts +0 -35
  450. package/dist/src/bitgo/trading/affirmation.d.ts.map +0 -1
  451. package/dist/src/bitgo/trading/affirmation.js +0 -53
  452. package/dist/src/bitgo/trading/affirmations.d.ts +0 -23
  453. package/dist/src/bitgo/trading/affirmations.d.ts.map +0 -1
  454. package/dist/src/bitgo/trading/affirmations.js +0 -45
  455. package/dist/src/bitgo/trading/iAffirmation.d.ts +0 -15
  456. package/dist/src/bitgo/trading/iAffirmation.d.ts.map +0 -1
  457. package/dist/src/bitgo/trading/iAffirmation.js +0 -13
  458. package/dist/src/bitgo/trading/iAffirmations.d.ts +0 -10
  459. package/dist/src/bitgo/trading/iAffirmations.d.ts.map +0 -1
  460. package/dist/src/bitgo/trading/iAffirmations.js +0 -3
  461. package/dist/src/bitgo/trading/iSettlement.d.ts +0 -25
  462. package/dist/src/bitgo/trading/iSettlement.d.ts.map +0 -1
  463. package/dist/src/bitgo/trading/iSettlement.js +0 -17
  464. package/dist/src/bitgo/trading/iSettlements.d.ts +0 -19
  465. package/dist/src/bitgo/trading/iSettlements.d.ts.map +0 -1
  466. package/dist/src/bitgo/trading/iSettlements.js +0 -3
  467. package/dist/src/bitgo/trading/iTradingPartner.d.ts +0 -14
  468. package/dist/src/bitgo/trading/iTradingPartner.d.ts.map +0 -1
  469. package/dist/src/bitgo/trading/iTradingPartner.js +0 -17
  470. package/dist/src/bitgo/trading/iTradingPartners.d.ts +0 -15
  471. package/dist/src/bitgo/trading/iTradingPartners.d.ts.map +0 -1
  472. package/dist/src/bitgo/trading/iTradingPartners.js +0 -9
  473. package/dist/src/bitgo/trading/lock.d.ts +0 -16
  474. package/dist/src/bitgo/trading/lock.d.ts.map +0 -1
  475. package/dist/src/bitgo/trading/lock.js +0 -12
  476. package/dist/src/bitgo/trading/payload.d.ts +0 -22
  477. package/dist/src/bitgo/trading/payload.d.ts.map +0 -1
  478. package/dist/src/bitgo/trading/payload.js +0 -3
  479. package/dist/src/bitgo/trading/settlement.d.ts +0 -16
  480. package/dist/src/bitgo/trading/settlement.d.ts.map +0 -1
  481. package/dist/src/bitgo/trading/settlement.js +0 -21
  482. package/dist/src/bitgo/trading/settlements.d.ts +0 -32
  483. package/dist/src/bitgo/trading/settlements.d.ts.map +0 -1
  484. package/dist/src/bitgo/trading/settlements.js +0 -61
  485. package/dist/src/bitgo/trading/trade.d.ts +0 -29
  486. package/dist/src/bitgo/trading/trade.d.ts.map +0 -1
  487. package/dist/src/bitgo/trading/trade.js +0 -11
  488. package/dist/src/bitgo/trading/tradingPartner.d.ts +0 -26
  489. package/dist/src/bitgo/trading/tradingPartner.d.ts.map +0 -1
  490. package/dist/src/bitgo/trading/tradingPartner.js +0 -31
  491. package/dist/src/bitgo/trading/tradingPartners.d.ts +0 -24
  492. package/dist/src/bitgo/trading/tradingPartners.d.ts.map +0 -1
  493. package/dist/src/bitgo/trading/tradingPartners.js +0 -32
  494. package/dist/src/openssl/index.d.ts +0 -5
  495. package/dist/src/openssl/index.d.ts.map +0 -1
  496. package/dist/src/openssl/index.js +0 -9
  497. /package/dist/src/bitgo/lightning/{lnurlCodec.d.ts → custodial/lnurlCodec.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/lightning/custodial/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./iLightning"), exports);
18
+ __exportStar(require("./lightning"), exports);
19
+ __exportStar(require("./lnurlCodec"), exports);
20
+ __exportStar(require("./lightningUtils"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2N1c3RvZGlhbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQTZCO0FBQzdCLDhDQUE0QjtBQUM1QiwrQ0FBNkI7QUFDN0IsbURBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pTGlnaHRuaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbGlnaHRuaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vbG51cmxDb2RlYyc7XG5leHBvcnQgKiBmcm9tICcuL2xpZ2h0bmluZ1V0aWxzJztcbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { ILightning, CreateInvoiceParams, PayInvoiceParams, LightningWithdrawalParams, LightningDepositParams, LnurlPayParams, CreateInvoiceResponse, CreateDepositAddressResponse, PayInvoiceResponse, GetBalanceResponse, WithdrawResponse, DepositResponse, GetInvoicesQuery, GetInvoicesResponse, DecodedLnurlPayRequest, GetPaymentsQuery, GetPaymentsResponse } from './iLightning';
2
- import { BitGoBase } from '../bitgoBase';
3
- import { IWallet } from '../wallet';
2
+ import { BitGoBase } from '../../bitgoBase';
3
+ import { IWallet } from '../../wallet';
4
4
  export declare class Lightning implements ILightning {
5
5
  private readonly bitgo;
6
6
  private readonly wallet;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/lightning/custodial/lightning.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAIvC,qBAAa,SAAU,YAAW,UAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEjB,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO;IAMhC,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAW1E,oBAAoB,IAAI,OAAO,CAAC,4BAA4B,CAAC;IAO7D,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWjE,UAAU,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAOzC,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAqBtE,OAAO,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAWjE,WAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAiBhF;;;;OAIG;IACU,WAAW,CAAC,KAAK,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgBzE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI9D,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAGrE"}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Lightning = void 0;
4
+ const iLightning_1 = require("./iLightning");
5
+ const lightningUtils_1 = require("./lightningUtils");
6
+ const decode_1 = require("../../utils/decode");
7
+ const crypto_1 = require("crypto");
8
+ class Lightning {
9
+ constructor(bitgo, wallet) {
10
+ this.bitgo = bitgo;
11
+ this.wallet = wallet;
12
+ this.url = this.bitgo.url(`/wallet/${this.wallet.id()}/lightning`, 2);
13
+ }
14
+ async createInvoice(params) {
15
+ const body = await this.bitgo
16
+ .post(this.url + '/invoice')
17
+ .send(params)
18
+ .result();
19
+ return (0, decode_1.decodeOrElse)(iLightning_1.CreateInvoiceResponse.name, iLightning_1.CreateInvoiceResponse, body, (errors) => {
20
+ throw new Error(`error(s) parsing response body: ${errors}`);
21
+ });
22
+ }
23
+ async createDepositAddress() {
24
+ const body = await this.bitgo.post(this.url + '/address').result();
25
+ return (0, decode_1.decodeOrElse)(iLightning_1.CreateDepositAddressResponse.name, iLightning_1.CreateDepositAddressResponse, body, (errors) => {
26
+ throw new Error(`error(s) parsing response body: ${errors}`);
27
+ });
28
+ }
29
+ async payInvoice(params) {
30
+ const body = await this.bitgo
31
+ .post(this.url + '/payment')
32
+ .send(params)
33
+ .result();
34
+ return (0, decode_1.decodeOrElse)(iLightning_1.PayInvoiceResponse.name, iLightning_1.PayInvoiceResponse, body, (errors) => {
35
+ throw new Error(`error(s) parsing response body: ${errors}`);
36
+ });
37
+ }
38
+ async getBalance() {
39
+ const body = await this.bitgo.get(this.url + '/balance').result();
40
+ return (0, decode_1.decodeOrElse)(iLightning_1.GetBalanceResponse.name, iLightning_1.GetBalanceResponse, body, (errors) => {
41
+ throw new Error(`error(s) parsing response body: ${errors}`);
42
+ });
43
+ }
44
+ async withdraw(params) {
45
+ const { value } = params;
46
+ let { destination, sequenceId } = params;
47
+ if (destination === undefined) {
48
+ destination = (await this.wallet.createAddress()).address;
49
+ }
50
+ if (sequenceId === undefined) {
51
+ sequenceId = (0, crypto_1.randomBytes)(16).toString('hex');
52
+ }
53
+ const body = await this.bitgo
54
+ .post(this.url + '/withdrawal')
55
+ .send({ value, destination, sequenceId })
56
+ .result();
57
+ return (0, decode_1.decodeOrElse)(iLightning_1.WithdrawResponse.name, iLightning_1.WithdrawResponse, body, (errors) => {
58
+ throw new Error(`error(s) parsing response body: ${errors}`);
59
+ });
60
+ }
61
+ async deposit(params) {
62
+ const { amount } = params;
63
+ const address = (await this.createDepositAddress()).address;
64
+ const res = await this.wallet.send({ amount, address });
65
+ return (0, decode_1.decodeOrElse)(iLightning_1.DepositResponse.name, iLightning_1.DepositResponse, res, (errors) => {
66
+ throw new Error(`error(s) parsing response body: ${errors}`);
67
+ });
68
+ }
69
+ async getInvoices(query) {
70
+ const queryParams = {
71
+ status: query?.status,
72
+ limit: query?.limit,
73
+ startDate: query?.startDate,
74
+ endDate: query?.endDate,
75
+ };
76
+ const body = await this.bitgo
77
+ .get(this.url + '/invoices')
78
+ .query(queryParams)
79
+ .result();
80
+ return (0, decode_1.decodeOrElse)(iLightning_1.GetInvoicesResponse.name, iLightning_1.GetInvoicesResponse, body, (errors) => {
81
+ throw new Error(`error(s) parsing response body: ${errors}`);
82
+ });
83
+ }
84
+ /**
85
+ * fetches lightning payments by status, limit, startDate and endDate
86
+ * @param query
87
+ * @return {GetPaymentsResponse}
88
+ */
89
+ async getPayments(query) {
90
+ const queryParams = {};
91
+ queryParams.status = query?.status;
92
+ queryParams.limit = query?.limit;
93
+ queryParams.startDate = query?.startDate;
94
+ queryParams.endDate = query?.endDate;
95
+ const body = await this.bitgo
96
+ .get(this.url + '/payments')
97
+ .query(queryParams)
98
+ .result();
99
+ return (0, decode_1.decodeOrElse)(iLightning_1.GetPaymentsResponse.name, iLightning_1.GetPaymentsResponse, body, (errors) => {
100
+ throw new Error(`error(s) parsing response body: ${errors}`);
101
+ });
102
+ }
103
+ decodeLnurlPay(lnurl) {
104
+ return (0, lightningUtils_1.decodeLnurlPay)(lnurl);
105
+ }
106
+ fetchLnurlPayInvoice(params) {
107
+ return (0, lightningUtils_1.fetchLnurlPayInvoice)(params);
108
+ }
109
+ }
110
+ exports.Lightning = Lightning;
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2JpdGdvL2xpZ2h0bmluZy9jdXN0b2RpYWwvbGlnaHRuaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQWtCc0I7QUFDdEIscURBQXdFO0FBR3hFLCtDQUFrRDtBQUNsRCxtQ0FBcUM7QUFFckMsTUFBYSxTQUFTO0lBS3BCLFlBQVksS0FBZ0IsRUFBRSxNQUFlO1FBQzNDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxhQUFhLENBQUMsTUFBMkI7UUFDcEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSzthQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUM7YUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNaLE1BQU0sRUFBRSxDQUFDO1FBRVosT0FBTyxJQUFBLHFCQUFZLEVBQUMsa0NBQXFCLENBQUMsSUFBSSxFQUFFLGtDQUFxQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RGLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sS0FBSyxDQUFDLG9CQUFvQjtRQUMvQixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLENBQUMsTUFBTSxF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QUksR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLO2FBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQzthQUMzQixLQUFLLENBQUMsV0FBVyxDQUFDO2FBQ2xCLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFBLHFCQUFZLEVBQUMsZ0NBQW1CLENBQUMsSUFBSSxFQUFFLGdDQUFtQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2xGLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWE7UUFDakMsT0FBTyxJQUFBLCtCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLG9CQUFvQixDQUFDLE1BQXNCO1FBQ2hELE9BQU8sSUFBQSxxQ0FBb0IsRUFBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUE1SEQsOEJBNEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSUxpZ2h0bmluZyxcbiAgQ3JlYXRlSW52b2ljZVBhcmFtcyxcbiAgUGF5SW52b2ljZVBhcmFtcyxcbiAgTGlnaHRuaW5nV2l0aGRyYXdhbFBhcmFtcyxcbiAgTGlnaHRuaW5nRGVwb3NpdFBhcmFtcyxcbiAgTG51cmxQYXlQYXJhbXMsXG4gIENyZWF0ZUludm9pY2VSZXNwb25zZSxcbiAgQ3JlYXRlRGVwb3NpdEFkZHJlc3NSZXNwb25zZSxcbiAgUGF5SW52b2ljZVJlc3BvbnNlLFxuICBHZXRCYWxhbmNlUmVzcG9uc2UsXG4gIFdpdGhkcmF3UmVzcG9uc2UsXG4gIERlcG9zaXRSZXNwb25zZSxcbiAgR2V0SW52b2ljZXNRdWVyeSxcbiAgR2V0SW52b2ljZXNSZXNwb25zZSxcbiAgRGVjb2RlZExudXJsUGF5UmVxdWVzdCxcbiAgR2V0UGF5bWVudHNRdWVyeSxcbiAgR2V0UGF5bWVudHNSZXNwb25zZSxcbn0gZnJvbSAnLi9pTGlnaHRuaW5nJztcbmltcG9ydCB7IGRlY29kZUxudXJsUGF5LCBmZXRjaExudXJsUGF5SW52b2ljZSB9IGZyb20gJy4vbGlnaHRuaW5nVXRpbHMnO1xuaW1wb3J0IHsgQml0R29CYXNlIH0gZnJvbSAnLi4vLi4vYml0Z29CYXNlJztcbmltcG9ydCB7IElXYWxsZXQgfSBmcm9tICcuLi8uLi93YWxsZXQnO1xuaW1wb3J0IHsgZGVjb2RlT3JFbHNlIH0gZnJvbSAnLi4vLi4vdXRpbHMvZGVjb2RlJztcbmltcG9ydCB7IHJhbmRvbUJ5dGVzIH0gZnJvbSAnY3J5cHRvJztcblxuZXhwb3J0IGNsYXNzIExpZ2h0bmluZyBpbXBsZW1lbnRzIElMaWdodG5pbmcge1xuICBwcml2YXRlIHJlYWRvbmx5IGJpdGdvOiBCaXRHb0Jhc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgd2FsbGV0OiBJV2FsbGV0O1xuICBwcml2YXRlIHJlYWRvbmx5IHVybDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKGJpdGdvOiBCaXRHb0Jhc2UsIHdhbGxldDogSVdhbGxldCkge1xuICAgIHRoaXMuYml0Z28gPSBiaXRnbztcbiAgICB0aGlzLndhbGxldCA9IHdhbGxldDtcbiAgICB0aGlzLnVybCA9IHRoaXMuYml0Z28udXJsKGAvd2FsbGV0LyR7dGhpcy53YWxsZXQuaWQoKX0vbGlnaHRuaW5nYCwgMik7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlSW52b2ljZShwYXJhbXM6IENyZWF0ZUludm9pY2VQYXJhbXMpOiBQcm9taXNlPENyZWF0ZUludm9pY2VSZXNwb25zZT4ge1xuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAucG9zdCh0aGlzLnVybCArICcvaW52b2ljZScpXG4gICAgICAuc2VuZChwYXJhbXMpXG4gICAgICAucmVzdWx0KCk7XG5cbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKENyZWF0ZUludm9pY2VSZXNwb25zZS5uYW1lLCBDcmVhdGVJbnZvaWNlUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVEZXBvc2l0QWRkcmVzcygpOiBQcm9taXNlPENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2U+IHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnby5wb3N0KHRoaXMudXJsICsgJy9hZGRyZXNzJykucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShDcmVhdGVEZXBvc2l0QWRkcmVzc1Jlc3BvbnNlLm5hbWUsIENyZWF0ZURlcG9zaXRBZGRyZXNzUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwYXlJbnZvaWNlKHBhcmFtczogUGF5SW52b2ljZVBhcmFtcyk6IFByb21pc2U8UGF5SW52b2ljZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMudXJsICsgJy9wYXltZW50JylcbiAgICAgIC5zZW5kKHBhcmFtcylcbiAgICAgIC5yZXN1bHQoKTtcblxuICAgIHJldHVybiBkZWNvZGVPckVsc2UoUGF5SW52b2ljZVJlc3BvbnNlLm5hbWUsIFBheUludm9pY2VSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEJhbGFuY2UoKTogUHJvbWlzZTxHZXRCYWxhbmNlUmVzcG9uc2U+IHtcbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnby5nZXQodGhpcy51cmwgKyAnL2JhbGFuY2UnKS5yZXN1bHQoKTtcbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKEdldEJhbGFuY2VSZXNwb25zZS5uYW1lLCBHZXRCYWxhbmNlUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyB3aXRoZHJhdyhwYXJhbXM6IExpZ2h0bmluZ1dpdGhkcmF3YWxQYXJhbXMpOiBQcm9taXNlPFdpdGhkcmF3UmVzcG9uc2U+IHtcbiAgICBjb25zdCB7IHZhbHVlIH0gPSBwYXJhbXM7XG4gICAgbGV0IHsgZGVzdGluYXRpb24sIHNlcXVlbmNlSWQgfSA9IHBhcmFtcztcblxuICAgIGlmIChkZXN0aW5hdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBkZXN0aW5hdGlvbiA9IChhd2FpdCB0aGlzLndhbGxldC5jcmVhdGVBZGRyZXNzKCkpLmFkZHJlc3M7XG4gICAgfVxuXG4gICAgaWYgKHNlcXVlbmNlSWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgc2VxdWVuY2VJZCA9IHJhbmRvbUJ5dGVzKDE2KS50b1N0cmluZygnaGV4Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgYm9keSA9IGF3YWl0IHRoaXMuYml0Z29cbiAgICAgIC5wb3N0KHRoaXMudXJsICsgJy93aXRoZHJhd2FsJylcbiAgICAgIC5zZW5kKHsgdmFsdWUsIGRlc3RpbmF0aW9uLCBzZXF1ZW5jZUlkIH0pXG4gICAgICAucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShXaXRoZHJhd1Jlc3BvbnNlLm5hbWUsIFdpdGhkcmF3UmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBkZXBvc2l0KHBhcmFtczogTGlnaHRuaW5nRGVwb3NpdFBhcmFtcyk6IFByb21pc2U8RGVwb3NpdFJlc3BvbnNlPiB7XG4gICAgY29uc3QgeyBhbW91bnQgfSA9IHBhcmFtcztcbiAgICBjb25zdCBhZGRyZXNzID0gKGF3YWl0IHRoaXMuY3JlYXRlRGVwb3NpdEFkZHJlc3MoKSkuYWRkcmVzcztcblxuICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMud2FsbGV0LnNlbmQoeyBhbW91bnQsIGFkZHJlc3MgfSk7XG5cbiAgICByZXR1cm4gZGVjb2RlT3JFbHNlKERlcG9zaXRSZXNwb25zZS5uYW1lLCBEZXBvc2l0UmVzcG9uc2UsIHJlcywgKGVycm9ycykgPT4ge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvcihzKSBwYXJzaW5nIHJlc3BvbnNlIGJvZHk6ICR7ZXJyb3JzfWApO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldEludm9pY2VzKHF1ZXJ5PzogR2V0SW52b2ljZXNRdWVyeSk6IFByb21pc2U8R2V0SW52b2ljZXNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge1xuICAgICAgc3RhdHVzOiBxdWVyeT8uc3RhdHVzLFxuICAgICAgbGltaXQ6IHF1ZXJ5Py5saW1pdCxcbiAgICAgIHN0YXJ0RGF0ZTogcXVlcnk/LnN0YXJ0RGF0ZSxcbiAgICAgIGVuZERhdGU6IHF1ZXJ5Py5lbmREYXRlLFxuICAgIH07XG5cbiAgICBjb25zdCBib2R5ID0gYXdhaXQgdGhpcy5iaXRnb1xuICAgICAgLmdldCh0aGlzLnVybCArICcvaW52b2ljZXMnKVxuICAgICAgLnF1ZXJ5KHF1ZXJ5UGFyYW1zKVxuICAgICAgLnJlc3VsdCgpO1xuICAgIHJldHVybiBkZWNvZGVPckVsc2UoR2V0SW52b2ljZXNSZXNwb25zZS5uYW1lLCBHZXRJbnZvaWNlc1Jlc3BvbnNlLCBib2R5LCAoZXJyb3JzKSA9PiB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yKHMpIHBhcnNpbmcgcmVzcG9uc2UgYm9keTogJHtlcnJvcnN9YCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogZmV0Y2hlcyBsaWdodG5pbmcgcGF5bWVudHMgYnkgc3RhdHVzLCBsaW1pdCwgc3RhcnREYXRlIGFuZCBlbmREYXRlXG4gICAqIEBwYXJhbSBxdWVyeVxuICAgKiBAcmV0dXJuIHtHZXRQYXltZW50c1Jlc3BvbnNlfVxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFBheW1lbnRzKHF1ZXJ5PzogR2V0UGF5bWVudHNRdWVyeSk6IFByb21pc2U8R2V0UGF5bWVudHNSZXNwb25zZT4ge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiB7IHN0YXR1cz86IHN0cmluZzsgbGltaXQ/OiBudW1iZXI7IHN0YXJ0RGF0ZT86IHN0cmluZzsgZW5kRGF0ZT86IHN0cmluZyB9ID0ge307XG4gICAgcXVlcnlQYXJhbXMuc3RhdHVzID0gcXVlcnk/LnN0YXR1cztcbiAgICBxdWVyeVBhcmFtcy5saW1pdCA9IHF1ZXJ5Py5saW1pdDtcbiAgICBxdWVyeVBhcmFtcy5zdGFydERhdGUgPSBxdWVyeT8uc3RhcnREYXRlO1xuICAgIHF1ZXJ5UGFyYW1zLmVuZERhdGUgPSBxdWVyeT8uZW5kRGF0ZTtcblxuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCB0aGlzLmJpdGdvXG4gICAgICAuZ2V0KHRoaXMudXJsICsgJy9wYXltZW50cycpXG4gICAgICAucXVlcnkocXVlcnlQYXJhbXMpXG4gICAgICAucmVzdWx0KCk7XG4gICAgcmV0dXJuIGRlY29kZU9yRWxzZShHZXRQYXltZW50c1Jlc3BvbnNlLm5hbWUsIEdldFBheW1lbnRzUmVzcG9uc2UsIGJvZHksIChlcnJvcnMpID0+IHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyByZXNwb25zZSBib2R5OiAke2Vycm9yc31gKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkZWNvZGVMbnVybFBheShsbnVybDogc3RyaW5nKTogUHJvbWlzZTxEZWNvZGVkTG51cmxQYXlSZXF1ZXN0PiB7XG4gICAgcmV0dXJuIGRlY29kZUxudXJsUGF5KGxudXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXM6IExudXJsUGF5UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gZmV0Y2hMbnVybFBheUludm9pY2UocGFyYW1zKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,46 @@
1
+ import { DecodedLnurlPayRequest, LnurlPayParams } from './iLightning';
2
+ export type ParsedLightningInvoice = {
3
+ /**
4
+ * The amount of millisatoshi requested by this invoice. If null then
5
+ * the invoice does not specify an amount and will accept any payment.
6
+ */
7
+ millisatoshis: string | null;
8
+ /** The hex encoded payment hash for the invoice */
9
+ paymentHash: string;
10
+ /** The hex encoded node pub key of the payee that created the invoice */
11
+ payeeNodeKey: string;
12
+ /** The hex encoded SHA256 hash of the description of what the invoice is for */
13
+ descriptionHash?: string;
14
+ };
15
+ /**
16
+ * Decodes an LNURL-pay request and makes an HTTP request to the decoded url
17
+ * to retrieve details for the requested payment.
18
+ * @param lnurl A bech32 encoded LNURL-pay request string
19
+ * @returns {DecodedLnurlPayRequest} An LNURL-pay request message specifying
20
+ * a min and max amount for the payment, metadata describing what the payment
21
+ * is for, and a callback that can be used to fetch a lightning invoice for
22
+ * the payment.
23
+ */
24
+ export declare function decodeLnurlPay(lnurl: string): Promise<DecodedLnurlPayRequest>;
25
+ /**
26
+ * Fetches a lightning invoice from an LNURL-pay callback server for a specified
27
+ * amount of millisatoshis.
28
+ * @param params {LnurlPayParams} An object specifying an amount and a callback
29
+ * url with which to request a lightning invoice for an LNURL-pay request.
30
+ * @returns {string} A BOLT #11 encoded lightning invoice
31
+ */
32
+ export declare function fetchLnurlPayInvoice(params: LnurlPayParams): Promise<string>;
33
+ /**
34
+ * @param {ParsedLightningInvoice} invoice - a parsed lightning invoice
35
+ * @param {number} amount - amount intended to pay for the invoice
36
+ * @param {string} metadata - metadata that is used to verify the fetched invoice
37
+ * @throws error for invoice that does not match with amount and metadata
38
+ */
39
+ export declare function validateLnurlInvoice(invoice: ParsedLightningInvoice, millisatAmount: string, metadata: string): void;
40
+ /**
41
+ * @param {unknown} invoiceStr - a lightning invoice
42
+ * @return {ParsedLightningInvoice}
43
+ * @throws error for invalid lightning invoice
44
+ */
45
+ export declare function parseLightningInvoice(invoiceStr: unknown): ParsedLightningInvoice;
46
+ //# sourceMappingURL=lightningUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightningUtils.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/lightning/custodial/lightningUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAIxF,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;OAGG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAYnF;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CASlF;AAoBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUpH;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,OAAO,GAAG,sBAAsB,CA8BjF"}
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.decodeLnurlPay = decodeLnurlPay;
37
+ exports.fetchLnurlPayInvoice = fetchLnurlPayInvoice;
38
+ exports.validateLnurlInvoice = validateLnurlInvoice;
39
+ exports.parseLightningInvoice = parseLightningInvoice;
40
+ const bolt11 = __importStar(require("bolt11"));
41
+ const crypto = __importStar(require("crypto"));
42
+ const request = __importStar(require("superagent"));
43
+ const iLightning_1 = require("./iLightning");
44
+ const lnurlCodec_1 = require("./lnurlCodec");
45
+ const decode_1 = require("../../utils/decode");
46
+ /**
47
+ * Decodes an LNURL-pay request and makes an HTTP request to the decoded url
48
+ * to retrieve details for the requested payment.
49
+ * @param lnurl A bech32 encoded LNURL-pay request string
50
+ * @returns {DecodedLnurlPayRequest} An LNURL-pay request message specifying
51
+ * a min and max amount for the payment, metadata describing what the payment
52
+ * is for, and a callback that can be used to fetch a lightning invoice for
53
+ * the payment.
54
+ */
55
+ async function decodeLnurlPay(lnurl) {
56
+ const url = (0, lnurlCodec_1.decodeLnurl)(lnurl);
57
+ const { body } = await request.get(url);
58
+ const decodedRes = (0, decode_1.decodeOrElse)(iLightning_1.LnurlPayResponse.name, iLightning_1.LnurlPayResponse, body, (errors) => {
59
+ throw new Error(`error(s) parsing lnurl response: ${errors}`);
60
+ });
61
+ const domain = new URL(url).hostname;
62
+ return {
63
+ ...decodedRes,
64
+ domain,
65
+ };
66
+ }
67
+ /**
68
+ * Fetches a lightning invoice from an LNURL-pay callback server for a specified
69
+ * amount of millisatoshis.
70
+ * @param params {LnurlPayParams} An object specifying an amount and a callback
71
+ * url with which to request a lightning invoice for an LNURL-pay request.
72
+ * @returns {string} A BOLT #11 encoded lightning invoice
73
+ */
74
+ async function fetchLnurlPayInvoice(params) {
75
+ const { callback, millisatAmount, metadata } = params;
76
+ const { pr: invoice } = callback.includes('?')
77
+ ? (await request.get(callback + `&amount=${millisatAmount}`)).body
78
+ : (await request.get(callback).query({ amount: millisatAmount })).body;
79
+ const parsedInvoice = parseLightningInvoice(invoice);
80
+ validateLnurlInvoice(parsedInvoice, millisatAmount, metadata);
81
+ return invoice;
82
+ }
83
+ function getNetworkForInvoice(invoice) {
84
+ if (invoice.startsWith('lntbs')) {
85
+ // signet invoices are not supported by our bolt11 dependency
86
+ // because the `tbs` prefix used for the invoice does not match the `tb`
87
+ // prefix used by on-chain signet addresses
88
+ // see: https://github.com/bitcoinjs/bolt11/pull/58#issuecomment-1106495709
89
+ // we can still decode the invoice however using a custom network
90
+ return {
91
+ bech32: 'tbs',
92
+ pubKeyHash: 0x6f,
93
+ scriptHash: 0xc4,
94
+ validWitnessVersions: [0, 1],
95
+ };
96
+ }
97
+ return undefined;
98
+ }
99
+ /**
100
+ * @param {ParsedLightningInvoice} invoice - a parsed lightning invoice
101
+ * @param {number} amount - amount intended to pay for the invoice
102
+ * @param {string} metadata - metadata that is used to verify the fetched invoice
103
+ * @throws error for invoice that does not match with amount and metadata
104
+ */
105
+ function validateLnurlInvoice(invoice, millisatAmount, metadata) {
106
+ const { millisatoshis, descriptionHash } = invoice;
107
+ if (millisatoshis !== millisatAmount) {
108
+ throw new Error('amount of invoice does not match with given amount');
109
+ }
110
+ const hash = crypto.createHash('sha256').update(metadata).digest('hex');
111
+ if (descriptionHash !== hash) {
112
+ throw new Error('invoice h tag does not match with hash of metadata');
113
+ }
114
+ }
115
+ /**
116
+ * @param {unknown} invoiceStr - a lightning invoice
117
+ * @return {ParsedLightningInvoice}
118
+ * @throws error for invalid lightning invoice
119
+ */
120
+ function parseLightningInvoice(invoiceStr) {
121
+ if (typeof invoiceStr !== 'string') {
122
+ throw new Error('invoice is malformed');
123
+ }
124
+ const decodedInvoice = bolt11.decode(invoiceStr, getNetworkForInvoice(invoiceStr));
125
+ if (decodedInvoice.network === undefined) {
126
+ throw new Error('invoice network is invalid');
127
+ }
128
+ const { millisatoshis, tags, payeeNodeKey } = decodedInvoice;
129
+ const paymentHash = tags.find((tag) => tag.tagName === 'payment_hash')?.data;
130
+ if (paymentHash === undefined || typeof paymentHash !== 'string') {
131
+ throw new Error('invoice payment hash is invalid');
132
+ }
133
+ if (payeeNodeKey === undefined) {
134
+ throw new Error('invoice payee pub key is invalid');
135
+ }
136
+ if (millisatoshis === undefined) {
137
+ throw new Error('invoice millisatoshis amount is invalid');
138
+ }
139
+ const descriptionHash = tags.find((tag) => tag.tagName === 'purpose_commit_hash')?.data;
140
+ if (descriptionHash !== undefined && typeof descriptionHash !== 'string') {
141
+ throw new Error('invoice description hash is invalid');
142
+ }
143
+ return { millisatoshis, paymentHash, payeeNodeKey, descriptionHash };
144
+ }
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlnaHRuaW5nVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2N1c3RvZGlhbC9saWdodG5pbmdVdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQThCQSx3Q0FZQztBQVNELG9EQVNDO0FBMEJELG9EQVVDO0FBT0Qsc0RBOEJDO0FBcklELCtDQUFpQztBQUNqQywrQ0FBaUM7QUFDakMsb0RBQXNDO0FBQ3RDLDZDQUF3RjtBQUN4Riw2Q0FBMkM7QUFDM0MsK0NBQWtEO0FBZ0JsRDs7Ozs7Ozs7R0FRRztBQUNJLEtBQUssVUFBVSxjQUFjLENBQUMsS0FBYTtJQUNoRCxNQUFNLEdBQUcsR0FBRyxJQUFBLHdCQUFXLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFBLHFCQUFZLEVBQUMsNkJBQWdCLENBQUMsSUFBSSxFQUFFLDZCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3hGLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDLENBQUM7SUFDSCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFckMsT0FBTztRQUNMLEdBQUcsVUFBVTtRQUNiLE1BQU07S0FDUCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNJLEtBQUssVUFBVSxvQkFBb0IsQ0FBQyxNQUFzQjtJQUMvRCxNQUFNLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDdEQsTUFBTSxF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QUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDaEMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFRCxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxLQUFLLHFCQUFxQixDQUFDLEVBQUUsSUFBSSxDQUFDO0lBQ3hGLElBQUksZUFBZSxLQUFLLFNBQVMsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUN6RSxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELE9BQU8sRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsQ0FBQztBQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYm9sdDExIGZyb20gJ2JvbHQxMSc7XG5pbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCAqIGFzIHJlcXVlc3QgZnJvbSAnc3VwZXJhZ2VudCc7XG5pbXBvcnQgeyBEZWNvZGVkTG51cmxQYXlSZXF1ZXN0LCBMbnVybFBheVBhcmFtcywgTG51cmxQYXlSZXNwb25zZSB9IGZyb20gJy4vaUxpZ2h0bmluZyc7XG5pbXBvcnQgeyBkZWNvZGVMbnVybCB9IGZyb20gJy4vbG51cmxDb2RlYyc7XG5pbXBvcnQgeyBkZWNvZGVPckVsc2UgfSBmcm9tICcuLi8uLi91dGlscy9kZWNvZGUnO1xuXG5leHBvcnQgdHlwZSBQYXJzZWRMaWdodG5pbmdJbnZvaWNlID0ge1xuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiBtaWxsaXNhdG9zaGkgcmVxdWVzdGVkIGJ5IHRoaXMgaW52b2ljZS4gSWYgbnVsbCB0aGVuXG4gICAqIHRoZSBpbnZvaWNlIGRvZXMgbm90IHNwZWNpZnkgYW4gYW1vdW50IGFuZCB3aWxsIGFjY2VwdCBhbnkgcGF5bWVudC5cbiAgICovXG4gIG1pbGxpc2F0b3NoaXM6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBUaGUgaGV4IGVuY29kZWQgcGF5bWVudCBoYXNoIGZvciB0aGUgaW52b2ljZSAqL1xuICBwYXltZW50SGFzaDogc3RyaW5nO1xuICAvKiogVGhlIGhleCBlbmNvZGVkIG5vZGUgcHViIGtleSBvZiB0aGUgcGF5ZWUgdGhhdCBjcmVhdGVkIHRoZSBpbnZvaWNlICovXG4gIHBheWVlTm9kZUtleTogc3RyaW5nO1xuICAvKiogVGhlIGhleCBlbmNvZGVkIFNIQTI1NiBoYXNoIG9mIHRoZSBkZXNjcmlwdGlvbiBvZiB3aGF0IHRoZSBpbnZvaWNlIGlzIGZvciAqL1xuICBkZXNjcmlwdGlvbkhhc2g/OiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIERlY29kZXMgYW4gTE5VUkwtcGF5IHJlcXVlc3QgYW5kIG1ha2VzIGFuIEhUVFAgcmVxdWVzdCB0byB0aGUgZGVjb2RlZCB1cmxcbiAqIHRvIHJldHJpZXZlIGRldGFpbHMgZm9yIHRoZSByZXF1ZXN0ZWQgcGF5bWVudC5cbiAqIEBwYXJhbSBsbnVybCBBIGJlY2gzMiBlbmNvZGVkIExOVVJMLXBheSByZXF1ZXN0IHN0cmluZ1xuICogQHJldHVybnMge0RlY29kZWRMbnVybFBheVJlcXVlc3R9IEFuIExOVVJMLXBheSByZXF1ZXN0IG1lc3NhZ2Ugc3BlY2lmeWluZ1xuICogYSBtaW4gYW5kIG1heCBhbW91bnQgZm9yIHRoZSBwYXltZW50LCBtZXRhZGF0YSBkZXNjcmliaW5nIHdoYXQgdGhlIHBheW1lbnRcbiAqIGlzIGZvciwgYW5kIGEgY2FsbGJhY2sgdGhhdCBjYW4gYmUgdXNlZCB0byBmZXRjaCBhIGxpZ2h0bmluZyBpbnZvaWNlIGZvclxuICogdGhlIHBheW1lbnQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWNvZGVMbnVybFBheShsbnVybDogc3RyaW5nKTogUHJvbWlzZTxEZWNvZGVkTG51cmxQYXlSZXF1ZXN0PiB7XG4gIGNvbnN0IHVybCA9IGRlY29kZUxudXJsKGxudXJsKTtcbiAgY29uc3QgeyBib2R5IH0gPSBhd2FpdCByZXF1ZXN0LmdldCh1cmwpO1xuICBjb25zdCBkZWNvZGVkUmVzID0gZGVjb2RlT3JFbHNlKExudXJsUGF5UmVzcG9uc2UubmFtZSwgTG51cmxQYXlSZXNwb25zZSwgYm9keSwgKGVycm9ycykgPT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihgZXJyb3IocykgcGFyc2luZyBsbnVybCByZXNwb25zZTogJHtlcnJvcnN9YCk7XG4gIH0pO1xuICBjb25zdCBkb21haW4gPSBuZXcgVVJMKHVybCkuaG9zdG5hbWU7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWNvZGVkUmVzLFxuICAgIGRvbWFpbixcbiAgfTtcbn1cblxuLyoqXG4gKiBGZXRjaGVzIGEgbGlnaHRuaW5nIGludm9pY2UgZnJvbSBhbiBMTlVSTC1wYXkgY2FsbGJhY2sgc2VydmVyIGZvciBhIHNwZWNpZmllZFxuICogYW1vdW50IG9mIG1pbGxpc2F0b3NoaXMuXG4gKiBAcGFyYW0gcGFyYW1zIHtMbnVybFBheVBhcmFtc30gQW4gb2JqZWN0IHNwZWNpZnlpbmcgYW4gYW1vdW50IGFuZCBhIGNhbGxiYWNrXG4gKiB1cmwgd2l0aCB3aGljaCB0byByZXF1ZXN0IGEgbGlnaHRuaW5nIGludm9pY2UgZm9yIGFuIExOVVJMLXBheSByZXF1ZXN0LlxuICogQHJldHVybnMge3N0cmluZ30gQSBCT0xUICMxMSBlbmNvZGVkIGxpZ2h0bmluZyBpbnZvaWNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmZXRjaExudXJsUGF5SW52b2ljZShwYXJhbXM6IExudXJsUGF5UGFyYW1zKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgY29uc3QgeyBjYWxsYmFjaywgbWlsbGlzYXRBbW91bnQsIG1ldGFkYXRhIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHsgcHI6IGludm9pY2UgfSA9IGNhbGxiYWNrLmluY2x1ZGVzKCc/JylcbiAgICA/IChhd2FpdCByZXF1ZXN0LmdldChjYWxsYmFjayArIGAmYW1vdW50PSR7bWlsbGlzYXRBbW91bnR9YCkpLmJvZHlcbiAgICA6IChhd2FpdCByZXF1ZXN0LmdldChjYWxsYmFjaykucXVlcnkoeyBhbW91bnQ6IG1pbGxpc2F0QW1vdW50IH0pKS5ib2R5O1xuICBjb25zdCBwYXJzZWRJbnZvaWNlID0gcGFyc2VMaWdodG5pbmdJbnZvaWNlKGludm9pY2UpO1xuICB2YWxpZGF0ZUxudXJsSW52b2ljZShwYXJzZWRJbnZvaWNlLCBtaWxsaXNhdEFtb3VudCwgbWV0YWRhdGEpO1xuXG4gIHJldHVybiBpbnZvaWNlO1xufVxuXG5mdW5jdGlvbiBnZXROZXR3b3JrRm9ySW52b2ljZShpbnZvaWNlOiBzdHJpbmcpIHtcbiAgaWYgKGludm9pY2Uuc3RhcnRzV2l0aCgnbG50YnMnKSkge1xuICAgIC8vIHNpZ25ldCBpbnZvaWNlcyBhcmUgbm90IHN1cHBvcnRlZCBieSBvdXIgYm9sdDExIGRlcGVuZGVuY3lcbiAgICAvLyBiZWNhdXNlIHRoZSBgdGJzYCBwcmVmaXggdXNlZCBmb3IgdGhlIGludm9pY2UgZG9lcyBub3QgbWF0Y2ggdGhlIGB0YmBcbiAgICAvLyBwcmVmaXggdXNlZCBieSBvbi1jaGFpbiBzaWduZXQgYWRkcmVzc2VzXG4gICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbmpzL2JvbHQxMS9wdWxsLzU4I2lzc3VlY29tbWVudC0xMTA2NDk1NzA5XG4gICAgLy8gd2UgY2FuIHN0aWxsIGRlY29kZSB0aGUgaW52b2ljZSBob3dldmVyIHVzaW5nIGEgY3VzdG9tIG5ldHdvcmtcbiAgICByZXR1cm4ge1xuICAgICAgYmVjaDMyOiAndGJzJyxcbiAgICAgIHB1YktleUhhc2g6IDB4NmYsXG4gICAgICBzY3JpcHRIYXNoOiAweGM0LFxuICAgICAgdmFsaWRXaXRuZXNzVmVyc2lvbnM6IFswLCAxXSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge1BhcnNlZExpZ2h0bmluZ0ludm9pY2V9IGludm9pY2UgLSBhIHBhcnNlZCBsaWdodG5pbmcgaW52b2ljZVxuICogQHBhcmFtIHtudW1iZXJ9IGFtb3VudCAtIGFtb3VudCBpbnRlbmRlZCB0byBwYXkgZm9yIHRoZSBpbnZvaWNlXG4gKiBAcGFyYW0ge3N0cmluZ30gbWV0YWRhdGEgLSBtZXRhZGF0YSB0aGF0IGlzIHVzZWQgdG8gdmVyaWZ5IHRoZSBmZXRjaGVkIGludm9pY2VcbiAqIEB0aHJvd3MgZXJyb3IgZm9yIGludm9pY2UgdGhhdCBkb2VzIG5vdCBtYXRjaCB3aXRoIGFtb3VudCBhbmQgbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTG51cmxJbnZvaWNlKGludm9pY2U6IFBhcnNlZExpZ2h0bmluZ0ludm9pY2UsIG1pbGxpc2F0QW1vdW50OiBzdHJpbmcsIG1ldGFkYXRhOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3QgeyBtaWxsaXNhdG9zaGlzLCBkZXNjcmlwdGlvbkhhc2ggfSA9IGludm9pY2U7XG4gIGlmIChtaWxsaXNhdG9zaGlzICE9PSBtaWxsaXNhdEFtb3VudCkge1xuICAgIHRocm93IG5ldyBFcnJvcignYW1vdW50IG9mIGludm9pY2UgZG9lcyBub3QgbWF0Y2ggd2l0aCBnaXZlbiBhbW91bnQnKTtcbiAgfVxuXG4gIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKG1ldGFkYXRhKS5kaWdlc3QoJ2hleCcpO1xuICBpZiAoZGVzY3JpcHRpb25IYXNoICE9PSBoYXNoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIGggdGFnIGRvZXMgbm90IG1hdGNoIHdpdGggaGFzaCBvZiBtZXRhZGF0YScpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHt1bmtub3dufSBpbnZvaWNlU3RyIC0gYSBsaWdodG5pbmcgaW52b2ljZVxuICogQHJldHVybiB7UGFyc2VkTGlnaHRuaW5nSW52b2ljZX1cbiAqIEB0aHJvd3MgZXJyb3IgZm9yIGludmFsaWQgbGlnaHRuaW5nIGludm9pY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTGlnaHRuaW5nSW52b2ljZShpbnZvaWNlU3RyOiB1bmtub3duKTogUGFyc2VkTGlnaHRuaW5nSW52b2ljZSB7XG4gIGlmICh0eXBlb2YgaW52b2ljZVN0ciAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludm9pY2UgaXMgbWFsZm9ybWVkJyk7XG4gIH1cblxuICBjb25zdCBkZWNvZGVkSW52b2ljZSA9IGJvbHQxMS5kZWNvZGUoaW52b2ljZVN0ciwgZ2V0TmV0d29ya0Zvckludm9pY2UoaW52b2ljZVN0cikpO1xuXG4gIGlmIChkZWNvZGVkSW52b2ljZS5uZXR3b3JrID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludm9pY2UgbmV0d29yayBpcyBpbnZhbGlkJyk7XG4gIH1cblxuICBjb25zdCB7IG1pbGxpc2F0b3NoaXMsIHRhZ3MsIHBheWVlTm9kZUtleSB9ID0gZGVjb2RlZEludm9pY2U7XG5cbiAgY29uc3QgcGF5bWVudEhhc2ggPSB0YWdzLmZpbmQoKHRhZykgPT4gdGFnLnRhZ05hbWUgPT09ICdwYXltZW50X2hhc2gnKT8uZGF0YTtcbiAgaWYgKHBheW1lbnRIYXNoID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHBheW1lbnRIYXNoICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52b2ljZSBwYXltZW50IGhhc2ggaXMgaW52YWxpZCcpO1xuICB9XG4gIGlmIChwYXllZU5vZGVLZXkgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignaW52b2ljZSBwYXllZSBwdWIga2V5IGlzIGludmFsaWQnKTtcbiAgfVxuICBpZiAobWlsbGlzYXRvc2hpcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIG1pbGxpc2F0b3NoaXMgYW1vdW50IGlzIGludmFsaWQnKTtcbiAgfVxuXG4gIGNvbnN0IGRlc2NyaXB0aW9uSGFzaCA9IHRhZ3MuZmluZCgodGFnKSA9PiB0YWcudGFnTmFtZSA9PT0gJ3B1cnBvc2VfY29tbWl0X2hhc2gnKT8uZGF0YTtcbiAgaWYgKGRlc2NyaXB0aW9uSGFzaCAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBkZXNjcmlwdGlvbkhhc2ggIT09ICdzdHJpbmcnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZvaWNlIGRlc2NyaXB0aW9uIGhhc2ggaXMgaW52YWxpZCcpO1xuICB9XG5cbiAgcmV0dXJuIHsgbWlsbGlzYXRvc2hpcywgcGF5bWVudEhhc2gsIHBheWVlTm9kZUtleSwgZGVzY3JpcHRpb25IYXNoIH07XG59XG4iXX0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lnurlCodec.d.ts","sourceRoot":"","sources":["../../../../../src/bitgo/lightning/custodial/lnurlCodec.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,UAEtC;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAmBxC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeLnurl = encodeLnurl;
4
+ exports.decodeLnurl = decodeLnurl;
5
+ const bech32_1 = require("bech32");
6
+ function encodeLnurl(url) {
7
+ return bech32_1.bech32.encode('lnurl', bech32_1.bech32.toWords(Buffer.from(url)));
8
+ }
9
+ function decodeLnurl(lnurl) {
10
+ const splittedLnurl = lnurl.split(':');
11
+ let parsedLnurl;
12
+ if (splittedLnurl.length === 2) {
13
+ if (splittedLnurl[0] !== 'lightning') {
14
+ throw new Error('invalid lnurl');
15
+ }
16
+ parsedLnurl = splittedLnurl[1];
17
+ }
18
+ else {
19
+ parsedLnurl = splittedLnurl[0];
20
+ }
21
+ const { prefix, words } = bech32_1.bech32.decode(parsedLnurl, 2000);
22
+ if (prefix !== 'lnurl') {
23
+ throw new Error('invalid lnurl');
24
+ }
25
+ return Buffer.from(bech32_1.bech32.fromWords(words)).toString();
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG51cmxDb2RlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iaXRnby9saWdodG5pbmcvY3VzdG9kaWFsL2xudXJsQ29kZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxrQ0FFQztBQUVELGtDQW1CQztBQXpCRCxtQ0FBZ0M7QUFFaEMsU0FBZ0IsV0FBVyxDQUFDLEdBQVc7SUFDckMsT0FBTyxlQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxlQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxTQUFnQixXQUFXLENBQUMsS0FBYTtJQUN2QyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXZDLElBQUksV0FBbUIsQ0FBQztJQUN4QixJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDL0IsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsV0FBVyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNqQyxDQUFDO1NBQU0sQ0FBQztRQUNOLFdBQVcsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsZUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFFM0QsSUFBSSxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmVjaDMyIH0gZnJvbSAnYmVjaDMyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUxudXJsKHVybDogc3RyaW5nKSB7XG4gIHJldHVybiBiZWNoMzIuZW5jb2RlKCdsbnVybCcsIGJlY2gzMi50b1dvcmRzKEJ1ZmZlci5mcm9tKHVybCkpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUxudXJsKGxudXJsOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3BsaXR0ZWRMbnVybCA9IGxudXJsLnNwbGl0KCc6Jyk7XG5cbiAgbGV0IHBhcnNlZExudXJsOiBzdHJpbmc7XG4gIGlmIChzcGxpdHRlZExudXJsLmxlbmd0aCA9PT0gMikge1xuICAgIGlmIChzcGxpdHRlZExudXJsWzBdICE9PSAnbGlnaHRuaW5nJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxudXJsJyk7XG4gICAgfVxuICAgIHBhcnNlZExudXJsID0gc3BsaXR0ZWRMbnVybFsxXTtcbiAgfSBlbHNlIHtcbiAgICBwYXJzZWRMbnVybCA9IHNwbGl0dGVkTG51cmxbMF07XG4gIH1cbiAgY29uc3QgeyBwcmVmaXgsIHdvcmRzIH0gPSBiZWNoMzIuZGVjb2RlKHBhcnNlZExudXJsLCAyMDAwKTtcblxuICBpZiAocHJlZml4ICE9PSAnbG51cmwnKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIGxudXJsJyk7XG4gIH1cblxuICByZXR1cm4gQnVmZmVyLmZyb20oYmVjaDMyLmZyb21Xb3Jkcyh3b3JkcykpLnRvU3RyaW5nKCk7XG59XG4iXX0=
@@ -1,5 +1,6 @@
1
- export * from './iLightning';
2
- export * from './lightning';
3
- export * from './lnurlCodec';
1
+ export * from './signableJson';
2
+ export * from './signature';
4
3
  export * from './lightningUtils';
4
+ export * from './lightningWallet';
5
+ export * from './codecs';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/lightning/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/lightning/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC"}
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -10,8 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./iLightning"), exports);
14
- __exportStar(require("./lightning"), exports);
15
- __exportStar(require("./lnurlCodec"), exports);
17
+ __exportStar(require("./signableJson"), exports);
18
+ __exportStar(require("./signature"), exports);
16
19
  __exportStar(require("./lightningUtils"), exports);
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE2QjtBQUM3Qiw4Q0FBNEI7QUFDNUIsK0NBQTZCO0FBQzdCLG1EQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaUxpZ2h0bmluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpZ2h0bmluZyc7XG5leHBvcnQgKiBmcm9tICcuL2xudXJsQ29kZWMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodG5pbmdVdGlscyc7XG4iXX0=
20
+ __exportStar(require("./lightningWallet"), exports);
21
+ __exportStar(require("./codecs"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYml0Z28vbGlnaHRuaW5nL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IsOENBQTRCO0FBQzVCLG1EQUFpQztBQUNqQyxvREFBa0M7QUFDbEMsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zaWduYWJsZUpzb24nO1xuZXhwb3J0ICogZnJvbSAnLi9zaWduYXR1cmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWdodG5pbmdVdGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpZ2h0bmluZ1dhbGxldCc7XG5leHBvcnQgKiBmcm9tICcuL2NvZGVjcyc7XG4iXX0=
@@ -1,46 +1,59 @@
1
- import { DecodedLnurlPayRequest, LnurlPayParams } from './iLightning';
2
- export declare type ParsedLightningInvoice = {
3
- /**
4
- * The amount of millisatoshi requested by this invoice. If null then
5
- * the invoice does not specify an amount and will accept any payment.
6
- */
7
- millisatoshis: string | null;
8
- /** The hex encoded payment hash for the invoice */
9
- paymentHash: string;
10
- /** The hex encoded node pub key of the payee that created the invoice */
11
- payeeNodeKey: string;
12
- /** The hex encoded SHA256 hash of the description of what the invoice is for */
13
- descriptionHash?: string;
14
- };
15
- /**
16
- * Decodes an LNURL-pay request and makes an HTTP request to the decoded url
17
- * to retrieve details for the requested payment.
18
- * @param lnurl A bech32 encoded LNURL-pay request string
19
- * @returns {DecodedLnurlPayRequest} An LNURL-pay request message specifying
20
- * a min and max amount for the payment, metadata describing what the payment
21
- * is for, and a callback that can be used to fetch a lightning invoice for
22
- * the payment.
23
- */
24
- export declare function decodeLnurlPay(lnurl: string): Promise<DecodedLnurlPayRequest>;
25
- /**
26
- * Fetches a lightning invoice from an LNURL-pay callback server for a specified
27
- * amount of millisatoshis.
28
- * @param params {LnurlPayParams} An object specifying an amount and a callback
29
- * url with which to request a lightning invoice for an LNURL-pay request.
30
- * @returns {string} A BOLT #11 encoded lightning invoice
31
- */
32
- export declare function fetchLnurlPayInvoice(params: LnurlPayParams): Promise<string>;
33
- /**
34
- * @param {ParsedLightningInvoice} invoice - a parsed lightning invoice
35
- * @param {number} amount - amount intended to pay for the invoice
36
- * @param {string} metadata - metadata that is used to verify the fetched invoice
37
- * @throws error for invoice that does not match with amount and metadata
38
- */
39
- export declare function validateLnurlInvoice(invoice: ParsedLightningInvoice, millisatAmount: string, metadata: string): void;
40
- /**
41
- * @param {unknown} invoiceStr - a lightning invoice
42
- * @return {ParsedLightningInvoice}
43
- * @throws error for invalid lightning invoice
44
- */
45
- export declare function parseLightningInvoice(invoiceStr: unknown): ParsedLightningInvoice;
1
+ import * as statics from '@bitgo-beta/statics';
2
+ import * as utxolib from '@bitgo-beta/utxo-lib';
3
+ import { WatchOnly } from './codecs';
4
+ export declare const signerMacaroonPermissions: {
5
+ entity: string;
6
+ action: string;
7
+ }[];
8
+ export declare const lightningNetworkName: readonly ["bitcoin", "testnet"];
9
+ export type LightningNetworkName = (typeof lightningNetworkName)[number];
10
+ /**
11
+ * Checks if the coin name is a lightning coin name.
12
+ */
13
+ export declare function isLightningCoinName(coinName: unknown): coinName is 'lnbtc' | 'tlnbtc';
14
+ /**
15
+ * Get the utxolib network for a lightning network.
16
+ */
17
+ export declare function getLightningNetwork(networkName: LightningNetworkName): utxolib.Network;
18
+ /**
19
+ * Get the lightning coin name for a utxolib network.
20
+ */
21
+ export declare function getLightningCoinName(network: utxolib.Network): string;
22
+ /**
23
+ * Checks if the network name is a valid lightning network name.
24
+ */
25
+ export declare function isValidLightningNetworkName(networkName: unknown): networkName is LightningNetworkName;
26
+ /**
27
+ * Checks if the network is a valid lightning network.
28
+ */
29
+ export declare function isValidLightningNetwork(network: unknown): network is utxolib.Network;
30
+ /**
31
+ * Returns the statics network data for a lightning coin.
32
+ */
33
+ export declare function getStaticsLightningNetwork(coinName: string): statics.LightningNetwork;
34
+ /**
35
+ * Returns the utxolib network for a lightning coin.
36
+ */
37
+ export declare function getUtxolibNetwork(coinName: string): utxolib.Network;
38
+ /**
39
+ * Returns coin specific data for a lightning coin.
40
+ */
41
+ export declare function unwrapLightningCoinSpecific<V>(obj: {
42
+ lnbtc: V;
43
+ } | {
44
+ tlnbtc: V;
45
+ }, coinSpecificPath: string): V;
46
+ /**
47
+ * Adds an IP caveat to a macaroon and returns the modified macaroon as a Base64 string.
48
+ */
49
+ export declare function addIPCaveatToMacaroon(macaroonBase64: string, ip: string): string;
50
+ /**
51
+ * Creates a watch-only wallet init data from the provided signer root key and network.
52
+ */
53
+ export declare function createWatchOnly(signerRootKey: string, network: utxolib.Network): WatchOnly;
54
+ /**
55
+ * Derives the shared Elliptic Curve Diffie-Hellman (ECDH) secret between the user's auth extended private key
56
+ * and the Lightning service's public key for secure communication.
57
+ */
58
+ export declare function deriveLightningServiceSharedSecret(coinName: 'lnbtc' | 'tlnbtc', userAuthXprv: string): Buffer;
46
59
  //# sourceMappingURL=lightningUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lightningUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/lightning/lightningUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAoB,MAAM,cAAc,CAAC;AAIxF,oBAAY,sBAAsB,GAAG;IACnC;;;OAGG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAYnF;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CASlF;AAoBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAUpH;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,OAAO,GAAG,sBAAsB,CA8BjF"}
1
+ {"version":3,"file":"lightningUtils.d.ts","sourceRoot":"","sources":["../../../../src/bitgo/lightning/lightningUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,SAAS,EAAoB,MAAM,UAAU,CAAC;AAIvD,eAAO,MAAM,yBAAyB;;;GAiBrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,iCAAkC,CAAC;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAErF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAEtF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAErE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,OAAO,GAAG,WAAW,IAAI,oBAAoB,CAErG;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAEpF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CASrF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAMnE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,GAAG,EAAE;IAAE,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC,CAW7G;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAIhF;AAwED;;GAEG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAS1F;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,QAAQ,EAAE,OAAO,GAAG,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAI7G"}