@bitgo-beta/abstract-lightning 1.0.1-beta.88 → 1.0.1-beta.880

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 (89) hide show
  1. package/dist/src/abstractLightningCoin.d.ts +3 -2
  2. package/dist/src/abstractLightningCoin.d.ts.map +1 -1
  3. package/dist/src/abstractLightningCoin.js +7 -2
  4. package/dist/src/codecs/api/backup.d.ts +15 -0
  5. package/dist/src/codecs/api/backup.d.ts.map +1 -0
  6. package/dist/src/codecs/api/backup.js +47 -0
  7. package/dist/src/codecs/api/balance.d.ts +132 -0
  8. package/dist/src/codecs/api/balance.d.ts.map +1 -0
  9. package/dist/src/codecs/api/balance.js +101 -0
  10. package/dist/src/codecs/api/index.d.ts +8 -0
  11. package/dist/src/codecs/api/index.d.ts.map +1 -0
  12. package/dist/src/codecs/api/index.js +24 -0
  13. package/dist/src/codecs/api/invoice.d.ts +66 -0
  14. package/dist/src/codecs/api/invoice.d.ts.map +1 -0
  15. package/dist/src/codecs/api/invoice.js +102 -0
  16. package/dist/src/codecs/api/payment.d.ts +107 -0
  17. package/dist/src/codecs/api/payment.d.ts.map +1 -0
  18. package/dist/src/codecs/api/payment.js +153 -0
  19. package/dist/src/codecs/api/transaction.d.ts +138 -0
  20. package/dist/src/codecs/api/transaction.d.ts.map +1 -0
  21. package/dist/src/codecs/api/transaction.js +122 -0
  22. package/dist/src/codecs/api/wallet.d.ts +99 -0
  23. package/dist/src/codecs/api/wallet.d.ts.map +1 -0
  24. package/dist/src/codecs/api/wallet.js +103 -0
  25. package/dist/src/codecs/api/withdraw.d.ts +90 -0
  26. package/dist/src/codecs/api/withdraw.d.ts.map +1 -0
  27. package/dist/src/codecs/api/withdraw.js +92 -0
  28. package/dist/src/codecs/index.d.ts +3 -0
  29. package/dist/src/codecs/index.d.ts.map +1 -0
  30. package/dist/src/codecs/index.js +19 -0
  31. package/dist/src/codecs/shared.d.ts +7 -0
  32. package/dist/src/codecs/shared.d.ts.map +1 -0
  33. package/dist/src/codecs/shared.js +42 -0
  34. package/dist/src/index.d.ts +3 -0
  35. package/dist/src/index.d.ts.map +1 -1
  36. package/dist/src/index.js +4 -1
  37. package/dist/src/lightning/index.d.ts +5 -0
  38. package/dist/src/lightning/index.d.ts.map +1 -0
  39. package/dist/src/lightning/index.js +21 -0
  40. package/dist/src/lightning/lightningUtils.d.ts +90 -0
  41. package/dist/src/lightning/lightningUtils.d.ts.map +1 -0
  42. package/dist/src/lightning/lightningUtils.js +290 -0
  43. package/dist/src/lightning/parseWithdrawPsbt.d.ts +8 -0
  44. package/dist/src/lightning/parseWithdrawPsbt.d.ts.map +1 -0
  45. package/dist/src/lightning/parseWithdrawPsbt.js +155 -0
  46. package/dist/src/lightning/signableJson.d.ts +17 -0
  47. package/dist/src/lightning/signableJson.d.ts.map +1 -0
  48. package/dist/src/lightning/signableJson.js +29 -0
  49. package/dist/src/lightning/signature.d.ts +22 -0
  50. package/dist/src/lightning/signature.d.ts.map +1 -0
  51. package/dist/src/lightning/signature.js +69 -0
  52. package/dist/src/wallet/custodialLightning.d.ts +7 -0
  53. package/dist/src/wallet/custodialLightning.d.ts.map +1 -0
  54. package/dist/src/wallet/custodialLightning.js +14 -0
  55. package/dist/src/wallet/index.d.ts +5 -0
  56. package/dist/src/wallet/index.d.ts.map +1 -0
  57. package/dist/src/wallet/index.js +21 -0
  58. package/dist/src/wallet/lightning.d.ts +140 -0
  59. package/dist/src/wallet/lightning.d.ts.map +1 -0
  60. package/dist/src/wallet/lightning.js +287 -0
  61. package/dist/src/wallet/selfCustodialLightning.d.ts +32 -0
  62. package/dist/src/wallet/selfCustodialLightning.d.ts.map +1 -0
  63. package/dist/src/wallet/selfCustodialLightning.js +131 -0
  64. package/dist/src/wallet/wallet.d.ts +7 -0
  65. package/dist/src/wallet/wallet.d.ts.map +1 -0
  66. package/dist/src/wallet/wallet.js +22 -0
  67. package/dist/test/unit/lightning/codecs.d.ts +2 -0
  68. package/dist/test/unit/lightning/codecs.d.ts.map +1 -0
  69. package/dist/test/unit/lightning/codecs.js +151 -0
  70. package/dist/test/unit/lightning/createWatchOnlyFixture.d.ts +4 -0
  71. package/dist/test/unit/lightning/createWatchOnlyFixture.d.ts.map +1 -0
  72. package/dist/test/unit/lightning/createWatchOnlyFixture.js +1561 -0
  73. package/dist/test/unit/lightning/lightningUtils.d.ts +2 -0
  74. package/dist/test/unit/lightning/lightningUtils.d.ts.map +1 -0
  75. package/dist/test/unit/lightning/lightningUtils.js +123 -0
  76. package/dist/test/unit/lightning/parseWithdrawPsbt.d.ts +2 -0
  77. package/dist/test/unit/lightning/parseWithdrawPsbt.d.ts.map +1 -0
  78. package/dist/test/unit/lightning/parseWithdrawPsbt.js +125 -0
  79. package/dist/test/unit/lightning/signableJson.d.ts +2 -0
  80. package/dist/test/unit/lightning/signableJson.d.ts.map +1 -0
  81. package/dist/test/unit/lightning/signableJson.js +52 -0
  82. package/dist/test/unit/lightning/signature.d.ts +2 -0
  83. package/dist/test/unit/lightning/signature.d.ts.map +1 -0
  84. package/dist/test/unit/lightning/signature.js +91 -0
  85. package/dist/tsconfig.tsbuildinfo +1 -0
  86. package/package.json +19 -6
  87. package/.eslintignore +0 -5
  88. package/.mocharc.yml +0 -8
  89. package/CHANGELOG.md +0 -64
@@ -0,0 +1,69 @@
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.verifyMessageSignature = verifyMessageSignature;
37
+ exports.createMessageSignature = createMessageSignature;
38
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
39
+ const sdkcore = __importStar(require("@bitgo-beta/sdk-core"));
40
+ const signableJson_1 = require("./signableJson");
41
+ /**
42
+ * Verifies a signature for a given message.
43
+ *
44
+ * @param {Signable} message - The message to verify.
45
+ * @param {string} signature - The signature to verify, in hexadecimal format.
46
+ * @param {string} pub - The public key in BIP32 format.
47
+ * @param {utxolib.Network} network - The network to use for verification.
48
+ * @returns {boolean} - Returns true if the signature is valid, false otherwise.
49
+ */
50
+ function verifyMessageSignature(message, signature, pub, network = utxolib.networks.bitcoin) {
51
+ const messageString = JSON.stringify((0, signableJson_1.canonicalizeObject)(message));
52
+ const pubKey = utxolib.bip32.fromBase58(pub, network).publicKey;
53
+ const signatureBuffer = Buffer.from(signature, 'hex');
54
+ return sdkcore.verifyMessage(messageString, pubKey, signatureBuffer, network);
55
+ }
56
+ /**
57
+ * Creates a signature for a given message.
58
+ *
59
+ * @param {Signable} message - The message to sign.
60
+ * @param {string} prv - The private key in BIP32 format.
61
+ * @param {utxolib.Network} network - The network to use for signing.
62
+ * @returns {string} - Returns the signature in hexadecimal format.
63
+ */
64
+ function createMessageSignature(message, xprv, network = utxolib.networks.bitcoin) {
65
+ const requestString = JSON.stringify((0, signableJson_1.canonicalizeObject)(message));
66
+ const prvKey = utxolib.bip32.fromBase58(xprv, network);
67
+ return sdkcore.signMessage(requestString, prvKey, network).toString('hex');
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpZ2h0bmluZy9zaWduYXR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhQSx3REFVQztBQVVELHdEQVFDO0FBekNELDhEQUFnRDtBQUNoRCw4REFBZ0Q7QUFDaEQsaURBQThEO0FBRTlEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBZ0Isc0JBQXNCLENBQ3BDLE9BQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLEdBQVcsRUFDWCxVQUEyQixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87SUFFbkQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFBLGlDQUFrQixFQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDbEUsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNoRSxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RCxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixzQkFBc0IsQ0FDcEMsT0FBaUIsRUFDakIsSUFBWSxFQUNaLFVBQTJCLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTztJQUVuRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUEsaUNBQWtCLEVBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNsRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzdFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHNka2NvcmUgZnJvbSAnQGJpdGdvLWJldGEvc2RrLWNvcmUnO1xuaW1wb3J0IHsgY2Fub25pY2FsaXplT2JqZWN0LCBTaWduYWJsZSB9IGZyb20gJy4vc2lnbmFibGVKc29uJztcblxuLyoqXG4gKiBWZXJpZmllcyBhIHNpZ25hdHVyZSBmb3IgYSBnaXZlbiBtZXNzYWdlLlxuICpcbiAqIEBwYXJhbSB7U2lnbmFibGV9IG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byB2ZXJpZnkuXG4gKiBAcGFyYW0ge3N0cmluZ30gc2lnbmF0dXJlIC0gVGhlIHNpZ25hdHVyZSB0byB2ZXJpZnksIGluIGhleGFkZWNpbWFsIGZvcm1hdC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBwdWIgLSBUaGUgcHVibGljIGtleSBpbiBCSVAzMiBmb3JtYXQuXG4gKiBAcGFyYW0ge3V0eG9saWIuTmV0d29ya30gbmV0d29yayAtIFRoZSBuZXR3b3JrIHRvIHVzZSBmb3IgdmVyaWZpY2F0aW9uLlxuICogQHJldHVybnMge2Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBzaWduYXR1cmUgaXMgdmFsaWQsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeU1lc3NhZ2VTaWduYXR1cmUoXG4gIG1lc3NhZ2U6IFNpZ25hYmxlLFxuICBzaWduYXR1cmU6IHN0cmluZyxcbiAgcHViOiBzdHJpbmcsXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayA9IHV0eG9saWIubmV0d29ya3MuYml0Y29pblxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IG1lc3NhZ2VTdHJpbmcgPSBKU09OLnN0cmluZ2lmeShjYW5vbmljYWxpemVPYmplY3QobWVzc2FnZSkpO1xuICBjb25zdCBwdWJLZXkgPSB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgocHViLCBuZXR3b3JrKS5wdWJsaWNLZXk7XG4gIGNvbnN0IHNpZ25hdHVyZUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHNpZ25hdHVyZSwgJ2hleCcpO1xuICByZXR1cm4gc2RrY29yZS52ZXJpZnlNZXNzYWdlKG1lc3NhZ2VTdHJpbmcsIHB1YktleSwgc2lnbmF0dXJlQnVmZmVyLCBuZXR3b3JrKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgc2lnbmF0dXJlIGZvciBhIGdpdmVuIG1lc3NhZ2UuXG4gKlxuICogQHBhcmFtIHtTaWduYWJsZX0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIHNpZ24uXG4gKiBAcGFyYW0ge3N0cmluZ30gcHJ2IC0gVGhlIHByaXZhdGUga2V5IGluIEJJUDMyIGZvcm1hdC5cbiAqIEBwYXJhbSB7dXR4b2xpYi5OZXR3b3JrfSBuZXR3b3JrIC0gVGhlIG5ldHdvcmsgdG8gdXNlIGZvciBzaWduaW5nLlxuICogQHJldHVybnMge3N0cmluZ30gLSBSZXR1cm5zIHRoZSBzaWduYXR1cmUgaW4gaGV4YWRlY2ltYWwgZm9ybWF0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTWVzc2FnZVNpZ25hdHVyZShcbiAgbWVzc2FnZTogU2lnbmFibGUsXG4gIHhwcnY6IHN0cmluZyxcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrID0gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luXG4pOiBzdHJpbmcge1xuICBjb25zdCByZXF1ZXN0U3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoY2Fub25pY2FsaXplT2JqZWN0KG1lc3NhZ2UpKTtcbiAgY29uc3QgcHJ2S2V5ID0gdXR4b2xpYi5iaXAzMi5mcm9tQmFzZTU4KHhwcnYsIG5ldHdvcmspO1xuICByZXR1cm4gc2RrY29yZS5zaWduTWVzc2FnZShyZXF1ZXN0U3RyaW5nLCBwcnZLZXksIG5ldHdvcmspLnRvU3RyaW5nKCdoZXgnKTtcbn1cbiJdfQ==
@@ -0,0 +1,7 @@
1
+ import { ILightningWallet, LightningWallet } from './lightning';
2
+ import * as sdkcore from '@bitgo-beta/sdk-core';
3
+ export type ICustodialLightningWallet = ILightningWallet;
4
+ export declare class CustodialLightningWallet extends LightningWallet implements ICustodialLightningWallet {
5
+ constructor(wallet: sdkcore.IWallet);
6
+ }
7
+ //# sourceMappingURL=custodialLightning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custodialLightning.d.ts","sourceRoot":"","sources":["../../../src/wallet/custodialLightning.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,CAAC;AAEzD,qBAAa,wBAAyB,SAAQ,eAAgB,YAAW,yBAAyB;gBACpF,MAAM,EAAE,OAAO,CAAC,OAAO;CAMpC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CustodialLightningWallet = void 0;
4
+ const lightning_1 = require("./lightning");
5
+ class CustodialLightningWallet extends lightning_1.LightningWallet {
6
+ constructor(wallet) {
7
+ super(wallet);
8
+ if (wallet.subType() !== 'lightningCustody') {
9
+ throw new Error(`Invalid lightning wallet type for custodial lightning: ${wallet.subType()}`);
10
+ }
11
+ }
12
+ }
13
+ exports.CustodialLightningWallet = CustodialLightningWallet;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9kaWFsTGlnaHRuaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3dhbGxldC9jdXN0b2RpYWxMaWdodG5pbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQWdFO0FBS2hFLE1BQWEsd0JBQXlCLFNBQVEsMkJBQWU7SUFDM0QsWUFBWSxNQUF1QjtRQUNqQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBRSxDQUFDO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDaEcsQ0FBQztJQUNILENBQUM7Q0FDRjtBQVBELDREQU9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpZ2h0bmluZ1dhbGxldCwgTGlnaHRuaW5nV2FsbGV0IH0gZnJvbSAnLi9saWdodG5pbmcnO1xuaW1wb3J0ICogYXMgc2RrY29yZSBmcm9tICdAYml0Z28tYmV0YS9zZGstY29yZSc7XG5cbmV4cG9ydCB0eXBlIElDdXN0b2RpYWxMaWdodG5pbmdXYWxsZXQgPSBJTGlnaHRuaW5nV2FsbGV0O1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9kaWFsTGlnaHRuaW5nV2FsbGV0IGV4dGVuZHMgTGlnaHRuaW5nV2FsbGV0IGltcGxlbWVudHMgSUN1c3RvZGlhbExpZ2h0bmluZ1dhbGxldCB7XG4gIGNvbnN0cnVjdG9yKHdhbGxldDogc2RrY29yZS5JV2FsbGV0KSB7XG4gICAgc3VwZXIod2FsbGV0KTtcbiAgICBpZiAod2FsbGV0LnN1YlR5cGUoKSAhPT0gJ2xpZ2h0bmluZ0N1c3RvZHknKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGlnaHRuaW5nIHdhbGxldCB0eXBlIGZvciBjdXN0b2RpYWwgbGlnaHRuaW5nOiAke3dhbGxldC5zdWJUeXBlKCl9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './lightning';
2
+ export * from './custodialLightning';
3
+ export * from './selfCustodialLightning';
4
+ export * from './wallet';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,UAAU,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("./lightning"), exports);
18
+ __exportStar(require("./custodialLightning"), exports);
19
+ __exportStar(require("./selfCustodialLightning"), exports);
20
+ __exportStar(require("./wallet"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvd2FsbGV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBNEI7QUFDNUIsdURBQXFDO0FBQ3JDLDJEQUF5QztBQUN6QywyQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpZ2h0bmluZyc7XG5leHBvcnQgKiBmcm9tICcuL2N1c3RvZGlhbExpZ2h0bmluZyc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGZDdXN0b2RpYWxMaWdodG5pbmcnO1xuZXhwb3J0ICogZnJvbSAnLi93YWxsZXQnO1xuIl19
@@ -0,0 +1,140 @@
1
+ import * as sdkcore from '@bitgo-beta/sdk-core';
2
+ import { PendingApprovalData, TxRequestState } from '@bitgo-beta/sdk-core';
3
+ import { CreateInvoiceBody, Invoice, InvoiceQuery, LightningAuthKeychain, LightningKeychain, LndCreatePaymentResponse, SubmitPaymentParams, Transaction, TransactionQuery, ListTransactionsResponse, PaymentInfo, PaymentQuery, LightningOnchainWithdrawParams, LightningOnchainWithdrawResponse, ListInvoicesResponse, ListPaymentsResponse } from '../codecs';
4
+ export type PayInvoiceResponse = {
5
+ /**
6
+ * Unique identifier for the payment request submitted to BitGo.
7
+ */
8
+ txRequestId: string;
9
+ /**
10
+ * Status of the payment request submission to BitGo.
11
+ * - `'delivered'`: Successfully received by BitGo, but may or may not have been sent to the Lightning Network yet.
12
+ * - For the actual payment status, refer to `paymentStatus` and track `transfer`.
13
+ */
14
+ txRequestState: TxRequestState;
15
+ /**
16
+ * Pending approval details, if applicable.
17
+ * - If present, the payment has not been initiated yet.
18
+ */
19
+ pendingApproval?: PendingApprovalData;
20
+ /**
21
+ * Current snapshot of payment status (if available).
22
+ * - **`'in_flight'`**: Payment is in progress.
23
+ * - **`'settled'`**: Payment was successfully completed.
24
+ * - **`'failed'`**: Payment failed.
25
+ * This field is absent if approval is required before processing.
26
+ */
27
+ paymentStatus?: LndCreatePaymentResponse;
28
+ };
29
+ /**
30
+ * Get the lightning keychain for the given wallet.
31
+ */
32
+ export declare function getLightningKeychain(wallet: sdkcore.IWallet): Promise<LightningKeychain>;
33
+ /**
34
+ * Get the lightning auth keychains for the given wallet.
35
+ */
36
+ export declare function getLightningAuthKeychains(wallet: sdkcore.IWallet): Promise<{
37
+ userAuthKey: LightningAuthKeychain;
38
+ nodeAuthKey: LightningAuthKeychain;
39
+ }>;
40
+ export interface ILightningWallet {
41
+ /**
42
+ * Creates a lightning invoice
43
+ * @param {object} params Invoice parameters
44
+ * @param {bigint} params.valueMsat The value of the invoice in millisatoshis
45
+ * @param {string} [params.memo] A memo or description for the invoice
46
+ * @param {number} [params.expiry] The expiry time of the invoice in seconds
47
+ * @returns {Promise<Invoice>} A promise that resolves to the created invoice
48
+ */
49
+ createInvoice(params: CreateInvoiceBody): Promise<Invoice>;
50
+ /**
51
+ * Get invoice details by payment hash
52
+ * @param {string} paymentHash - Payment hash to lookup
53
+ * @returns {Promise<Invoice>} Invoice details
54
+ * @throws {InvalidPaymentHash} When payment hash is not valid
55
+ */
56
+ getInvoice(paymentHash: string): Promise<Invoice>;
57
+ /**
58
+ * Lists current lightning invoices
59
+ * @param {InvoiceQuery} params Query parameters for filtering invoices
60
+ * @param {string} [params.status] The status of the invoice (open, settled, canceled)
61
+ * @param {bigint} [params.limit] The maximum number of invoices to return
62
+ * @param {Date} [params.startDate] The start date for the query
63
+ * @param {Date} [params.endDate] The end date for the query
64
+ * @param {string} [params.prevId] Continue iterating (provided by nextBatchPrevId in the previous list)
65
+ * @returns {Promise<ListInvoicesResponse>} List of invoices and nextBatchPrevId
66
+ */
67
+ listInvoices(params: InvoiceQuery): Promise<ListInvoicesResponse>;
68
+ /**
69
+ * Pay a lightning invoice
70
+ * @param {SubmitPaymentParams} params - Payment parameters
71
+ * @param {string} params.invoice - The invoice to pay
72
+ * @param {string} params.amountMsat - The amount to pay in millisatoshis
73
+ * @param {string} params.passphrase - The wallet passphrase
74
+ * @param {string} [params.sequenceId] - Optional sequence ID for the respective payment transfer
75
+ * @param {string} [params.comment] - Optional comment for the respective payment transfer
76
+ * @returns {Promise<PayInvoiceResponse>} Payment result containing transaction request details and payment status
77
+ */
78
+ payInvoice(params: SubmitPaymentParams): Promise<PayInvoiceResponse>;
79
+ /**
80
+ * On chain withdrawal
81
+ * @param {LightningOnchainWithdrawParams} params - Withdraw parameters
82
+ * @param {LightningOnchainRecipient[]} params.recipients - The recipients to pay
83
+ * @param {bigint} params.satsPerVbyte - Value for sats per virtual byte
84
+ * @param {string} params.passphrase - The wallet passphrase
85
+ * @param {string} [params.sequenceId] - Optional sequence ID for the respective withdraw transfer
86
+ * @param {string} [params.comment] - Optional comment for the respective withdraw transfer
87
+ * @returns {Promise<LightningOnchainWithdrawResponse>} Withdraw result containing transaction request details and status
88
+ */
89
+ withdrawOnchain(params: LightningOnchainWithdrawParams): Promise<LightningOnchainWithdrawResponse>;
90
+ /**
91
+ * Get payment details by payment id
92
+ * @param {string} paymentId - Payment id to lookup
93
+ * @returns {Promise<PaymentInfo>} Payment details
94
+ * @throws {InvalidPaymentId} When payment id is not valid
95
+ */
96
+ getPayment(paymentId: string): Promise<PaymentInfo>;
97
+ /**
98
+ * List payments for a wallet with optional filtering
99
+ * @param {PaymentQuery} params Query parameters for filtering payments
100
+ * @param {string} [params.status] The status of the payment
101
+ * @param {bigint} [params.limit] The maximum number of payments to return
102
+ * @param {Date} [params.startDate] The start date for the query
103
+ * @param {Date} [params.endDate] The end date for the query
104
+ * @param {string} [params.paymentHash] The payment hash of the payments
105
+ * @param {string} [params.prevId] Continue iterating (provided by nextBatchPrevId in the previous list)
106
+ * @returns {Promise<ListPaymentsResponse>} List of payments and nextBatchPrevId
107
+ */
108
+ listPayments(params: PaymentQuery): Promise<ListPaymentsResponse>;
109
+ /**
110
+ * Get transaction details by ID
111
+ * @param {string} txId - Transaction ID to lookup
112
+ * @returns {Promise<Transaction>} Transaction details
113
+ * @throws {InvalidTxId} When transaction ID is not valid
114
+ */
115
+ getTransaction(txId: string): Promise<Transaction>;
116
+ /**
117
+ * List transactions for a wallet with optional filtering and cursor-based pagination
118
+ * @param {TransactionQuery} params Query parameters for filtering transactions
119
+ * @param {bigint} [params.limit] The maximum number of transactions to return
120
+ * @param {Date} [params.startDate] The start date for the query
121
+ * @param {Date} [params.endDate] The end date for the query
122
+ * @param {string} [params.prevId] Transaction ID for cursor-based pagination (from nextBatchPrevId)
123
+ * @returns {Promise<ListTransactionsResponse>} List of transactions with pagination info
124
+ */
125
+ listTransactions(params: TransactionQuery): Promise<ListTransactionsResponse>;
126
+ }
127
+ export declare class LightningWallet implements ILightningWallet {
128
+ wallet: sdkcore.IWallet;
129
+ constructor(wallet: sdkcore.IWallet);
130
+ createInvoice(params: CreateInvoiceBody): Promise<Invoice>;
131
+ getInvoice(paymentHash: string): Promise<Invoice>;
132
+ listInvoices(params: InvoiceQuery): Promise<ListInvoicesResponse>;
133
+ payInvoice(params: SubmitPaymentParams): Promise<PayInvoiceResponse>;
134
+ withdrawOnchain(params: LightningOnchainWithdrawParams): Promise<LightningOnchainWithdrawResponse>;
135
+ getPayment(paymentId: string): Promise<PaymentInfo>;
136
+ listPayments(params: PaymentQuery): Promise<ListPaymentsResponse>;
137
+ getTransaction(txId: string): Promise<Transaction>;
138
+ listTransactions(params: TransactionQuery): Promise<ListTransactionsResponse>;
139
+ }
140
+ //# sourceMappingURL=lightning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lightning.d.ts","sourceRoot":"","sources":["../../../src/wallet/lightning.ts"],"names":[],"mappings":"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"}